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:

Variablenübergabe

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ioiCracr



Anmeldungsdatum: 06.07.2005
Beiträge: 24
Wohnort: Andernach (MYK)

BeitragVerfasst am: 08.07.2005, 09:55    Titel: Variablenübergabe Antworten mit Zitat

Hi, kann mir jemand erkläre wie ich von einer Batch-Datei eine Variable an eine in QBasic 4.5 geschriebene .exe weitergeben kann?
Edit: Also die übergabe ist klar, einfach nach dem aufruf des programms als parameter 'anhängen'. aber wie rufe ich aus QBasic diesen Parameter wieder ab?

Edit2:
Zitat:
wenn man ein qbasic programm aufruft, stehen die parameter in COMMAND$, und können dann ausgelesen werden.

Das hab ich in einem anderen Thread gefunden, aber wo finde ich jetzt dieses Command$ oder wie muß ich das damit machne???

Wäre super wenn mir jemand helfen könnte... verwundert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Tobber



Anmeldungsdatum: 01.07.2005
Beiträge: 62
Wohnort: Freudenstadt

BeitragVerfasst am: 08.07.2005, 11:01    Titel: Antworten mit Zitat

Hi.

Also das COMMAND$ in einem selbstausführenden QB-Programm speichert sozusagen den Anhang. In einer Batch-Datei könnte das so aussehen:

C:\Basic\Com.exe Blaubeerkuchen

Das Wort "Blaubeerkuchen" ist jetzt in COMMAND$ (in der EXE-Datei Com.exe ) automatisch gespeichert. Wenn Du a$=COMMAND$ geschrieben hättest, wäre es auch in a$ gespeichert.

Aber Du sprichst ja von einer Variable. Damit könntest Du ja vielleicht eine Zahl meinen. Also gehen wir von einer anderen Situation aus, weil das in COMMAND$ gespeicherte "Wort" ja erst noch in eine Zahl umgewandelt werden muß. OK. In der Batch-Datei steht:

C:\Basic\Com.exe 2005

Das "Wort" "2005" wäre dann in COMMAND$ gespeichert, wie oben erklärt. Mit

Variable% = LTRIM$(VAL(COMMAND$))

hättest Du dann nichtmehr das "Wort", sondern den "Wert" in der Bezeichnung Variable% gespeichert. Also Variable% = 2005.

GTX lächeln
_________________
"Es wurde schon alles gesagt, nur noch nicht von jedem !"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Tomtitom



Anmeldungsdatum: 20.09.2004
Beiträge: 308

BeitragVerfasst am: 08.07.2005, 11:06    Titel: Antworten mit Zitat

du musst dann einfach COMMAND$ in deinem Programm abfragen, sowas wie:
Code:
IF COMMAND$ = "Hallo" THEN PRINT "Hallo zurück."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Tobber



Anmeldungsdatum: 01.07.2005
Beiträge: 62
Wohnort: Freudenstadt

BeitragVerfasst am: 08.07.2005, 11:19    Titel: Antworten mit Zitat

Ja. Danke Tomitom - das war ja eigentlich seine Frage...

grinsen
_________________
"Es wurde schon alles gesagt, nur noch nicht von jedem !"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ioiCracr



Anmeldungsdatum: 06.07.2005
Beiträge: 24
Wohnort: Andernach (MYK)

BeitragVerfasst am: 08.07.2005, 11:20    Titel: Antworten mit Zitat

Aber geht das auch wenn ich eine Variable anhänge

z.B. C:\Programm.exe Varible

und dann den WErt von Variable abfragen kann über Command$???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Tobber



Anmeldungsdatum: 01.07.2005
Beiträge: 62
Wohnort: Freudenstadt

BeitragVerfasst am: 08.07.2005, 11:36    Titel: Antworten mit Zitat

Habe ich oben bereits erklärt, wenn Du den Inhalt von COMMAND$ in einer Variable haben möchst:

Bezugnehmendes Beispiel:

==> In BATCH-Datei:

C:\Basic\Com.exe 2005


==> In EXE-Datei:

10 variable% = LTRIM$(VAL(COMMAND$))
20 If variable% = 2005 then godmode = 1

Meinst Du das ?
_________________
"Es wurde schon alles gesagt, nur noch nicht von jedem !"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ioiCracr



Anmeldungsdatum: 06.07.2005
Beiträge: 24
Wohnort: Andernach (MYK)

BeitragVerfasst am: 08.07.2005, 11:49    Titel: Antworten mit Zitat

Sorry, ich stell hier unsinnige Fragen, das mit der Variable ergibt sich, weil ich so wie so nur einen string übergeben muß mit dem Kopf durch die Mauer wollen

Aber nächstes problem
ich rufe in dem QBasic prog eine weiter .bat auf und übergebe dort schon einen Parameter.
Den an die QB übergebenen Parameter muß ich dort ebenfalls weitergeben. wie sag ich QB das das ein zweiter Parameter ist?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Tobber



Anmeldungsdatum: 01.07.2005
Beiträge: 62
Wohnort: Freudenstadt

BeitragVerfasst am: 08.07.2005, 12:03    Titel: Antworten mit Zitat

Das weiß ich jetzt auch nicht. Aber mich würde interessieren, was Du vorhast , wie das geht und ob ich das richtig verstanden habe:

1) Du hast eine EXE mit einem COMMAND$-Parameter am Laufen.
2) Aus dieser EXE willst Du eine BATCH-Datei starten.
3) Diese neue BATCH-Datei fragt Dich / hat bereits einen voreingestellten
Parameter.
4) Diese BATCH-Datei soll ihren eigenen Parameter und den Parameter aus
COMMAND$ übernehmen und diese an eine andere EXE weitergeben.

Wenn das so richtig ist, weiß ich nicht wie das geht. Interessiert mich aber auch. GTX zwinkern
_________________
"Es wurde schon alles gesagt, nur noch nicht von jedem !"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 08.07.2005, 13:50    Titel: Antworten mit Zitat

also ich vermute mal, du meinst sowas wie
programm.exe -parameter1 -parameter2
oder?
dann zerleg einfach die command$ bei bindestrichen, dazu brauchst du http://fb.exp-soft.de/r.php?s=MID$ , http://fb.exp-soft.de/r.php?s=INSTR und musst den Zahlenraum von 1 bis 20 beherrschen.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 08.07.2005, 23:14    Titel: Parser für COMMAND$ Antworten mit Zitat

Habe früher einmal eine Lösung für das Parsen von COMMAND$ ins Usenet gepostet:

http://groups.google.com/groups?selm=96et38%24560%241%40news1.sunrise.ch

Sollte ich im Prinzip mal als Knowhow-Artikel umarbeiten.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. 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