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?