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] Musique pendant l'installation


Sujet :

Outils Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Par défaut [Inno Setup] Musique pendant l'installation
    Bonjour,
    Bon moi je suis un débutant en programmation et la je veux créer un package d'installation avec inno setup.
    et la j'ai un petit problème pour créer un fichier d'installation avec Inno Setup.
    Mon but et d'ajouter de la music pendant l'installation.
    J’ai pu ajouter de la musique mais la y a quelque problème pour créer les boutons Play, Pause et Stop.

    J’ai cherché a l'aide de Google et j'ai trouvé se code (juste après).
    Mais moi je veux créer des boutons avec des images bmp.
    Bien comme cette installation.




    Si quelqu'un peut m'aidé SVP
    voila mon code source:
    http://www.zshare.net/download/6219084676aeb776/

    Et voila le code que j'ai trouvé à l'aide de Google:
    ---------------------------------------------------


    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    [Setup]
    AppId=A8E9D6B6-DC99-43C0-815F-FA7FFE037A0F
    AppName=Exemple Script
    AppVerName=Exemple Script 1.0 - RAHiM
    AppVersion=1.0.0.0
    AppPublisher=RAHiM.
    AppPublisherURL=http://www.site.com/
    AppSupportURL=http://www.site.com/
    AppUpdatesURL=http://www.site.com/
    DefaultDirName={pf}\Exemple Script
    DefaultGroupName=Exemple Script
    DisableReadyMemo=Yes
    OutputDir=Output\
    OutputBaseFilename=Exemple_Script_setup
    Compression=lzma/max
    InternalCompressLevel=max
    SolidCompression=true
     
     
    [Languages]
    Name: "english"; MessagesFile: "compiler:Default.isl"
     
    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone
     
    [Files]
    Source: "{tmp}\bassmod.dll"; DestDir: "{tmp}"; Flags: deleteafterinstall dontcopy
    Source: "{tmp}\_Music.xm"; DestDir: "{tmp}"; Flags: deleteafterinstall dontcopy
    Source: "{tmp}\_Button.bmp"; DestDir: "{tmp}"; Flags: deleteafterinstall dontcopy
     
    [ Code]
    var
      str: string;
      BASSMODArray: array of Char;
     
     
    const
      BASS_MUSIC_RAMP = 1;               // (Fast Tracker .xm Mode 1)
      BASS_MUSIC_RAMPS = 2;              // (Fast Tracker .xm Mode 2)
      BASS_MUSIC_LOOP = 4;               // (Loop Play Mode)
      BASS_MUSIC_FT2MOD = 16;            // (.mod FastTracker 2)
      BASS_MUSIC_PT1MOD = 32;            // (.mod ProTracker 1)
      BASS_MUSIC_SURROUND = 512;         // (surround Mode 1)
      BASS_MUSIC_SURROUND2 = 1024;       // (surround Mode 2)
     
    function BASSMOD_Init(device: Integer; freq, flags: DWORD): Boolean;
      external 'BASSMOD_Init@files:bassmod.dll stdcall delayload';
     
    function BASSMOD_MusicLoad(mem: BOOL; f: PChar; offset: DWORD; length: DWORD; flags: DWORD): Boolean;
      external 'BASSMOD_MusicLoad@files:bassmod.dll stdcall delayload';
     
    procedure BASSMOD_MusicFree();
      external 'BASSMOD_MusicFree@files:bassmod.dll stdcall delayload';
     
    function BASSMOD_MusicPlay(): Boolean;
      external 'BASSMOD_MusicPlay@files:bassmod.dll stdcall delayload';
     
    function BASSMOD_MusicPause(): Boolean;
      external 'BASSMOD_MusicPause@files:bassmod.dll stdcall delayload';
     
    function BASSMOD_MusicStop(): Boolean;
      external 'BASSMOD_MusicStop@files:bassmod.dll stdcall delayload';
     
    procedure BASSMOD_Free();
      external 'BASSMOD_Free@files:bassmod.dll stdcall delayload';
     
    procedure PlayButtonOnClick(Sender: TObject);
    var
      Name1: string;
    begin
      if not BASSMOD_MusicPlay then
      begin
        Name1 := ExpandConstant('{tmp}\_Music.xm');
        if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND) then
           BASSMOD_MusicPlay;
      end;
    end;
     
    procedure PauseButtonOnClick(Sender: TObject);
    begin
      BASSMOD_MusicPause;
    end;
     
    procedure StopButtonOnClick(Sender: TObject);
    begin
      BASSMOD_MusicStop;
      BASSMOD_MusicFree;
    end;
     
     
    procedure InitializeWizard();
     
    var
      Name1: string;
      PlayButton, PauseButton, StopButton: TButton;
     
      begin
     
        PlayButton := TNewButton.Create(WizardForm);
        PlayButton.Left := ScaleX(10);
        PlayButton.Top := WizardForm.ClientHeight - 30;
        PlayButton.Width := ScaleX(40);
        PlayButton.Height := ScaleY(20);
        PlayButton.Caption := 'Play';
        PlayButton.OnClick := @PlayButtonOnClick;
        PlayButton.Parent := WizardForm;
     
        PauseButton := TNewButton.Create(WizardForm);
        PauseButton.Left := ScaleX(60);
        PauseButton.Top := WizardForm.ClientHeight - 30;
        PauseButton.Width := ScaleX(40);
        PauseButton.Height := ScaleY(20);
        PauseButton.Caption := 'Pause';
        PauseButton.OnClick := @PauseButtonOnClick;
        PauseButton.Parent := WizardForm;
     
        StopButton := TNewButton.Create(WizardForm);
        StopButton.Left := ScaleX(110);
        StopButton.Top := WizardForm.ClientHeight - 30;
        StopButton.Width := ScaleX(40);
        StopButton.Height := ScaleY(20);
        StopButton.Caption := 'Stop';
        StopButton.OnClick := @StopButtonOnClick;
        StopButton.Parent := WizardForm;
     
        WizardForm.PasswordEdit.Visible := False;
        WizardForm.PasswordEdit.Text := '';
     
        ExtractTemporaryFile(ExpandConstant('bassmod.dll'));
        ExtractTemporaryFile(ExpandConstant('_Music.xm'));
        if not BASSMOD_Init(-1, 44100, 0)
          then
        begin
          MsgBox('BASSMOD Can''t initialize the device. Playing is not possible.', mbError, MB_OK)
            BASSMOD_Free;
        end
        else
        begin
          Name1 := ExpandConstant('{tmp}\_Music.xm');
          if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND) then
            BASSMOD_MusicPlay;
        end;
    end;

  2. #2
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 993
    Par défaut
    c'est quoi exactement le problème erreur que ta?
    ta un message ou quoi parceque comme sa faudrait chercher...

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

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Si j'ai bien compris, son problème est de faire des boutons graphiques
    et je ne sais pas faire avec le pascal de Inno Setup

  4. #4
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 993
    Par défaut
    si c'est sa faut declarer les boutons en variable global

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    code]
     
    var
      PlayButton, PauseButton, StopButton: TButton;

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

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par ThierryAIM Voir le message
    son problème est de faire des boutons graphiques
    Citation Envoyé par ouiouioui Voir le message
    si c'est sa faut declarer les boutons en variable global
    Désolé, mais je ne vois pas le rapport

  6. #6
    Membre confirmé Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Par défaut
    Citation Envoyé par ThierryAIM Voir le message
    Si j'ai bien compris, son problème est de faire des boutons graphiques
    et je ne sais pas faire avec le pascal de Inno Setup
    Oui, mon problème est comment faire des boutons.

  7. #7
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 993
    Par défaut
    effectivement je suis à coté, je croyais avoir sa mais j'y retrouve plus.

    ta essayer de mettre ton image tbitmap puis un tlabel vide par dessus autosize a false et utiliser son onclick? sinon je vois pas

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

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par ouiouioui Voir le message
    ta essayer de mettre ton image tbitmap puis un tlabel vide par dessus autosize a false et utiliser son onclick? sinon je vois pas
    oui, moi j'ai déjà essayé
    Sous IS, avec autosize = false et pas de caption le label est gris et recouvre le tbitmap, et c'est là que je n'ai jamais trouvé pour le rendre transparent
    Évidemment, le onclick fonctionne mais on ne voit pas le bitmap
    et il n'y a pas de onclick sur un tbitmap
    Pour ce que j'en sais, les contrôles de base de IS n'ont soit pas de onclick, soit pas de bitmap !
    Après, il faut peut-être chercher du coté des librairies de fonctions pour IS de quelques passionnés, mais je n'ai pas eu le temps

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

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par Rahim-US Voir le message
    Oui j'ai pu ajouter des boutons Play, pause, et stop mais pas des boutons graphique.

    J’ai posté un exemple d'une installation avec des boutons graphique + mon script dans le post 1.

    Si quelqu'un peux le modifier pour remplacer les boutons standards en boutons graphique.
    et tu crois qu'on essaie de faire quoi ????
    Si on savait, y'a longtemps qu'on t'aurait donné la solution !!
    Citation Envoyé par ThierryAIM Voir le message
    Si j'ai bien compris, son problème est de faire des boutons graphiques
    et je ne sais pas faire avec le pascal de Inno Setup
    et de ton coté, ça donne quoi, tes recherches ???

    parce que ton script, il est dispo sur internet depuis longtemps, alors je suis pas vraiment sur que tu ais bien compris ce qu'il y a dedans, et tu attends qu'on te trouves la solution à ton désir

  10. #10
    Membre confirmé Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Par défaut
    Citation Envoyé par ThierryAIM Voir le message
    et tu crois qu'on essaie de faire quoi ????
    Si on savait, y'a longtemps qu'on t'aurait donné la solution !!


    et de ton coté, ça donne quoi, tes recherches ???

    Oui ThierryAIM et merci pour les repenses.
    Seulement moi j’éssai d’expliquer mon problème parce que j’ai vu dans les postes un peux plus haut ils parlent sur les boutons standards (je croi).

  11. #11
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 993
    Par défaut
    j'ai déjà galéré pour faire sa et j'ai recherché par aquis de conscience voila ce que j'ai trouvé avec notre amis google:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ExtractTemporaryFile ('0200. Bmp ');
    Img := TBitmapImage.Create(WizardForm); 
    Img.SetBounds(ScaleX(100), ScaleY(45), 88, 31);
    Img.Bitmap.LoadFromFile(ExpandConstant( '{tmp}\0200.bmp' ));
    Img.Parent := WizardForm.WelcomeLabel2;
    Lbl := TLabel.Create(WizardForm);
    Lbl.Parent := WizardForm.WelcomeLabel2; 
    Lbl.AutoSize := False;
    Lbl.SetBounds(Img.Left, Img.Top, 88, 31); 
    Lbl.OnClick := @LblOnClick; 
    Lbl.Cursor := crHand;
    Lbl.Transparent := True;
    Lbl.Hint := '我的BLOG - http://restools.hanzify.org/' ;
    Lbl.ShowHint := True;
    source: http://translate.google.fr/translate...3DG%26num%3D50
    exemple: http://restools.hanzify.org/inno/logo/inno_logo.zip

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

Discussions similaires

  1. [Inno Setup] Detection de JRE installé
    Par JuFromParis dans le forum Outils
    Réponses: 3
    Dernier message: 12/10/2011, 11h50
  2. Réponses: 2
    Dernier message: 24/11/2010, 11h43
  3. Réponses: 13
    Dernier message: 01/12/2009, 23h13
  4. [Inno Setup] dll pendant désinstallation
    Par Calys dans le forum Outils
    Réponses: 3
    Dernier message: 30/06/2008, 19h12
  5. [Inno Setup] Variable d'environnement install path
    Par 0xYg3n3 dans le forum Outils
    Réponses: 5
    Dernier message: 19/10/2007, 10h38

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