Autor Beitrag
hibbert
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Di 27.08.02 16:21 
hi,
eine anfänger frage:
ich habe ein neues delphi projeckt geöffnet und eine .pas datei hinzugefügt.
wenn ich auf einen button klicke, soll das programm die neu eingefügte unit ausführen, aber wie?
Jetzt schonmal DANKE !
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Di 27.08.02 16:31 
Hi,

den Unit-Namen in die Uses-Klausel aufnehmen. Und dann kannste die zweite Unit mir Form2.Show aufrufen.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 27.08.02 17:16 
Hallo,

Units werden nicht ausgeführt. Units sind lediglich Container für Constanten, Variablen, Typen, Procedure, funktion, Objekte ...
Wenn du eine Unit eingebunden hast dann kannst du ihre Inhalte aufrufen.
Du musst also den Unit Namen in die uses Klausel aufnehmen.

Danach kannst du auf die z.B. Proceduren in der zweiten Unit zugreifen.

Gruß
Klabautermann
hibbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Mi 28.08.02 13:14 
ok, aber wie kann ich aus einer unit eine rotine aufrufen?
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 28.08.02 13:56 
hibbert hat folgendes geschrieben:
ok, aber wie kann ich aus einer unit eine rotine aufrufen?
Genauso wie jede andere Methode innerhalb der Unit auch: Über den Namen!
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mi 28.08.02 13:57 
Hallo,

angenommen das ist deine Unit:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
unit Zeit;
interface
  CONST
    Stunde = 1/24;
    Minute = Stunde / 60;
    Sekunde = Minute / 60;

  function Zeitdifferenz(Zeit1, Zeit2 : tDateTime) : tDateTime;

implementation

  function Zeitdifferenz(Zeit1, Zeit2 : tDateTime) : tDateTime;
  BEGIN
    Result := Zeit2 - Zeit1;
  END;

end.


dann kanst du den Inhalt der Unit aus einer anderen Aufrufen nachdem du sie unter uses Eingetragen hast. Hier ein Beispiel für die Zeit unit:

ausblenden volle Höhe 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:
unit ufrmMain;

interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

USES
  Zeit;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DateTimePicker1.DateTime
  Label1.Caption := 'Die differnz zwischen den Beiden Werten beträgt ca. ' +
                    IntToStr(Trunc(Zeitdifferenz(DateTimePicker1.DateTime,
                    DateTimePicker1.DateTime) / Minute)) + ' Minuten.';)
end;

end.


Gruß
Klabautermann