Wenn ich eine Datei Binär öffne und Zeichen schreibe werden immer irgend welche sinlese Leerrzeichen geschrieben, d.h. z.B. am ende Sthrn noch 13 Leerzeicehn.
Kann man was dagenen machen?
Wenn ich eine Datei Binär öffne und Zeichen schreibe werden immer irgend welche sinlese Leerrzeichen geschrieben, d.h. z.B. am ende Sthrn noch 13 Leerzeicehn.
Kann man was dagenen machen?
Poste mal deinen gesamten Quellcode, d.h. wie du rein schreibst, wie die Daten vorliegen usw.
Grüße
Ralph
Auch in nem simplen beispil ist das so:
Open „C:\test.txt“ For Binray As 1
Put #1, ,97
Put #1, ,97
Put #1, ,97
Close
So normal sollte „aaa“ in „c:\test.txt“ sein, aber was ist? : "a a a "
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi!
Auch in nem simplen beispil ist das so:
Open „C:\test.txt“ For Binray As 1
Put #1, ,97
Put #1, ,97
Put #1, ,97
CloseSo normal sollte „aaa“ in „c:\test.txt“ sein, aber was ist? :
"a a a "
Sorry, aber so was kommt eben raus, wenn man die Grundlagen der Programmierung nicht kennt.
Der Befehl Put #1, ,97 schreibt nicht das Zeichen „a“ in die Datei, sondern den Ascii-Wert, der einem „a“ entspricht. Ascii-Werte sind vom Datentyp her Integer, und dieser Datentyp belegt im Arbeitsspeicher 2 Bytes. Folglich werden bei der Befehlsausführung 2 Bytes reserviert und geschrieben. Die Folge: in der Datei steht das Zeichen, das dem Ascii-Wert 97 entspricht - also a -, gefolgt von einer Leerstelle.
Versuch mal Put #1, ,„a“ und du wirst feststellen, dass du jetzt wirklich nur das Zeichen a in die Datei schreibst.
Gleiches erreichst du, wenn du Put #1, ,CHR$(97) als Befehl ausführst. Es ist eben ein Unterschied, ob du den Ascii-Wert zum Schreiben übergibst oder das Zeichen selbst.
Grüße
Heinrich