File - ReadData()-Problem (Ver3.30)

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

File - ReadData()-Problem (Ver3.30)

Beitrag von man-in-black »

moin,

würde gerne wissen, ob es ein Fehler von PB 3.3 ist oder der meine. :oops:
Hab versuch eine Doc/Exe/JPG... - Datei auszulesen mit dem Befehl >readdata(...)<. Nun bekomme ich aber nur die ersten paar Zeichen der Dateien. Wobei ich bei einfachen TXT - Dateien den gesamten Inhalt erhalte.

Bräuchte dringend Hilfe :cry:


MFG,
MIB

titel angepasst - Kaeru fecit
(hab alles, kann alles, weiß alles!!^^)

Bild
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Beitrag von HemSA »

Hallo Mann in Schwarz,
wenn du mal den Code zeigen könntest wäre das bestimmt besser.

Du hast bestimmt ja auch schon in der Hilfe nachgeschaut.

Ich habe keine Version 3.3, aber in der Version 3.94 und 4 erhält man mit ReadData(......... ) die Anzahl der tatsächlich eingelesenen Zeichen.
Syntax

Länge = ReadData(*MemoryBuffer, LengthToRead)
Beschreibung

Liest den Inhalt der aktuellen Datei mit der angegebenen Länge 'LengthToRead' (Anzahl zu einzulesender Zeichen) in den angegebenen Speicherbereich '*MemoryBuffer'.

'Länge' enthält nach der Ausführung des Befehls die Anzahl der tatsächlich eingelesenen Zeichen. Dies ist nützlich für Überprüfungszwecke.
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Für die ganze Datei direkt hinter Readfile oder Openfile Lof() benutzen

Code: Alles auswählen

  length = Lof()                
          
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Beitrag von man-in-black »

mein Code:

Code: Alles auswählen

...
If OpenFile(0,OpenFileRequester("...","","*.*",0))
  AllocateMemory(1,Lof())
  ReadData(UseMemory(1),Lof())

  Debug(PeekS(UseMemory(1)))  ; Zum Überprüfen

EndIf
...
MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Mit PeekS können nur Strings gelesen werden. Beim ersten Nullbyte ist schluß.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Beitrag von man-in-black »

Und wie kann man das ändern, Ich meine vollständig auslesen?

:?
MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Es steht doch komplett im Speicher. Als Text anzeigen kannste es nicht. Sag
lieber mal was Du vorhast.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Beitrag von man-in-black »

"Verschlüsseln", heißt das Zauberwort.
Ich habe schon alles zusammen gefriemelt, um einen String zu verschlüsseln. Desshalb habe ich auch mit Peeks(...) gearbeitet.
:lol:
MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Mußt den Speicher verschlüsseln. Im CodeArchiv findeste z.B. RC4Mem dafür.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Beitrag von man-in-black »

Danke, werd mal gucken!
:allright:

MFG,
MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Antworten