IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Vote des utilisateurs
0 
0 
Détails
Éditeur : GerardJ
Licence : Non renseignée
Mise en ligne le 18 mars 2017
Langue : Français
Référencé dans
Navigation

Vérifier la position d'une sous-chaine à une place déterminée

La fonction logique PosExact est dérivée de Posex. elle présente l'avantage de ne pas explorer inutilement la chaine, car elle abandonne dès qu'il y a un écart.
elle est donc beaucoup plus rapide.
Elle est très utile dans un serveur car par exemple PosExact('GET', Str1) renvoie TRUE uniquement si la chaine commence par 'GET'
De même PosExact(url,Str1,6) renvoie TRUE pour la chaine 'GET /url'.
[codeinline]function PosExact(const SubStr, S: string; Offset: Integer = 1): Boolean;
asm
test eax, eax
jz @Nil
test edx, edx
jz @Nil
dec ecx
jl @Nil

push esi
push ebx

mov esi, [edx-4] //Length(Str)
mov ebx, [eax-4] //Length(Substr)
sub esi, ecx //effective length of Str
add edx, ecx //addr of the first char at starting position
cmp esi, ebx
jl @Past //jump if EffectiveLength(Str)
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.