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

EDI Delphi Discussion :

Obtenir la version RAD Studio au runtime


Sujet :

EDI Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 077
    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 077
    Points : 41 024
    Points
    41 024
    Billets dans le blog
    62
    Par défaut Obtenir la version RAD Studio au runtime
    Bonjour,

    Voilà, tout est presque dans le titre, je veux obtenir au runtime l'emplacement des styles.
    Pour cela j'ai codé ceci qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var RadVersion : String;
    begin
    case Round(system.CompilerVersion) of
      34 : Radversion:='21.0';
      33 : Radversion:='20.0';
      32 : RadVersion:='19.0';
    end;
    Opendialog.InitialDir:=GetEnvironmentVariable('RadPublic');
    Opendialog.InitialDir:=Tpath.Combine(Opendialog.InitialDir,Radversion);
    Opendialog.InitialDir:=Tpath.Combine(Opendialog.InitialDir,'Styles');
    et qui doit être optimisé.
    Toutefois n'y aurait-il pas un moyen plus simple d'obtenir le nombre (19..21) plutôt que de passer par ce case Round(system.CompilerVersion),
    en évitant, autant que faire ce peu, la lecture de registre ?
    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
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 663
    Points : 3 636
    Points
    3 636
    Billets dans le blog
    2
    Par défaut
    Bonjour Serge,

    Non je ne pense pas... Tu peux faire un Trunc à la place du Round ou encore utiliser les directives ({$IFDEF VER330}...). Le n° de version du compilateur est un nombre flottant (d'après la doc http://docwiki.embarcadero.com/RADSt...piler_Versions, la partie décimale a été utilisée pour Delphi 2007).
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 077
    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 077
    Points : 41 024
    Points
    41 024
    Billets dans le blog
    62
    Par défaut
    Bonjour Gregory

    Tu as raison, le trunc serait mieux. Pour ce qui est des versions, comme il s'agit de styles FMX de toutes façon D2007 n'est pas concerné puisque cela commence avec XE3 ou XE4

    en fait mon objectif est de faire une sorte de "compacteur/décompacteur" de style. C'est la faute d'Andrea Magni si je me suis lancé ce défi (déjà ok pour les styles Windows).
    En effet dans son livre, Delphi GUI Programming with FireMonkey, et spécifiquement dans son chapitre sur le styles il parle très souvent de fichiers "compilé" .fsf or je me suis presque usé les yeux pour en trouver . En fouillant j'ai découvert comment obtenir un fichier .fsf à partir d'un fichier .style et vice-versa.

    voilà un avant goût du résultat
    Nom : Capture.PNG
Affichages : 208
Taille : 46,8 Ko

    Je m'attaque maintenant au problème qui est de rendre des styles spécifiques à une plateforme (ceux dans les répertoires Styles\Android, Styles\iOs etc..)
    et voir s'il est possible : d'ajouter des plateformes, transformer la plateforme cible etc...
    pour l'instant je récupère les valeurs en ouvrant le fichier dans un stream (ébauche)
    Nom : Capture_1.PNG
Affichages : 214
Taille : 24,5 Ko
    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

Discussions similaires

  1. Sortie officielle de la nouvelle version RAD Studio 10.3 Rio
    Par Maxime Capellot dans le forum Delphi
    Réponses: 28
    Dernier message: 26/01/2019, 15h17
  2. Réponses: 0
    Dernier message: 28/04/2014, 13h34
  3. Réponses: 0
    Dernier message: 22/09/2010, 18h30
  4. Obtenir la Version du JDK en RunTime ???
    Par pitoubicou dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2006, 12h21

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