Moin,
ich habe folgendes "Logik"problem:
Ich lese aus einer Datei die BYtes einzeln aus und schreibe diese direkt in eine Datei. Nun möchte ich vor dem schreiben, die BYtes in einer Variablen zwischenspeichern und diese dann gesammelt auf die Platte schreiben.
peekb -> zwischenspeicher -> datei schreiben
Da die Daten bis zu 32 MB gehen, frage ich mich nun wie ich die Lösung einfach handhaben kann. Mit arrays werde ich wohl kaum weiterkommen oder?
Bytes zusammenfassen
Bytes zusammenfassen
Diese Welt ist krank und ich bin es auch...
Code: Alles auswählen
lBuffer = AllocateMemory(32*1024*1024) ; 32 MB Speicher reserviert
PokeB(lBuffer, ReadByte()&$FF) ; Byte von Datei einlesen und in Speicher schreiben
Datei schreiben. Allerdings würde ich dir empfehlen die Datei
mit dem Befehl ReadData in einem Ruck einzulesen.
@Beforegod
mit ReadDate wärst du schneller dran. schau dir mal wie ich das hier eingesetzt habe: http://forums.purebasic.com/german/viewtopic.php?t=5249 das sollte dir weiterhelfen.
du darfst nur nicht vergessen, dass damit die datei in den speicher geladen wird, was heissen würde, wenn du eine 300mb datei auf einem system mit nur 128mb ram laden willst, es zu problemen kommt.
c ya,
nco2k
mit ReadDate wärst du schneller dran. schau dir mal wie ich das hier eingesetzt habe: http://forums.purebasic.com/german/viewtopic.php?t=5249 das sollte dir weiterhelfen.
du darfst nur nicht vergessen, dass damit die datei in den speicher geladen wird, was heissen würde, wenn du eine 300mb datei auf einem system mit nur 128mb ram laden willst, es zu problemen kommt.

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
- 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
Warum liest Du die Bytest einzeln???
Also einfach eine Speicherbereich in der größte der Datei reservieren
Deine Datei da reinlesen, anschließend kannste durch den Speicher Byteweise iterieren
usw.
Ich hoffe, das war es in etwa, was Du Wissen möchtest?
/Nachtrag
Man bin ich langsam heute
Also einfach eine Speicherbereich in der größte der Datei reservieren
Code: Alles auswählen
*Mem = AllocateMemory(Lof())
Code: Alles auswählen
PeekB(*Mem)
PeekB(*Mem +1)
Ich hoffe, das war es in etwa, was Du Wissen möchtest?
/Nachtrag
Man bin ich langsam heute

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
