Alle Komponenten in einem Formular anzeigen.



  • Ich möchte gerne in meinem Programm eine Funktion haben, die alle Komponenten eines Formulars ausfindig macht. Sind in den Komponeten Texte enthalten, so soll aus einer XML-Datei abhängig davon, welcher Text es ist, die entsprechende eingetragen werden. Hier ein Beispiel:
    Ich habe ein LabeledEdit, dessen Label Text zum Beispiel "Firma" lautet. Ich möchte nun aus einer XML-Datei, welche ein Attribut <Firma>company</Firma> enthält, automatisch das Wort Firma in meinnem Komponententext durch company ersetzten. Diese Funktion soll, wie gesagt, für alle Komponenten in meinem Formular automatisch passieren. Ist sicherlich ne richtig schwierige Sache, aber vielleicht kann mir da jemand weiterhelfen!?

    Vielen Dank!!



  • Dazu gibt es diverse Funktionen; Ausgangspunkt wäre:

    __property TComponent * Components = {read=GetComponent};

    Beschreibung
    Mit Components können Sie auf alle der Komponente untergeordneten Komponenten zugreifen, beispielsweise auf die Komponenten eines Formulars. Die Eigenschaft ist besonders nützlich, wenn Sie einzelne untergeordnete Komponenten über eine Nummer anstelle über deren Namen ansprechen wollen. Components wird intern verwendet, um iterative Prozesse an allen untergeordneten Komponenten durchzuführen.

    Index liegt im Bereich von 0 bis ComponentIndex minus 1.

    Verwandte Informationen
    TComponent::ComponentCount
    TComponent::ComponentIndex
    TComponent::Owner



  • Weiterhin interessant sind hier dann noch TObject::ClassName sowie dynamic_cast
    siehe auch aus der FAQ
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39210.html
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39207.html



  • Danke, das hat mir schonmal ein ganzes Stück weitergeholfen!


Anmelden zum Antworten