Entwickler-Ecke
Sonstiges (Delphi) - Exe Starten!!
deagle - Sa 24.08.02 15:45
Titel: Exe Starten!!
Hi!
Was ich wollte ist ich habe ein edit1 Feld gemacht und wolte fraen wie ich eine
Exe Starten kann wenn ich auf ein Buton klicke und das der den Text
hinter der exe schreibt z.b C:\Sierra\Counter-Strike\cstrike.exe
+console +Ip(aus dem edit1feld
DeCodeGuru - Sa 24.08.02 15:48
such mal im Forum nach ShellExecute. Da müssteste so zwischen 20 und 30 Treffer haben. Ich denke, dass du dich alleine zurechtfinden wirst. :wink:
deagle - Sa 24.08.02 16:03
ShellExecute(Application.Handle,'open',PChar(Edit1.Text),0,0,0); Ich habe den Code gefunde nur wo muss ich den jetzt eintragen?? Also den Pfad ???
DeCodeGuru - Sa 24.08.02 17:41
Hier haste die Definition aus der PSDK. Damit wird dir sicher alles klar. :mrgreen:
Zitat: |
HINSTANCE ShellExecute( HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
); |
deagle - Sa 24.08.02 18:13
ne irendwie versth ich das nicht kannst mir ne Kleine Beschreibung geben ??
SMI - Sa 24.08.02 19:07
Wenn dir shellexecute zu kompliziert ist, nehm einfache WinExec.
WinExec(PCHAR(Pfad als String), SW_SHOW)
Also:
WinExec(Pchar('d:\c33setup.exe'),SW_SHOW)
SMI
deagle - Sa 24.08.02 19:21
WinExec(Pchar('C:\Sierra\Counter-Strike\cstrike.exe -console -connect (Edit.Text)'),SW_SHOW)
jo thx nur wie mach ich jetzt das der das aus den edit1 textfeld rausnimmt??
WinExec(Pchar('C:\Sierra\Counter-Strike\cstrike.exe -console -connect (Edit.Text)'),SW_SHOW)
mit (Edit1.Text) geht das nicht ist das den so richtig ??[/code]
deagle - Sa 24.08.02 19:22
jo thx nur wie mach ich jetzt das der das aus den edit1 textfeld rausnimmt??
Quelltext
1:
| WinExec(Pchar('C:\Sierra\Counter-Strike\cstrike.exe -console -connect (Edit.Text)'),SW_SHOW) |
mit (Edit1.Text) geht das nicht ist das den so richtig[/code]
SMI - Sa 24.08.02 19:31
Zitat: |
'C:\Sierra\Counter-Strike\cstrike.exe -console -connect (Edit.Text)' |
Du meinst PCHAR('C:\Sierra\Counter-Strike\cstrike.exe -console -connect '+edit1.text)
Alles innerhalb der Apostropen gehört zu einem String, wenn du an einen String einen weiteren anhängen willst musst du den plus Operator verwenden!
SMI
deagle - Sa 24.08.02 19:56
jo ich meinte der soll nach dem +connect die ip aus dem edi1 text feld nehemen!! Daswas du mir gesagt hast geht nicht!!
SMI - Sa 24.08.02 20:08
Ich habe gerade extra nochmal eine Anwendung geschieben um das zeug zu testen und bei mir klap es wunderbar, mit der folgenden Zeile übergebe ich an mein testprogramm Project1 den ParameterString /Test und auch den inhalt von label1.caption.
winexec(pchar('D:\project1.exe /test'+label1.caption),SW_NORMAL);
Deine Zeile müsste folgender maße aussehen
WinExec(PCHAR('C:\Sierra\Counter-Strike\cstrike.exe -console -connect '+edit1.text) ,SW_SHOW);
Also welche Fehlermeldung bekommst du den eigentlich, wenn es bei dir nicht klappt?
SMI
deagle - Sa 24.08.02 22:20
jo klappt :) Thx nochne frage wie ist es kann man das so machen wen man ein hackechen macht das man dan password eingeben kann ?? +passowrd muss dahinter wenn eins ist ich will das der das dahinterschreibt wenn man son abhackhäkchen macht geht das ??
Ex0rzist - Sa 24.08.02 22:32
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Var passwd :String; Begin If Password.Checked then //deine CheckBox (das Ding zum Abhaken) ;) passwd := PasswortEdit.Text else passwd := ''; WinExec(PCHAR('C:\Sierra\Counter-Strike\cstrike.exe -console -connect '+edit1.text+' -password '+Passwd) ,SW_SHOW); end; |
Gegebenfalls musst du den Parameter "-password" ändern, da ich nicht weiss, wie es sein muss. Aber das Prinzip müsste eigentlich klar sein.
__________
Ex0rzist
deagle - Sa 24.08.02 22:43
jo erswtmal Thx für schnelle antword das zeigt der mir rot an If Password.Checked then muss ich erst eine Password check box machen ?? Wen ja wie ??
Ex0rzist - Sa 24.08.02 22:59
Ich hatte doch geschrieben: deine Checkbox (das Ding zum Abhaken).
Dazu suchst du dir die Komponente mit dem Häkchen aus (=Checkbox).
Das nennst du dann Password (im Objektinspektor ändern).
Dann vergiß auch nicht, ein EditFeld für das Passwort zu nehmen.
(umbenennen in PasswortEdit)
Dann fällt mir noch ein, dass wenn der Parameter Passwort übergeben wird, muss ja bestimmt auch was drinstehen. Deshalb mach es so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Var passwd :String; Begin If Password.Checked then //deine CheckBox (das Ding zum Abhaken) ;) passwd := ' -password '+PasswortEdit.Text else passwd := ''; WinExec(PCHAR('C:\Sierra\Counter-Strike\cstrike.exe -console -connect'+edit1.text+Passwd) ,SW_SHOW); end; |
Jetzt müsste alles klappen.
___________
Ex0rzist
deagle - Sa 24.08.02 23:34
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Var passwd :String; Begin If PasswordEdit.Checked then CheckBox1 passwd := ' -password '+PasswordEdit.Text else passwd := ''; WinExec(PCHAR('C:\Sierra\Counter-Strike\cstrike.exe -console -connect'+edit1.text+Passwd) ,SW_SHOW); end; |
Ich glaube ich bin zu Blöd dafür! :) CheckBox heisst CheckBox1 und das editfeld Edit1 wie muss ich das den fertig machen ???
SMI - So 25.08.02 02:30
So am Besten nennst du deine Checkbox cbPasswort, dein Eingabefeld für das Passwort edtPasswort, das Eigabfeld für die IP nennst du dann bitte auch passenderweise edtIP, dadurch wird für dich der Code besser lesbarer. Den Standartnamen von Komponenten(z.B. Edit1) kann man im Objektinspektor unter dem Eintrag "Name" ändern. Der dazu passende Quellcode, formschön dargestellt, extra für dich mit Kommentaren versehen, folgt:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| // Variablen Deklarieren VAR sPasswd : String; BEGIN // cbPasswort angekreuzt ? IF cbPasswort.Checked THEN //... ja -> Passwort aus edtPasswort in sPasswd übernehmen sPasswd := ' -password '+edtPasswort.Text ELSE //... nein -> sPasswd bleibt leer sPasswd := ''; // Counterstrike Starten WinExec(PChar('C:\Sierra\Counter-Strike\cstrike.exe -console' + ' - connect'+edtIP.Text + sPasswd) ,SW_SHOW); END; |
SMI
P.S.: Du solltest dir mal in einem Anfängertutorial die Grundzüge von Delphi antun.
Ex0rzist - So 25.08.02 02:35
Hallo deagle,
wenn ich dich richtig verstanden habe, brauchst du 2 Edit-Felder (Game und Passwort). Angenommen dein Passwort-Edit heisst Edit2 und deine CheckBox Checkbox1 dann sieht das so aus:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Var passwd :String; Begin If CheckBox1.Checked then passwd := ' -password '+Edit2.Text else passwd := ''; WinExec(PCHAR('C:\Sierra\Counter-Strike\cstrike.exe -console -connect'+edit1.text+Passwd) ,SW_SHOW); end; |
Es wäre aber sehr viel besser für dich, wenn du dir ein Anfängerbuch zulegen würdest oder zumindest die Tutorials durchführen würdest.
Ich denke nämlich nicht, dass es dir hilft, wenn wir hier den Code für dich schreiben.
__________
Ex0rzist
Ex0rzist - So 25.08.02 02:37
Mist, da war jemand schneller als ich. :mrgreen:
____________
Ex0rzist
SMI - So 25.08.02 02:56
:twisted: HA HA - :lol: wer zu spät kommt, den bestraft das leben!
SMI
deagle - So 25.08.02 04:12
Hi
Kennste denn Gute Seiten wo ich ein bisschen Delphi lernen kann ??
Delete - So 25.08.02 08:50
Die in Delphi eingebaute Hilfe (F1) enthält viele Seiten, auf denen man was lernen kann.
DeCodeGuru - So 25.08.02 09:59
ansonsten guck mal auf AUQ.de :mrgreen: :wink:
SMI - So 25.08.02 13:54
Ansonsten gibt es auch viele gute Bücher die haben den Vorteil, das man die auch ohne PC durcharbeiten kann. Einfach mal in eine große Buchhandlung gehen, alles was mit Delphi zu tun hat durchblättern und anlesen. Das für dich verständlichste Buch mitnemen. Es gibt viele hervoragende Taschenbücher, und auch viel unsagbar schlechte Übersetzungen englischer Bücher.
SMI
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!