■ Copier le fichier se trouvant en data section en mémoire
Exemple avec une image
Code : Tout sélectionner
EnableExplicit
Define Size = ?image_end - ?image
Define *Buffer = AllocateMemory(Size)
Define *Pointer = ?image, n
For n = 0 To Size
PokeB(*Buffer + n, PeekB(*Pointer + n))
Next
;Verification de l'image mémorisé dans *Buffer
UsePNGImageDecoder()
CatchImage(0, *Buffer)
ShowLibraryViewer("Image", 0)
CallDebugger
End
DataSection
image:
IncludeBinary #PB_Compiler_Home + "Examples\3D\Data\Textures\caisse.png"
image_end:
EndDataSection
A partir de la tu peux copier le contenu de ce buffer dans un fichier avec la fonction
WriteData()
Result = WriteData(#File, *MemoryBuffer, Length)
■ On peut aussi copier directement le contenu du fichier se trouvant en datasection dans un fichier.
Code : Tout sélectionner
EnableExplicit
Define FF
FF = CreateFile(#PB_Any, "caisse.png")
If FF
WriteData(FF, ?image, ?image_end - ?image)
CloseFile(FF)
EndIf
End
DataSection
image:
IncludeBinary #PB_Compiler_Home + "Examples\3D\Data\Textures\caisse.png"
image_end:
EndDataSection
■ Le sujet RunPE a déja été abordé sur ce lien que tu connais
http://www.purebasic.fr/french/viewtopi ... 39#p165839