Einzelnen Beitrag anzeigen

hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#2

Re: Bestimmte Stellen aus String List lesen

  Alt 31. Jan 2004, 22:26
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
  Mit Zitat antworten Zitat