Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[FreeBasic] Commando - Eine 'command()' Bilbliothek

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Type



Anmeldungsdatum: 24.02.2006
Beiträge: 187
Wohnort: Dresden

BeitragVerfasst am: 28.03.2011, 15:37    Titel: [FreeBasic] Commando - Eine 'command()' Bilbliothek Antworten mit Zitat

Hallo Leute,

ich hab mal eine kleine Bibliothek geschrieben, die das Arbeiten mit command() verbessern soll.
Ich würde gerne eure Meinung dazu hören.

Hier ein Auszug aus der Readme:
readme.txt hat Folgendes geschrieben:
---==================---
---=== COMMANDO.BAS ===---
---==================---
v 1.0 (c) 2011 by Type

Bibliothek zur Erstellung von Kommandozeilenbefehlen für eigene Programme.

Inhalt:

1 - Beschreibung
2 - Features
3 - Beschränkung
4 - Lizenz
5 - Kontakt

1. Beschreibung:
================

Manchmal ist es notwendig, dass ein Programm mit bestimmten Parametern gestartet werden soll.
Zum Beispiel: copy.exe -quelle "test.txt" -ziel "test_copy.txt" Damit man sich nicht so lange mit dem Implementeieren dieser Funktion aufhalten muss, kann diese Bilbiothek genutzt werden.
Diese Bibliothek soll Unix-Ähnliche Programmaufrufe unter FreeBasic imitieren.

Man legt ein "commando" an, welches beim Programmstart ausgelsen wird. Je nachdem, ob der letztendliche Nutzer die richtigen Kommandozeilenbefehle benutzt hat, kann dann das Programm weiter ausgeführt werden.

2. Features:
============

Folgende Features hat "commando":
- Langer Befehlname kann festgelegt werden (z.B.: --help)
- Kurzer Befehlname kann festgelegt werden (z.b.: -h)
- es können beliebig viele User-Eingaben festgelegt werden (z.b.: -s "programm1" "programm2" "programm3" ...)
- Hilfetext für jedes Commando festlegen
- Ein Hilfetext, bestehend aus den vom Programmierer festgeleten Werten, kann dynamisch generiert werden
- Eine Befehlszusammenfassung, bestehend aus den vom Programmierer festgeleten Werten, kann dynamisch generiert werden
- Unter Unix und Windows-Systemen lauffähig
- DOS evt. auch (nicht getestet)

3. Beschränkung:
================

Folgendes ist (noch) nicht möglich:
- Nur User-Werte angeben (z.B.: programm.exe wert1 wert2 wert3 ...)
- Genaue Fehlerrückmeldung, was der Benutzer (bzw. der Programmierer beim festlegen der Befehle) falsch gemacht hat.
- "Zusammensetzen" von kurzen Befehlen. (z.B: von "-a -b -c -d" nach "-adcbd")

4. Lizenz:
==========

Dieses Programm kann frei verwendet und verändert werden.
Allerdings bitte ich darum, mich in den Credits mit zu benennen.
Ich würde mich freuen, etwas über Projekte zu erfahren, die diese Bibliothek nutzen.

5. Kontakt:
===========

Über das deutsche QBasic- und FreeBASIC-Forum: http://forum.qbasic.at/
Per Mail: type90@gmx.de


Downloadlink:
ftp://type.dyndns.org/FreeBasic/commando/

Letztes Update: 28.03.2011
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4699
Wohnort: ~/

BeitragVerfasst am: 28.03.2011, 16:31    Titel: Antworten mit Zitat

Zitat:
"Zusammensetzen" von kurzen Befehlen. (z.B: von "-a -b -c -d" nach "-adcbd")

fände ich auch ganz interessant; ich wollte das schon mal für ein Programm umsetzen, hatte dann aber doch nicht ausreichend Lust - da man ja in der Regel genug mit dem Hauptprogramm zu tun hat, finde ich das schon mal eine gute Idee, für die COMMAND-Auswertung eine Bibliothek zur Verfügung zu haben und nicht alles selbst schreiben zu müssen. lächeln

Im Augenblick werde ich leider noch nicht so schnell zum Testen kommen, aber ich sehe es mir auf jeden Fall mal an.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 28.03.2011, 20:18    Titel: Antworten mit Zitat

gibt es getopt nicht für FreeBASIC?
_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 10.04.2011, 09:09    Titel: Antworten mit Zitat

Code:

T:\h>fbc commando.bas
commando.bas(317) error 25: Invalid data types, found ')' in '#if (__FB_UNIX__ =
 -1)'

fbc Version 0.20.0, target:win32
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 10.04.2011, 13:03    Titel: Antworten mit Zitat

diese __FB_SOME_OS__ werden soweit ich weiß nicht durch werte wie 1 oder 0 ersetzt, sondern durch <definiert> oder <undefiniert>

#ifdef __FB_SOME_OS__ könnte helfen
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 10.04.2011, 13:59    Titel: Antworten mit Zitat

Es kommt immer auf die Compilerkonstante an, da gibt es in einigen Bereichen auch Unterschiede. Für den Fall hat Flo aber absolut recht, diese Konstanten haben keine Werte sondern sind nur definiert oder eben nicht.

Code:
#If Defined (__FB_LINUX__)
   Print "Linux"
#ElseIf Defined (__FB_WIN32__)
   Print "Windows"
#EndIf

#Ifdef __FB_LINUX__
   Print "Linux"
#Else
   Print "Windows"
#EndIf


Das sind so die Möglichkeiten. Die erste Version ist dabei flexibler, weil auch gleichzeitig mehrere verschiedene Konstanten geprüft werden können, während beim zweiten Beispiel nur eine geprüft werden kann. Generell lohnt es sich hierbei in die Befehlsreferenz zu schauen. Da steht das drin.

@croco97: Die aktuelle Version des Compilers ist 0.21.1. Ein Update lohnt, da es einige Bugfixes enthält. Zudem kamen z. B. variable Parameterlisten hinzu.

Edit: Variable Parameterlisten gibt es natürlich schon länger, ich wollte nur mein neues Tutorial pushen^^ (danke an nemored für den Hinweis).
Variable Macros kommen aber erst noch dazu, sind in der aktuellen SVN-Version aber schon enthalten und in der Referenz beschrieben.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 12.04.2011, 16:03    Titel: Antworten mit Zitat

Lutz Ifer hat Folgendes geschrieben:
gibt es getopt nicht für FreeBASIC?

Gibt es.
http://www.gnu.org/s/libc/manual/html_node/Getopt.html
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz