Edit raufzählen



  • hy, ich habe in einem array verschiedene werte gespeichert!
    nun möchte ich mit einer while schlaufe die edits raufzählen (habe auf meinem formular Edit 1- 20!
    und gleichzeitig den wert eines arrays zuweisen also ungefähr so:

    int i = 0;
    int zahlen[] = { 14,123,31,43,542,12,34,343,32,6,77,5,4,58,48,69,55,14,22,3 };
    
    while(i < 20)
    {
       Edit[i]->Text = zahlen[i];
    }
    

    funktioniert so nicht, wie muss ich das genau machen?hat jemand ne idee? 🙂



  • FAQ! ("...nicht über Namen...")



  • was faq?



  • miguelgalaxy schrieb:

    was faq?

    FAQ!



  • nix gefunden


  • Mod

    Hallo

    dann such nochmal (und lese die Beitraege (hier) nochmal durch !

    MfG
    Klaus



  • Hier ist eine Möglichkeit:

    TEdit *edit[20];
    int zahlen[] = { 14,123,31,43,542,12,34,343,32,6,77,5,4,58,48,69,55,14,22,3 };
    
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    edit[0] = Edit1;
    edit[1] = Edit2;
    edit[2] = Edit3;
    edit[3] = Edit4;
    edit[4] = Edit5;
    edit[5] = Edit6;
    edit[6] = Edit7;
    edit[7] = Edit8;
    edit[8] = Edit9;
    edit[9] = Edit10;
    edit[10] = Edit11;
    edit[11] = Edit12;
    edit[12] = Edit13;
    edit[13] = Edit14;
    edit[14] = Edit15;
    edit[15] = Edit16;
    edit[16] = Edit17;
    edit[17] = Edit18;
    edit[18] = Edit19;
    edit[19] = Edit20;
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    int i = 0;
    while(i < 20)
      {
      edit[i]->Text = zahlen[i];
      i++;
      }
    }
    //---------------------------------------------------------------------------
    

    Die andere Möglichkeit:
    http://www.c-plusplus.net/forum/viewtopic.php?t=39207



  • Wobei die zweite Methode unbedingt zu empfehlen ist. Ich würde allen deinen Edits, die mal so eine Zahl bekommen, ein nettes, markantes Tag geben und dann einfach einmal durchloopen und das Tag abfragen. So kriegst du garrantiert nie Probleme mit anderen Edits, falls du sowas hast.



  • nirsaja schrieb:

    Wobei die zweite Methode unbedingt zu empfehlen ist.

    Naja, und wie macht man mit der zweiten Methode, wenn man mehr als eine Dimension hat.



  • Für die zweiten Methode wird keine zusätzliche Array-Deklaration benötigt, da ja das Components- bzw. Controls-Array benutzt wird, so dass sich die Frage der zusätzlichen Arraydimensionen nicht stellt.

    Wenn es sich rein mengenmässig lohnt, Komponenten über ein (ggf. mehrdimensionales) Array zu indizieren, dann lohnt es sich üblicherweise auch, diese Komponten erst zur Laufzeit zu erzeugen, und das dann gleich als Array.
    Siehe FAQ im Abschnitt "Komponenten benutzen".


Anmelden zum Antworten