copier un bloc memoire vers une structures c'est possible ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

copier un bloc memoire vers une structures c'est possible ?

Message par case »

voila juste une question , est il possible de copier le contenu d'un buffer vers une structure ?

exemple j'ai une structure de ce type

structure blah
var1.b
var2.b
var3.b
end structure

variables.blah

j'ai en memoire 3 octets dans un bloc memoire (buffer)
ff00ff

est-ce que ca fonctionnerais si je fais un

copymemory(buffer,@variable,3)

et qu'ensuite je veux y acceder par
variable\var1
variable\var2
variable\var3

ou bien est-ce qu'une structure n'est pas stockée dans un bloc memoire contigu ?

(bon la j'ai pas pure sous la main pour tester)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Cela marchera sans problème.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

une autre solution sans copie de mémoire

Code : Tout sélectionner

Structure blah
  var1.b
  var2.b
  var3.b
EndStructure

*variables.blah = @"abc"

Debug Chr(*variables\var1)
Debug Chr(*variables\var2)
Debug Chr(*variables\var3)
Dri
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Tu n'est pas obligé de copier tes données de la zone mémoire vers ta structure,
il te suffit de créer un pointeur de structure et de faire une init par référence,
un petit code pour illustrer la chose (en complement de celui de Dr Dri)

Code : Tout sélectionner

; structure de test
Structure blah
  var1.b
  var2.b
  var3.b
EndStructure

; creation d'une zone mémoire pour le test
*buffer = AllocateMemory(3)
PokeB(*buffer, 11)
PokeB(*buffer+1, 22)
PokeB(*buffer+2, 33)


*variables.blah = *buffer
Debug *variables\var1
Debug *variables\var2
Debug *variables\var3


FreeMemory(*buffer)
Force et sagesse...
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Message par case »

mais c'est génial :)

merci de vos reponses :)
Répondre