Page 1 sur 1

Charger en mémoire

Publié : lun. 02/janv./2006 8:06
par SORLET
Je débarque en Pure Basic et je cherche à charger en mémoire un fichier texte volumineux pour pouvoir le manipuler. Je me heurte aussitôt à deux obstacles. Il n'y a que des commandes spécialisées LoadImage, LoadFont, LoadSound, LoadPalette... En GFA Basic il y avait une commande générale Bload. Deuxio, comment récupérer l'adresse d'un fichier charger ? Merci pour vos réponses.

Publié : lun. 02/janv./2006 8:50
par Chris
Il doit y avoir une demi douzaine d'exemples sur le forum.
Il y a le fichier d'aide.
Il y a des exemples livrés avec PureBasic.

Code : Tout sélectionner

Fichier$= "Chemin de ton fichier"

If ReadFile(0, Fichier$)
  Size = FileSize(Fichier$)
  *Buffer = AllocateMemory(Size)
  
  If *Buffer
    ReadData(*Buffer, Size)
    CloseFile(0)
  EndIf
EndIf

;=== Test ===
Repeat
  Debug PeekS(*Buffer + Lng, 100)
  Lng + 100
Until Lng >= Size

FreeMemory(*Buffer)

Publié : lun. 02/janv./2006 12:06
par comtois
et sur ce site tu trouveras quelques correspondances entre les commandes du gfa et celles du purebasic

http://www.xs4all.nl/~bluez/datatalk/pure2.htm#top

Publié : mer. 04/janv./2006 18:01
par SORLET
Merci à vous deux, vos réponses sont parfaites et je sens que je vais avancer à pas de géant.

Cela m'encourage, alors que fouiller seul dans les exemples et se perdre donne le résultat inverse. Merci encore, je vous promets de ne pas abuser avec mes banales questions.

Tant que j'y suis, savez-vous si on peut connaître les dimensions d'un fichier-image (largeur, hauteur et profondeur) avant de la charger en mémoire ?

Il existe par exemple, une commande :
AddGadgetColumn(#Gadget, Position, #PB_Explorer_Attributes, Largeur)
pour connaître les attributs des fichiers d'une liste...

Publié : mer. 04/janv./2006 18:18
par Chris
En principe, avec les commandes PureBasic, il faut charger le fichier pour connaitre sa taille et sa profondeur de couleur.
(Mais les images , je m'en sers pas trop, alors je peux me tromper)