SetStringManipulationBuffer

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

SetStringManipulationBuffer

Message par nico »

Infos très utile qui nous vient du Forum Anglais.

http://purebasic.new.myforums.net/viewtopic.php?t=13271

La procédure permettant d'utiliser des chaînes de caractères de plus de 64Ko permet maintenant d'utiliser toutes les fonctions de Pure:

Code : Tout sélectionner

; Origine du code de DEU.exe

Procedure SetStringManipulationBufferSize(Bytes) 
  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 

; Set the buffer size for all strings to 1 MB. 
SetStringManipulationBufferSize(1048576) 
A$ = Space(1000000)+"test" 

; NO MORE CRASH 1 - ReplaceString() 
A$ = ReplaceString(A$,"test","pure") 
Debug right(a$,4) 

; NO MORE CRASH 2 - RemoveString() 
A$ = RemoveString(A$,"pu") 
Debug Right(A$,2) 

Debug Len (A$)
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

COOL :D merci
Répondre