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 : Copier Dossier et fichier basé sur une checkbox.


Sujet :

Outils Delphi

  1. #1
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut Inno Setup : Copier Dossier et fichier basé sur une checkbox.
    Bonjour à tous.
    Je suis face à un petit problème.
    Je dois copier ou non les dossier Requete/Stat/Report en fonction que les cases à cocher correspondant soit coché ou non.
    J'ai déjà la valeur des 3 cases à coché depuis
    GetIfQueryIsToBeCopied
    GetIfStatIsToBeCopied
    GetIfReportIsToBeCopied
    ; Script generated by the Inno Setup Script Wizard.
    ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

    #define MyAppName "Mon programme"
    #define MyAppVersion "7"
    #define MyAppPublisher "Andry"
    #define MyAppExeName "monprg.exe"

    [Setup]
    ; NOTE: The value of AppId uniquely identifies this application.
    ; Do not use the same AppId value in installers for other applications.
    ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
    AppId={{1743E636-24EF-4F05-93FD-D635A19F92E1}
    AppName={#MyAppName}
    AppVersion={#MyAppVersion}
    ;AppVerName={#MyAppName} {#MyAppVersion}
    AppPublisher={#MyAppPublisher}
    DefaultDirName={pf}\Satelit Stock
    DefaultGroupName={#MyAppName}
    AllowNoIcons=yes
    OutputDir=D:\Data\prg\Setup\Output
    OutputBaseFilename=prg_setup
    Compression=lzma
    SolidCompression=yes

    [Languages]
    Name: "english"; MessagesFile: "compilerefault.isl"
    Name: "french"; MessagesFile: "compiler:Languages\French.isl"

    [CustomMessages]
    ; Français
    french.dbpagetitle=Base de donnée
    french.dbpagetitleinfo=Accès à la base de donnée
    french.dbpagedescription=Veuillez Specifier le serveur et l'alias de la base de donnée à utiliser.
    french.dbpageserver=Serveur Firebird
    french.dbpagealias=Alias Firebird
    french.optpagetitle=Composants optionnels
    french.optpagetitleinfo=Composants additionnels à installer
    french.optpagedescription=Veuillez selectionner les composants aditionnels à installer.
    french.optpagequery=Copier le dossier des Requête
    french.optpagestat=Copier le dossier des Statistique
    french.optpagereport=Copier le dossier des Etats

    ;English
    english.dbpagetitle=Database
    english.dbpagetitleinfo=Database configuration
    english.dbpagedescription=Please, input the firebird server and the firebird alias to use.
    english.server=Firebird Database
    english.alias=Firebird Alias
    english.optpagetitle=Optionnal Componnents
    english.optpagetitleinfo=Additionnal Componnents to be installed
    english.optpagedescription=Please select from the liste above the additionnal components you want to be installed.
    english.optpagequery=Copy Query folder
    english.optpagestat=Copy Statistic folder
    english.optpagereport=Copy Reports folder

    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
    Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

    [Files]
    Source: "D:\Data\prg\Setup\SATELIT.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Windows\System32\FBCLIENT.DLL"; DestDir: "{app}"; Flags: ignoreversion
    Source: "D:\Data\prg\Setup\Config\*"; DestDir: "{app}\Config"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "D:\Data\prg\Setup\skin\*"; DestDir: "{app}\Skin"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "D:\Data\prg\Setup\Requête\*"; DestDir: "{app}\Requête"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "D:\Data\prg\Setup\Stat\*"; DestDir: "{app}\Stat"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "D:\Data\prg\Setup\Report\*"; DestDir: "{app}\Report"; Flags: ignoreversion recursesubdirs createallsubdirs

    ; NOTE: Don't use "Flags: ignoreversion" on any shared system files

    [Icons]
    Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
    Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
    Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
    Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

    [Code]
    var
    DbPage : TInputQueryWizardPage;
    OptPage : TInputOptionWizardPage;

    procedure InitializeWizard;
    begin
    //Configueration de la base de donnée
    DbPage := CreateInputQueryPage(wpSelectDir,
    ExpandConstant('{cm:dbpagetitle}'),
    ExpandConstant('{cm:dbpagetitleinfo}'),
    ExpandConstant('{cm:dbpagedescription}'));
    DbPage.Add(ExpandConstant('{cm:dbpageserver}'), False);
    DbPage.Add(ExpandConstant('{cm:dbpagealias}'), False);
    // Initialisation des valeurs par défaut.
    DbPage.Values[0]:= 'LOCALHOST';
    DbPage.Values[1]:= 'APP_ALIAS';
    //Selection ou non des statistiques/Requete/Report
    OptPage := CreateInputOptionPage(DbPage.ID,
    ExpandConstant('{cm:optpagetitle}'),
    ExpandConstant('{cm:optpagetitleinfo}'),
    ExpandConstant('{cm:optpagedescription}'),
    False, False);
    OptPage.Add(ExpandConstant('{cm:optpagequery}'));
    OptPage.Add(ExpandConstant('{cm:optpagestat}'));
    OptPage.Add(ExpandConstant('{cm:optpagereport}'));
    // Initialisation des valeurs
    optPage.Values[0] := False;
    optPage.Values[1] := False;
    optPage.Values[2] := True;
    end;


    function GetFBServer(param : string) : String;
    begin
    Result := DbPage.Values[0];
    end;
    function GetFBAlias(param : string) : String;
    begin
    Result := DbPage.Values[1];
    end;

    function GetIfQueryIsToBeCopied : Boolean;
    begin
    Result := DbPage.Values[0];
    end;

    function GetIfStatIsToBeCopied : Boolean;
    begin
    Result := DbPage.Values[1];
    end;

    function GetIfReportIsToBeCopied: Boolean;
    begin
    Result := DbPage.Values[2];
    end;


    [INI]
    Filename: {app}\Config\Satelit.ini; Section: PARAM; Key: NOMSERVEUR; String: {code:GetFBServer}
    Filename: {app}\Config\Satelit.ini; Section: PARAM; Key: ALIAS; String: {code:GetFBAlias}
    [Run]
    Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent
    Merci

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 829
    Points : 13 573
    Points
    13 573
    Par défaut
    Ajoute une condition Check :

    [Files]
    Source: "D:\Data\prg\Setup\Requête\*"; DestDir: "{app}\Requête"; Check: {code:GetIfQueryIsToBeCopied}; Flags: ignoreversion recursesubdirs createallsubdirs

  3. #3
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Merci Andnotor,

    Mais Innosetup refuse de me le compiler et me sort une boite d'erreur avec le message
    Line 66:
    Directive or parameter "Check" expression error: Invalid symbol '{' found.
    Pourtant si je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Source: "D:\Data\Prg\Setup\Requête\*"; DestDir: "{app}\Requête"; Flags: ignoreversion createallsubdirs recursesubdirs; Check: GetIfQueryIsToBeCopied
    Le code se compile parfaitement mais lors du lancement du setup, il me sort une erreur dès la première appel du fonction conditionnant le check
    Line 122:
    Exception: Type Mismatch.
    et à cette ligne, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function GetIfQueryIsToBeCopied : Boolean;
    begin
        Result := DbPage.Values[0]; // ici la ligne 122
    end;
    Je suis un peu perdu.
    Par contre, j'ai essayé de jouer aussi avec les components et je peux dire que cela aussi correspond à ce que je veux, mais le souci c'est comment coché les cases correspondant à chaque components dès le départ car les miens il ne sont pas coché.

    Andry

  4. #4
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Bon.
    J'ai fini par y arriver avec les Types et Components.

    Merci à vous tous.

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

Discussions similaires

  1. Un navigateur de fichiers basé sur une QListBox
    Par charlespf dans le forum Qt
    Réponses: 2
    Dernier message: 11/04/2012, 16h16
  2. [Inno Setup] Copier récursivement un répertoire
    Par Mistic100 dans le forum Outils
    Réponses: 5
    Dernier message: 21/11/2008, 22h54
  3. [inno setup] Probleme avec des fichiers.url et autres
    Par Razorbak dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 13/11/2007, 20h57

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