Remplissage formaté d'un shortstring

Contenu du snippet

Cette fonction renvoit une chaine de caractères qui sera soit tronquée à la taille demandée, soit remplie, à sa fin, par le caractère spécifié pour attendre la taille en question.

Source / Exemple :


Function UseCarASM(const Chaine:shortstring; const Taille:Byte; const Remplir:Char):shortstring;
ASM
   push    edi
   push    esi

   mov     esi,eax       // is in eax
   mov     edi,@Result
   mov     al,Remplir    // is in ecx
   xor     ecx,ecx
   mov     cl,Taille     // is in edx
   mov     [edi],cl
   inc     edi

   cmp     [esi],cl
   jb      @@FillIt
   ja      @@RepMov
   mov     cl,[esi]
@@RepMov:
   inc     esi
   rep     movsb
   jmp     @@Finish

@@FillIt:
   mov     dl,Taille
   sub     dl,[esi]   // Taille-Length(Chaine)
   mov     cl,[esi]
   inc     esi
   rep     movsb
   mov     cl,dl
   rep     stosb

@@Finish:
   pop     esi
   pop     edi
End;

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.