Programmparameter mit "," als Trenner
-
- Beiträge: 47
- Registriert: 21.02.2010 13:02
Programmparameter mit "," als Trenner
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
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
Code: Alles auswählen
Parameter.s = ProgramParameter()
for i = 1 to countstring(parameter,",")+1
debug stringfield(parameter,i,",")
Next

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
Zuletzt geändert von X360 Andy am 08.11.2010 23:13, insgesamt 1-mal geändert.
Re: Programmparameter mit "," als Trenner
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
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 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 !
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
-
- Beiträge: 47
- Registriert: 21.02.2010 13:02
Re: Programmparameter mit "," als Trenner
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.pdfBisonte 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 !
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
0 ist auch eine zahl....
i = 0
i = 0
Re: Programmparameter mit "," als Trenner
Weil Parameter eben durch Leerzeichen getrennt werden. Wenn du deinen eigenen Trenner haben willst, musst es so machen, wie dir oben gezeigt wurde.frankmannb hat geschrieben:Wieso?
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Programmparameter mit "," als Trenner
Seid Win95 sind Leerzeichen erlaubt, aber diese sind immer in Anführungszeichen zu setzen: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.
test.exe "test.pdf test2.pdf"
Soviele Antworten und keiner gibt den entscheidenden Hinweis?
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Programmparameter mit "," als Trenner
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

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

:::: WIN 10 :: PB 5.73 :: (x64) ::::
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: Programmparameter mit "," als Trenner
Ich seh kein Programm.frankmannb hat geschrieben:wenn ich folgendes Programm [...]

@ts-soft: ich sehe nirgendwo, dass er überhaupt Leerzeichen haben will

Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.