wenn du dich an die Formatierung hältst kannst du das so machen
Delphi-Quellcode:
type TEintrag = record // der typ besteht aus 2 strings
englisch,
deutsch: string[255];
end;
var
F: Textfile;
a: string[255];
liste: Array of TEintrag;
procedure readinifile(dateiname: string);
begin
assignfile(F, dateiname); // Datei zuweisen
reset(F); // und mit Lesezugriff öffnen
while not EOF(F) do // solange die Leseposition nicht am Ende der Datei angekommen ist lesen
begin
readln(F,a); // leerzeile lesen
setlength(liste, length(liste) +1 ); // neues Element an die Liste anfügen
readln(F,a); // wieder eine Zeile lesen, den deutschen Teil
liste[high(liste)].deutsch := a;// und das Wort in die Array "liste" rein
readln(F,a); // wieder eine Zeile lesen, den englischen Teil
liste[high(liste)].englisch := a;// und diesen entsprechend in die andere Variable des Records aus dem letzten Element speichern
end;
closefile(F); // zum Schluss die Datei schliessen
// jetzt befinden sich in der Array soviele Datensätze wie Wortpaare, jeweils deutsch und englisch
end;
function getrandomitem: TEintrag;
begin
if length(liste) <>0 then // wenn die Liste nicht leer ist
Result := liste[round(high(liste)* random)]; // irgendeinen Datensatz auswählen
end;
// Beispiel
procedure TForm1.FormCreate(Sender: TObject);
begin
readinifile('datei.ini'); // initialisieren
end;
procedure TForm11.Button1Click(Sender: TObject);
var
puffer: TEintrag;
begin
puffer :=getrandomitem; // und so kommt man dann an die Datensätze ran
Label1.Caption := puffer.deutsch;
label2.Caption := puffer.englisch;
end;
Edit: Kommentare
Edit: dateiname durch variable ersetzt