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 : Intégration d'une valeur entrée par l'utilisateur dans fichier .ini lors de l'installation


Sujet :

Outils Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Points : 37
    Points
    37
    Par défaut Inno Setup : Intégration d'une valeur entrée par l'utilisateur dans fichier .ini lors de l'installation
    Bonjour,

    Je débute sur Inno Setup et je rencontre un problème avec mon programme.
    J'éffectue une programme pour mettre un jour un logiciel.
    Au début de mon prog il est demandé à l'utilisateur de renseigner son nom et CP.(Pour cette partie voici mon code)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var
      UserPage: TInputQueryWizardPage;
    procedure InitializeWizard;
    begin
      UserPage := CreateInputQueryPage(wpWelcome,
        'Configuration','Information',
        'Merci de renseigner votre nom et code postal. Puis appuyer sur suivant.');
      UserPage.Add('Nom:', False);
      UserPage.Add('Code postal:', False);
    end;
    Je dois retourner ces 2 valeurs dans un fichier .ini et c'est la que je bloque.
    Le fichier .ini se trouve dans le dossier de l'application, dont le chemin est signalé par l'utilisateur dans la fenêtre juste après configuration.

    J'espère que mes explications sont claires.

    Quelqu'un pourrait il m'aider. Vous en remerciant par avance.

  2. #2
    Membre du Club Avatar de delagoutte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 65
    Points
    65
    Par défaut
    A tester :
    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
     
    [INI]
    Filename: {app}\monini.ini; Section: USERPARAM; Key: NAME; String: 
    Filename: {app}\monini.ini; Section: USERPARAM; Key: CP; String:
     
    var
      UserPage: TInputQueryWizardPage;
    procedure InitializeWizard;
    begin
      UserPage := CreateInputQueryPage(wpWelcome,
        'Configuration','Information',
        'Merci de renseigner votre nom et code postal. Puis appuyer sur suivant.');
      UserPage.Add('Nom:', False);
      UserPage.Add('Code postal:', False);
    SetIniString('USERPARAM', 'NAME', UserPage.Values[0], ExpandConstant('{app}\monini.ini'))
    SetIniString('USERPARAM', 'CP', UserPage.Values[1], ExpandConstant('{app}\monini.ini'))
    end;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Points : 37
    Points
    37
    Par défaut
    Merci pour la réponse, mais cela ne fonctionne pas !

    Premier problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SetIniString('USERPARAM', 'NAME', UserPage.Values[0], ExpandConstant('{app}\monini.ini'))
    SetIniString('USERPARAM', 'CP', UserPage.Values[1], ExpandConstant('{app}\monini.ini'))
    L'exe plante direct avec :
    "Runtime Error : Erreur Interne : An attempt was made to expand the "app" constant before it was initialized"
    Car il ne connait pas encore le chemin de l'application.

    J'ai quand même essayé de mettre un chemin en dur pour monini.ini, mais dans le fichier .ini il ne récupère pas la valeur écrite par l'utilisateur mais USERPARAM !!!

  4. #4
    Membre du Club Avatar de delagoutte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 65
    Points
    65
    Par défaut
    Pour le fait que cela écrive USERPARAM dans ton ini, on a peut être pas la même version. vérifie dans l'aide de ton innosetup les paramètres de la fonction setIniString.

    Pour le problème de la variable {app} qui n'est pas encore initialisé il semble que la solution soit en passant par une fonction appelé par la section INI.

    c'est pas trés clair mais va voir http://stackoverflow.com/questions/4...to-an-ini-file

    Il a exactement le même problème que toi et il semble y avoir une solution qui marche.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Points : 37
    Points
    37
    Par défaut


    Le lien m'a beaucoup aidé, c'est exactement ce que je voulais

    Merci encore

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

Discussions similaires

  1. Récupérer une valeur entrée par un utilisateur
    Par phyfab dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 10/12/2013, 12h03
  2. Réponses: 8
    Dernier message: 24/05/2010, 13h03
  3. Réponses: 4
    Dernier message: 25/05/2007, 17h04
  4. requête access (test d'une valeur entrée par l'utilisateur)
    Par ben5985 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 30/11/2006, 08h39
  5. Réponses: 5
    Dernier message: 27/09/2005, 17h25

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