Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Einen Reihe von Befehl ausführen ohne Objekt als Sender (https://www.delphipraxis.net/36359-einen-reihe-von-befehl-ausfuehren-ohne-objekt-als-sender.html)

Äfan 18. Dez 2004 22:52


Einen Reihe von Befehl ausführen ohne Objekt als Sender
 
Hi,

Also folgendes: Wenn ich auf nen Button klicke soll Wert A + B in C eingefügt werden. So aber nun zu meiner Frage: Ich will dies als externe aufgabe machen, also nicht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  C := A+B;
end;
sonder will ich z.B.

Delphi-Quellcode:
Rechnen;
begin
    C := A+B;
end;
und wenn ich auf Button1 klicke, soll das passieren:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Rechnen;
end;
Ich habe das erst mit Procedure Rechnen; gemacht aber bei einem Objekt sagt er gleich Undefinierter Bezeichner.

MFG

SirThornberry 18. Dez 2004 22:55

Re: Einen Reihe von Befehl ausführen ohne Objekt als Sender
 
Zitat:

Zitat von Äfan
Delphi-Quellcode:
Rechnen;
begin
    C := A+B;
end;

So ging das in Delphi noch nie!
du hast ja nicht angegeben ob das eine procedure oder funktion sein soll
Delphi-Quellcode:
procedure Rechnen;
begin
  C := A+B;
end;

Phoenix 18. Dez 2004 22:57

Re: Einen Reihe von Befehl ausführen ohne Objekt als Sender
 
also
Delphi-Quellcode:
procedure Rechnen;
begin
   a := b + c;
end;
war schon richtig. Du musst allerdings oben im Deklarationsbereich noch 'procedure Rechnen;' hinzufuegen.

Am besten direkt nach

Delphi-Quellcode:
TForm1 =
private
protected
public
end;
...

procedure Rechnen;
...
Oder du schreibst die Prozedur VOR dem Aufruf in die Unit rein.

Äfan 19. Dez 2004 01:11

Re: Einen Reihe von Befehl ausführen ohne Objekt als Sender
 
Gut nur gibt der mir immer eine Fehlermeldung bei Komponenten z.B.

[Fehler] Unit1.pas(66): Undefinierter Bezeichner: 'IdHTTP1'
[Fehler] Unit1.pas(69): Undefinierter Bezeichner: 'Memo1'

Warum das ?

dizzy 19. Dez 2004 01:31

Re: Einen Reihe von Befehl ausführen ohne Objekt als Sender
 
Weil deine Prozedur keine Methode deiner Form-Klasse ist. Entweder du schreibst vor jede Kompo ein "Form1.", oder du machst besser gleich eine Methode daraus (ist dann auch OOP-konform).

Evtl. täte dir auch ein Tutorial in Sachen OOP mal ganz gut ;)

GimbaR 19. Dez 2004 01:32

Re: Einen Reihe von Befehl ausführen ohne Objekt als Sender
 
nenne
Delphi-Quellcode:
procedure Rechnen
in
Delphi-Quellcode:
procedure TForm1.Rechnen
um.
Sollte dann eigentlich funzen

[edit] mist zu spät^^ [/edit]
mfg GimbaR

fkerber 19. Dez 2004 10:19

Re: Einen Reihe von Befehl ausführen ohne Objekt als Sender
 
Hi!

Wenn es um so etwas geht wie 2 Zahlen zu addieren, würde sich meiner Meinung nach eine Funktion viel besser eignen, da man dann auch keine globalen Variablen haben muss.


Ciao Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz