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

Delphi Discussion :

Obtenir les infos de versions du programme


Sujet :

Delphi

  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut Obtenir les infos de versions du programme
    Bonjour,

    j'en suis toujours à la vieille méthode (FAQ-Comment-recuperer-le-numero-de-version-de-mon-application) pour obtenir ces infos.
    Il n'y a toujours pas eu d'encapsulation pour ça avec les Versions XE et l'arrivée de FMX+multi-OS?
    Avec D3 j'utilisais un composant tiers TVersionResource, y aurait-il un équivalent chez TMS ou autre ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par SergioMaster Voir le message
    j'en suis toujours à la vieille méthode (FAQ-Comment-recuperer-le-numero-de-version-de-mon-application) pour obtenir ces infos.
    Il n'y a toujours pas eu d'encapsulation pour ça avec les Versions XE et l'arrivée de FMX+multi-OS?
    Il y a une encapsulation partielle (windows only ) dans l'unité System.SysUtils :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function CheckWin32Version(AMajor: Integer; AMinor: Integer = 0): Boolean;
    function GetFileVersion(const AFileName: string): Cardinal;
    function GetProductVersion(const AFileName: string; var AMajor, AMinor, ABuild: Cardinal): Boolean;
    Citation Envoyé par SergioMaster Voir le message
    Avec D3 j'utilisais un composant tiers TVersionResource, y aurait-il un équivalent chez TMS ou autre ?
    Dans la JCL, unité JclFileUtils.pas, il y a "TJclFileVersionInfo"...
    Philippe.

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Dans la JCL, unité JclFileUtils.pas, il y a "TJclFileVersionInfo"...
    Oui, c'est ce que mes dernières recherches m'ont données de plus pertinent (et de plus facile à utiliser), surtout que je voulais aussi obtenir les autres informations et pas que le numéro

    Merci du moins pour la partie Windows
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 385
    Points : 2 999
    Points
    2 999
    Par défaut
    pour OSX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    unit UnitFileInfos.mac;
     
    interface
     
    {$IFDEF MACOSX}
    function FileVersion(): string;
    {$ENDIF}
     
    implementation
     
    {$IFDEF MACOSX}
    uses Macapi.CoreFoundation, Macapi.Foundation;
     
    function FileVersion(): string;
    var
      CFStr: CFStringRef;
      Range: CFRange;
    begin
      CFStr := CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle,
        kCFBundleVersionKey);
      Range.location := 0;
      Range.length := CFStringGetLength(CFStr);
      SetLength(Result, Range.length);
      CFStringGetCharacters(CFStr, Range, PChar(Result));
    end;
    {$ENDIF}
     
    end.
    à tester mais un collègue m'assure que ça fonctionne :-)

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

Discussions similaires

  1. [Lazarus] [Linux] Lire les infos de version d'un programme
    Par ChPr dans le forum Lazarus
    Réponses: 5
    Dernier message: 01/10/2008, 16h11
  2. Obtenir les informations de version
    Par Masmeta dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/07/2007, 12h52
  3. Réponses: 1
    Dernier message: 05/07/2007, 08h34
  4. Réponses: 6
    Dernier message: 15/01/2007, 10h40

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