Hallo, ich bin Neuling bei Lazarus.
Ich habe ein einfaches Programm zum Üben des Einmaleins (1x1) angefangen.
Das Gestalten der Oberfläche und das Schreiben der ersten Ereignisproceduren waren kein Problem.
Nicht lösen konnte ich Folgendes:
Ich möchte in mehren Ereignisprozeduren die gleichen Anweisungen ausführen. Daher habe ich diese Anweisungen in eine Procedure "AufgabeStellen" gepackt. In dieser Procedure "AufgabeStellen" werden einige Formularobjekte angesprochen und verändert.
Wo muss ich diese allgemeine Procedure "AufgabeStellen" plazieren, damit ich innerhalb der anderen Ereignisproceduren darauf zugreifen kann?
Das komplette Projekt habe ich als zip-Datei beigefügt. Die fragliche Procedure "AufgabeStellen" steht zur Zeit am Ende und wird zweimal in der Procedure "TForm1.buSteuerungClick" aufgerufen.
Wer nur einen Blick auf den Formular-Code werfen will, schaut in nur in "main.txt"
Michael
Wie allgemeine Procedure in Ereignisprocedure verwenden
-
- Beiträge: 1
- Registriert: Sa 23. Feb 2008, 10:59
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Bad Oeynhausen
Wie allgemeine Procedure in Ereignisprocedure verwenden
- Dateianhänge
-
EinMalEins.zip
- (604.68 KiB) 52-mal heruntergeladen
-
- main.pas
- (1.97 KiB) 43-mal heruntergeladen
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Es gibt mehrere Möglichkeiten, ich würde es wie folgt ändern. Damit unterstellst du die Function dem Form1 und kannst sie innerhalb dieser Unit überall nutzen:
//PS. hab mal die Exe gestrippt und deinen Anhang etwas verkleinert.
Code: Alles auswählen
procedure buSteuerungClick ( Sender : TObject ) ;
procedure TimerTimer ( Sender : TObject ) ;
private
procedure AufgabeStellen;
{ private declarations }
public
{ public declarations }
end;
Code: Alles auswählen
procedure TForm1.AufgabeStellen;
var
Faktor1, Faktor2 : Integer;
begin
Faktor1 := Random(9);
Faktor2 := Random(9);
txAufgabe.Text := IntToStr(Faktor1) + ' x ' + IntToStr(Faktor2)
end;
Johannes