Volle CommandLine?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

#Reaper

Newsposter

Betreff: Volle CommandLine?

BeitragSo, Dez 09, 2007 1:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich weiß, die Frage wurde schonmal gestellt, und ich weiß, dass es auch schon "Lösungen" gibt. Aber die bisherige Lösung, alle AppArgs[] einfach nur wieder aneinander zu hängen, finde ich nicht sehr gut. Das Problem ist vorallem, dass bei AppArgs[] z.B. die Anführungsstriche alle schon beseitigt sind. Und wenn man dann aber die CommandLine mal als ganzes im Originalem braucht, hat man Probleme.. :-/
Weiß da einer einen besseren Weg?

MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Lunatix

BeitragSo, Dez 09, 2007 13:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
local cmd:string
for local a:string = eachin appargs
  cmd = "~q"+a+"~q "
next

print cmd


Was spricht dagegen?
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Blitzcoder

Newsposter

BeitragSo, Dez 09, 2007 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Junkprogger hat Folgendes geschrieben:
Code: [AUSKLAPPEN]
local cmd:string
for local a:string = eachin appargs
  cmd = "~q"+a+"~q "
next

print cmd


Was spricht dagegen?


Dass AppArgs die meines Wissens nach nach Leerzeichen zerlegt.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
 

#Reaper

Newsposter

BeitragSo, Dez 09, 2007 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, wenn man die Möglichkeit hat, die CmdLine auch als ganzes zu haben, was spricht dann dagegen?
Evt. will man ja auch mal seinen eigenen Parser dafür schreiben. Oder man will die CmdLine "original" an ein anderes Programm weitergeben Wink
Aber ich rede gerade mit Schnittlauch darüber, mal schauen, was wir/er (Wink) so herausbekommen Wink
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

ChristianK

BeitragSo, Dez 09, 2007 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn dein Programm nur auf Windows laufen soll, kannst du eine WinAPI-Funktion dafür benutzen.

Code: [AUSKLAPPEN]
SuperStrict
Framework brl.blitz

Extern "Win32"
   Function GetCommandLineA:Byte Ptr( )
End Extern

Local cmdline:Byte Ptr = GetCommandLineA( )
WriteStdout String.FromCString( cmdline )

Aber so wie Junkprogger es geschrieben hat, ist es natürlich besser.

Blitzcoder hat Folgendes geschrieben:
Dass AppArgs die meines Wissens nach nach Leerzeichen zerlegt.

Wenn ein Parameter Leerzeichen enthält, schreibt ihn in Anführungszeichen. Es macht also keinen Unterschied, ob man die Parameter einzeln oder als ganzes hat. AppArgs nimmt einem sozusagen schon die Arbeit ab, die CommandLine auszuwerten.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group