Entwickler-Ecke
Dateizugriff - Datei geht auf über Button! Aber wie ?
dddd - Fr 16.01.04 14:51
Titel: Datei geht auf über Button! Aber wie ?
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 - 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 - Fr 16.01.04 15:22
geht nix davon, der code wird immer rot markiert
Keldorn - 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 :roll:
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
ErnestoChe - 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 - 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); |
Anonymous - 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 - Fr 16.01.04 16:34
finde da nichts mit shellapi :cry:
Delete - Fr 16.01.04 16:53
Schau dir mal bitte den Quellcode deiner Form-Unit an. Der beginnt standardmäßig ganz am Anfang mit
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 - Fr 16.01.04 17:33
hier mal wie ich es hab:
Delphi-Quelltext
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. |
Delete - Fr 16.01.04 18:14
Äh, das kann so nicht gehen. Das was du da machst ist .NET.
Hier in diesem Forum:
http://www.delphipraxis.net/ gibt es auch eien Delphi .NET Sparte.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!