note : j'ai fait des recherches sur les deux forums francais et anglais, mais je n'ai rien trouvé de concret, il est bizarre que personne ne se soit penché sur ce cas

J'avais oublié un detail, si la chaine recherché est differente de taille, il vaudrait mieux :Coolman a écrit :Effectivement, j'utilise ReadData()... un exemple est peut etre plus parlant :
res=ReadFile(#PB_Any,"e:\temp\test.grf")
If res
Longueur=Lof()
If longueur<30000
*Tampon=AllocateMemory(Longueur)
ReadData(*Tampon,Longueur)
.....
Je cherche une procedure similaire a ReplaceString mais dans mon cas je voudrais faire la meme chose dans la zone memoire *Tampon, j'ai envisagé plusieurs cas de figure, cela dit si quelqu'un l'a deja fait, je trouve inutile de reinventer la roue surtout que je n'ai pas beaucoup de temps en ce moment...
Par exemple, la syntaxe de replacestring dans la doc est la suivante :
ReplaceString(Chaine$, ChaineCherchee$, ChaineRemplacee$ [, Mode [, PositionDepart]])
j'envisage une procedure de ce type :
ReplaceStringBin(*Tampon,*ChaineCherchee, *ChaineRemplacee)
voila
Interessant en effet, cela dit hardy a l'air d'avoir concu ces routines pour optimiser accelerer, dans mon cas je suis obligé de proceder directement en memoire car la donnee que je traite comporte des caracteres ascils nul chr(0), purebasic considere apparement (comme la plupart des languages d'ailleurs) ce caractere comme fin de chaine d'ou l'impossibilité d'utiliser la commande recherche remplace classique...Denis a écrit :Coolman,
regardes ce topic http://purebasic.hmt-forum.com/viewtopic.php?t=2141
je ne sais pas s'il y a ta réponse mais il y a plein de bonnes chose écrites par Hardy (ou es-tu ?)