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] Virtual Text , Log


Sujet :

Outils Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut [Inno Setup] Virtual Text , Log
    Bonjour,

    Désolé d'avance pour la compréhension de ce qui est écris, j'ai essayé de faire au mieux ...

    Dans mon ancien Installeur de logiciel, fait avec InstallJammer, a un certain moment nous créons un fichier log, et dans ce fichier log, nous affichons des virtuals texts

    vous allez surement mieux comprendre avec les photos

    La première image montre la création du fichier log via du tcl, je pense que l'on peut crée un fichier log dans InnoSetup via "SetupLooging"
    Nom : log.png
Affichages : 433
Taille : 12,1 Ko

    Avant de pouvoir écrire dans le fichier log, il donne un nom Virtuel à une commande spécifié. Pour cette exemple, il donne le Nom : "StopServiceG" à la commande qui stop les Services du FirebirdGuardian : Voici la photo pour mieux comprendre :

    Nom : log2.png
Affichages : 404
Taille : 17,6 Ko

    Ensuite,une fois la création du fichier log réaliser, il ouvre le fichier log pour écrire dedans, il utilise les Noms virtuels donnés précédemments . J'ai trouvé "SaveStringtoFile" pour pouvoir écrire dedans, mais la encore, je suis sur de rien :/
    Nom : log1.png
Affichages : 391
Taille : 9,0 Ko

    Voila le résultat final de ce qui est écris dans le fichier de Log (Il y a plusieurs commandes regroupées) :

    Nom : log3.PNG
Affichages : 394
Taille : 6,8 Ko

    Et voila le résultat final une fois que l'installation est terminer, cela créé un fichier .txt contenant cela :

    Nom : Log4.PNG
