Autor |
Beitrag |
deagle
      
Beiträge: 89
|
Verfasst: Sa 24.08.02 15:45
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
      
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: 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. 
_________________ Viele Grüße
Jakob
|
|
deagle 
      
Beiträge: 89
|
Verfasst: 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
      
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Sa 24.08.02 17:41
Hier haste die Definition aus der PSDK. Damit wird dir sicher alles klar.
Zitat: | HINSTANCE ShellExecute( HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
); |
_________________ Viele Grüße
Jakob
|
|
deagle 
      
Beiträge: 89
|
Verfasst: Sa 24.08.02 18:13
ne irendwie versth ich das nicht kannst mir ne Kleine Beschreibung geben ??
|
|
SMI
      
Beiträge: 106
Win95-2003 / Debian / Suse
D1/D3/D6/D7
|
Verfasst: 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 
      
Beiträge: 89
|
Verfasst: 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 
      
Beiträge: 89
|
Verfasst: 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
      
Beiträge: 106
Win95-2003 / Debian / Suse
D1/D3/D6/D7
|
Verfasst: 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 
      
Beiträge: 89
|
Verfasst: 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
      
Beiträge: 106
Win95-2003 / Debian / Suse
D1/D3/D6/D7
|
Verfasst: 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 
      
Beiträge: 89
|
Verfasst: 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
      
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: 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 
      
Beiträge: 89
|
Verfasst: 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
      
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: 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 
      
Beiträge: 89
|
Verfasst: 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
      
Beiträge: 106
Win95-2003 / Debian / Suse
D1/D3/D6/D7
|
Verfasst: 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
      
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: 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
      
Beiträge: 550
Win XP Prof. Mandrake 10.0
D6
|
Verfasst: So 25.08.02 02:37
Mist, da war jemand schneller als ich.
____________
Ex0rzist
|
|
SMI
      
Beiträge: 106
Win95-2003 / Debian / Suse
D1/D3/D6/D7
|
Verfasst: So 25.08.02 02:56
 HA HA -  wer zu spät kommt, den bestraft das leben!
SMI
|
|