Autor Beitrag
dddd
Hält's aus hier
Beiträge: 15



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Fr 16.01.04 15:05 
Hi,

wenn du die Batchdatei ausführen möchtest geht das mit Suche in: Delphi-Forum, Delphi-Library SHELLEXECUTE.

MFG

- Ernesto -

// Edit: Schau am besten dir die letzten Suchergebnisse an, da die ersteren meistens Suchlinks sind.
dddd Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 16.01.04 15:22 
geht nix davon, der code wird immer rot markiert
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: 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

_________________
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: 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:

ausblenden Delphi-Quelltext
1:
ShellExecute(Application.Handle, 'open''c:\test.exe'nilnil, SW_SHOW);					
ixtreme
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.01.04 16:27 
Füge oben bei uses einfach ShellAPI ein...

dann auf den Button doppelklicken und folgendes einfügen

ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 16.01.04 16:34 
finde da nichts mit shellapi :cry:
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.01.04 16:53 
Schau dir mal bitte den Quellcode deiner Form-Unit an. Der beginnt standardmäßig ganz am Anfang mit
ausblenden Delphi-Quelltext
1:
2:
3:
4:
unit Form1;

uses
  { ... }

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
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 16.01.04 17:33 
hier mal wie ich es hab:



ausblenden volle Höhe 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
    /// <summary>
    /// Required designer variable.
    /// </summary>
    Components: System.ComponentModel.Container;
    Button1: System.Windows.Forms.Button;
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    procedure InitializeComponent;
    procedure Button1_Click(sender: System.Object; e: System.EventArgs);
  {$ENDREGION}
  strict protected
    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;
  private
    { Private Declarations }
  public
    constructor Create;
  end;

  [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm1))]

implementation
      uses 
  ShellAPI;
{$REGION 'Windows Form Designer generated code'}
/// <summary>
/// Required method for Designer support -- do not modify
/// the contents of this method with the code editor.
/// </summary>
procedure TWinForm1.InitializeComponent;
begin
  Self.Button1 := System.Windows.Forms.Button.Create;
  Self.SuspendLayout;
  // 
  // Button1
  // 
  Self.Button1.Location := System.Drawing.Point.Create(7288);
  Self.Button1.Name := 'Button1';
  Self.Button1.Size := System.Drawing.Size.Create(12848);
  Self.Button1.TabIndex := 0;
  Self.Button1.Text := 'Button1';
  Include(Self.Button1.Click, Self.Button1_Click);
  // 
  // TWinForm1
  // 
  Self.AutoScaleBaseSize := System.Drawing.Size.Create(513);
  Self.ClientSize := System.Drawing.Size.Create(292265);
  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;
  //
  // Required for Windows Form Designer support
  //
  InitializeComponent;
  //
  // TODO: Add any constructor code after InitializeComponent call
  //
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



BeitragVerfasst: 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.