Datei ist doch Ascii Codiert
-
- Beiträge: 22
- Registriert: 08.03.2007 17:27
- Wohnort: Hamburg
Datei ist doch Ascii Codiert
Guten Morgen,
ich habe scheinbar ein fieses Brett vorm Kopp: ich habe hier eine Datei
die aus einer Warenwirtschaft generiert wird (normalerweise werden die
Zeichen an einen Drucker ausgegeben).
Das File ist laut Softwarehaus Ascii codiert. Nur leider scheint das nciht
zustimmen denn wenn ich das File mit ReadString(0,#PB_Ascii)
auslese bekomme ich statt der Umlaute andere Zeichen in der Debugconsole
Entweder ist es viel zufrüh für mich oder aber das File ist doch nicht Ascii
codiert...hat jemand eine Idee?
ich habe scheinbar ein fieses Brett vorm Kopp: ich habe hier eine Datei
die aus einer Warenwirtschaft generiert wird (normalerweise werden die
Zeichen an einen Drucker ausgegeben).
Das File ist laut Softwarehaus Ascii codiert. Nur leider scheint das nciht
zustimmen denn wenn ich das File mit ReadString(0,#PB_Ascii)
auslese bekomme ich statt der Umlaute andere Zeichen in der Debugconsole
Entweder ist es viel zufrüh für mich oder aber das File ist doch nicht Ascii
codiert...hat jemand eine Idee?
Moin moin,
lade die Datei doch mal in einen Editor deiner Wahl (im zweifelsfalle sogar den einfachen Windows-Editor) und schau nach, was da wirklich drinsteht.
Vielleicht hilft dir auch die Purebasicfunktion ReadStringFormat(#Datei)
Wenn du an eine druckaufbereitete Datei herangehen musst, um Daten abzuziehen, ist das leider ohnehin keine "stabile" Schnittstelle.
Im nächsten Release ändert das Softwarehaus vielleicht das Format des Ausdrucks und du fällst mit deiner Schnittstelle auf den Bauch.
Gibts es keine "Standard"-Datenexportschnittstellen ?
Viele Grüße
Hartmut
lade die Datei doch mal in einen Editor deiner Wahl (im zweifelsfalle sogar den einfachen Windows-Editor) und schau nach, was da wirklich drinsteht.
Vielleicht hilft dir auch die Purebasicfunktion ReadStringFormat(#Datei)
Wenn du an eine druckaufbereitete Datei herangehen musst, um Daten abzuziehen, ist das leider ohnehin keine "stabile" Schnittstelle.
Im nächsten Release ändert das Softwarehaus vielleicht das Format des Ausdrucks und du fällst mit deiner Schnittstelle auf den Bauch.
Gibts es keine "Standard"-Datenexportschnittstellen ?
Viele Grüße
Hartmut
<img src="http://img518.imageshack.us/img518/8423/49917191jl3.png" border="0">
-
- Beiträge: 22
- Registriert: 08.03.2007 17:27
- Wohnort: Hamburg
ja ich kenne das problem mit "stabiler" Schnittstelle nur zu gut 
im Moment bleibt mir leider nichts übrig als die Daten so auszulesen.
Nun das mit dem einfachem Editor "ansehen" habe ich gemacht, interessant!
Denn wenn ich zb mit dem einfachen Texteditir des TotalCommanders mir
das File ansehe und auf Ascii Codierung gehe kann ich mir die umlaute ansehen.
Sprich es muss also Ascii codiert sein....
aber nun die Frage wieso werden dann in der DebugConsole diese nicht
angezeigt? Bei einem simplen:
Ich befürchte das ich mal wieder total das Brett vorm Kopf habe

im Moment bleibt mir leider nichts übrig als die Daten so auszulesen.
Nun das mit dem einfachem Editor "ansehen" habe ich gemacht, interessant!
Denn wenn ich zb mit dem einfachen Texteditir des TotalCommanders mir
das File ansehe und auf Ascii Codierung gehe kann ich mir die umlaute ansehen.
Sprich es muss also Ascii codiert sein....
aber nun die Frage wieso werden dann in der DebugConsole diese nicht
angezeigt? Bei einem simplen:
Code: Alles auswählen
If ReadFile(0, "quittung.txt")
While Eof(0) = 0
Debug ReadString(0,#PB_Ascii)
Wend
CloseFile(0)
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf
Ich befürchte das ich mal wieder total das Brett vorm Kopf habe

Moin,
hast du den OpenFile im Beispielcode der Einfachheit halber weggelassen ?
Was für einen Wert bringt der ?
Ansonsten kann ich mit einem Dateischnipsel das gerne mal hier bei mir probieren.
Viele Grüße
Hartmut
hast du den OpenFile im Beispielcode der Einfachheit halber weggelassen ?
Was für einen Wert bringt der ?
Ansonsten kann ich mit einem Dateischnipsel das gerne mal hier bei mir probieren.
Viele Grüße
Hartmut
<img src="http://img518.imageshack.us/img518/8423/49917191jl3.png" border="0">
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
-
- Beiträge: 22
- Registriert: 08.03.2007 17:27
- Wohnort: Hamburg
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
wenn du es im notepad öffnest, und dann mal auf "speichern unter" gehst, welches format zeigt er unten an?
wenn da nicht ANSI steht, ist es eine andere codierung.
btw: das Flag #PB_Ascii benötigst du nurdann, wenn du eine ANSI-datei von einer Unicode-exe aus lesen willst.
wenn du dein prog nicht als Unicode compilierst, benutzt er automatisch ANSI.
aber der service deiner softwarefirma besteht möglicherweise nicht aus programmierern.
die sagen dir zwar "jo, das is ascii", aber meinen damit wahrscheinlich,
dass es "plain text" ist, im gegensatz zu "binary".
"plain text" kann aber eben auch in UTF-8 oder Unicode gespeichert sein.
wenn da nicht ANSI steht, ist es eine andere codierung.
btw: das Flag #PB_Ascii benötigst du nurdann, wenn du eine ANSI-datei von einer Unicode-exe aus lesen willst.
wenn du dein prog nicht als Unicode compilierst, benutzt er automatisch ANSI.
aber der service deiner softwarefirma besteht möglicherweise nicht aus programmierern.
die sagen dir zwar "jo, das is ascii", aber meinen damit wahrscheinlich,
dass es "plain text" ist, im gegensatz zu "binary".
"plain text" kann aber eben auch in UTF-8 oder Unicode gespeichert sein.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Hallo Tillmann,
danke für die Beispieldatei !
Ich denke es liegt daran, dass die Datei zum Öffnen garnicht erst gefunden wird.
Probier mal diesen Code hier - der funktioniert bei mir und zeigt brav Zeile für Zeile deiner Datei an
Viele Grüße
Hartmut
danke für die Beispieldatei !
Ich denke es liegt daran, dass die Datei zum Öffnen garnicht erst gefunden wird.
Probier mal diesen Code hier - der funktioniert bei mir und zeigt brav Zeile für Zeile deiner Datei an

Code: Alles auswählen
Pattern$="Textdatei (*.txt)|*.txt"
File$ = OpenFileRequester("Bitte Datei wählen", "*.txt", Pattern$, 0)
If File$
a = ReadFile(0, File$)
Debug a
If a
While Eof(0) = 0
Debug ReadString(0)
Wend
CloseFile(0)
Else
MessageRequester("Information "+file$,"Konnte Datei nicht öffnen!")
EndIf
EndIf
Hartmut
<img src="http://img518.imageshack.us/img518/8423/49917191jl3.png" border="0">
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Ich denke es liegt daran, dass die Datei zum Öffnen garnicht erst gefunden wird.
tschuldige mal, kann ja irgendwie nich sein, denn dann müßte ja der MsgReq aufgehen....
Tills beispielcode ist schon in ordnung....
teste du doch mal, inwieweit das bei dir funktioniert, wenn du bei ReadString das #PB_Ascii-Flag einsetzt!
tschuldige mal, kann ja irgendwie nich sein, denn dann müßte ja der MsgReq aufgehen....
Tills beispielcode ist schon in ordnung....
teste du doch mal, inwieweit das bei dir funktioniert, wenn du bei ReadString das #PB_Ascii-Flag einsetzt!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
@kaerutschuldige mal, kann ja irgendwie nich sein, denn dann müßte ja der MsgReq aufgehen....
Stimmt ... der Requester geht ja auch auf

und wenn man dann die Datei (im richtigen Pfad) auswählt, funktioniert
das zeilenweise Einlesen und die Ausgabe über das Debuggerfenster (zumindest hier bei mir).
@Till
Einfach mal den Dateinamen voll durchqualifizieren, dann sollte es auch ohne den Requester funktionieren.
Wenns das nicht sein sollte, stehe ich wahrscheinlich gerade auf dem Schlauch

Viele Grüße
Hartmut
<img src="http://img518.imageshack.us/img518/8423/49917191jl3.png" border="0">