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

Outils Delphi Discussion :

[Inno Setup] Lire un fichier .inf


Sujet :

Outils Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 69
    Par défaut [Inno Setup] Lire un fichier .inf
    Bonjour,

    Je souhaite lire un fichier .inf qui n'est pas structuré comme un ini, il n'a pas de section.

    Je voudrais récupérer la version pour autoriser ou non l'installation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    Version=1.2.3.4
    ...

    Merci

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 938
    Billets dans le blog
    6
    Par défaut
    il suffit de le charger dans un TStringList et de chercher la valeur associée à la chaîne clef :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MyStringList.LoadFromFile('test.inf');
    MyVersion:=MyStringList.Values[ 'Version' ];
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Citation Envoyé par tourlourou Voir le message
    il suffit de le charger dans un TStringList et de chercher la valeur associée à la chaîne clef :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MyStringList.LoadFromFile('test.inf');
    MyVersion:=MyStringList.Values[ 'Version' ];
    La propriété Values n'est malheureusement pas disponible sous IS. La "cause" est à chercher dans RemObjects. Cette librairie fournit l'interpréteur mais ne met aucune classe originale à disposition. La logique est là, mais pas les déclarations !

    Les classes incluses dans IS telles que nous les connaissons sous Delphi ont en fait été entièrement réécrites : les structures recréés, les propriétés et méthodes redéfinies et assignées par pointeur sur les allocations faites effectivement par IS lui-même. Bref de quoi donner l'illusion qu'on travaille en Delphi ! Un gros boulot (ceux qui ont déjà intégré RemObjects dans un de leurs outils le savent) !

    @Sparktacus: Pas le choix si ce n'est de charger le fichier et de le décoder à la pogne !
    Maintenant ne pas oublier qu'il est très facile d'intégrer une DLL "maison" créée dans le langage de notre choix et de la lier à notre script. Cela reste la façon la plus facile, la plus rapide et la plus intuitive de palier aux manques IS

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 69
    Par défaut
    Merci bien pour vos informations.

    Bon but était simplement d'éviter des boulettes venant de l'utilisateur.
    Je ne suis pas en mesure de toucher au fichier, ce n'est pas moi qui le crée (bien que je le remplace mais par simple écrasement).

    Créer une dll maison serait surement une très bonne solution, pour un programmeur, ce que je ne suis pas.

    Et la réponse qui a été donné dans le sujet que j'ai linké ? Il n'y a pas moyen d'exploiter quelque chose ?

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Citation Envoyé par Sparktacus Voir le message
    Et la réponse qui a été donné dans le sujet que j'ai linké ? Il n'y a pas moyen d'exploiter quelque chose ?
    Ben si ! La fonction GetKeyValue correspond exactement à ton besoin.

    ps: Il faudrait juste remplacer if KeyPos > 0 then par if KeyPos = 1 then.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 69
    Par défaut
    Ba oui, mais non ! Si j'avais compris sa réponse j'aurais juste eu à la mettre en pratique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L2Ver2.Caption := GetKeyValue('PatchVersion', FilePath, 'N/A');
    Késako Caption . L2Ver2.Caption ne semble pas être une variable contenant la valeur. Et je ne comprends pas non plus tous le reste du code qui suit la ligne que j'ai citée, surtout la partie procedure InitializeWizard.


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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2009, 11h35
  2. Inno Setup: Installer certains fichiers suivant le choix de l'utilisateur
    Par remfleyf dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 17/12/2008, 10h55
  3. [Inno Setup] Renommer un fichier durant l'install
    Par freud dans le forum Outils
    Réponses: 2
    Dernier message: 17/09/2008, 21h49
  4. [Inno Setup][VISTA] et fichiers INI
    Par Droïde Système7 dans le forum Outils
    Réponses: 23
    Dernier message: 21/04/2008, 14h47
  5. [Inno Setup] Lire valeur edit.text
    Par karitoo dans le forum Outils
    Réponses: 2
    Dernier message: 17/10/2007, 12h25

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