Probleme Dateiformat

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: Intel Core i3-4170 CPU 3,70 GHz
8,00 GB Arbeitsspeicher
WIN 10 Pro 64 Bit Betriebssystem
Wohnort: Bremen

Probleme Dateiformat

Beitrag von Pelagio »

Hallo Progger,

seid der Umstellung von ASCII auf Unicode oder UTF8 habe ich Probleme mit dem auslesen von normalen ASCII-Dateien ich weiß nicht was ich falsch mache, irgendwie begreife ich die Logik des ganzen nicht. Ich habe folgenden, einfachen Code:

Code: Alles auswählen

vFile.s = "TableData.dat"

Define.i pID, pSize
Define.s pValue

pID = ReadFile(#PB_Any, vFile, #PB_Ascii)
If PID
	pSize = Lof(pID)
	*pDBData = AllocateMemory(pSize)
	ReadData(pID, *pDBData, pSize)
	CloseFile(pID)
EndIf
pValue = PeekS(*pDBData, #PB_Ascii)
FreeMemory(*pDBData)
Debug pValue
End
und bekomme am ende nur chinesische Zeichen zu sehen.
In der zu lesenden Datei sind nur Zahlen:
  • 2338835;627917;00000;A;0;5;90;-22;68;40;;01.04
    2338839;627948;00000;A;0.5;90;-22;68;40;F;01.04
    2338845;627929;00000;A;1;90;-22;68;40;;01.04
    2338849;627940;00000;A;1;90;-22;68;40;;01.04
    2338853;627954;00000;A;1;5;90;-22;68;40;;01.04
    2338857;627968;00000;A;10;5;90;-22;68;40;;01.04
    2338861;627897;00000;A;10;5;90;-22;68;40;;01.04
    2338865;627883;00000;A;;90;-22;68;40;;01.04
    2338874;627902;00000;A;;90;-22;68;40;F;01.04
    2338878;627867;00000;A;;90;-22;68;40;F;01.04
    2338882;627912;00000;A;;90;-22;68;40;;01.04
    2338888;627966;00000;A;;90;-22;68;40;;01.04
    2338892;627931;00000;A;;90;-22;68;40;;01.04
:praise:
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS]. :allright:
Benutzeravatar
Bisonte
Beiträge: 2430
Registriert: 01.04.2007 20:18

Re: Probleme Dateiformat

Beitrag von Bisonte »

Eigentlich der Dauerbrenner unter den Fehlern mit PeekS()

Du hast die Länge vergessen und gleich #PB_Ascii eingetragen !

Es muss heissen : PeekS(*pDBData, -1, #PB_Ascii)

und alles wird gut :mrgreen:
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: Intel Core i3-4170 CPU 3,70 GHz
8,00 GB Arbeitsspeicher
WIN 10 Pro 64 Bit Betriebssystem
Wohnort: Bremen

Re: Probleme Dateiformat

Beitrag von Pelagio »

@Bisonte,

ich Danke Dir, es ist so wie Du geschrieben hast.
Ich habe mir im nachhinein noch einmal die Hilfe angeschaut und ich konnte, obwohl die -1 in der Hilfe steht, dies nicht entsprechend deiner Aussage interpretieren, denn dort steht
Wenn dieser Parameter nicht angegeben wird oder -1 verwendet wird
Aber Gut jetzt weiß ich es und werde es auch, hoffentlich, behalten. Danke noch mal :praise:
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS]. :allright:
Benutzeravatar
NicknameFJ
Beiträge: 324
Registriert: 03.06.2007 14:36
Wohnort: Von der Sonne aus gesehen der dritte Planet

Re: Probleme Dateiformat

Beitrag von NicknameFJ »

Pelagio hat geschrieben:@Bisonte,

ich Danke Dir, es ist so wie Du geschrieben hast.
Ich habe mir im nachhinein noch einmal die Hilfe angeschaut und ich konnte, obwohl die -1 in der Hilfe steht, dies nicht entsprechend deiner Aussage interpretieren, denn dort steht
Wenn dieser Parameter nicht angegeben wird oder -1 verwendet wird
Aber Gut jetzt weiß ich es und werde es auch, hoffentlich, behalten. Danke noch mal :praise:
Die Aussage in der Hilfe
Wenn dieser Parameter nicht angegeben wird oder -1 verwendet wird
bedeutet, da sowohl der Längen- als auch der StringFormat Parameter weggelassen werden können, aber doch das die Parameter nur von rechts nach links weggelassen werden können, d.h. wenn der Längenparameter fehlt darf auch der Stringformatparameter nicht angegeben werden.

Woher soll der Compiler sonst wissen welcher der beiden fehlt. Named-Parameter gibt es so in PB ja nicht.

Grüße

NicknameFJ
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller

Bild
Antworten