Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
13. Jan 2013
Relative Pfade sind schlecht. Außerdem: was willst Du denn aus einer Datei lesen, die Du gerade erst mit Rewrite angelegt hast? Wo wird txttodb aufgerufen, und wieso hat die einen Parameter, der intern als Variable benutzt wird, statt ihn gleich als Variable zu deklarieren?
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
12. Jan 2013
Da steht Schleife, d.h. Du befindest Dich an der Stelle innerhalb einer solchen. Hier wurde die aktuell ausgelesene Zeile aus der Textdatei in den übergebenen Record geschrieben, es muss also heißen
write(Ausgabe, Spruch);
wobei Ausgabe die Dateivariable der typisierten Datei und Spruch die Variable vom Typ des Records ist.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
12. Jan 2013
Und hier noch ein Grobkonzept zur Konvertierung:
type
Tsprueche=record
spruch:string;
autor:string;
end;
procedure StringToSpruch(const Line: string; var Spruch: TSprueche);
const
DELIM = ';';
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
12. Jan 2013
Dann teil doch das Gesamtproblem einmal in Teilprobleme auf und schreib die schön einzeln als Funktionen bzw. Prozeduren. Eine ordentliche Einrückung hilft beim Code-Verständnis übrigens ungemein, Du solltest darauf achten.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
12. Jan 2013
Ist das mit der typisierten Datei und dem Record eine Vorgabe, oder darfst Du das auch anders lösen? IMO ginge das z.B. mit einer T(Mem)IniFile bedeutend einfacher. Ansonsten sieht mir die case-Abfrage etwas sonderbar aus, was ist denn, wenn ";" gar nicht im String vorkommt? Möglicherweise habe ich den Code aber auch nur zu schnell überflogen und daher die Logik nicht begriffen.