Fonction strreverse de vb 6 pour vb4/5 et lotusscript

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 524 fois - Téléchargée 35 fois

Contenu du snippet

Utilisation :
Debug.Print StrReverse "Salut"

Résultat :
tulaS

Source / Exemple :


Public Function StrReverse(ByVal sString As String) As String

  ' Pour les version 4 et 5 de VB
  ' Fonction StrReverse de VB 6

  Dim i As Long
  Dim nLen As Long
  Dim sBuffer As String

  nLen = Len(sString)
  For i = nLen To 1 Step -1
    sBuffer = sBuffer & Mid$(sString, i, 1)
  Next i

  StrReverse = sBuffer
End Function

A voir également

Ajouter un commentaire

Commentaires

Messages postés
162
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
17 novembre 2010

La fonction StrReverse est rarement utilisée, mais elle peut s'avérer précieuse pour, par exemple, un programme attaquant un serveur par Buffer Overflow (et qui doit donc définir dans la mémoire du serveur une adresse de retour vers son code malicieux). Un exploit de BO s'en servira pour définir l'adresse de retour et l'inverser ensuite (pour le serveur distant, le buffer est toujours écrit à l'envers. Pour écraser l'adresse de retour, il est donc plus pratique de retourner la chaîne).
Merci pour ce code, il me plait beaucoup.

@+ !
Messages postés
171
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007

StrReverse est une fonction intéressante mais a t-elle vraiment une utilitée propre dans un code ? sinon j'aime bien la simplicté du code c'est cool.
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015

Ca ça va plus vite, ça évite une réallocation de la chaîne à chaque boucle (optimisation de 1 à 10)

Dim sBuffer as String
Dim nLen as Long
nLen=len(sString)
sBuffer = Space$(nLen)
Dim i as long
For i = 1 to nLen
Mid$(sBuffer,nLen-i+1,1) = Mid(sString,i,1)
Next

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.