Affichages : 589
Taille : 10,4 Ko

    Je sais pas si cela est très clair ...
    Mais, pensez-vous qu'il est possible de réaliser cela sur InnoSetup, et si oui de quel façon, sachant que je trouve peu d'exemples et de docs ?

    Voici mon code pour Stop le Services FirebirdGuardian :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     if FileExists(ExpandConstant('{sys}\sc.exe')) Then        
     Shellexec('open',ExpandConstant('{sys}\sc.exe'),'stop FirebirdGuardianDefaultInstance','', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
    Merci d'avance
    Cordialement
    Ayouten

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    J'ai bien avancée dans mon probème, j'ai compris comment obtenir le message final !
    Il me suffisait d'exécuter la ligne de commande : "sc stop FirebirdGuardianDefaultInstance" pour obtenir le message, ainsi de suite pour les autres ...

    Citation Envoyé par Ayouten Voir le message

    Nom : Log4.PNG
Affichages : 589
Taille : 10,4 Ko
    Cependant, je ne sais toujours pas comment écriré cela dans un fichier log ou bien un txt, et pourtant j'ai cherché ...

    Quelqu'un aurait-il une proposition ??
    Cordialement
    Ayouten

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    je sais que DOS c'est vieux mais à l'époque il existait des pipes et autres astuces étonnamment cela existe toujours
    exemple : ipconfig /all > ipconfig.txtreste à trouver le moyen de faire un append à un fichier log existant

    Il existe aussi CLIP ipconfig /all | CLIP pour obtenir le résultat dans le presse papier
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    je crois que je me suis mal exprimé

    Enfaite j'ai remarquer que en faisant "sc stop FireBirdGuardianDefaultInstance" dans le CMD, cela m'affichait le message que je souhaite avoir dans mon fichier log ou .txt

    Or, je ne sais pas comment écrire cela dans InnoSetup, sachant que j'ai déjà test ShellExec et que cela marchait pas (Je ne dois pas taper la commande a la main depuis mon CMD, cela doit être automatque, à chaque fois que j'installe mon logiciel)
    Et cerise sur le gâteau ... je ne sais pas non plus comment l’écrire dans le fichier log ou .txt

    Je sais pas si tu avais compris cela...
    Désolé de mettre mal exprimé
    Cordialement
    Ayouten

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Ayouten Voir le message
    je crois que je me suis mal exprimé
    Non
    Je pensais qu'écrire SC stop FireBirdGuardianDefaultInstance>log.txt ou sc stop FireBirdGuardianDefaultInstance|clip (à partir de là il y a de nombreuses facilités code pour coller le presse papier dans un fichier) pourraient fonctionner (je n'ai pas essayé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shellexec('open',ExpandConstant('{sys}\sc.exe'),'stop FirebirdGuardianDefaultInstance > logfb.txt','', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
    donnerai quoi ? (bien sûr il faut donner un nom de fichier avec chemin mais dans le principe)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Ça pourrait être quelque chose comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var
      Output :AnsiString;
     
    begin
      ShellExec('open', 'sc.exe', ExpandConstant('stop FirebirdGuardianDefaultInstance > {tmp}\logfb.txt'),'', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
     
      if LoadStringFromFile(ExpandConstant('{tmp}\logfb.txt'), Output) then
        Log(Output);
    end;

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    Bonjour et merci pour vos réponses !

    Cependant, dites moi si j'ai tort, j'ai remarqué dans la doc que le {tmp} est un fichier temporaire qui est supprimé lors de la fermeture de l'installation et de la fermeture de la désinstallation . Or,je voudrais que celui-ci reste visible constamment .

    De plus, juste pour une confirmation,

    Le fichier logfb.txt est bien créé via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [Setup]
     
    SetupLogging = yes
    Cordialement
    Ayouten

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour
    Citation Envoyé par Ayouten Voir le message
    j'ai remarqué dans la doc que le {tmp} est un fichier temporaire qui est supprimé lors de la fermeture de l'installation et de la fermeture de la désinstallation . Or,je voudrais que celui-ci reste visible constamment .
    Moi je proposais un simple fichier log avec indication qu'il fallait ajouter un chemin quelconque, comme il était question d'ajouter ce fichier à un fichier log la solution d'Andonotor me paraît correcte
    le mettre dans le répertoire temporaire pour pouvoir le lire dans un ensemble de lignes (output), lignes mises ensuite dans le fichier log du setup.
    dites moi si j'ai tort,
    AMHA Oui
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    AH, dans ce cas la je dois avoir un soucis, car je ne trouve pas le fichier en question ( Pourtant je suis bien dans le bon répertoire "C:\temp" ) et la ligne
    ne s'exécute pas

    Hâte que se stage finissent

    Cordialement
    Ayouten

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Le fichier log est créé dans le répertoire temporaire de l'utilisateur : C:\Users\<User>\AppData\Local\Temp.

    Tu ne peux choisir un autre répertoire que par ligne de commande : MonSetup.exe /LOG="c:\...\MonSetup.log".

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    ah, j'ai enfin trouvé le fichier

    Cependant, le fichier ne contient en aucun cas ce qu'on lui demande d'afficher, celui contient mon debug Output

    Petit extrait :

    2019-06-25 11:06:08.328 Filename: C:\Program Files (x86)\Firebird\Firebird_2_0\bin\instreg.exe
    2019-06-25 11:06:08.328 Parameters: instreg install -z
    2019-06-25 11:06:08.390 Process exit code: 1
    2019-06-25 11:06:08.390 -- Run entry --
    2019-06-25 11:06:08.390 Run as: Current user
    2019-06-25 11:06:08.390 Type: Exec
    2019-06-25 11:06:08.390 Filename: C:\Program Files (x86)\Firebird\Firebird_2_0\bin\instsvc.exe
    2019-06-25 11:06:08.390 Parameters: instsvc install -auto -classic -guardian -z
    2019-06-25 11:06:08.468 Process exit code: 1
    2019-06-25 11:06:08.468 -- Run entry --
    2019-06-25 11:06:08.468 Run as: Current user
    2019-06-25 11:06:08.468 Type: Exec
    2019-06-25 11:06:08.484 Filename: C:\Program Files (x86)\Firebird\Firebird_2_0\bin\instsvc.exe
    2019-06-25 11:06:08.484 Parameters: instsvc start
    2019-06-25 11:06:08.531 Process exit code: 1
    2019-06-25 11:06:08.531 -- Run entry --
    2019-06-25 11:06:08.531 Run as: Current user
    2019-06-25 11:06:08.531 Type: Exec
    2019-06-25 11:06:08.531 Filename: C:\windows\system32\sc.exe
    2019-06-25 11:06:08.531 Parameters: config FirebirdServerDefaultInstance start = auto
    2019-06-25 11:06:08.593 Process exit code: 1639
    2019-06-25 11:06:08.593 -- Run entry --
    2019-06-25 11:06:08.593 Run as: Current user
    2019-06-25 11:06:08.593 Type: Exec
    2019-06-25 11:06:08.593 Filename: C:\windows\system32\sc.exe
    2019-06-25 11:06:08.593 Parameters: query FirebirdGuardianDefaultInstance
    2019-06-25 11:06:08.671 Process exit code: 0
    2019-06-25 11:06:08.671 -- Run entry --
    2019-06-25 11:06:08.671 Run as: Current user
    2019-06-25 11:06:08.671 Type: Exec
    2019-06-25 11:06:08.671 Filename: C:\windows\system32\sc.exe
    2019-06-25 11:06:08.671 Parameters: query FirebirdServerDefaultInstance
    2019-06-25 11:06:08.780 Process exit code: 0
    2019-06-25 11:06:08.780 Need to restart Windows? No
    2019-06-25 11:06:17.048 Deinitializing Setup.
    2019-06-25 11:06:17.064 Log closed.
    cela ne m'affiche pas ce que je souhaite avoir :/

    Cordialement
    Ayouten

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Il faudra alors exécuter la commande par l'invité de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExec('open', 'cmd.exe', ExpandConstant('/C sc.exe stop FirebirdGuardianDefaultInstance > {tmp}\logfb.txt'),'', SW_HIDE, ewWaitUntilTerminated, ErrorCode);

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    Ah parfait cela fonctionne a la perfection

    Je voudrais aussi utiliser cela pour la section [RUN]

    Ou j'effectue aussi des lignes de commandes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Filename: "{pf32}\Firebird\Firebird_2_0\bin\instclient.exe"; Parameters: "install gds32" ;WorkingDir: "{pf32}\Firebird\Firebird_2_0\bin" ; Flags: runhidden skipifdoesntexist waituntilterminated ;
    Est t'il possible de le faire aussi ? pour que cela s'affiche dans le même dossier ?

    Cordialement
    Ayouten

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Il faudra traiter l'événement AfterInstall :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    [Run]
    Filename: "cmd.exe"; Parameters: "/C ""{pf32}\Firebird\Firebird_2_0\bin\instclient.exe"" install gds32 > {tmp}\logfb.txt" ;Flags: runhidden skipifdoesntexist waituntilterminated; AfterInstall: LogOutput('{tmp}\logfb.txt')
     
    [Code]
    procedure LogOutput(aFileName :string);
    var
      Output :AnsiString;
    begin
      if LoadStringFromFile(aFileName, Output) then
        Log(Output);
    end;

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    hum je pense que je l'utilise mal ...

    J'ai donc réalisé ce que tu m'as donné

    Voici ce que j'ai fait dans le [RUN]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Filename: "{pf32}\Firebird\Firebird_2_0\bin\instclient.exe"; Parameters: "instclient install gds32" ;WorkingDir: "{pf32}\Firebird\Firebird_2_0\bin" ; Flags: runhidden skipifdoesntexist waituntilterminated ;
    Filename: "cmd.exe"; Parameters: "/C ""{pf32}\Firebird\Firebird_2_0\bin\instclient.exe"" install gds32 > {tmp}\logfb.txt"; Flags: runhidden skipifdoesntexist waituntilterminated; AfterInstall: LogOutput('{tmp}\logfb.txt')
    Et dans mon Code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure LogOutput(aFileName :string);
    var
    Output :AnsiString;
    begin
        if LoadStringFromFile(aFileName, Output) then
        Log(Output);
    end;
    Et voila ce qui ce réalise dans mon Log
    2019-06-25 15:21:19.857 -- Run entry --
    2019-06-25 15:21:19.857 Run as: Current user
    2019-06-25 15:21:19.857 Type: Exec
    2019-06-25 15:21:19.872 Filename: cmd.exe
    2019-06-25 15:21:19.872 Parameters: /C "C:\Program Files (x86)\Firebird\Firebird_2_0\bin\instclient.exe" install gds32 > C:\Users\stage_be\AppData\Local\Temp\is-5FDUK.tmp\logfb.txt
    2019-06-25 15:21:19.966 Process exit code: 0
    Faut t'il que je supprime ma première ligne FileName ??

    Cordialement
    Ayouten

  16. #16
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    c'est peut-être LoadStringsFromFile qu'il faudrait utiliser avec un TArrayString
    puis une boucle pour lire les différentes lignes pour les passer par la fonction Log

    à moins que, en cherchant un peu on puisse faire tout en une seule instruction SaveStringsToUTF8File
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    j'ai donc testé avec SaveStringToFile, rien n'y change :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure LogOutput(aFileName :string);
    var
    Output :AnsiString;
    begin
    if SaveStringToFile(aFileName, Output, True) then
    Log(Output);
    end;
    j'ai modifié certain petit truc dans mon [RUN], cela peut t'il venir de la ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Filename: "{pf32}\Firebird\Firebird_2_0\bin\instclient.exe"; Parameters: "instclient install gds32" ;WorkingDir: "{pf32}\Firebird\Firebird_2_0\bin" ; Flags: runhidden skipifdoesntexist waituntilterminated ;
     
    Filename: "{sys}\cmd.exe"; Parameters: "/C ""{pf32}\Firebird\Firebird_2_0\bin\instclient.exe"" instclient install gds32 > {tmp}\logfb.txt"; Flags: runhidden skipifdoesntexist waituntilterminated; AfterInstall: LogOutput('{tmp}\logfb.txt');
    Cordialement
    Ayouten

  18. #18
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    J'avais écrit que LoadStringsFromFile me semblait plus adapté !

    Voilà une proposition que je ne peux pas tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure LogOutput(aFileName :string);
    var
     Output : TArrayString;
     i : integer;
    begin
        if LoadStringsFromFile(aFileName, Output) then
         for i:=Low(Output) to High(Output) do  Log(Output[i]);
    end;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure LogOutput(aFileName :string);
    var
     Output : TArrayString;
    begin
        if LoadStringsFromFile(aFileName, Output) then
           SaveStringsToUTF8File({log},Output,true);
    end;
    et en UTF8 pour les accents !
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  19. #19
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    J'avais écrit que LoadStringsFromFile me semblait plus adapté !
    !
    bizarre,je cherchais la doc et je tombais toujours sur LoadStringFromFile sans le "s"

    Merci je vais tester cela demain

    Cordialement
    Ayouten

  20. #20
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 41
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par SergioMaster Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure LogOutput(aFileName :string);
    var
     Output : TArrayString;
     i : integer;
    begin
        if LoadStringsFromFile(aFileName, Output) then
         for i:=Low(Output) to High(Output) do  Log(Output[i]);
    end;
    Tout d'abord lors de mes test, le TArrayString est un type inconnu, j'ai donc utilisé le TArrayOfString, je sais sur de ce que j'ai fait la xD
    Ensuite J'ai donc tester celui-ci en 1er, le low ainsi que le high sont des identifieurs inconnus ...

    Citation Envoyé par SergioMaster Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure LogOutput(aFileName :string);
    var
     Output : TArrayString;
    begin
        if LoadStringsFromFile(aFileName, Output) then
           SaveStringsToUTF8File({log},Output,true);
    end;
    Concernant celui-ci, j'ai aussi utilisé le TArrayOfString,
    Et j'ai mis a la place de log le nom de mon fichier

    Voila ce que cela a donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure LogOutput(aFileName :string);
    var
    Output : TArrayOfString ;
    i : integer;
    begin
        if LoadStringsFromFile (aFileName, Output) then
           SaveStringsToUTF8File('{tmp}\logfb.txt',Output,true);
    end;
    Toujours le même problème, le SaveStringToUTF8File ne s'exécute pas :'(
    Comment est-ce possible :'(

    Cordialement
    Ayouten

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/09/2010, 09h02
  2. [Inno Setup] Lire valeur edit.text
    Par karitoo dans le forum Outils
    Réponses: 2
    Dernier message: 17/10/2007, 12h25
  3. Delphi et inno setup
    Par drakes dans le forum Outils
    Réponses: 10
    Dernier message: 17/09/2004, 10h15
  4. [INNO SETUP][ORACLE] Installer le client Oracle avec Inno
    Par AnnSo dans le forum Bases de données
    Réponses: 11
    Dernier message: 19/08/2004, 16h21
  5. Bde Inno Setup et Test
    Par Fxg dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/07/2004, 14h35

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