Hallo,
Ich habe eine große Liste an Wörtern. Diese möchte ich gerne in meinem Programm als Array gespeichert haben. Nun ist es mir etwas kompliziert jedes Wort einzelnd in das Array zu speichern (ca. 10.000 Wörter). Allerdings ist nach jedem Wort ein Zeilenumbruch und ich dachte mir, das man diesen dazu nutzen könnte den großen string in viele strings zu splitten und als array abzuspeichern.
was meinst Du mit „Zeilenumbruch“ - liegen die in einer Datei vor? Wenn ja, dann ist das relativ einfach:
var osl:TStringList;
iIndex:Integer;
begin
oSL:=TStringList.Create;
try
oSL.LoadFromFile();
for i:=0 to oSL.Count-1 do
[iIndex]:=oSL.Strings[iIndex];
finally
FreeAndNil(oSL);
end;
Alternativ kannst DU anstelle des Arrays auch gleich die TStringList verwenden…
So wie das klingt, liegten die Wörter in einer Datei vor. In diesem Fall ist es relativ einfach, die Daten einzulesen in ein Array.
procedure TForm1.Button1Click(Sender: TObject);
const
MaxWords=10000; {Maximale Anzahl Einträge. Muss aber dann im privat oder plublic Bereich definiert werden!}
var
tf:TextFile;
s:string;
ix:longint;
sx:array[1…MaxWords] of String; {Das Array mit den Text-Daten. Muss aber dann im privat oder plublic Bereich definiert werden!}
begin
FileMode:=0; {Nur lesezugriff!}
AssignFile(tf,‚text.txt‘);
Reset(tf);
ix:=0;
while eof(tf)=false do
begin
Readln(tf, S);
if (length(s) > 1) and (ix
Ich habe mal angenommen, dass die Datei mit dem Wörtern in der Datei ‚text.txt‘ liegen und sich diese im Programm-Ordner der Applikation befindet. Sonst einfach Dateinamen im Programmcode anpassen.