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

C++Builder Discussion :

Récupérer la version d'un fichier [Système/Fichiers/API]


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 80
    Par défaut Récupérer la version d'un fichier
    Bonjour,

    J'essaye de récupérer la version d'un fichier, j'ai donc repris ce code :

    Topic Version Fichier

    qui, d’après les utilisateurs du topic, marche correctement.

    Pour ma part, dans le dernier appel de la fonction VerQueryValue, le "lpBuffer" ne me retourne qu'un seul octet (donc la version majeur du fichier), tandis que "TailleBuffer" me retourne un entier avec la bonne taille (10).

    Quelqu'un aurait une idée ?

    [Windows XP - Rad Studio XE2]

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 081
    Par défaut
    Un octet ?
    Ne serait pas l'utilisation d'une API windows WIDE (Unicode) avec du char* (ANSI)

    Soit tu forcer l'utilisation VerQueryValueA
    Vérifie ton mapping d'ailleurs dans les options de projet
    Tu peux le vérifier, si VerQueryValueW donne le même résultat que VerQueryValue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Version->Caption = "Version " + UnicodeString((wchar_t*) lpBuffer);
    la Taille de 10 d'ailleurs, suffit de voir si elle correspond à 10 ou 5
    en ANSI, ça serait une version comme 1.02.03.04
    en Wide, ça serait une version comme 10.01
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 80
    Par défaut
    En effet il fallait le convertir en UnicodeString.

    Merci pour ton aide Shai.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/08/2010, 13h52
  2. Comment récupérer la version d'excel au démarrage d'un fichier
    Par D-D-Du-06 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2010, 11h46
  3. Récupérer les infos de version d'un fichier
    Par Eldann dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/07/2009, 15h50
  4. Comment Récupérer les informations de version d'un fichier dll
    Par elyusufiyasyn dans le forum VBScript
    Réponses: 1
    Dernier message: 16/08/2007, 20h07
  5. [CLI] Récupérer la version des fichiers à une date donnée
    Par jreeman dans le forum CVS
    Réponses: 1
    Dernier message: 27/02/2007, 11h35

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