Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Discussion :

Windows API LOWORD et HIWORD


Sujet :

VBA

  1. #1
    Membre du Club
    Windows API LOWORD et HIWORD
    Bonjour,

    Je commence à sérieusement m'intéresser à l'API Windows. Pour l'instant, je passe encore par VBA, mais viendra l'heure où je délaisserai VBA au C++ .

    Une question qui m'intrique, j'ai quelques fois rencontré de brèves explications concernant les LOWORD ou HIWORD (écrit telles quelle il s'agit de macro C++ pour en quelque sorte découper des entiers de 32 bits en 16 bits).

    Vous arrive-t'il d'utiliser les types Short et UShort en VBA pour justement manipuler des "mots" de 16 bits ? J'imagine que je peux améliorer la compréhension du code en utilisant des types quelque peu plus spécifiques que Long et Integer...

    Pouvez-vous m'en dire plus à ce sujet ? Ca m'aiderait à mieux comprendre la docs de Microsoft sur l'API .

    Merci par avance !

  2. #2
    Responsable Access

    Bonjour,

    Le short est un integer en vba je pense.
    La seule solution que j'ai trouvée pour les ushort est de passer par un tableau de 2 bytes :
    https://arkham46.developpez.com/arti...e=page_8#L10-E

  3. #3
    Membre du Club
    Merci encore et désolé pour ma réponse tardive. J'avais survolé un document et à sa lecture, il me semblais que les types Short et UShort existaient en VBA, mais j'avoue m'être quelque peu précipité .

    C'est intéressant comme example ; j'avais aussi vu que le passage (modification) de low-word à high-word pouvait se faire en multipliant &H1000 si je ne me trompe pas.

  4. #4
    Responsable Access

    Bonjour,

    Citation Envoyé par Orbeaman Voir le message
    j'avais aussi vu que le passage (modification) de low-word à high-word pouvait se faire en multipliant &H1000 si je ne me trompe pas.
    N'a pas de sens pour moi.

    De toute façon l'opération me semble trop simple.