bonsoir
je suis passer à coté de l'information au sujet de la commande : "UnpackMemory()"
comment remplacer cette commande sous PB520.
Alors qu'elle existait dans la version PB4.51
exemple de la doc PB451:
UnpackMemory()
Syntaxe
Resultat = UnpackMemory(MemoireSource, MemoireDestination)
Description
Décompresse une zone mémoire préalablement compressée (avec PackMemory()) vers la zone MemoireDestination. Si le 'Résultat' est 0, alors les données ne peuvent pas être décompressées (format invalide). Sinon la taille des données décompressées est renvoyée dans 'Resultat'.
UnpackMemory() attend des données correctement compressées, car la fonction n'effectue aucun contrôle (pour des raisons de performances). Si vous décompressez des données qui ne sont pas dignes de confiance, vous devriez avant tout les contrôler avec par exemple MD5().
Note : La décompression est réellement très rapide, contrairement à la compression.
Cordialement
Unpackmemory (resolu)
Unpackmemory (resolu)
Dernière modification par kernadec le jeu. 24/oct./2013 19:51, modifié 1 fois.
-
- Messages : 117
- Inscription : dim. 21/déc./2008 18:39
Re: Unpackmemory
Bonsoir,
Je penses, que tu devrais regarder la fonction "UncompressMemory" :
UncompressMemory(*Buffer, Size, *Output, OutputSize [, PluginID])
Sur le forum anglais, j'ai trouvé ça :
http://www.purebasic.fr/english/viewtop ... 13&t=52441
Qui correspond à ton problème.
A+
Je penses, que tu devrais regarder la fonction "UncompressMemory" :
UncompressMemory(*Buffer, Size, *Output, OutputSize [, PluginID])
Sur le forum anglais, j'ai trouvé ça :
http://www.purebasic.fr/english/viewtop ... 13&t=52441
Qui correspond à ton problème.
A+
http://www.purebasicstreet.com/ - Site dédié à purebasic.
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Unpackmemory
A priori ma réponse est la même que le poste cité.
Code : Tout sélectionner
UseLZMAPacker()
String$ ="Compress uncompress in memory"
*InPut = AllocateMemory(5000)
*OutPut = AllocateMemory(5000)
PokeS(*InPut, String$)
Debug MemorySize(*Input)
Size = CompressMemory(*InPut, 5000, *OutPut, 5000, #PB_PackerPlugin_LZMA)
Debug Size
ShowMemoryViewer(*OutPut, Size)
Size = UncompressMemory(*OutPut, 5000, *InPut, 5000, #PB_PackerPlugin_LZMA)
Debug Size
;ShowMemoryViewer(*Input, Size)
FreeMemory(*InPut)
FreeMemory(*Output)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Unpackmemory
bonjour
Merci stombretrooper & falsam
j'avais un code qui fonctionner plus
Dans l'historique de la doc, il pourrait y avoir une fonction recherche pour un mot
Il reste la solution est de copié tout le texte dans le notepad pour lancer une recherche.
ET là..... je n'ai pas reçu d'infos sur la suppression de la commande UnpackMemory()
peut être ajouter ce changement dans l'historique de la doc
En plus j'ai complétement oublié de chercher sur le forum anglais
Cordialement
Merci stombretrooper & falsam

j'avais un code qui fonctionner plus

Dans l'historique de la doc, il pourrait y avoir une fonction recherche pour un mot

Il reste la solution est de copié tout le texte dans le notepad pour lancer une recherche.
ET là..... je n'ai pas reçu d'infos sur la suppression de la commande UnpackMemory()
peut être ajouter ce changement dans l'historique de la doc
En plus j'ai complétement oublié de chercher sur le forum anglais

Cordialement
Re: Unpackmemory
bonsoir
remerciement à Mickael Vogel
Une autre solution a ce problème ici :http://www.purebasic.fr/english/viewtop ... 12&t=54599
Avec la procédure de " Mickael Vogel " mise en début des codes qui utilisent la commande UnpackMemory
l'ancien nom de la commande fonctionne à nouveau
Cordialement
remerciement à Mickael Vogel
Une autre solution a ce problème ici :http://www.purebasic.fr/english/viewtop ... 12&t=54599
Avec la procédure de " Mickael Vogel " mise en début des codes qui utilisent la commande UnpackMemory
l'ancien nom de la commande fonctionne à nouveau

Cordialement
Code : Tout sélectionner
Procedure.i UnpackMemory (Source, Destination)
UseJCALG1Packer()
ProcedureReturn UncompressMemory(Source, 0, Destination, 0, #PB_PackerPlugin_JCALG1)
EndProcedure