Anfängerfrage zu Unterprogrammen
-
Hallo
Ich bin gerade dabei ein kleines Programm zu schreiben. Diese Programm hat auf Form1 5 Tabsheets. Auf jedem Tabsheet ist ein Cancel-Button mit dem auf allen 5 TabSheets EditFenster gelöscht, unsichtbar oder sichtbar gemacht werden sollen.
Da der Quelltext für den Cancel-Button recht lang ist wollte ich ein Unterprogramm schreiben in dem diese Befehle abgearbeitet werden.
Ich wollte damit verhindern den Quelltext 5mal zu schreiben (bzw copy/paste).
Der Quelltext des Cancel-Button enthält danach also nur noch den Srungbefehl zum Unterprogramm.void __fastcall TForm1::Button12Click(TObject *Sender)
{
cancel();
}void cancel()
{
zaehler = 0;Edit1->Enabled=true;
Edit2->Enabled=true;
Edit4->Enabled=true;
Edit41->Enabled=true;
Edit30->Enabled=false;
Edit31->Enabled=false;
Edit21->Enabled=false;
......
}So habe ich das probiert aber das haut irgendwie nicht hin.
Er meldet mir dauernd den Fehler Undefiniertes Symbol Edit1 usw.Kann mir jemand sagen wie ich das richtig mache ??
Vielen Dank im Voraus und Grüße
sub
-
Hallo sub-elektro
In deiner Subfunktion must du den Namen des Formulars
mit voranstellen.
Also : Form1->Edit1->Enabled=true; usw.MfG Schlumpi
-
geht aber auch noch einfacher
einfach in Z.B. diese Funktion
void __fastcall TForm1::Button12Click(TObject *Sender)
deinen Code einfügen und dann jeweils das ereignis OnClick der Buttons auf Button12Click setzen (im Objektinspektor Registerreiter Ereignisse)
-
Hallo
Ich danke euch beiden.
Funktioniert wunderbar.Vielen Dank und Grüße
sub