String splitten und als Array speichern

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.

Nur, wie geht das?

Gruß
GURKE

Delphi 5-Nutzer

Hi,

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…

Grüße

Hi Gurke

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.

Gruss
Sam99

Danke für eure Antworten!
Komme leider erst am Donnerstag dazu das auszuprobieren.