Problem mit Variablennamen



  • Hallo gemeinde 🙂
    jetzt wurde mir schon mit meinem ersten problem geholfen, jetzt hoffe ich auf eure weitere hilfe 🙂
    Ich denke für euch müsste sie falls sie lösbar ist ein klax sein!

    Also ich hab jetzt ein paar objekte
    Image1
    Image2
    Image3
    ...

    Jetzt möchte ich gerne eine For schleife zu nutzen um immer ein "Image" weiter zu gehen
    also von Image1 zu Image2 zu Image3

    das problem ist diese Namen müsste ich dann so nutzen können das ich sie als ein Objekt übergebe!!! Ist dies möglich?!? Ich hoffe ja 🙂

    Also zb in eine funktion:
    Ima(Image1,1,1);
    so in etwa!

    PLZ help 🙂



  • Hallo,

    Sieh mal in die FAQ Abschnitt Komponenten benutzen.

    Ciao



  • Hallo danke für die schnelle antwort!
    Du meintest garantiert diesen beitrag hier:
    http://www.c-plusplus.net/forum/viewtopic.php?t=39207
    oder?!?

    Kannst du mir erklären wie ich dies für mein problem nutzen kann?!? Entweder es ist schon mein langer tag oder ich kapiere es einfach net!

    danke schonmal!



  • Ich dachte eher an den
    http://www.c-plusplus.net/forum/viewtopic.php?t=39211

    [edit]Ich würde hier vector bevorzugen.[edit]



  • Vielleicht ne blöde Frage aber warum nimmst du nicht einfach ein Objekt-array?

    Klassenname Image[3];
    
    for(int i=0; i<3; i++)
    {
     Ima( Image[i],i,i);//(keine ahnung wie dein Aufruf genau aussehen muss)
    }
    

    [EDIT]
    Oh da war wohl jemand schneller :p



  • das problem ist das sie schon vorhanden sind diese Elemente
    (also sind schon auf dem formular vorhanden!)

    Wenn ich also jetzt

    for (int ix = 1; ix <=10; ix++)
    {
    for (int iy = 1; iy <=10; iy++)
    {
    iIm++;
    Ima(Image[iIm],ix,iy);
    }
    }

    so wie ihr es sagt nutzt geht es natürlich nicht, da er das objekt Image nicht kennt.

    Ist es nicht wirklich möglich so wie in VB einfach den namen dynamisch zu ergänzen?!?



  • so ich bin mal wieder einen schritt weiter!
    Aber ich hoffe ihr könnt mir bei meinem hoffentlich letzten problem helfen

    int iIm=0;
    iIm++;
    for(int i=0; i < this->ComponentCount; i++)
    {
    if (this->Components[i]->ClassNameIs("Image"+String(iIm)))
    {
    Ima(dynamic_cast<TImage
    >(this->Components[i]),ix,iy);
    }
    }

    Hier müsste er doch immer die ganzen "Images"übergeben oder?!? Warum geht er niemals in die if-schleife rein?!? PLZ help!



  • 1.: (das wichtigere) http://www.if-schleife.de

    2.: Was könnte deiner Meinung ClassNameIs machen? Wenn du das herausgefunden hast, weißt du auch, warum die zweite if-Anweisung mit in der FAQ-Lösung steht.



  • zu1: I know, i know! Ein altes Leiden 😉

    zu2:

    Ah jetzt!

    Die Methode ClassNameIs fragt nur den klassen namen ab

    if (this->Components[i]->ClassNameIs("TImage"))

    folge dessen müsste dies richtig sein, oder?!?

    und die zweite if schleife fragt explizit nach ob es das objekt ist. 🙂 ich denke ich habe es verstanden (korrigiert mich wenn ich falsch liege, ich will ja schließlich was lernen!)

    P.S.:Super Forum 🙂 Schnelle und kompetente Hilfe bzgl. C++ 🙂


Anmelden zum Antworten