Zitat von
egal:
Mich interessiert eigentlich auch, warum werden meine
Ascii-Datensätze in die Textdatei nicht richtig gespeichert.
Ich habe zuerst keine Umwandlung gemacht:
Delphi-Quellcode:
var cZeile:
string;
readln(txtFileAlt, cZeile);
// txtFileAlt-Ascii-Codierung
writeLn(txtFileNeu,cZeile);
Das hat nicht geholfen, beim Einlesen habe
Ascii nach
Ansi umgewandelt, aber statt Umlauten war Müll.
Dann habe ich zuerst nach
Ansi konvertiert und beim Schreiben wieder nach
Ascii:
Delphi-Quellcode:
var cZeile:
string;
readln(txtFileAlt, cZeile);
// txtFileAlt-Ascii-Codierung
cZeile := Ascii2Ansi(cZeile);
// Ascii -> Ansi
cZeile := Ansi2Ascii(cZeile);
// Ansi -> Ascii
writeLn(txtFileNeu,cZeile);
Hat auch nichts gebracht.
Und jetzt die Frage, was mache ich falsch: Readln/Writeln oder vielleicht String-Variable schuld?
Ähem, irgendwie kapiere ich noch immer nicht, wo es hängt. Warum kannst du nicht verstehen, daß in deiner Datei auch für jedes Zeichen 8bit benutzt werden und damit jedes Zeichen einen Wert von 0..255 hat?! ... und daß die Darstellung dieser jeweils 256 unterschiedlichen Entitäten allein dem lesenden Programm obliegt (bzw. beim Lesen und Speichern die "Abbildung" von Code zu darzustellendem Zeichen und umgekehrt).
Nur weil █ (
Unicode-Zeichen $2588,
EASCII-Zeichen $
DB bei westeuropäischer DOS-Kodierung) unter DOS als "voller Block" erscheint, heißt das nicht, daß es unter einer anderen Kodierung (
ANSI-westlich $
DB == Û) genauso sein muß. Nochmal: nimm Unicodezeichen, wenn du das Erscheinungsbild der Zeichen eineindeutig festlegen willst.
Nebenbei gibt es dir "Bearbeiten"-Funktion für Beiträge, man muß also nicht jedes Mal einen neuen Beitrag verfassen (insbesondere so zeitnah).