![]() |
Procedure Ausführen...
Hallo,
ich möchte nach/in ButtonClick4 den ButtonClick5 ausführen um Quelltext nicht doppelt zu schreiben. Eine Funktion möchte ich nicht nehmen. So wie ich das probiere scheint das nicht zu funktionieren!
Delphi-Quellcode:
Weiß jemand was ich ändern müßte oder ob dieses garnicht möglich ist? Den Thread
procedure TfrmMAIN.Button4Click(Sender: TObject);
begin Procedure TfrmMAIN.Button4Click; end; procedure TfrmMAIN.Button5Click(Sender: TObject); begin showmessage('Test'); end; ![]() Danke & Gruß Mitchl |
Re: Procedure Ausführen...
Zitat:
so müsste es gehen:
Delphi-Quellcode:
procedure TfrmMAIN.Button4Click(Sender: TObject);
begin Button5Click(Sender); end; |
Re: Procedure Ausführen...
Oder im Objektinspektor einfach bei dem OnKlick-Event beides mal die gleiche procedure eintragen. Dann klappt, das auch.
André |
Re: Procedure Ausführen...
Zitat:
|
Re: Procedure Ausführen...
@ gothic_mike:
Vielen Dank, so gehts... :coder: @Luckie Wenn ich mehr Ahnung hätte, dann würde ich es evtl. anders machen! Habe ich aber leider momentan nicht. Aber vieleicht ist es für dich ja eine Leichtigkeit zu erklären wie ich eine Funktion einbinde!? Ich komme nicht so ganz klar damit, wo ich die Variablen deklarieren muss und ob die Variablen aus der Funktion in der ganzen Form abrufbar sind? Möchte keine Parameter mit der Funktion übergeben, sondern nur die Befehlsreihenfolge abarbeiten lassen. PS: Ich weiß, neue Frage, neuer Thread. Danke & Gruß Mitchl |
Re: Procedure Ausführen...
Zitat:
Also als erstes mal solltest du mal deinen Cursor auf das Wort Procedure oder function in Delphi setzen und die magische Taste F1 drücken. Dann erhältst du schon mal viel Infos zu Prozeduren und Funktionen. Wenn du aber auf einem Form arbeitest, wird in Delphi Quellcode automatisch eine Klasse definiert, die von TForm abgeleitet ist. Das heisst nix anderes, daß du dir ein neues Objekt erstellst, was alles aus TForm erbt, und das du mit eigenen Dingen zusätzlich füllen kannst, ums mal laienhaft auszudrücken. Hinter Klassenvererbung steckt noch mehr, aber das würd hier nun zu weit führen. Die Dinge, wie ich sie nannte, sind in Delphi Eigenschaften (Stichwort property) und Methoden. Eigenschaften sind Attribute, die dein Objekt beschreiben, und können aber selbst auch wieder Objekte sein. Legst du einen Button auf deine Form, so wird in deiner Klassendefinition ein Objekt button1 im Quellcode hinterlegt. Methoden ist der Oberbegriff für Prozeduren und Funktionen, die sich im Wesentlichen nicht unterscheiden, ausser daß Funktionen dir einen Rückgabewert liefern können. Soweit klar? Willst du jetzt eine eigene Prozedur in der Klasse definieren, so musst du das an 2 Stellen. Erstens oben, in der Klassendefinition selbst. Da gibt es für dich erst mal 2 Bereiche: private und public. Spricht für sich, denk ich. Private heisst, daß du nur innerhalb der Klasse auf diese Methoden zugreifen kannst. Public heisst, dass du auch in abgeleiteten Klassen drauf zugreifen kannst. Das Definieren der Methode alleine reicht jedoch nicht aus. Du musst sie auch implementieren. Dazu drückst du am besten im Editor selbst innerhalb deiner Klassendefinition die Tastenkombination STRG-SHIFT-C, und die IDE erstellt dir ein Grundgerüst im Implementierungsteil. Da kannst du jetzt reinschreiben, was du willstund brauchst, und kannst die definierte Methode überall innerhalb deiner Klasse durch Angeben des Namens mit den notwendigen Parameters aufrufen. Hier mal ein einfaches Bsp, mit einem Button und einem edit auf der Form, und einer public procedure ZeigeInhalt welches dir einfach den Inhalt des Edit Feldes in einer Messagebox anzeigt. Aufrufen von ZeigeInhalt machst du im OnClick Ereignis des Buttons.
Delphi-Quellcode:
VORSICHT:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } procedure ZeigeInhalt; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ZeigeInhalt ; end; procedure TForm1.ZeigeInhalt ; begin MessageDlg(edit1.text, mtInformation, [mbOK], 0); end ; end. Das ist eine Möglichkeit, Methoden in die Klasse zu implementieren. Aber Luckie hats bereits geschildert, damit sind Design und Funktionalität des Programms nicht strikt getrennt. Aber für den Anfang erst mal ganz brauchbar für dich. Aber wichtig ist, dir mal im Klaren zu werden, wie man in Delphi programmiert. Durch diese Doppelklicks auf Ereignisse innerhalb der IDE erreicht man zwar schon sehr viel, aber was sich dabei im Wesentlich abspielt bleibt dir verborgen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz