Probleme Dateiformat

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro 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 [Win11Pro; PB6.20 LTS]. :allright:
Benutzeravatar
Bisonte
Beiträge: 2468
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.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro 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 [Win11Pro; PB6.20 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