Einzelnen Beitrag anzeigen

mabstudent

Registriert seit: 13. Nov 2010
23 Beiträge
 
#1

Textdatei in Record Muster überführen

  Alt 12. Jan 2013, 12:53
Delphi-Version: 5
Hallo zusammen, ich habe folgendes Problem:

Vorweg, worum gehts: Programm soll auf Knopfdruck einen per Zufall ermittelten Spruch aussuchen und in ein Memofeld schreiben. Die Sprüche sind in einer Textdatei, aufgebaut aus (spruch;autor<nächste Zeile>spruch;autor<nächste Zeile> usw.). Das Programm soll den Spruch aus der Recorddatei holen, die zuvor erzeugt wird und in das Memofeld schreiben. Erstmal der Ansatz:

Delphi-Quellcode:
type Tsprueche=record
spruch:string[200];
autor:string[50];
end;

procedure speichern(hilfe:string);
var s:Tsprueche; s1:string; posi:integer;
    f:textfile; //hier stehen ca. 20 Sprüche, Weisheiten, etc. drin
    datei:file of Tsprueche; //record vom Textfile
begin
assignfile(f,'C:\...'+'spruch.txt');
reset(f);
AssignFile(datei,'C:\...'+'sprueche.dat');
  IF fileexists('C:\...'+'sprueche.dat') THEN
  Reset(datei) ELSE Rewrite(datei);
posi:=0;
while not eof(f) do
  begin
  readln(f,hilfe);
  posi:=pos(';',hilfe);
  s1:=copy(hilfe,1,posi-1);
  case posi of
  0: s.spruch:=s1;
  1: s.autor:=s1;
  end;
  write(datei,s);
  end;
closefile(f);
closefile(datei);
Anschließend soll unter Button1Click folgendes passieren:

1. per Zufall einen der Sprüche ermitteln, die ja jetzt im record Muster vorhanden sind, also über seek(datei, nr des zufallsspruchs) angesprochen werden können

2. Spruch ins Memo schreiben (<spruch> +'von'+ <autor>)

Hier bekomme ich enorm Probleme mit den Typen der einzelnen Variablen und der Übernahme aus der anderen Prozedur. Kann mir an der Stelle jemand helfen?
  Mit Zitat antworten Zitat