| Autor |
Beitrag |
dddd
Hält's aus hier
Beiträge: 15
|
Verfasst: Fr 16.01.04 14:51
Hallo,
ne frage zu Delphi.
Har jetzt ein Fronted erstellt mit einem Button.
Wenn man diesen klickt, soll sich eine bat von mir im dir des Tools öffnen.
Wie mach ich das jetzt ?
Bitte um genaue anleitung, da ich ein Delphi-Noob bin.
Benutze delphi 8
danke
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Fr 16.01.04 15:05
Hi,
wenn du die Batchdatei ausführen möchtest geht das mit SHELLEXECUTE.
MFG
- Ernesto -
// Edit: Schau am besten dir die letzten Suchergebnisse an, da die ersteren meistens Suchlinks sind.
|
|
dddd 
Hält's aus hier
Beiträge: 15
|
Verfasst: Fr 16.01.04 15:22
geht nix davon, der code wird immer rot markiert
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: Fr 16.01.04 15:53
| dddd hat folgendes geschrieben: | | geht nix davon, der code wird immer rot markiert |
Hallo
sorry, aber erklär mir mal, wie einer dir bei so einer Antwort weiterhelfen soll
welcher code, was wird rot markiert, bzw welcher Fehler erscheint ?
edit:
| Zitat: |
Wenn man diesen klickt, soll sich eine bat von mir im dir des Tools öffnen.
|
auch ein Deutsch, was ich nicht verstehe.
Mfg Frank
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Zuletzt bearbeitet von Keldorn am Fr 16.01.04 15:54, insgesamt 1-mal bearbeitet
|
|
ErnestoChe
      
Beiträge: 528
Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
|
Verfasst: Fr 16.01.04 15:53
Hi,
lautet die Fehlermeldung, dass ShellExecute ein undefinierter Bezeichner ist? Dann einfach die Unit ShellApi in der Uses-Klausel hinzufügen.
MFG
- Ernesto -
|
|
dddd 
Hält's aus hier
Beiträge: 15
|
Verfasst: Fr 16.01.04 16:09
| ErnestoChe hat folgendes geschrieben: | Hi,
lautet die Fehlermeldung, dass ShellExecute ein undefinierter Bezeichner ist? Dann einfach die Unit ShellApi in der Uses-Klausel hinzufügen.
MFG
- Ernesto - |
naja, darunter versteh ich nicht wirklich was. fange ja gerade an mit delphi.
und was ich will is ganz einfach. wenn einer diesen button klickt, soll sich eine *.bat öffnen, die ich schon fertiggestellt hab.
und wegen der roten markierung.-
das wird rot makiert:
Delphi-Quelltext 1:
| ShellExecute(Application.Handle, 'open', 'c:\test.exe', nil, nil, SW_SHOW); |
|
|
ixtreme
Gast
Erhaltene Danke: 1
|
Verfasst: Fr 16.01.04 16:27
Füge oben bei uses einfach ShellAPI ein...
dann auf den Button doppelklicken und folgendes einfügen
Delphi-Quelltext 1:
| ShellExecute(Handle, 'open', pchar(extractfilepath(paramstr(0))+'deinedatei.bat'), '', nil, SW_SHOW); |
Die *.bat Datei sollte in dem Verzeichnis des Programms liegen
Gruß
ixtreme.de
|
|
dddd 
Hält's aus hier
Beiträge: 15
|
Verfasst: Fr 16.01.04 16:34
finde da nichts mit shellapi 
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 16.01.04 16:53
Schau dir mal bitte den Quellcode deiner Form-Unit an. Der beginnt standardmäßig ganz am Anfang mit
Delphi-Quelltext
Und da stehen Units wie Windows, SysUtils, usw. Dahinter trägst du die besagte Unit ShellAPI ein, damit Delphi den Befehl ShellExecute erkennen kann.
Alternative: Lokal für die Unit kannst du nach
Delphi-Quelltext 1: 2: 3: 4:
| implementation
uses ShellAPI; |
einen zweiten uses-Block definieren. (Wie gezeigt.)
Wenn du das alles gemacht hast, schau mal ein paar Grundlagen-Tutorials an. Sorry, aber sonst kommst du nicht allzu weit.
|
|
dddd 
Hält's aus hier
Beiträge: 15
|
Verfasst: Fr 16.01.04 17:33
hier mal wie ich es hab:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100:
| unit WinForm1;
interface
uses
System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data;
type TWinForm1 = class(System.Windows.Forms.Form) {$REGION 'Designer Managed Code'} strict private Components: System.ComponentModel.Container; Button1: System.Windows.Forms.Button; procedure InitializeComponent; procedure Button1_Click(sender: System.Object; e: System.EventArgs); {$ENDREGION} strict protected procedure Dispose(Disposing: Boolean); override; private public constructor Create; end;
[assembly: RuntimeRequiredAttribute(TypeOf(TWinForm1))]
implementation uses ShellAPI; {$REGION 'Windows Form Designer generated code'} procedure TWinForm1.InitializeComponent; begin Self.Button1 := System.Windows.Forms.Button.Create; Self.SuspendLayout; Self.Button1.Location := System.Drawing.Point.Create(72, 88); Self.Button1.Name := 'Button1'; Self.Button1.Size := System.Drawing.Size.Create(128, 48); Self.Button1.TabIndex := 0; Self.Button1.Text := 'Button1'; Include(Self.Button1.Click, Self.Button1_Click); Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13); Self.ClientSize := System.Drawing.Size.Create(292, 265); Self.Controls.Add(Self.Button1); Self.Name := 'TWinForm1'; Self.Text := 'WinForm1'; Self.ResumeLayout(False); end; {$ENDREGION}
procedure TWinForm1.Dispose(Disposing: Boolean); begin if Disposing then begin if Components <> nil then Components.Dispose(); end; inherited Dispose(Disposing); end;
constructor TWinForm1.Create; begin inherited Create; InitializeComponent; end;
procedure TWinForm1.Button1_Click(sender: System.Object; e: System.EventArgs); begin ShellExecute(Handle, 'open', pchar(extractfilepath(paramstr(0))+'test.bat'), '', nil, SW_SHOW); end; end. |
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 16.01.04 18:14
Äh, das kann so nicht gehen. Das was du da machst ist .NET.
Hier in diesem Forum: www.delphipraxis.net/ gibt es auch eien Delphi .NET Sparte.
|
|