Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ioiCracr
Anmeldungsdatum: 06.07.2005 Beiträge: 24 Wohnort: Andernach (MYK)
|
Verfasst am: 08.07.2005, 09:55 Titel: Variablenübergabe |
|
|
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...  |
|
Nach oben |
|
 |
Tobber

Anmeldungsdatum: 01.07.2005 Beiträge: 62 Wohnort: Freudenstadt
|
Verfasst am: 08.07.2005, 11:01 Titel: |
|
|
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  _________________ "Es wurde schon alles gesagt, nur noch nicht von jedem !" |
|
Nach oben |
|
 |
Tomtitom

Anmeldungsdatum: 20.09.2004 Beiträge: 308
|
Verfasst am: 08.07.2005, 11:06 Titel: |
|
|
du musst dann einfach COMMAND$ in deinem Programm abfragen, sowas wie:
Code: | IF COMMAND$ = "Hallo" THEN PRINT "Hallo zurück." |
|
|
Nach oben |
|
 |
Tobber

Anmeldungsdatum: 01.07.2005 Beiträge: 62 Wohnort: Freudenstadt
|
Verfasst am: 08.07.2005, 11:19 Titel: |
|
|
Ja. Danke Tomitom - das war ja eigentlich seine Frage...
 _________________ "Es wurde schon alles gesagt, nur noch nicht von jedem !" |
|
Nach oben |
|
 |
ioiCracr
Anmeldungsdatum: 06.07.2005 Beiträge: 24 Wohnort: Andernach (MYK)
|
Verfasst am: 08.07.2005, 11:20 Titel: |
|
|
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 |
|
 |
Tobber

Anmeldungsdatum: 01.07.2005 Beiträge: 62 Wohnort: Freudenstadt
|
Verfasst am: 08.07.2005, 11:36 Titel: |
|
|
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 |
|
 |
ioiCracr
Anmeldungsdatum: 06.07.2005 Beiträge: 24 Wohnort: Andernach (MYK)
|
Verfasst am: 08.07.2005, 11:49 Titel: |
|
|
Sorry, ich stell hier unsinnige Fragen, das mit der Variable ergibt sich, weil ich so wie so nur einen string übergeben muß
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 |
|
 |
Tobber

Anmeldungsdatum: 01.07.2005 Beiträge: 62 Wohnort: Freudenstadt
|
Verfasst am: 08.07.2005, 12:03 Titel: |
|
|
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  _________________ "Es wurde schon alles gesagt, nur noch nicht von jedem !" |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 08.07.2005, 13:50 Titel: |
|
|
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 |
|
 |
dreael Administrator

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