Ajouter des buffers en un seul

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Ajouter des buffers en un seul

Message par Progi1984 »

Voilà, j'ai ces 3 buffers, comment faire pour les ajouter les uns aux autres ?

Code : Tout sélectionner

  *Bheaderd=AllocateMemory(Len(headerd))
  PokeS(*Bheaderd,headerd)
  
  *Bheaderf=AllocateMemory(Len(headerf)
  PokeS(*Bheaderf,headerf)
  
  *BContentLength=AllocateMemory(Len(Str(MemorySize(*message))))
  PokeS(*BContentLength,Str(MemorySize(*message))
Merci :)
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

CopyMemory ?
Image
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

D'une façon générale, ça donne ça:

Code : Tout sélectionner

*pointeur=AllocateMemory(Len(headerd)+Len(headerf)+Len(Str(MemorySize(*message))))
WriteData(*pointeur,Len(headerd))
*pointeur2=*pointeur+Len(headerd)
WriteData(*pointeur2,Len(headerf))
*pointeur3=*pointeur2+Len(headerd)+Len(headerf)
WriteData(*pointeur3,Len(Str(MemorySize(*message))))
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Nico, pourquoi utilises tu Writedata pour écrire dans un buffer ?

Dans la V4, il me demande un numéro ed fichier.

En fait, a partir de 3 buffers, je voudrais les concaténer pour n'en faire qu'un seul !
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oh là mon code est faux pour la 3.94.

Pour la V4, on va faire comme le dit Flype:

Code : Tout sélectionner

*pointeur=AllocateMemory(Len(headerd)+Len(headerf)+Len(Str(MemorySize(*message)))) 

CopyMemory(*Bheaderd,*pointeur,Len(headerd))
*pointeur2=*pointeur+Len(headerd) 
CopyMemory(*Bheaderf,*pointeur2,Len(headerf))
*pointeur3=*pointeur2+Len(headerf) 
CopyMemory(*Bheaderf,*pointeur3,Len(Str(MemorySize(*message))))
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

En fait, *pointeur2=*pointeur+Len(headerd) permet d'aller à l'adresse aprés *Bheader ?
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oui.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Merci Nico !
Pas mal de codes sources deviennent déjà plus compréhensibles !
Répondre