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 : Valeur ChekBox


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 : Valeur ChekBox
    Bonjour,

    Je dois réaliser un programme pour mettre à jour un nouveau logiciel, en copiant un fichier venant de leur ancien logiciel (choix entre 2 logiciels) vers le nouveau.
    Dans ce programme j'ai plusieurs étapes :
    - Demander le chemin du nouveau progr
    - Une liste de 3 checkbox : Logiciel1, Logiciel2 et Aucun
    - Si c'est la checkbox de logiciel1 ou Logiciel2 qui est cochée, alors à la fenêtre suivante je dois leur demander le chemin de leur ancien logiciel.

    J'ai déjà commencé un script pour les checkbox :

    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
    procedure CreateTheWizardPages;
    begin
      Page := CreateCustomPage(wpSelectDir, 'Ancien Logiciel', 'Choisissez ');
     
      CheckListBox := TNewCheckListBox.Create(Page);
      CheckListBox.Width := Page.SurfaceWidth;
      CheckListBox.Height := ScaleY(97);
      CheckListBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
      CheckListBox.Flat := True;
      CheckListBox.Parent := Page.Surface;
      CheckListBox.ShowLines := False;
      CheckListBox.WantTabs := True;
      CheckListBox.BorderStyle := bsNone;
      CheckListBox.ParentColor := True;
      CheckListBox.AddRadioButton('Logiciel1', '', 0, True, True, nil);
      CheckListBox.AddRadioButton('Logiciel2', '', 0, False, True, nil);
      CheckListBox.AddRadioButton('Aucun', '', 0, False, True, nil);
    end;
     
    procedure InitializeWizard();
    begin
      CreateTheWizardPages;
    end;
    J'ai également créé un code pour la demande du chemin d'installation de l'ancien logiciel :

    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
    var
      UserPage: TInputDirWizardPage;
    procedure InitializeWizard;
    begin
    UserPage := CreateInputDirPage(wpWelcome,
        'Configuration', 'Chemin ancien logiciel ',
        'Merci de renseigner le chemin d installation du logiciel 1. Puis appuyer sur suivant.',False, 'New Folder');
      UserPage.Add('Chemin d installation Logiciel 1:');
      UserPage.values[0] := 'C:\MyOldProgr'
    end;
     
    function AuthForm_NextButtonClick(Page: TWizardPage): Boolean;
    begin
      Result := True;
    end;
     
    function GetUserLog(Param: String): string;
    begin
    result := UserPage.Values[0];
    end;
    Je n'arrive pas à faire le lien entre mes 2 codes. Si la box de "Logiciel 1" alors je voudrais pouvoir lancer mon 2ème code.

    J'espère que c'est clair, c'est un peu compliqué à expliquer.

    Merci d'avance pour l'aide

  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 : 42
    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 418
    Points
    1 418
    Par défaut
    Si tu donnais le script entier tout du moins la partie code sa serait plus façile. Tu devra peut-être ajuster tes déclarations de variable.

    dans function ShouldSkipPage(PageID: Integer): Boolean; tu test ta checkbox et tu passe ou non ta page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    case PageID of
      UserPage.ID:
      begin
        if CheckListBox.ItemEnabled[1] then
          Result := True
        else
          Result := False;
      end;
      else
        Result := True;
    end;
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  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
    Pour l'instant je n'ai que ça comme code :

    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
    procedure CreateTheWizardPages;
    begin
      Page := CreateCustomPage(wpSelectDir, 'Ancien Logiciel', 'Choisissez ');
     
      CheckListBox := TNewCheckListBox.Create(Page);
      CheckListBox.Width := Page.SurfaceWidth;
      CheckListBox.Height := ScaleY(97);
      CheckListBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
      CheckListBox.Flat := True;
      CheckListBox.Parent := Page.Surface;
      CheckListBox.ShowLines := False;
      CheckListBox.WantTabs := True;
      CheckListBox.BorderStyle := bsNone;
      CheckListBox.ParentColor := True;
      CheckListBox.AddRadioButton('Logiciel 1', '', 0, True, True, nil);
      CheckListBox.AddRadioButton('Logiciel 2', '', 0, False, True, nil);
      CheckListBox.AddRadioButton('Aucun', '', 0, False, True, nil);
    end;
     
    procedure InitializeWizard();
    begin
      CreateTheWizardPages;
    end;
    Donc j'ai bien les 3 boutons qui s'affichent dans ma fenêtre. Mais je ne sais pas comment récupérer quel bouton est coché.
    Et si c'est le bouton Logiciel 1 ou Logiciel 2 qui est coché alors dans la fenêtre suivante je dois avoir un textbox avec un bouton parcourir pour que l'utilisateur renseigne le chemin.

    J'espère que c'est plus clair

  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 : 42
    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 418
    Points
    1 418
    Par défaut
    Le code que j'ai mis permet sa.
    Tu change sa, si checkbox 0 coché on passe fenêtre sélection chemin sinon elle est affiché
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        if CheckListBox.ItemEnabled[2] then
          Result := False
        else
          Result := True;
    sinon pour ta page chemin tu la crée après l'autre
    UserPage := CreateInputDirPage(Page.ID,
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  5. #5
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    ouiouioui, ca serait pas plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        if CheckListBox.Checked[2] then
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  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 : 42
    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 418
    Points
    1 418
    Par défaut
    Effectivement j'ai corrigé.
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

Discussions similaires

  1. Réponses: 8
    Dernier message: 24/05/2010, 13h03
  2. Réponses: 1
    Dernier message: 27/10/2009, 14h49
  3. [Inno Setup] Modifier la valeur d'une clé de registre
    Par gege2061 dans le forum Outils
    Réponses: 8
    Dernier message: 08/04/2009, 18h42
  4. Réponses: 8
    Dernier message: 17/07/2008, 13h44
  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