Ich habe vor kurzem angefangen, ein Programm mit Lazarus zu schreiben. Dabei ist mir ein sehr seltsamer Fehler untergekommen, den ich mir absolut nicht erklären kann.
Ich habe als Datenmaterial eine Textdatei mit folgendem Aufbau:
Code: Alles auswählen
1|09.07.07|17:15|Kleiner Kanal -> RS Titanic |GCWHBG|team B-A-M-M|Traditional|Micro|1|1
2|09.07.07|18:15|Kleiner Kanal -> kleines Wehr|GCV49Y|team B-A-M-M|Traditional|Micro|1,5|2
3|10.07.07|14:50|Schiffsheber|GCD177|Sanne&Kiki|Traditional|Micro|2|1
4|10.07.07|18:15|Kleiner Kanal -> lost Bridge|GCWHB0|team B-A-M-M|Traditional|Micro|1|1,5
[...]
203|03.04.09|15:55|Denkstein|GCRXCP|Mystphi|Traditional|Micro|2|1
[...]
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,summe:integer;
datei:textfile;
zeile,wort:string;
ersterdatensatz,added: boolean;
ganzertext: TStrings;
dasdatum:TDate;
begin
// Daten aus Textdatei in den array "Daten" einlesen, dabei Owners, Groessen, und Typen zählen
ganzertext := TStringlist.Create;
ganzertext.Clear;
ganzertext.LoadFromFile('C:\Daten\Geocaching\founds.txt');
ganzertext.SaveToFile('C:\Daten\Geocaching\founds2.txt'); // In der gespeicherten Datei ist der Text völlig korrekt!
for i := 0 to ganzertext.Count-1 do
begin
zeile := AnsiToUTF8(ganzertext[i]);
setlength(Daten,length(Daten)+1);
label1.caption := 'Datensatz Nr. '+inttostr(high(Daten));
form1.Repaint;
showmessage(zeile); //In dieser Message wird der Fehler sichtbar!!!!!!!!!!!
// Jetzt kommen einige Operationen, welche die Informationen aus der Zeile in die Arrays schreiben. Diese können aber nicht Auslöser für den Fehler sein, da die showmessage bereits einen falschen Text angezeigt hat.
[...]
end;
[...]
end;
Code: Alles auswählen
1|09.07.07|17:15|Kleiner Kanal -> RS Titanic |GCWHBG|team B-A-M-M|Traditional|Micro|1|1
Falls ich die Zeile aus der Textdatei lösche, so passiert der Fehler mit irgendeiner anderen Zeile.
Ich habe schon Stunden mit diesem Problem verbracht und weiß einfach nicht mehr weiter. Fällt Euch dazu vielleicht etwas ein?
Vielen Dank schonmal im Vorraus!