Edit Felder in Schleife auslesen und in die Array Variable eintragen...



  • Hallo!!!
    Ich habe bis jetzt einige Sachen in Delphi programmiert, möchte auch in C++ Builder paar Sachen umsetzen. Die Frage ist, wie kann ich Edit Felder in Schleife auslesen und in die Array Variable eintragen? Soviel ich weiß in C++ gibts nicht wie in Delphi die Anweisung "with do" wie im Beispiel unten!?!
    Danke für jede Antwort!!!
    mfg Andreas (jbox77)

    var
    Form1: TForm1;
    wert : array [1..5] of Integer;
    implementation

    {$R *.DFM}

    //----------------------------------------------------------------
    // Einlesen der Werte aus Edit in die Array-Variable
    procedure TForm1.Button1Click(Sender: TObject);
    var i : Integer;
    begin
    for i:=1 to 5 do
    begin
    with Form1.FindComponent('Edit'+ IntToStr(i))as TEdit do
    wert[i] := StrToInt(Text);
    end;
    end;

    //----------------------------------------------------------------
    // Editfelder löschen
    procedure TForm1.Button3Click(Sender: TObject);
    var i : Integer;
    begin
    for i:=1 to 5 do
    begin
    with Form1.FindComponent('Edit'+ IntToStr(i))as TEdit do
    Text := '';
    end;
    end;

    //----------------------------------------------------------------
    // Eintragen der Werte in die Editfelder
    procedure TForm1.Button2Click(Sender: TObject);
    var i : Integer;
    begin
    for i:=1 to 5 do
    begin
    with Form1.FindComponent('Edit'+ IntToStr(i))as TEdit do
    Text := IntToStr(wert[i]) ;
    end;
    end;



  • ich würde da besser ein Array von TEdits anlegen

    TEdit EditArr[5];
    

    dann kannst du entweder dynamisch eine Instanz erstellen

    for(int i = 0; i < 5; i++)
    {
       EditArr[i] = new TEdit();
       EditArr[i]->Parent = this;
       EditArr[i]->Left = ...
       ...
    }
    // aber nicht vergessen den Speicher mit delete wieder freigeben!
    

    oder auf eine bestehende Instanz Zeigen

    EditArr[0] = Edit1;
    EditArr[1] = Edit2;
    EditArr[2] = Edit3;
    EditArr[3] = Edit4;
    EditArr[4] = Edit5;
    

    so kannst du einfach über eine Schlaufe auf die Eigenschaften zugreifen

    int IntArr[5];
    for(int i = 0; i < 5; i++)
    {
       IntArr[i] = EditArr[1]->Text.ToInt();
    }
    

    - verwende bitte Codetags

    - es gibt ein seperates BCB-Forum



  • wenn ich deinen Code richtig verstanden habe, währe das hier für idhc intressant http://www.c-plusplus.net/forum/viewtopic-var-t-is-39305.html ->Komponenten benutzen -># Zugriff, aber nicht durch Namen



  • Dieser Thread wurde von Moderator/in Marc++us aus dem Forum Rund um die Programmierung in das Forum VCL/CLX (Borland C++ Builder) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten