Komponente Indirekt Ansprechen ??



  • Guten Tag,

    bitte Zerreist mich nicht gleich weil ich eine mögliche Antwort in der Faq bzw. über die Suchfunktion nicht gefunden habe ( Liegt wohl an meiner Unerfahrenheit) . Ich muss dazu sagen das ich erst seit kurzem mit C angefangen habe.

    Nun zu meiner frage :

    Ich habe bei einer Checkbox die Eigenschaft (CBGB_Settings->Tag ) gleich 4 gesetzt. Auf mein Formular habe ich ein Label platziert welche ich LabelActiv4 gennant habe.

    if (CBGB_Settings->Checked)
            {
               LabelActiv4->Visible =   !LabelActiv4->Visible;
               Auswertung->Bilderabgleich01(EditTempVerzeichniss->Text + Temp->Caption +"\\"+ CBGB_Settings->Caption+".KFLUA");
               LabelActiv4->Visible =   !LabelActiv4->Visible;
            }
    

    Da ich dieses öffters gemacht habe möchte ich wissen ob ich die Kommponete Label auch zusammen gesetzt ansprechen kann

    zum beispiel so:

    LabelActiv(CBGB_Settings->Tag)->Visible = ....
    

    Oder gibt es bei dem Builder einer möglichkeit die sache so aufzubauen ??

    Objektxyz = CBGB_Settings;
    
            if (Objektxyz->Checked)
            {
               LabelActiv(Objektxyz->Tag)->Visible =   !LabelActiv(Objektxyz->Tag)->->Visible;
               Auswertung->Bilderabgleich01(EditTempVerzeichniss->Text + Temp->Caption +"\\"+ bjektxyz->Caption+".KFLUA");
               LabelActiv(Objektxyz->Tag)->Visible =   !LabelActiv(Objektxyz->Tag)->->Visible;
            }
    

    Dann kann ich die Funktion immer wieder benutzten und bräuchte nur den objetkt namen ändern !

    mfg
    Karsten



  • Hallo

    Tja... siehe FAQ, Abschnitt Komponenten benutzen.
    Da es so aussieht, als ob du von den anzusprechenden Labels gleich mehrere hast, ist für dich das FAQ-Thema Dynamische Arrays von Komponenten oder Objekten interessant.
    Ansonsten kannst du den Weg, den du bereits skiziert hast mit der Methode TForm::FindComponent() umsetzen. Einfach in die BCB_hilfe dazu schauen.

    bis bald
    akari



  • 😕
    Hallo,
    ist nicht so ganz was ich suche, oder ich habe den Beitrag nicht richtig verstanden ! Ich versuche es mal mit diesem Beitrag.
    http://www.c-plusplus.net/forum/viewtopic.php?t=39207

    Danke für deine Bemühung
    gruss Karsten



  • was akari gepostet hat ist schon das was du suchst, wenn ich dich richtig verstanden habe.

    die Lösung die du angehen willst geht auch, ist aber sehr prozessorlastig.

    Form1->Components
    

    ist meines wissens auch nur ein Array von der Klasse TObject. (habe gerade keinen BCB zur hand)

    liess den Beitrag von akari nochmals durch und versuche mal ein Dynamisches Array von der Klasse TLabel.

    such mal in der BCB-Hilfe nach DynamicArray dort sollte ein Beispiel vorhanden sein

    mfg
    BigNeal


Anmelden zum Antworten