Taille chaines

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Taille chaines

Message par Anonyme2 »

Fred,

si tu pourrais ajouter dans la prochaine version un switch pour parametrer la taille des chaines ça serait bien.
Par défaut 64 Ko sinon une valeur que l'on fixerait pour chaque projet ou pour tous les projets. :D
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Message par LeCyb »

Voici un petit code que j'ai trouvé sur le forum Anglais:

Code : Tout sélectionner

Procedure SetStringManipulationBufferSize(Bytes)
;***************************************************************
;* Modifie la taille du buffer pour la manipulation de chaînes *
;* par défaut = 63999 octets                                   *
;* A appeler impérativement avant toute utilisation de chaînes *
;***************************************************************
  PBStringBase.l = 0
  PBMemoryBase.l = 0
  !MOV eax, dword [PB_StringBase]
  !MOV [esp+4],eax
  !MOV eax, dword [PB_MemoryBase]
  !MOV [esp+8],eax
  HeapReAlloc_(PBMemoryBase, #GMEM_ZEROINIT, PBStringBase, Bytes)
  !MOV dword [_PB_StringBase],eax
EndProcedure
Tu peux le mettre dans un fichier (ici Utils.pb) et l'inclure dans le projet avant toute utilisation de chaînes:

Code : Tout sélectionner

#StringLength.l = 1048576
XIncludeFile "Utils.pb"
SetStringManipulationBufferSize(#StringLength)
En utilisant une constante cela te permettra de gérer les dépassements.
Mais si je ne m'abuse cela ne concerne que la manipulation de chaînes (Len, Trim etc...) car les chaînes ont une longueur illimitée.
Vive le thread-safe !
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Merci, j'utilise déjà ce code. C'est mieux si fred l'integre et que l'on ait simplement une option.
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Message par LeCyb »

Ah ok j'avais mal capté, ça serait chouette que ça soit intégré en effet :)
Vive le thread-safe !
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Ce serai encore mieux d'abandonner le système du buffer commun, non ?
Plus de taille limite (enfin, si, la mémoire du PC), et plus de problème avec les threads...
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Répondre