Inhalt eines Memos in ein Array laden

gerd87

Erfahrenes Mitglied
Hallo,
ich habe ein Memo-Feld mit Inhalt. Dieser Inhalt ist mit einem ; getrennt.
jetzt möchte ich gerne den Inhalt in ein Mehrdimensionales Array laden.
Das Array habe ich schon erstellt. Nur komme ich hier nicht weiter:
Code:
  for(int i=0; i < Form1->Memo1->Lines->Count;i++){

  }

In dieser Schleife soll das Array gefüllt werden. Weiss jemand, wie man das machen kann?

Gruß, Gerd
 
Hallo,

Code:
for(int i=0; i < Form1->Memo1->Lines->Count;i++){
   DeinArray[i] = Form1->Memo1->Lines[i];
}

sollte so eigentlich gehn.

MfG Turri
 
Danke für die Antwort,
keider kommt da die Fehlermeldung:
Konvertierung von 'TStrings' nach 'AnsiString *' nicht möglich.

Hast du da eine Idee?

Gruß, Gerd
 
Code:
for(int i=0; i < Form1->Memo1->Lines->Count;i++){
   DeinArray[i] = Form1->Memo1->Lines->operator [](i);
}

so tut das aber definitiv, wenn dein Array nen AnsiString Array is ;)

MfG Turri
 
Sorry, schon wieder eine Fehlermeldung:
'operator []' ist kein Element von 'TStrings'.

ich poste mal den derzeitigen code mit der Erzeugung der Arrays (Mehrdimensional):
Code:
    const int buecher_spalten = 4;
    const int buecher_reihen = Form1->Memo1->Lines->Count;

    // Dynamische Array von Zeigern anlegen:
    String** buecher = new String*[buecher_spalten];

    // An jeden Zeiger ein Array hängen
    for (int i = 0; i < buecher_spalten ; i++){
        buecher[i] = new String[buecher_reihen];
    }


  for(int i=0; i < Form1->Memo1->Lines->Count;i++){
    buecher[0][i] = Form1->Memo1->Lines->operator [](i);
  }

Vielen Dank
 
Hallo,

Dein Code läuft bei mir völlig Problemlos.

Kannst es ja mal so probieren...

Code:
const int buecher_spalten = 4;
const int buecher_reihen = Form1->Memo1->Lines->Count;

// Dynamische Array von Zeigern anlegen:
AnsiString** buecher = new AnsiString*[buecher_spalten];

// An jeden Zeiger ein Array hängen
for (int i = 0; i < buecher_spalten ; i++){
   buecher[i] = new AnsiString[buecher_reihen];
}   

for(int i=0; i < Form1->Memo1->Lines->Count;i++){
   buecher[0][i] = Form1->Memo1->Lines->operator [](i);
}

for(int i=0; i < Form1->Memo1->Lines->Count;i++){
   ListBox1->Items->Add(buecher[0][i]);
}

Vielleicht mal direkt AnsiString als Typ angeben und nicht nur String...
Die letzt for-Schleife hab ich nur zu testzwecken angelegt, die liest das Feld aus und trägt alles in eine Listbox ein.

Hab mal nen Screenshot angehangen ;-)

MfG Turri
 

Anhänge

  • 25941attachment.jpg
    25941attachment.jpg
    102,5 KB · Aufrufe: 13
Vielen Dank für deine Mühe,
vielleicht liegt es an der C++-Builder-Version.
Ich habe die Version 4.
Habe gesehen, dass du die Version 6 hast.

Gruß, Gerd
 
Zurück