Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

16.08.2005, 23:02

Zitat von »"Dave"«

... bzw. bekommt die kommandozeilenparameter mit welchen das prog aufgerufen wird.


Kommandozeilenparameter??? (nein ich will jetzt nicht wissen, was das ist.... das weiß ich schon)

Ich wüsste gern, wie man sie einsetzen kann? Bsp:
Man macht ne verknüpfung mit "C:\HammergeilesGame.exe -x 1280 -y 800" um das Spiel mit der Auflösung 1280x800 zu starten. Wie kann man das in einer Win32-Anwendung (mit TriBase ;) ) implementieren ( in die Win_Main oder wie die heißt....)
Try and Error!
MfG, schachmat

12

16.08.2005, 23:08

Die Kommandozeilenargumente sind bei der WinMain-Funktion im dritten Parameter.

13

16.08.2005, 23:11

ql, danke.... hat sogar einen selbserklärenden namen *g* warum bin ich da nicht früher draufgekommen...?
Try and Error!
MfG, schachmat

Anonymous

unregistriert

14

17.08.2005, 00:01

Zitat von »"koschka"«

ja, nox hat sich etxra die Mühe gemacht um das auseinanderzuklamüsern. Also bitte Back to Topic ;).


Man kann main verschiedenst verwenden:

Quellcode

1
2
3
int main(int argc, char *argv[])
int main(void)
main()


Die erste gibt noch Parameter weiter.


Obersten beiden richtig, letzte illegal.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

15

17.08.2005, 10:55

Stimmt nicht!

Ich hab extra den Test gemacht weil ich mir auch nicht 100% sicher war, aber es funktioniert, zumindest mit VS.Net Academic.

@schachmat:

Der erste Parameter gibt die Anzahl der Argumente an, der zeite (argv[]) die Argumente selber. (bei main)
Bei WinMain

Quellcode

1
2
3
4
5
int WINAPI WinMain(
HINSTANCE hInstance, 
HINSTANCE hPrevInstance, 
LPWSTR lpCmdLine, 
int nShowCmd );


gibt wie schon richtig gesagt der dritte Parameter die Argumente weiter.

übrigends:

Quellcode

1
main(char* argv[], int argc)


funktioniert auch.

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

16

17.08.2005, 12:08

Zitat von »"kaid"«

Die Kommandozeilenargumente sind bei der WinMain-Funktion im dritten Parameter.


und du übergibst sie einer winexe, indem du ne verknüpfung erstellst, und dann bei der pfadangabe der verknüpfung hinter den pfad die parameter einfügst, also zB

Quellcode

1
 "C:\Starwarsballerspiel.exe" -x 1280 -y 800


btw hast du auch einen widescreen laptop? :D

17

17.08.2005, 14:14

Jup, hab ich :wirbel:

Aber die " in der Verknüpfung müssen glaub nur sein, wenn es in einem Pfad ist, wo Leerzeichen enthalten sind, z.B.: "C:\Dokumente und Einstellungen\..."

Bei "C:\GeilesGame.exe" braucht man keine "
Try and Error!
MfG, schachmat

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

18

17.08.2005, 14:32

ja das kann sein ka

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

19

17.08.2005, 16:57

Nur zur Richtigstellung. Parameter haben zwar bei Verknüpfungen den ein oder anderen Sinn, aber wichtig sind sie erst bei Batch Dateien! Man brauch also keine Verknüpfungen unbedingt um solche Programme auszuführen, es geht auch mit Batches ;).

Anonymous

unregistriert

20

17.08.2005, 22:24

@koschka
Was Funktioniert und was legal und im Standard SCHWARZ auf WEIß steht sind 2 Paar Schuhe. und laut aktuellem C++98, C99 und kommendem C0x standard steht da drin: Nur int main ist legal. Ende.

Werbeanzeige