Seite 1 von 2
Programmparameter mit "," als Trenner
Verfasst: 08.11.2010 23:05
von frankmannb
Hallo Leute,
ich stehe heute vor dem Problem das ich mein erstes Programm erstelle welches 3 Parameter übergeben bekommen soll im folgenden Format.
test.exe datei1,datei2,datei3
Mein Problem ist nun wie ich Purebasic dazu bekomme dei Kommas als Trenner der Parameter zu betrachten. Kann mir hier von euch jemand auf die Sprünge helfen?
grüße frankmannb
counter.i = CountProgramParameters()
das habe ich schon vorbereitet!
For i = 1 To counter.i
Parameter.s = ProgramParameter()
MessageRequester("test",parameter.s,#PB_MessageRequester_Ok )
Next
Re: Programmparameter mit "," als Trenner
Verfasst: 08.11.2010 23:08
von X360 Andy
Code: Alles auswählen
Parameter.s = ProgramParameter()
for i = 1 to countstring(parameter,",")+1
debug stringfield(parameter,i,",")
Next
Wenn die Parameter mit leerzeichen sind wirds schon schwerer...
Code: Alles auswählen
Parameter.s = "test.txt,my test.txt,text.txt"
parameter = ReplaceString(parameter," ",";") ; ; kann kein Dateizeichen sein, daher passt das...
For i = 1 To CountString(parameter,",")+1
Debug ReplaceString(StringField(parameter,i,","),";"," ");zurückwandeln...
Next
Gruß Andreas
Re: Programmparameter mit "," als Trenner
Verfasst: 08.11.2010 23:10
von RSBasic
Code: Alles auswählen
EnableExplicit
Define i
Define Parameter$ = "datei1,datei2,datei3"
For i=1 To 3
Debug StringField(Parameter$, i, ",")
Next
Re: Programmparameter mit "," als Trenner
Verfasst: 08.11.2010 23:12
von Bisonte
Warum so kompliziert ?
wenn man Hallo.exe /supi /toll /extrem eingibt bekommt man mit
dem ersten Aufruf von ProgramParameter() "Hallo.exe"
dem zweiten Aufruf "/supi" dem dritten "/toll" usw.
Steht in der Hilfe drin !
Re: Programmparameter mit "," als Trenner
Verfasst: 08.11.2010 23:20
von frankmannb
Bisonte hat geschrieben:Warum so kompliziert ?
wenn man Hallo.exe /supi /toll /extrem eingibt bekommt man mit
dem ersten Aufruf von ProgramParameter() "Hallo.exe"
dem zweiten Aufruf "/supi" dem dritten "/toll" usw.
Steht in der Hilfe drin !
wenn ich folgendes Programm kompiliere und als EXE abspeichere und dann das PRogramm auf der Kommandozeile starte mit z.B. test.exe test.pdf test2.pdf
bekomme ich nur test.pdf als auch test2.pdf als parameter angezeigt.
Starte ich hingegen das Programm mit
z.B. test.exe test.pdf,test2.pdf
bekomme ich nur einen Parameter nämlich test.pdf,test2.pdf angezeigt. Wieso?
Re: Programmparameter mit "," als Trenner
Verfasst: 08.11.2010 23:26
von X360 Andy
0 ist auch eine zahl....
i = 0
Re: Programmparameter mit "," als Trenner
Verfasst: 08.11.2010 23:28
von TomS
frankmannb hat geschrieben:Wieso?
Weil Parameter eben durch Leerzeichen getrennt werden. Wenn du deinen eigenen Trenner haben willst, musst es so machen, wie dir oben gezeigt wurde.
Re: Programmparameter mit "," als Trenner
Verfasst: 09.11.2010 00:07
von ts-soft
frankmannb hat geschrieben:
wenn ich folgendes Programm kompiliere und als EXE abspeichere und dann das PRogramm auf der Kommandozeile starte mit z.B. test.exe test.pdf test2.pdf
bekomme ich nur test.pdf als auch test2.pdf als parameter angezeigt.
Seid Win95 sind Leerzeichen erlaubt, aber diese sind immer in Anführungszeichen zu setzen:
test.exe "test.pdf test2.pdf"
Soviele Antworten und keiner gibt den entscheidenden Hinweis?
Gruß
Thomas
Re: Programmparameter mit "," als Trenner
Verfasst: 09.11.2010 10:10
von rolaf
Dafür bista ja der CodeCommander.
Im übrigen gehts auch ohne Gänsfüßchen, wie oben schon beschrieben reichen auch Leerzeichen.
meistercode.exe blub balub balu
flensburger.exe plop zisch flenst

Re: Programmparameter mit "," als Trenner
Verfasst: 09.11.2010 10:32
von DarkDragon
frankmannb hat geschrieben:wenn ich folgendes Programm [...]
Ich seh kein Programm.
@ts-soft: ich sehe nirgendwo, dass er überhaupt Leerzeichen haben will

. Der entscheidende Hinweis wäre wohl StringField.