L
Ich versteh nicht warum du einen neuen Thread deswegen aufmachst, aber egal.
Ich hatte also recht mit meiner Vermutung, du verwendest eine Art Feld um die Daten zu verwalten (Zeile 13-15). Zum Thema "globale Variablen" gibt es einen interessanten Beitrag in den FAQ. Besser wäre wahrscheinlich ein Struct zu verwenden, da die Daten ja auch einen Zusammenhang haben, z.B.
struct Personen
{
String NachName;
double Groesse;
TDateTime Datum;
};
davon kannst du dir dann entweder ein dynamisches Feld (new/delete) oder einen vector anlegen.
Um die Daten wieder in dese Struktur zu bekommen kannst du die AnsiString-Methoden verwenden, z.B. aus dem Memo:
Personen Person[3]; // das ist kein dynamisches Feld und auch kein vector !
String MemoZeile = Memo1->Lines->Strings[0]; // 1. Zeile aus dem Memo
Person[0].NachName = MemoZeile.SubString(1,MemoZeile.Pos("\t")-1);
MemoZeile.Delete(1,MemoZeile.Pos("\t"));
Person[0].Groesse = StrToFloat(MemoZeile.SubString(1,MemoZeile.Pos("\t")-1));
MemoZeile.Delete(1,MemoZeile.Pos("\t"));
Person[0].Datum = StrToDate(MemoZeile.SubString(1,MemoZeile.Length()));
das ganze geht natürlich auch als Schleife, und wahrscheinlich auch noch einfacher, aber das kannst du ja mal selbst versuchen
noch einen Hinweis: Was passiert wenn der Nutzer den OpenDialog abbricht? Schau dir mal das Beispiel zu Execute in der BCB-Hilfe an.
Und man kann die Datei direkt in das Memo laden.