VB.NET Textdatei mit ANSI formatierung erstellen
Falls man es nicht weiss also ich wusste es nicht aber VB.NET schreibt die Textfiles Standard mäßig mit UTF-8.
Also zumindest die Funktionen WriteAllText und StreamWriter.
Was zu einem großen Verhängnis werden kann.
Wir arbeiten in unserer Firma mit dem SUPER TOLLEN Futura. Bei diesem SUPER TOLLEN Programm kann man automatisch Wareneingänge einlesen.
Das Problem nur, wenn die Textfiles zum einlesen eine UTF-8 Formatierung haben, kann Futura sie nicht einlesen.
Als nächstes kommt hinzu das Futura deswegen keine Fehler auswirft, sondern einfach sagt Textdatei ohne Probleme eingelesen und die Datei enthielt keine Daten.
Wie ich es liebe!!!
Ich habe mit den tollen Tools wie PFEdit (In dem Programm sieht man den BOM einer Datei) und PSPad (Mit dem Programm kann man die Formatierung umstellen) dann herausgefunden woran es liegt.
Und jetzt kommt nur noch das Problem VB.NET zusagen das er die Textdatei doch bitte in ANSI schreiben soll.
Aber ich habe es hinbekommen :)
Lösung:
1 2 3 4 5 6 7 | Dim enc As Text.Encoding = System.Text.Encoding.GetEncoding(1252) '1252 = ANSI 'Schreiben Dat-Datei Dim sw As New StreamWriter("textdatei.txt", True, enc) sw.Write("Das ist ein Test Text!!") sw.Close() |
Google Tags:
vb.net ansi file
text in ansi vb .net
vb.net dateien ansi
.net ansi
ansi text erstellen
Tags: ANSI, Futura, StreamWriter, Textdatei, UTF-8, VB.Net, Wareneingang, WriteAllText
06. Januar 2010 um 00:02
Das Problem mit “Super-Programmen” kenn ich!
Für VBS muss man für die Ausgabe von Textdateien im ANSI-Format wie folgt vorgehen:
Dim oFS, oFile
Set oFS = CreateObject(“Scripting.FileSystemObject”)
‘ Der zweite Parameter legt fest, dass es in ANSI gespeichert wird (False = ANSI / True = ASCII)
Set oFile = oFS.CreateTextFile(dateiName, False)
Wichtig ist dass bei .CreateTextFile() der zweite Parameter auf False steht. Einen Haken hat die Sache jedoch.. Man kann damit nicht mehr bereits existente Dateien überschreiben und muss diese zuerst vorher noch löschen.
Grüße
Tobias