[gelöst] Kurioses Verhalten bei der Erstellung eine TXT
- Beach
- Lazarusforum e. V.
- Beiträge: 60
- Registriert: Di 2. Nov 2021, 22:41
- OS, Lazarus, FPC: Lazarus 3.0RC1 (rev lazarus_3_0_RC1-10-gfe49fef4fc) FPC 3.2.2 x86_64-win64-win32
- CPU-Target: 64Bit
- Wohnort: Hunsrück
[gelöst] Kurioses Verhalten bei der Erstellung eine TXT
Hallo zusammen,
ich habe die Tage ein kurioses Verhalten festgestellt.
Ich erzeuge eine Datei im TXT Format welche dann von einem anderen Programm ausgewertet wird. Dabei werden vorhandene Daten umgerechnet.
Es gibt dafür ein uraltes DOS Programm, welches ich mit meinem ersetzen wollte. Im März 2020 als ich das geschrieben habe, hat das auch alles tadellos funktioniert.
Die Tage habe ich seit langem das Programm mal wieder benutzt und musste feststellen das in der erstellten Datei scheinbar etwas nicht mehr korrekt ist. Beim Auswerten bekomme ich eine Meldung "Fehler in Zeile xx" sonst nix. Ausgewertet wird nichts.
Zur Fehlersuche habe ich zuerstmal meine DOS Box herausgekramt und habe die gleichen Daten mit dem alten DOS Programm konvertiert. Die hiermit erzeugte Datei lässt sich problemlos öffnen. Auch eine Datei, welche ich damals mit meinem Programm erstellt hatte, lässt sich heute noch problemlos öffnen.
Also habe ich die beiden Dateien (gleiche Ausgangsdaten, einmal mit DOS Programm konvertiert, einmal mit meinem) im TC nach Inhalt vergleichen lassen. Bis auf ein paar Formatierungen (Leerzeichen) und einige Werte die ich weggelassen habe (werden nicht benötigt), ist kein Unterschied auffällig.
Jemand eine Idee was an einer einfachen Text Datei noch unterschiedlich sein kann? Wurde da mal bei Windows etwas geändert im Zusdammenhang mit TXT Dateien?
Alle benutzten Programme sind noch die gleichen wie vor 2 Jahren. Keine Updates während dieser Zeit o.ä.
Mein System ist Win10 Pro 64Bit und wird regelmäßig upgedated.
Aktuell nutze ich Lazarus 2.0.12 r64642
Mit welcher Version ich dasProgramm damals erstellt hatte wei0 ich nicht mehr
Ich habe die Dateien mal auf meine Cloud geladen. Jeweils einmal mit der Endung TXT und (original) mit der Endung STX
111alt ist die in der DOS Box erstellte Version die funktioniert und die 111neu4 ist die mit meinem Programm erstellte, diese gibt den Fehler "Fehler in Zeile 52"
https://next.eine-cloud.de/index.php/s/CdFwMgyZjM26tt2
Vielleicht hat ja jemand einen Idee wo der Fehler liegen könnte.
ich habe die Tage ein kurioses Verhalten festgestellt.
Ich erzeuge eine Datei im TXT Format welche dann von einem anderen Programm ausgewertet wird. Dabei werden vorhandene Daten umgerechnet.
Es gibt dafür ein uraltes DOS Programm, welches ich mit meinem ersetzen wollte. Im März 2020 als ich das geschrieben habe, hat das auch alles tadellos funktioniert.
Die Tage habe ich seit langem das Programm mal wieder benutzt und musste feststellen das in der erstellten Datei scheinbar etwas nicht mehr korrekt ist. Beim Auswerten bekomme ich eine Meldung "Fehler in Zeile xx" sonst nix. Ausgewertet wird nichts.
Zur Fehlersuche habe ich zuerstmal meine DOS Box herausgekramt und habe die gleichen Daten mit dem alten DOS Programm konvertiert. Die hiermit erzeugte Datei lässt sich problemlos öffnen. Auch eine Datei, welche ich damals mit meinem Programm erstellt hatte, lässt sich heute noch problemlos öffnen.
Also habe ich die beiden Dateien (gleiche Ausgangsdaten, einmal mit DOS Programm konvertiert, einmal mit meinem) im TC nach Inhalt vergleichen lassen. Bis auf ein paar Formatierungen (Leerzeichen) und einige Werte die ich weggelassen habe (werden nicht benötigt), ist kein Unterschied auffällig.
Jemand eine Idee was an einer einfachen Text Datei noch unterschiedlich sein kann? Wurde da mal bei Windows etwas geändert im Zusdammenhang mit TXT Dateien?
Alle benutzten Programme sind noch die gleichen wie vor 2 Jahren. Keine Updates während dieser Zeit o.ä.
Mein System ist Win10 Pro 64Bit und wird regelmäßig upgedated.
Aktuell nutze ich Lazarus 2.0.12 r64642
Mit welcher Version ich dasProgramm damals erstellt hatte wei0 ich nicht mehr
Ich habe die Dateien mal auf meine Cloud geladen. Jeweils einmal mit der Endung TXT und (original) mit der Endung STX
111alt ist die in der DOS Box erstellte Version die funktioniert und die 111neu4 ist die mit meinem Programm erstellte, diese gibt den Fehler "Fehler in Zeile 52"
https://next.eine-cloud.de/index.php/s/CdFwMgyZjM26tt2
Vielleicht hat ja jemand einen Idee wo der Fehler liegen könnte.
Zuletzt geändert von Beach am Do 20. Jan 2022, 14:36, insgesamt 1-mal geändert.
MfG
Beach
Shit happens... Always in my shift
Beach
Shit happens... Always in my shift
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Kurioses Verhalten bei der Erstellung eine TXT
Hi!
In Zeile 52 der STX-Textdatei ist kein Fehler.
Oder bezieht sich die Fehlermeldung auf Deinen Source.
Was steht denn da in Zeile 52???
Tipp: Vor readln IOcheck aus und mal das IOresult ausgeben lassen.
Vielleicht bringt das einen weiter.
Winni
In Zeile 52 der STX-Textdatei ist kein Fehler.
Oder bezieht sich die Fehlermeldung auf Deinen Source.
Was steht denn da in Zeile 52???
Tipp: Vor readln IOcheck aus und mal das IOresult ausgeben lassen.
Vielleicht bringt das einen weiter.
Winni
- Beach
- Lazarusforum e. V.
- Beiträge: 60
- Registriert: Di 2. Nov 2021, 22:41
- OS, Lazarus, FPC: Lazarus 3.0RC1 (rev lazarus_3_0_RC1-10-gfe49fef4fc) FPC 3.2.2 x86_64-win64-win32
- CPU-Target: 64Bit
- Wohnort: Hunsrück
Re: Kurioses Verhalten bei der Erstellung eine TXT
Nein, es bezieht sich auf die STX Datei. Nicht auf die Source
Kurioserweise hatte ich das mit anderen Daten auch schon an anderer Stelle/Zeile.

