Fonction swap

Description

Salut
La source de gandalfkhorne m'a donné une idée.
En OpenVMS, il existe une fonction nommée SWAP qui est bien pratique et que l'on ne retrouve pas en VB.
Elle permet simplement d'inverser le contenu de deux variables.
C'est simple à faire, mais ça oblige à déclarer une variable juste pour servir de mémoire le temps de l'inversion. Quand on est en "Option Explicit" qui oblige à déclarer toutes les variables, c'est ... fatiguant.

Avec cette fonction que vous pouvez enregistrer dans un module dans le répertoire VB6\Template\Modules, vous l'aurez toujours sous la main quand vous ferez "Ajouter un nouveau module"
(Je suis sûr qu'il y en a qui ne connaissaient pas ce répertoire)

Source / Exemple :


Option Explicit

Public Function Swap(ByRef Valeur1 As Variant, _
                     ByRef Valeur2 As Variant) As Boolean

    Dim MemValeur1 As Variant, MemValeur2 As Variant
    Dim Temp As Variant
    
    On Error GoTo Erreur
    ' Mémorise les valeurs avant de commencer
    MemValeur1 = Valeur1
    MemValeur2 = Valeur2
    
    ' Fait le Swapping
    Temp = Valeur1
    Valeur1 = Valeur2
    Valeur2 = Temp
    ' Ok
    Swap = True
    Exit Function
    
Erreur:
    ' Souvent des erreurs de type de variables incompatibles
    ' On remet les valeurs initiales
    Valeur1 = MemValeur1
    Valeur2 = MemValeur2
    Swap = False
    
End Function

Codes Sources

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.