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 d'un fichier .ini par l'utilisateur lors de l'installation


Sujet :

Outils Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 45
    Points : 22
    Points
    22
    Par défaut [INNO SETUP] Intégration d'une valeur d'un fichier .ini par l'utilisateur lors de l'installation
    Bonjour,

    Le titre peut paraître long mais il évoque ce que je souhaite accomplir.
    Pour être plus précis, je souhaiterais qu'a la fin de l'extraction des fichiers une petite fenêtre s'ouvre demandant à l'utilisateur de saisir une valeur et de la valider. Une fois validée, cette valeur s'intègrerait a un endroit précis dans mon fichier .ini

    Amis développeurs, seriez vous en mesure de me présenter un exemple de code pour ça ?

    En vous remerciant d'avance.

  2. #2
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 419
    Points
    1 419
    Par défaut
    bonjour, il suffit d'ouvrir l'exemple CodeDlg.iss fourni avec inno
    si tu affiche la fenêtre après l'installation il faudra écrire via le code ta valeur, sinon avec la section ini si tu affiche la fenêtre avant.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Ok merci de ses infos. Mais je souhaiterais que je ce sois l'utilisateur qui est à saisir cette valeur... Peut être est je mal interprété ta réponse...

    Pour la modification du fichier .ini, je souhaite l'afficher avant la fenêtre de fin d'installation.

    Je tiens à préciser que j'ai débuté Inno Setup, il y a quelques jours et je n'ai pas de notion de programmation en Delphi...

    Merci

  4. #4
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 419
    Points
    1 419
    Par défaut
    Regarde l'exemple dont je parle tu verra que sa propose à l'utilisateur d'entrer une valeur.

    lis l'aide elle est très bien faite, dans les fonctions cherche ini, pour la page après installation wpInstalling

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Alors avec ses dernières informations (merci ouiouioui), j'ai réussi à avancer un petit peu.

    Je crée ma fenêtre avec la boite de saisie après l'extraction des fichiers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var
      UserPage: TInputQueryWizardPage;
     
    procedure InitializeWizard;
    begin
      { Create the pages }
     
      UserPage := CreateInputQueryPage(wpInstalling,
        'Personal Information', 'Who are you?',
        'Texte.');
      UserPage.Add('Nom :', False);
    end;
    Par contre je n'arrive pas a faire en sorte que la valeur rentré par l'utilisateur intègre le String du .ini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [INI]
    Filename: {app}\fichier.ini; Section: nomsection; Key: la clé; String: "VALEUR SAISIE PAR l'UTILISATEUR ??????"; Flags: createkeyifdoesntexist
    Il me manque un peu de code...
    Pourriez-vous m'aider ?

    Merci

  6. #6
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 419
    Points
    1 419
    Par défaut
    en faite la section ini est traité avant installing et donc ta page

    utilise sa pour modifier ini lors de l'appuie sur suivant ou alors affiche ta page avant installing:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function NextButtonClick(CurPageID: Integer): Boolean; 
    begin
      Result := True;
      If CurPageID = UserPage.ID then
      Begin
        //verif données si mauvais
        //Result := False;
        //sinon
        //insertion dans ini
      end;
    end;

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    En effet, je n'avais pas pensé à ça.

    Par contre, sur la fonction NextButtonClick, j'ai une vérification de répertoire et fichier...

    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
    function NextButtonClick(CurPageID: Integer): Boolean;
    var
        aExecFile, bExecDir:    String;
    begin
      Result := True;
      if CurPageID = wpSelectdir then
      begin
        aExecFile := ExpandConstant('{app}') + '\fichier.exe';
        bExecDir := ExpandConstant('{app}') + '\répertoire';
        if not FileExists(aExecFile) then
        begin
          MsgBox('Ce répertoire ne correspond pas à ce programme !', mbError, MB_OK);
          Result := False;
        end
        else if not DirExists(bExecDir) then
        begin
          MsgBox('Ce répertoire ne correspond pas à ce programme !', mbError, MB_OK);
          Result := False;
        end
      end
    end;
    A quel endroit puis je le mettre ?
    Serait t'il possible de me montrer un exemple de code pour que je puisse reporter la valeur saisie dans le String du [.INI] ?

    J'ai regardé cette doc très intéressante sur le "Retour d'informations de type String" mais je n'ai pas réussi à le mettre en application.

    Merci

  8. #8
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 419
    Points
    1 419
    Par défaut
    ouèp :

    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
    30
    31
    32
    33
     
    function NextButtonClick(CurPageID: Integer): Boolean;
    var
      aExecFile, bExecDir: String;
    begin
      Result := True;
      if CurPageID = wpSelectdir then
      begin
        aExecFile := ExpandConstant('{app}') + '\fichier.exe';
        bExecDir := ExpandConstant('{app}') + '\répertoire';
        if not FileExists(aExecFile) then
        begin
          MsgBox('Ce répertoire ne correspond pas à ce programme !', mbError, MB_OK);
          Result := False;
        end
        else if not DirExists(bExecDir) then
        begin
          MsgBox('Ce répertoire ne correspond pas à ce programme !', mbError, MB_OK);
          Result := False;
        end
      end
      else If CurPageID = UserPage.ID then
      Begin
        //verif données si mauvais
        //Result := False;
        //sinon
        //insertion dans ini
        SetIniString('main', //section
        'monstring', //clé
        UserPage.Values[0], //valeur de la page perso
        ExpandConstant('{app}\monini.ini')); //fichier ini dans dossier de destination
      end;
    end;

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 45
    Points : 22
    Points
    22
    Par défaut
    Merci beaucoup ouiouioui

    Problème Résolu !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/03/2012, 09h11
  2. Réponses: 4
    Dernier message: 26/07/2011, 17h52
  3. Réponses: 3
    Dernier message: 01/05/2011, 21h42
  4. [Inno Setup] Comment utiliser une variable ?
    Par jmdoudou dans le forum Outils
    Réponses: 10
    Dernier message: 09/03/2009, 11h40
  5. [Inno setup/IsTool]Intégrer une icône de désinstallation
    Par marsup54 dans le forum Installation, Déploiement et Sécurité
    Réponses: 1
    Dernier message: 03/01/2007, 12h05

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