Kurioserweise hatte ich das mit anderen Daten auch schon an anderer Stelle/Zeile.
Ähmmm. Bahnhof?Vor readln IOcheck aus und mal das IOresult ausgeben lassen.



MfG
Beach
Shit happens... Always in my shift
Beach
Shit happens... Always in my shift
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Kurioses Verhalten bei der Erstellung eine TXT
Hi!
Irgenwo hast Du so etwas stehen wie
Ersetze das durch
Wenn das IOresult Null ist ist alles OK.
Wenn es ungleich Null ist, guckst Du in dieser Tabelle nach:
https://www.freepascal.org/docs-html/r ... esult.html
Winni
Irgenwo hast Du so etwas stehen wie
Code: Alles auswählen
readln (txt,s);
Code: Alles auswählen
var io: Integer;
...
{$I-}
readln(txt,s);
io := IOresult;
writeln (s);
Writeln ('hat IOresult ',io);
{$I+}
Wenn es ungleich Null ist, guckst Du in dieser Tabelle nach:
https://www.freepascal.org/docs-html/r ... esult.html
Winni
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Kurioses Verhalten bei der Erstellung eine TXT
Ich habe mir deine 111ALT.STX und 111ALT.txt als auch die 'neu' angesehen und verglichen. Diff findet absolut keine Unterschiede. Das bedeutet 111ALT.STX und 111ALT.txt sind identisch.
Zwischen 111ALT.STX und 111neu4.STX gibt es Unterschiede:
*) Es sind die Leerzeichen unterschiedlich angeordnet und auch teilweise mehr Leerzeichen eingearbeitet
*) Bei DEVIATIONS sind die Werte nicht mehr mit 3 Kommastellen konstant ausgewiesen
Run 2 bricht bei 51 ab und zählt nicht mehr hinunter - in der alten Version zählte der bei Werten von 0.000 wieder bis 1 hinab.
Die Anzahl an Zeilen bleibt aber gleich.
Wenn ich mir das so ansehe, würde ich Windows freisprechen
Zwischen 111ALT.STX und 111neu4.STX gibt es Unterschiede:
*) Es sind die Leerzeichen unterschiedlich angeordnet und auch teilweise mehr Leerzeichen eingearbeitet
*) Bei DEVIATIONS sind die Werte nicht mehr mit 3 Kommastellen konstant ausgewiesen
Run 2 bricht bei 51 ab und zählt nicht mehr hinunter - in der alten Version zählte der bei Werten von 0.000 wieder bis 1 hinab.
Die Anzahl an Zeilen bleibt aber gleich.
Wenn ich mir das so ansehe, würde ich Windows freisprechen

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- Beach
- Lazarusforum e. V.
- Beiträge: 60
- Registriert: Di 2. Nov 2021, 22:41
- OS, Lazarus, FPC: Lazarus 3.0RC1 (rev lazarus_3_0_RC1-10-gfe49fef4fc) FPC 3.2.2 x86_64-win64-win32
- CPU-Target: 64Bit
- Wohnort: Hunsrück
Re: Kurioses Verhalten bei der Erstellung eine TXT
Ok,
Also ich lese die Daten mit
in eine Stringlist ein. Und nach dem Umrechnen mit
aus der Stringlist wieder in die Datei.
Das alles ohne irgendwelche Probleme oder Fehler. Werde trotzdem an diesen Stellen das mit dem IOResult noch ergänzen.
Der Fehler wird erst von dem fremden Programm gemeldet.
Das Kuriose: Als ich das Prgramm im März 2020 erstellt habe, funktionierte alles wie gewollt. Trotz der unterschiede bei den Leerzeichen, den fehlenden Nachkommastellen und dem fehlenden 2. Lauf (der in diesem Fall irrelevant ist und nicht ausgewertet wird)
Falls es die Sache klarer macht:
Ich messe mit einem Laserinterferrometer die Rotationen einer Linearachse als Winkel. Gespeichert werden diese Werte (wenn ich es richtig im Kopf habe) als µm/m in einer Datei. Diese Daten kann ich mir mit der dazugehörigen Software auswerten lassen. Bestandteil der Software ist u.a. ein DOS Programm mit der man diese Winkel in eine Translatorische Abweichung (also die Länge der Gegenkathede) umrechnen kann. Aus der Verkettung dieser Translationen ergibt sich die Geradheit der gemessenen Achse.
Da das DOS Programm nur mittels DOSBOX ans laufen gebracht werden kann und die Bedienung auch jeden Komfort vermissen lässt, wollte ich dieses durch ein Programm mit GUI ersetzen
- Einlesen der Winkelwerte
- Umrechnen der Werte
- Abspeichern in eine Datei
- Aufruf mit der Auswertesoftware des Laserinterferrometer zur Auswertung
Die ersten 3 Punkte funktionieren problemlos. Der 4. Punkt seit kurzem nicht mehr.
Sorry, ich tue mir leider etwas schwer mit solchen Erklärungen.
Also ich lese die Daten mit
Code: Alles auswählen
StrListValuesRTA.LoadFromFile(UTF8ToANSI(OpenDialog1.FileName));
Code: Alles auswählen
strListCalc.SaveToFile(SaveDialog1.FileName);
Das alles ohne irgendwelche Probleme oder Fehler. Werde trotzdem an diesen Stellen das mit dem IOResult noch ergänzen.
Der Fehler wird erst von dem fremden Programm gemeldet.
Das Kuriose: Als ich das Prgramm im März 2020 erstellt habe, funktionierte alles wie gewollt. Trotz der unterschiede bei den Leerzeichen, den fehlenden Nachkommastellen und dem fehlenden 2. Lauf (der in diesem Fall irrelevant ist und nicht ausgewertet wird)
Falls es die Sache klarer macht:
Ich messe mit einem Laserinterferrometer die Rotationen einer Linearachse als Winkel. Gespeichert werden diese Werte (wenn ich es richtig im Kopf habe) als µm/m in einer Datei. Diese Daten kann ich mir mit der dazugehörigen Software auswerten lassen. Bestandteil der Software ist u.a. ein DOS Programm mit der man diese Winkel in eine Translatorische Abweichung (also die Länge der Gegenkathede) umrechnen kann. Aus der Verkettung dieser Translationen ergibt sich die Geradheit der gemessenen Achse.
Da das DOS Programm nur mittels DOSBOX ans laufen gebracht werden kann und die Bedienung auch jeden Komfort vermissen lässt, wollte ich dieses durch ein Programm mit GUI ersetzen
- Einlesen der Winkelwerte
- Umrechnen der Werte
- Abspeichern in eine Datei
- Aufruf mit der Auswertesoftware des Laserinterferrometer zur Auswertung
Die ersten 3 Punkte funktionieren problemlos. Der 4. Punkt seit kurzem nicht mehr.
Sorry, ich tue mir leider etwas schwer mit solchen Erklärungen.
MfG
Beach
Shit happens... Always in my shift
Beach
Shit happens... Always in my shift
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Kurioses Verhalten bei der Erstellung eine TXT
Füge einmal die fehlenden Zeilen von run 2 in die neue Datei ein und mache einen Lauf. Wenn das nicht geht, kopier den ganzen Deviationsteil von der alten Datei in die neue und mach einen Run.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- Beach
- Lazarusforum e. V.
- Beiträge: 60
- Registriert: Di 2. Nov 2021, 22:41
- OS, Lazarus, FPC: Lazarus 3.0RC1 (rev lazarus_3_0_RC1-10-gfe49fef4fc) FPC 3.2.2 x86_64-win64-win32
- CPU-Target: 64Bit
- Wohnort: Hunsrück
Re: Kurioses Verhalten bei der Erstellung eine TXT
Danke @af0815
Mit den eingefügten Daten des 2 Runs funktioniert es.
Habe wohl irgendwo verbockt das der Run-count statt auf 1 auf 2 gesetzt wird. Hab das einfach nicht gesehen.
Ich habe den Run-count auf 1 gesetzt und dann geht es wie gehabt.....
Edit:
Achso. Das IO Result brachte hier keine Fehler und lieferte immer 0 zurück.
Nur der Vollständigkeit halber.
Mit den eingefügten Daten des 2 Runs funktioniert es.
Habe wohl irgendwo verbockt das der Run-count statt auf 1 auf 2 gesetzt wird. Hab das einfach nicht gesehen.
Ich habe den Run-count auf 1 gesetzt und dann geht es wie gehabt.....
Edit:
Achso. Das IO Result brachte hier keine Fehler und lieferte immer 0 zurück.
Nur der Vollständigkeit halber.
MfG
Beach
Shit happens... Always in my shift
Beach
Shit happens... Always in my shift
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Kurioses Verhalten bei der Erstellung eine TXT
Ich kenne das - oft ist das problem zwischen Monitor und Sessellehne - wenn man selbst den Fehler sucht findet man das garantiert nicht, aufgrund Betriebsblindheit. Wenn ein anderer was sagt, dann wird es plötzlich - eh klar.
Ist für mich nichts neues
mach dir nichts draus.
Ist für mich nichts neues

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).