For Schleife für alle Forms / Units



  • For Schleife für alle Forms / Units

    Hallo ich möchte mit einer Funktion von allen im Projekt befindlichen Formularen, Height, Top, Left und Width auslesen.

    Um das ganze aber dynamisch und ordentlich zu halten sollte es in eine for schleife gelegt werden. Sonst sieht das ganze irgendwann so aus:

    = Form1->Height;
    = Form1->Left;
    = Form1->Top;
    = Form1->Width;
    
    = Form2->Height;
    = Form2->Left;
    = Form2->Top;
    = Form2->Width;
    

    Macht meiner Meinung nach keinen Sinn und geht doch bestimmt auch einfacher. Komme aber einfach nicht drauf, hab schon die FAQ und alles durchwühlt find enur Lösungen um alle Elemente in einem Form auszulesen. (ComponentCount, ComponentList...) 😡



  • - Wenn Formulare erstellt werden (entweder direkt oder durch Aufruf von TApplication::CreateForm() ), wird üblicherweise die globale TApplication -Instanz Application als Owner angegeben.
    - Du weißt, daß du mit TComponent::Components / TComponent::ComponentCount alle Unterkomponenten einer Komponente aufzählen kannst.
    - Mit einem dynamic_cast<>() kannst du schauen, ob hinter einem Basisklassenzeiger wie TComponent* ein Objekt vom gewünschten Typ steckt, z.B. TForm .

    Jetzt mußt du nur noch 1+1+1 zusammenzählen 🙂

    Edit: Klammer zu vergessen


Anmelden zum Antworten