IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Langage Delphi Discussion :

[D7]Traduction du TChar de DEV_BROADCAST_PORT


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 74
    Points : 76
    Points
    76
    Par défaut [D7]Traduction du TChar de DEV_BROADCAST_PORT
    Bonjour, j'écris un bout de code sur la détection matériel au niveau des USB et pas seulement pour les clés USB.

    J'ai trouvé ces codes ci très intéressant:
    http://www.developpez.net/forums/d47...ique-usb-code/
    http://www.developpez.net/forums/d46...rtion-cle-usb/
    mais il ne prend en compte que les devices de type DBT_DEVTYP_VOLUME, je voudrais ajouter le type DBT_DEVTYP_PORT et récupérer le dbcp_name par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PDEV_BROADCAST_PORT( Msg.LParam )^.dbcp_name;
    cependant je ne sais pas comment traduire le TCHAR de la structure suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef struct _DEV_BROADCAST_PORT {
      DWORD dbcp_size;
      DWORD dbcp_devicetype;
      DWORD dbcp_reserved;
      TCHAR dbcp_name[1];
    } DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
    que j'ai écrit pour l'instant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      PDEV_BROADCAST_PORT = ^TDEV_BROADCAST_PORT;
      TDEV_BROADCAST_PORT = packed record
        dbcp_size: DWORD ;
        dbcp_devicetype: DWORD;
        dbcp_reserved: DWORD;
        dbcp_name: ????;
      end;
    Le but final étant de d'écrire quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        case PDEV_BROADCAST_HDR( Msg.LParam )^.dbch_devicetype of
          2: begin // DBT_DEVTYP_VOLUME
    	...
          end;
          3: begin // DBT_DEVTYP_PORT
            ...
            ????:= PDEV_BROADCAST_PORT( Msg.LParam )^.dbcp_name;
            ...
          end;
        end;

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 74
    Points : 76
    Points
    76
    Par défaut
    Bon, après plusieurs tests, j'ai un début de réponse, en déclarant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dbcp_name: array[0..4] of Char
    je récupères ('C','O','M','7','#0'), ce qui me déranges c'est la spécification de la longueur car en mettant juste un array of char ça ne fonctionne pas.
    Dans le cas présent je m'attendais à récupérer COMX, mais si dbcp_name contient plus de caractères, comment savoir la longueur à donner ?

  3. #3
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 289
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 289
    Points : 1 940
    Points
    1 940
    Par défaut
    D'après ce que j'ai compris de MSDN, TChar est soit un PChar, soit un PWideChar en fonction du système.
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2022

Discussions similaires

  1. [Traduction] probleme de declaration
    Par Mercilius dans le forum Langage
    Réponses: 3
    Dernier message: 03/04/2003, 16h16
  2. TRaduction C++ => Delphi VOID ??
    Par escafr dans le forum Langage
    Réponses: 6
    Dernier message: 20/02/2003, 10h39
  3. traduction en delphi "reinterpreted cast"
    Par Chupakabra dans le forum Langage
    Réponses: 3
    Dernier message: 13/02/2003, 15h49
  4. Traduction
    Par PierDIDI dans le forum Composants VCL
    Réponses: 3
    Dernier message: 17/09/2002, 23h43
  5. Changement de langue dynamique (D6 et outils de traduction)
    Par agon dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2002, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo