Funktion aufrufen
-
Hallo,
ich brauche mal eure Hilfe, ich habe schon länger nichts mehr mit C++ gemacht und daher meine Probleme.
Ich möchte mein Programm vereinfachen und wollte einen mehrfach verwendeten Programmteil zusammen fassen. Wie war das noch mit den Funktionen?
Die Funktion LOESCHEN soll immer ausgelöst werden, wenn der Button 1 oder 3 gedrückt wird und dann den Programmteil loeschen ausführen, hier den Text von Button 2 löschen.
Hier ein Beispiel:
void loeschen ()
{
Button2->Caption=" ";
}//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
loeschen();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
loeschen();
}
//---------------------------------------------------------------------------
-
So wie ich das sehe kannst du den Button3 die Funktion des Buttons1 zuweisen, somit benutzen beide buttons die selbe Funktion und lösen dann die löschen funktion aus.
Würd ich so machen oder gleich alles was in löschen steht mit in die Funktion des ersten Buttons die dann beide Buttons 1 und 3 benutzen.
-
Das ist nur ein Beispiel, das Programm sieht anders aus.
Borland Builder 2010 kennt aber auch nicht, innerhalb der Funktion 2010, Button2.
Muss die Funktion noch irgendwo angelegt werden?
Es funktioniert so nicht.
-
Du kannst es so machen:
void loeschen (TButton *MeinButton) { MeinButton->Caption = ""; } void __fastcall TForm1::Button1Click(TObject *Sender) { loeschen(Button2); }
es gibt aber auch die Möglichkeit deine loeschen Funktion in der TForm1 Klasse mit zu implementieren.
-
abcd schrieb:
Muss die Funktion noch irgendwo angelegt werden?
Wenn du die Funktion in der TForm1 Klasse implemtieren willst sieht das dann so aus.
unit1.h
class TForm1 : public TForm { __published: // Von der IDE verwaltete Komponenten TButton *Button1; TButton *Button2; void __fastcall Button1Click(TObject *Sender); void __fastcall loeschen (); private: // Benutzer-Deklarationen public: // Benutzer-Deklarationen __fastcall TForm1(TComponent* Owner); };
unit1.cpp
void __fastcall TForm1::loeschen () { Button2->Caption = ""; } void __fastcall TForm1::Button1Click(TObject *Sender) { loeschen(); }
Ob deine Funktion mit oder ohne Parameter arbeitet steht Dir natürlich frei, ich halte Paramter um eine gewisse dynamik beizubehalten immer für die bessere Wahl.
-
So gehts natürlich auch, wäre der einfachste Weg.
void loeschen () { Form1->Button2->Caption=" "; }
-
Super, vielen Dank, das habe ich gesucht mit der Unit.h
-
private: // Benutzer-Deklarationen public: // Benutzer-Deklarationen
da gehört es eigentlich rein, sagt ja auch schon der Kommentar "Benutzer-Deklarationen", war mein Fehler. je nachdem ob Du deine Funktion von aussen zugänglich machen möchtest (public) oder eben nur die Klasse mit Ihren Funktionen dadrauf zugreifen darf (privat).