Lecteur Multimédia

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Lecteur Multimédia

Message par Heis Spiter »

Lecteur Cd, que j'vais commencé à lancer dans le multimédia

Code : Tout sélectionner

#TOOLTIP_NO_ICON      = 0
#TOOLTIP_INFO_ICON    = 1
#TOOLTIP_WARNING_ICON = 2
#TOOLTIP_ERROR_ICON   = 3
Enumeration
  #GADGET_Play
  #GADGET_Pause
  #GADGET_Reprise
  #GADGET_Stop
  #GADGET_Eject
  #GADGET_Close
  #GADGET_Select
  #GADGET_Status
  #GADGET_Time
  #GADGET_CDAudioDrive
  #GADGET_SelectDrive
  #GADGET_CD
  #BoutonID_About
  #GADGET_Version
  #BoutonID_Quitter
  #BoutonID_play
  #BoutonID_stop
  #BoutonID_Eject
  #BoutonID_Close
  #BoutonID_Aide
  #BoutonID_open
  #SysTrayIcon_CDLAYER
  #window_princ
  #BoutonID_princ
  #Window_0
  #Gadget_2
  #Image_1
  #Gadget_3
  #Gadget_4
  #Image_Version
  #StatusBar_0
  #GADGET_License
EndEnumeration

OpenWindow(#Window_0, 0, 0, 400, 130, #PB_Window_ScreenCentered | #PB_Window_BorderLess, "SplashScreen")
CreateStatusBar(#StatusBar_0, WindowID())
AddStatusBarField(400)
StatusBarText(#StatusBar_0, 0, "Chargement")
CreateGadgetList(WindowID())
ImageGadget(#Gadget_2, 0, 0, 400, 95, LoadImage(#Image_1, "bmp\CDPLAYERssfr.bmp"))
ProgressBarGadget(#Gadget_3, 0, 95, 375, 15, 0, 100, #PB_ProgressBar_Smooth)
TextGadget(#Gadget_4, 375, 95, 25, 15, "0%", #PB_Text_Center)
Delay(10)
SetGadgetText(#Gadget_4, "01%")
SetGadgetState(#Gadget_3, 1)
StatusBarText(#StatusBar_0, 0, "Initialisation")
Delay(10)
OS = OSVersion()
If OS = #PB_OS_Windows_NT_4
  MessageRequester("Erreur", "Ce programme n'est pas comptatible Windows NT4", #MB_ICONERROR)  
  End
EndIf

Date$ = FormatDate("%dd/%mm/%yyyy", Date())
Time$ = FormatDate("%hh:%ii:%ss", Date())

NbCDDrives = InitCDAudio()
If NbCDDrives = 0
  MessageRequester("Erreur", "Aucun lecteur CD trouvé.", #MB_ICONERROR)
  End
EndIf

Sound = InitSound()
If Sound = 0
  MessageRequester("Erreur", "Impossible d'initialiser DirectX 7 ou plus. Ou votre carte son n'est pas correct.", #MB_ICONERROR)
  End
EndIf

IModule = InitModule()
If IModule = 0
  MessageRequester("Erreur", "Impossible d'ouvrir midas11.dll. Veuillez ré-insatller le lecteur CD", #MB_ICONERROR)
  End
EndIf

UseOGGSoundDecoder()

Global Null$

Procedure.s GetHourFormat(LengthInSeconds)
  Minutes = LengthInSeconds / 60
  Seconds = LengthInSeconds - Minutes * 60
  If Seconds < 10 : Null$ = "0" : Else : Null$ = "" : EndIf
  
  ProcedureReturn Str(Minutes) + ":" + Null$ + Str(Seconds)
EndProcedure

Procedure BalloonTip(WindowID, Gadget, Text$ , Title$, Icon)
  
  ToolTip=CreateWindowEx_(0,"ToolTips_Class32","",#WS_POPUP | #TTS_NOPREFIX | #TTS_BALLOON,0,0,0,0,WindowID(WindowID),0,GetModuleHandle_(0),0)
  SendMessage_(ToolTip,#TTM_SETTIPTEXTCOLOR,GetSysColor_(#COLOR_INFOTEXT),0)
  SendMessage_(ToolTip,#TTM_SETTIPBKCOLOR,GetSysColor_(#COLOR_INFOBK),0)
  SendMessage_(ToolTip,#TTM_SETMAXTIPWIDTH,0,180)
  Balloon.TOOLINFO\cbSize=SizeOf(TOOLINFO)
  Balloon\uFlags=#TTF_IDISHWND | #TTF_SUBCLASS
  Balloon\hWnd=GadgetID(Gadget)
  Balloon\uId=GadgetID(Gadget)
  Balloon\lpszText=@Text$
  SendMessage_(ToolTip, #TTM_ADDTOOL, 0, Balloon)
  If Title$ > ""
    SendMessage_(ToolTip, #TTM_SETTITLE, Icon, @Title$)
  EndIf
  
EndProcedure

Procedure Verification(fichier$)

  ; Créée le 04/11/03 : Vérifie la présence de l'image : fichier$
  ; Tente de charger l'image
  If LoadImage(fichier, fichier$) = 0
    ;Si 0 est renvoyé (Image inexistante, format non désiré,...), affichage du message
    MessageRequester("Erreur", "Impossible de charger " + fichier$ +" !", #MB_ICONERROR)
    ; Fermeture du programme
    End
  EndIf
  
EndProcedure

Procedure Jouer()

  ; Créée le 06/11/03 : Définit le type de fenetre à ouvrir en fonction de l'extension
  ; Ouvre une fenetre de demande de selection du fichier son SoundFileName$
  SoundFileName$ = OpenFileRequester("Choisissez un fichier multimédia", "", "Tous les fichiers supportés|*.mod;*.xm;*.wav;*.ogg|Fichiers Wave ou OGG|*.wav;*.ogg|Fichiers Wave|*.wav|Fichiers OGG|*.ogg|Fichiers modules|*.mod;*.xm|Fichiers *.mod|*.mod|Fichiers *.xm|*.xm", 0)
  ; si SoundFileName$ est ouvert correctement...
  If SoundFileName$
    ; extraction de l'extension (Extension$)
    Extension$ = GetExtensionPart(SoundFileName$)
    ; Si Extension$ vaut une extension de fichier son
    If Extension$ = "wav" Or "ogg"
      ; On charge le son SoundFileName$
      If LoadSound(0, SoundFileName$)
        ; et on le lit, en boucle
        PlaySound(0, 1)
        ; on affiche que le son est lu en boucle, avec une option de sortie
        MessageRequester("Son", "Lit le son (boucle)..." + Chr(10) + "Cliquer pour quitter..", 0)
      Else
        ; Sinon message d'erreur si le son est corrompu,...
        MessageRequester("Erreur", "Impossible de charger le son.", #MB_ICONERROR)
      EndIf
      StopSound(0)
    ElseIf Extension$ = "xm" Or "mod"
      ; sinon on charge le module
      If LoadModule(0, SoundFileName$)
        ; on le joue
        PlayModule(0)
        ; on annonce qu'on joue le module
        MessageRequester("Module", "Lit le module...", 0)
      Else
        ; Sinon message d'erreur si le module est corrompu,...
        MessageRequester("Erreur", "Impossible de charger le module.", #MB_ICONERROR)
      EndIf
      StopModule()
    EndIf
  EndIf

EndProcedure

Procedure.s Enregistrement(FichierINI$, Programme$) 

  ; Tente d'ouvrir le fichier *.ini ; s'il exite tout sera sauté 
  If ReadFile(0, FichierINI$) = 0 
    ; affiche un message d'avertissment 
    MessageRequester("Attention", "Ceci est votre première utilisation de " +  Programme$ + " ou le fichier " + FichierINI$ +" a été supprimé ou remplacé ! Il vous sera demandé des informations qui ne seront communiquées à personne (puisque'elle resteront sur votre PC)", #MB_ICONWARNING)  
    ; demande le nom 
    Nom : 
    Nom$ = InputRequester("Saisie des informations 1/2", "Entrez votre nom", "ici") 
    ; Vérifie que le nom n'est pas "ici" 
    If Nom$ = "ici" 
      ; s'il est "ici", il faut recommencer 
      MessageRequester("Erreur", "Votre nom ne peut être ici !", #MB_ICONERROR)
      ; Incrémente le nombre d'erreur
      ErreurN = ErreurN + 1
      ; Si il y a eu 4 erreurs pour le nom
      If ErreurN = 4
        ; Supression du droit de license...
        MessageRequester("Erreur", "Vous n'avez pas obtenu de license !", #MB_ICONERROR)
        ; ... et enregistrement dans le *.ini
        CreateFile(0, FichierINI$)
        ; du string "No"
        WriteStringN("No")
        ; Fin du programme
        CloseFile(0)
        End
      EndIf
      ; demande de recommencer
      Goto Nom 
    EndIf 
    ; Vérifie que le nom n'est pas trop long 
    If Len(Nom$) >= 200 
      ; s'il est trop long
      MessageRequester("Erreur", "Votre nom est trop long !", #MB_ICONERROR)
      ; Incrémente le nombre d'erreur
      ErreurN = ErreurN + 1
      ; Si il y a eu 4 erreurs pour le nom
      If ErreurN = 4
        ; Supression du droit de license...
        MessageRequester("Erreur", "Vous n'avez pas obtenu de license !", #MB_ICONERROR)
        ; ... et enregistrement dans le *.ini
        CreateFile(0, FichierINI$)
        ; du string "No"
        WriteStringN("No")
        ; Fin du programme
        CloseFile(0)
        End
      EndIf 
      ; demande de recommencer
      Goto Nom 
    EndIf 
    ; Vérifie que le nom n'est pas trop court
    If Len(Nom$) <= 4 
      ; s'il est trop court 
      MessageRequester("Erreur", "Votre nom est trop court !", #MB_ICONERROR)
      ; Incrémente le nombre d'erreur
      ErreurN = ErreurN + 1
      ; Si il y a eu 4 erreurs pour le nom
      If ErreurN = 4
        ; Supression du droit de license...
        MessageRequester("Erreur", "Vous n'avez pas obtenu de license !", #MB_ICONERROR)
        ; ... et enregistrement dans le *.ini
        CreateFile(0, FichierINI$)
        ; du string "No"
        WriteStringN("No")
        ; Fin du programme
        CloseFile(0)
        End
      EndIf
      ; demande de recommencer 
      Goto Nom 
    EndIf
    ; demande l'adresse e-mail 
    AdresseMail : 
    Adresse$ = InputRequester("Saisie des informations 2/2", "Entrez une adresse e-mail", "ici") 
    ; Vérifie que l'adresse e-mail n'est pas "ici" 
    If Adresse$ = "ici" 
      ; si elle est "ici", 
      MessageRequester("Erreur", "Votre adresse e-mail ne peut être ici !", #MB_ICONERROR)
      ; Incrémente le nombre d'erreur
      ErreurA = ErreurA + 1
      ; Si il y a eu 5 erreurs pour l'adresse
      If ErreurA = 5
        ; Supression du droit de license...
        MessageRequester("Erreur", "Vous n'avez pas obtenu de license !", #MB_ICONERROR)
        ; ... et enregistrement dans le *.ini
        CreateFile(0, FichierINI$)
        ; du string "No"
        WriteStringN("No")
        ; Fin du programme
        CloseFile(0)
        End
      EndIf 
      ; demande de recommencer
      Goto AdresseMail 
    EndIf 
    ; Vérifie que l'adresse e-mail n'est pas trop longue
    If Len(Adresse$) >= 250 
      ; si elle est trop longue 
      MessageRequester("Erreur", "Votre adresse e-mail est trop longue !", #MB_ICONERROR)
      ; Incrémente le nombre d'erreur
      ErreurA = ErreurA + 1
      ; Si il y a eu 5 erreurs pour l'adresse
      If ErreurA = 5
        ; Supression du droit de license...
        MessageRequester("Erreur", "Vous n'avez pas obtenu de license !", #MB_ICONERROR)
        ; ... et enregistrement dans le *.ini
        CreateFile(0, FichierINI$)
        ; du string "No"
        WriteStringN("No")
        ; Fin du programme
        CloseFile(0)
        End
      EndIf 
      ; demande de recommencer 
      Goto AdresseMail 
    EndIf
    ; Vérifie que l'adresse e-mail n'est pas trop courte
    If Len(Adresse$) <= 4 
      ; si elle est trop courte
      MessageRequester("Erreur", "Votre adresse e-mail est trop courte !", #MB_ICONERROR)
      ; Incrémente le nombre d'erreur
      ErreurA = ErreurA + 1
      ; Si il y a eu 5 erreurs pour l'adresse
      If ErreurA = 5
        ; Supression du droit de license...
        MessageRequester("Erreur", "Vous n'avez pas obtenu de license !", #MB_ICONERROR)
        ; ... et enregistrement dans le *.ini
        CreateFile(0, FichierINI$)
        ; du string "No"
        WriteStringN("No")
        ; Fin du programme
        CloseFile(0)
        End
      EndIf 
      ; demande de recommencer 
      Goto AdresseMail 
    EndIf
    ;Vérifie la présence de @
    Arobas = FindString(Adresse$, "@", 1)
    If Arobas = 0
      ;S'il n'y en a pas
      MessageRequester("Erreur", "Ceci n'est pas une adresse e-mail valide !", #MB_ICONERROR) 
      ; Incrémente le nombre d'erreur
      ErreurA = ErreurA + 1
      ; Si il y a eu 5 erreurs pour l'adresse
      If ErreurA = 5
        ; Supression du droit de license...
        MessageRequester("Erreur", "Vous n'avez pas obtenu de license !", #MB_ICONERROR)
        ; ... et enregistrement dans le *.ini
        CreateFile(0, FichierINI$)
        ; du string "No"
        WriteStringN("No")
        ; Fin du programme
        CloseFile(0)
        End
      EndIf 
      ; demande de recommencer
      Goto AdresseMail 
    EndIf
    ; Créé le fichier et stoke les infos 
    CreateFile(0, FichierINI$) 
    WriteStringN(Nom$) 
    WriteString(Adresse$) 
    ; Annonce que tout est fini 
    MessageRequester("Succés !", "Vous venez d'acquerir une license ! Elle est decernée à : " + Nom$ + " " + Adresse$ + ".", #MB_ICONINFORMATION) 
    ; ferme le fichier 
    CloseFile(0) 
  EndIf 
  ;Ouvre le fichier 
  If ReadFile(0, FichierINI$) 
    ;Lit la première ligne 
    License$ =  ReadString() 
    ;Si elle ne vaut rien 
    If License$ = "" 
      ;Affcihe du message d'erreur 
      MessageRequester("Erreur", "Vous n'avez pas obtenu de license", #MB_ICONERROR) 
      ;Fermeture du fichier 
      CloseFile(0) 
      ;Quitte le programme 
      End 
    ; Ou si elle est égale à "No"
    ElseIf License$ = "No"
      ;Affcihe du message d'erreur 
      MessageRequester("Erreur", "Vous n'avez pas obtenu de license", #MB_ICONERROR) 
      ;Fermeture du fichier 
      CloseFile(0) 
      ;Quitte le programme 
      End 
    EndIf 
    ; fermeture du fichier
    CloseFile(0) 
  EndIf 
  ;Ouvre le fichier 
  If ReadFile(0,FichierINI$) 
    ;Lit la première ligne 
    License.s =  ReadString() 
    ; fermeture du fichier
    CloseFile(0)
  EndIf 
  ;La procedure retourne maintenant le nom d'utilisateur 
  ProcedureReturn License.s

EndProcedure

Procedure about()

  Nomb$ =  Enregistrement("infos.ini", "Lecteur multimédia")
  MessageRequester("A propos de...", "Lecteur multimédia version 1.00RC1. Créé par Heis Spiter. http://www.heisspiter.tk. License à : " + nomb$ + ".", #MB_ICONINFORMATION)
  CloseFile(0)

EndProcedure

;- --- Tailles d'écritures -----
; Taille du texte de l'image 54
; Taille du texte version 49
; Taille du texte des boutons 9
;- -----------------------------
StatusBarText(#StatusBar_0, 0, "Chargement des images")
SetGadgetText(#Gadget_4, "02%")
SetGadgetState(#Gadget_3, 2)
Delay(10)
SetGadgetText(#Gadget_4, "03%")
SetGadgetState(#Gadget_3, 3)
Delay(10)
SetGadgetText(#Gadget_4, "04%")
SetGadgetState(#Gadget_3, 4)
Delay(10)
SetGadgetText(#Gadget_4, "05%")
SetGadgetState(#Gadget_3, 5)
Delay(10)
SetGadgetText(#Gadget_4, "06%")
SetGadgetState(#Gadget_3, 6)
Delay(10)
SetGadgetText(#Gadget_4, "07%")
SetGadgetState(#Gadget_3, 7)
Verification("bmp\CDPLAYERssfr.bmp")
Delay(10)
SetGadgetText(#Gadget_4, "08%")
SetGadgetState(#Gadget_3, 8)
Delay(10)
SetGadgetText(#Gadget_4, "09%")
SetGadgetState(#Gadget_3, 9)
Delay(10)
SetGadgetText(#Gadget_4, "10%")
SetGadgetState(#Gadget_3, 10)
Delay(10)
SetGadgetText(#Gadget_4, "11%")
SetGadgetState(#Gadget_3, 11)
Delay(10)
SetGadgetText(#Gadget_4, "12%")
SetGadgetState(#Gadget_3, 12)
Delay(10)
SetGadgetText(#Gadget_4, "13%")
SetGadgetState(#Gadget_3, 13)
Delay(10)
SetGadgetText(#Gadget_4, "14%")
SetGadgetState(#Gadget_3, 14)
Verification("bmp\Version.bmp")
Delay(10)
SetGadgetText(#Gadget_4, "15%")
SetGadgetState(#Gadget_3, 15)
Delay(10)
SetGadgetText(#Gadget_4, "16%")
SetGadgetState(#Gadget_3, 16)
Delay(10)
SetGadgetText(#Gadget_4, "17%")
SetGadgetState(#Gadget_3, 17)
Delay(10)
SetGadgetText(#Gadget_4, "18%")
SetGadgetState(#Gadget_3, 18)
Delay(10)
SetGadgetText(#Gadget_4, "19%")
SetGadgetState(#Gadget_3, 19)
Delay(10)
SetGadgetText(#Gadget_4, "20%")
SetGadgetState(#Gadget_3, 20)
Delay(10)
SetGadgetText(#Gadget_4, "21%")
SetGadgetState(#Gadget_3, 21)
Verification("bmp\CDPlayer16.ico")
Delay(10)
SetGadgetText(#Gadget_4, "22%")
SetGadgetState(#Gadget_3, 22)
Delay(10)
SetGadgetText(#Gadget_4, "23%")
SetGadgetState(#Gadget_3, 23)
Delay(10)
SetGadgetText(#Gadget_4, "24%")
SetGadgetState(#Gadget_3, 24)
Delay(10)
SetGadgetText(#Gadget_4, "25%")
SetGadgetState(#Gadget_3, 25)
Delay(10)
SetGadgetText(#Gadget_4, "26%")
SetGadgetState(#Gadget_3, 26)
Delay(10)
SetGadgetText(#Gadget_4, "27%")
SetGadgetState(#Gadget_3, 27)
Delay(10)
SetGadgetText(#Gadget_4, "28%")
SetGadgetState(#Gadget_3, 28)
Verification("bmp\CloseT.ico")
Delay(10)
SetGadgetText(#Gadget_4, "29%")
SetGadgetState(#Gadget_3, 29)
Delay(10)
SetGadgetText(#Gadget_4, "30%")
SetGadgetState(#Gadget_3, 30)
Delay(10)
SetGadgetText(#Gadget_4, "31%")
SetGadgetState(#Gadget_3, 31)
Delay(10)
SetGadgetText(#Gadget_4, "32%")
SetGadgetState(#Gadget_3, 32)
Delay(10)
SetGadgetText(#Gadget_4, "33%")
SetGadgetState(#Gadget_3, 33)
Delay(10)
SetGadgetText(#Gadget_4, "34%")
SetGadgetState(#Gadget_3, 34)
Delay(10)
SetGadgetText(#Gadget_4, "35%")
SetGadgetState(#Gadget_3, 35)
Verification("bmp\EjectT.ico")
Delay(10)
SetGadgetText(#Gadget_4, "36%")
SetGadgetState(#Gadget_3, 36)
Delay(10)
SetGadgetText(#Gadget_4, "37%")
SetGadgetState(#Gadget_3, 37)
Delay(10)
SetGadgetText(#Gadget_4, "38%")
SetGadgetState(#Gadget_3, 38)
Delay(10)
SetGadgetText(#Gadget_4, "39%")
SetGadgetState(#Gadget_3, 39)
Delay(10)
SetGadgetText(#Gadget_4, "40%")
SetGadgetState(#Gadget_3, 40)
Delay(10)
SetGadgetText(#Gadget_4, "41%")
SetGadgetState(#Gadget_3, 41)
Delay(10)
SetGadgetText(#Gadget_4, "42%")
SetGadgetState(#Gadget_3, 42)
Verification("bmp\PlayT.ico")
Delay(10)
SetGadgetText(#Gadget_4, "43%")
SetGadgetState(#Gadget_3, 43)
Delay(10)
SetGadgetText(#Gadget_4, "44%")
SetGadgetState(#Gadget_3, 44)
Delay(10)
SetGadgetText(#Gadget_4, "45%")
SetGadgetState(#Gadget_3, 45)
Delay(10)
SetGadgetText(#Gadget_4, "46%")
SetGadgetState(#Gadget_3, 46)
Delay(10)
SetGadgetText(#Gadget_4, "47%")
SetGadgetState(#Gadget_3, 47)
Delay(10)
SetGadgetText(#Gadget_4, "48%")
SetGadgetState(#Gadget_3, 48)
Delay(10)
SetGadgetText(#Gadget_4, "49%")
SetGadgetState(#Gadget_3, 49)
Verification("bmp\StopT.ico")
Delay(10)
ImageGadget(#Gadget_2, 0, 0, 400, 95, LoadImage(#Image_Version, "bmp\Version.bmp"))
SetGadgetText(#Gadget_4, "50%")
SetGadgetState(#Gadget_3, 50)
StatusBarText(#StatusBar_0, 0, "Chargement de la DLL")
Delay(10)
SetGadgetText(#Gadget_4, "51%")
SetGadgetState(#Gadget_3, 51)
Delay(10)
SetGadgetText(#Gadget_4, "52%")
SetGadgetState(#Gadget_3, 52)
Delay(10)
SetGadgetText(#Gadget_4, "53%")
SetGadgetState(#Gadget_3, 53)
Delay(10)
SetGadgetText(#Gadget_4, "54%")
SetGadgetState(#Gadget_3, 54)
Delay(10)
SetGadgetText(#Gadget_4, "55%")
SetGadgetState(#Gadget_3, 55)
Delay(10)
SetGadgetText(#Gadget_4, "56%")
SetGadgetState(#Gadget_3, 56)
Delay(10)
SetGadgetText(#Gadget_4, "57%")
SetGadgetState(#Gadget_3, 57)
Delay(10)
SetGadgetText(#Gadget_4, "58%")
SetGadgetState(#Gadget_3, 58)
Delay(10)
SetGadgetText(#Gadget_4, "59%")
SetGadgetState(#Gadget_3, 59)
Delay(10)
SetGadgetText(#Gadget_4, "60%")
SetGadgetState(#Gadget_3, 60)
Delay(10)
SetGadgetText(#Gadget_4, "61%")
SetGadgetState(#Gadget_3, 61)
Delay(10)
SetGadgetText(#Gadget_4, "62%")
SetGadgetState(#Gadget_3, 62)
Delay(10)
SetGadgetText(#Gadget_4, "63%")
SetGadgetState(#Gadget_3, 63)
Delay(10)
SetGadgetText(#Gadget_4, "64%")
SetGadgetState(#Gadget_3, 64)
Delay(10)
SetGadgetText(#Gadget_4, "65%")
SetGadgetState(#Gadget_3, 65)
If ReadFile(About_dll, "About.dll") = 0
  MessageRequester("Erreur", "Impossible d'ouvrir About.dll !", #MB_ICONERROR)
  End
EndIf
Delay(10)
SetGadgetText(#Gadget_4, "66%")
SetGadgetState(#Gadget_3, 66)
StatusBarText(#StatusBar_0, 0, "Chargement de l'aide")
Delay(10)
SetGadgetText(#Gadget_4, "67%")
SetGadgetState(#Gadget_3, 67)
Delay(10)
SetGadgetText(#Gadget_4, "68%")
SetGadgetState(#Gadget_3, 68)
Delay(10)
SetGadgetText(#Gadget_4, "69%")
SetGadgetState(#Gadget_3, 69)
Delay(10)
SetGadgetText(#Gadget_4, "70%")
SetGadgetState(#Gadget_3, 70)
Delay(10)
SetGadgetText(#Gadget_4, "71%")
SetGadgetState(#Gadget_3, 71)
Delay(10)
SetGadgetText(#Gadget_4, "72%")
SetGadgetState(#Gadget_3, 72)
Delay(10)
SetGadgetText(#Gadget_4, "73%")
SetGadgetState(#Gadget_3, 73)
Delay(10)
SetGadgetText(#Gadget_4, "74%")
SetGadgetState(#Gadget_3, 74)
Delay(10)
SetGadgetText(#Gadget_4, "75%")
SetGadgetState(#Gadget_3, 75)
Delay(10)
SetGadgetText(#Gadget_4, "76%")
SetGadgetState(#Gadget_3, 76)
Delay(10)
SetGadgetText(#Gadget_4, "77%")
SetGadgetState(#Gadget_3, 77)
Delay(10)
SetGadgetText(#Gadget_4, "78%")
SetGadgetState(#Gadget_3, 78)
Delay(10)
SetGadgetText(#Gadget_4, "79%")
SetGadgetState(#Gadget_3, 79)
Delay(10)
SetGadgetText(#Gadget_4, "80%")
SetGadgetState(#Gadget_3, 80)
If ReadFile(aide, "Help\CDPLAYER.chm") = 0
  MessageRequester("Attention", "Vous n'avez pas installé l'aide !", #MB_ICONWARNING)
EndIf
Delay(10)
SetGadgetText(#Gadget_4, "81%")
SetGadgetState(#Gadget_3, 81)
StatusBarText(#StatusBar_0, 0, "Chargement des informations")
Delay(10)
SetGadgetText(#Gadget_4, "82%")
SetGadgetState(#Gadget_3, 82)
Delay(10)
SetGadgetText(#Gadget_4, "83%")
SetGadgetState(#Gadget_3, 83)
Delay(10)
SetGadgetText(#Gadget_4, "84%")
SetGadgetState(#Gadget_3, 84)
Delay(10)
SetGadgetText(#Gadget_4, "85%")
SetGadgetState(#Gadget_3, 85)
Delay(10)
SetGadgetText(#Gadget_4, "86%")
SetGadgetState(#Gadget_3, 86)
Delay(10)
SetGadgetText(#Gadget_4, "87%")
SetGadgetState(#Gadget_3, 87)
Delay(10)
SetGadgetText(#Gadget_4, "88%")
SetGadgetState(#Gadget_3, 88)
Delay(10)
SetGadgetText(#Gadget_4, "89%")
SetGadgetState(#Gadget_3, 89)
Delay(10)
SetGadgetText(#Gadget_4, "90%")
SetGadgetState(#Gadget_3, 90)
Enregistrement("infos.ini", "Lecteur multimédia")
Delay(10)
SetGadgetText(#Gadget_4, "91%")
SetGadgetState(#Gadget_3, 91)
Delay(10)
SetGadgetText(#Gadget_4, "92%")
SetGadgetState(#Gadget_3, 92)
Delay(10)
SetGadgetText(#Gadget_4, "93%")
SetGadgetState(#Gadget_3, 93)
Delay(10)
SetGadgetText(#Gadget_4, "94%")
SetGadgetState(#Gadget_3, 94)
Delay(10)
SetGadgetText(#Gadget_4, "95%")
SetGadgetState(#Gadget_3, 95)
Delay(10)
SetGadgetText(#Gadget_4, "96%")
SetGadgetState(#Gadget_3, 96)
Delay(10)
SetGadgetText(#Gadget_4, "97%")
SetGadgetState(#Gadget_3, 97)
Delay(10)
SetGadgetText(#Gadget_4, "98%")
SetGadgetState(#Gadget_3, 98)
Delay(10)
SetGadgetText(#Gadget_4, "99%")
SetGadgetState(#Gadget_3, 99)
Delay(500)
SetGadgetText(#Gadget_4, "100%")
SetGadgetState(#Gadget_3, 100)
Delay(1000)
CloseWindow(#Window_0)
If OpenWindow(#window_princ, 100, 100, 380, 223, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered, "Lecteur multimédia version 1.00RC1")
  AddSysTrayIcon(#SysTrayIcon_CDLAYER, WindowID(#window_princ), LoadImage(CDPLAYER, "Bmp\CDPLAYER.ico"))
  SysTrayIconToolTip(#SysTrayIcon_CDLAYER, "Bienvenue")
  CreateToolBar(0, WindowID(#window_princ))
  ToolBarStandardButton(#BoutonID_open, #PB_ToolBarIcon_Open)
  ToolBarSeparator()
  ToolBarImageButton(#BoutonID_play, LoadImage(Playt, "Bmp\Playt.ico"))
  ToolBarImageButton(#BoutonID_stop, LoadImage(stopt, "Bmp\stopt.ico"))
  ToolBarImageButton(#BoutonID_Eject, LoadImage(eject, "Bmp\ejectt.ico"))
  ToolBarImageButton(#BoutonID_Close, LoadImage(closet, "Bmp\closet.ico"))
  ToolBarSeparator()
  ToolBarStandardButton(#BoutonID_Aide, #PB_ToolBarIcon_Help)
  ToolBarStandardButton(#BoutonID_About, #PB_ToolBarIcon_Properties)
  ToolBarToolTip(#BoutonID_play, "Jouer ce morceau")
  ToolBarToolTip(#BoutonID_Aide, "Ouvrir l'aide")
  ToolBarToolTip(#BoutonID_stop, "Arreter la lecture")
  ToolBarToolTip(#BoutonID_Eject, "Ouvrir le lecteur CD (S'il est fermé)")
  ToolBarToolTip(#BoutonID_Close, "Fermer le lecteur CD (S'il est ouvert)")
  ToolBarToolTip(#BoutonID_About, "A propos : Informations sur le produit")
  ToolBarToolTip(#BoutonID_open, "Ouvrir un fichier Wave, OGG ou un module")
  CreateMenu(1, WindowID(#window_princ))
  MenuTitle("&Fichier")
  MenuItem(#BoutonID_open, "Ouvrir" + Chr(9) + "Ctrl+O")
  MenuBar()
  MenuItem(#BoutonID_Quitter, "Quitter")
  MenuTitle("&Contrôles")
  MenuItem(2, "Lecture    Ctrl+P")
  MenuItem(3, "Stop         Ctrl+S")
  MenuTitle("&?")
  MenuItem(#BoutonID_Aide, "Aide                 F1")
  MenuItem(#BoutonID_About, "A propos de...")
  CreatePopupMenu(2)
  MenuItem(#BoutonID_princ, "Revenir à la fenetre principale")
  MenuBar()
  MenuItem(#BoutonID_Quitter, "Quitter")
  AddKeyboardShortcut(#window_princ, #PB_Shortcut_F1, #BoutonID_Aide)
  AddKeyboardShortcut(#window_princ, #PB_Shortcut_Control | #PB_Shortcut_P, #BoutonID_play)
  AddKeyboardShortcut(#window_princ, #PB_Shortcut_Control | #PB_Shortcut_O, #BoutonID_open)
  AddKeyboardShortcut(#window_princ, #PB_Shortcut_Control | #PB_Shortcut_S, #BoutonID_stop)
  If CreateStatusBar(0, WindowID(#window_princ))
    AddStatusBarField(380)
    StatusBarIcon(0, 0, LoadImage(CDPLAYER16ico, "bmp\CDPLAYER16.ico"))
    StatusBarText(0, 0, "Bienvenue ! ", 0)
  EndIf
  
  Nomb$ =  Enregistrement("infos.ini", "Lecteur multimédia")
  
  If CreateGadgetList(WindowID(#window_princ))
    Frame3DGadget(#GADGET_Play | #GADGET_Pause | #GADGET_Reprise | #GADGET_Stop | #GADGET_Eject | #GADGET_Close, 7, 22, 367, 43, "Commandes")
    ButtonGadget(#GADGET_Play, 10, 37, 60, 24, "Lecture")
    ButtonGadget (#GADGET_Pause, 70, 37, 60, 24, "Pause")
    ButtonGadget (#GADGET_Reprise, 130, 37, 60, 24, "Reprise")
    ButtonGadget (#GADGET_Stop, 190, 37, 60, 24, "Stop")
    ButtonGadget (#GADGET_Eject, 250, 37, 60, 24, "Ouvrir")
    ButtonGadget (#GADGET_Close, 310, 37, 60, 24, "Fermer")
    ComboBoxGadget(#GADGET_Select, 10, 70, 240, 400)
    TextGadget (#GADGET_Status, 10, 95, 180, 16, "Status : Arreté")
    TextGadget (#GADGET_Time, 200, 95, 240, 16, "")
    TextGadget (#GADGET_CDAudioDrive, 10, 139, 140, 24, "Selectionnez le lecteur :")
    TextGadget (#GADGET_CD, 10, 115, 185, 16, "")
    ;TextGadget (#GADGET_Version, 1, 167, 60, 20, "Version 2.58")
    TextGadget (#GADGET_License, 1, 167, 319, 20, "License à : " + Nomb$)
    ComboBoxGadget(#GADGET_SelectDrive, 150, 135, 40, 200)
    BalloonTip(WindowID(), #GADGET_Play, "Jouer ce morceau", "Lecture", #TOOLTIP_INFO_ICON)
    BalloonTip(WindowID(), #GADGET_Pause, "Mettre le lecteur en pause", "Pause", #TOOLTIP_INFO_ICON)
    BalloonTip(WindowID(), #GADGET_Reprise, "Reprendre la lecture (Après une pause)", "Reprise", #TOOLTIP_INFO_ICON)
    BalloonTip(WindowID(), #GADGET_Stop, "Arreter la lecture", "Stop", #TOOLTIP_INFO_ICON)
    BalloonTip(WindowID(), #GADGET_Eject, "Ouvrir le lecteur CD (S'il est fermé)", "Ouvrir", #TOOLTIP_INFO_ICON)
    BalloonTip(WindowID(), #GADGET_Close, "Fermer le lecteur CD (S'il est ouvert)", "Fermer", #TOOLTIP_INFO_ICON)
    BalloonTip(WindowID(), #GADGET_Select, "Choisir une piste audio du CD", "Choix de la piste", #TOOLTIP_INFO_ICON)
    BalloonTip(WindowID(), #GADGET_SelectDrive, "Choisir le lecteur du CD Audio", "Choix du lecteur", #TOOLTIP_INFO_ICON)
        
    For k = 1 To NbCDDrives
      AddGadgetItem(#GADGET_SelectDrive, -1, Left(CDAudioName(k - 1), 2))
    Next
    SetGadgetState(#GADGET_SelectDrive, 0)
    UseCDAudio(0)
    
    If NbCDDrives = 1
      DisableGadget(#GADGET_SelectDrive, 1)
    EndIf
    CloseFile(0)
  EndIf
  
  Gosub RefreshCD
  
  Repeat
    ScreenX = GetSystemMetrics_(#SM_CXSCREEN)
    ScreenY = GetSystemMetrics_(#SM_CYSCREEN)
    WinX = WindowX()
    WinY = WindowY()
    If WinX < 0
      MoveWindow(0,WinY)
    EndIf
    If WinX < 20
      MoveWindow(0,WinY)
    EndIf
    If WinY < 0
      MoveWindow(WinX,0)
    EndIf
    If WinY < 20
      MoveWindow(WinX,0)
    EndIf
    If WinX + 385 > ScreenX
      MoveWindow(ScreenX - 385,WinY)
    EndIf
    If WinX + 385 > ScreenX - 20
      MoveWindow(ScreenX - 385,WinY)
    EndIf
    If WinY + 248 > ScreenY
      MoveWindow(WinX,ScreenY - 248)
    EndIf
    If WinY + 248 > ScreenY - 20
      MoveWindow(WinX,ScreenY - 248)
    EndIf
    Repeat
      EventID = WindowEvent()
    
    If EventID = #PB_Event_SysTray
      If EventType() = #PB_EventType_LeftDoubleClick
        MessageRequester("Informations", "Lit la piste " + Str(CurrentTrack) + ". " + "Temps écoulé : " + GetHourFormat(CDAudioTrackSeconds()) + ". " + "Durée du CD : " + GetHourFormat(CDAudioLength()) + ". " + "Date : " + Date$ + Chr(10) + ", " + "heure : " + Time$, #PB_MessageRequester_Ok | #MB_ICONQUESTION)
      EndIf
    EndIf
    
    If EventID = #PB_Event_Menu
      Select EventMenuID()
        Case #BoutonID_play
          CurrentTrack = GetGadgetState(#GADGET_Select) + 1
          NextTrack = NbAudioTracks
          PlayCDAudio(CurrentTrack, NextTrack)
          ;Gosub RefreshCD
          
        Case #BoutonID_stop
          StopCDAudio()
          
        Case #BoutonID_open
          Jouer()
          
        Case #BoutonID_Eject
          EjectCDAudio(1)
          
        Case #BoutonID_Close
          EjectCDAudio(0)
          
        Case #BoutonID_Aide
          If ReadFile(aide, "Help\CDPLAYER.chm") = 0
            MessageRequester("Attention", "Vous n'avez pas installé l'aide !", #MB_ICONWARNING)
          Else
          OpenHelp("Help\CDPLAYER.chm", "")
          EndIf
          
        Case #BoutonID_About
          About()
          
        Case #BoutonID_Quitter
          Quit = 1
          
        Case 2
          CurrentTrack = GetGadgetState(#GADGET_Select) + 1
          NextTrack = NbAudioTracks 
          PlayCDAudio(CurrentTrack, NextTrack)
          ;Gosub RefreshCD
          
        Case 3
          StopCDAudio()
          
      EndSelect
    EndIf
    
    If EventID = #PB_EventGadget
      Select EventGadgetID()
          
        Case #GADGET_Play
          CurrentTrack = GetGadgetState(#GADGET_Select) + 1
          NextTrack = NbAudioTracks
          PlayCDAudio(CurrentTrack, NextTrack)
          ;Gosub RefreshCD
          
        Case #GADGET_Pause
          PauseCDAudio()
          
        Case #GADGET_Reprise
          ResumeCDAudio()
          
        Case #GADGET_Stop
          StopCDAudio()
          
        Case #GADGET_Eject
          EjectCDAudio(1)
          
        Case #GADGET_Close
          EjectCDAudio(0)
          
        Case #GADGET_SelectDrive
          UseCDAudio(GetGadgetState(#GADGET_SelectDrive))
          Gosub RefreshCD
      
        EndSelect

      Else
        If EventID = #PB_EventCloseWindow
          Quit = 1
          If CurrentTrack > 0
            StopCDAudio()
          EndIf
        EndIf   
      EndIf
    Until EventID = 0

    Delay(200)
    
     CurrentTrack = CDAudioStatus()
     If CurrentTrack > 0
       SetGadgetText(#GADGET_Status, "Lit la piste " + Str(CurrentTrack) + " (Longeur : " + GetHourFormat(CDAudioTrackLength(CurrentTrack)) + ")")
       SetGadgetText(#GADGET_Time, "Temps écoulé : " + GetHourFormat(CDAudioTrackSeconds()))
       DisableGadget(#GADGET_Play, 1)
       DisableGadget(#GADGET_Stop, 0)
       DisableGadget(#GADGET_Pause, 0)
       DisableGadget(#GADGET_Select, 0)
       DisableGadget(#GADGET_Reprise, 1)
       SetGadgetText(#GADGET_CD, "Durée du CD : " + GetHourFormat(CDAudioLength()))
       StatusBarText(0, 0, "Lit la piste " + Str(CurrentTrack), 0)
       SysTrayIconToolTip(#SysTrayIcon_CDLAYER, "Lit la piste " + Str(CurrentTrack))
     Else
       SetGadgetText(#GADGET_Status, "Status : Arreté")
       SetGadgetText(#GADGET_Time, "")
       DisableGadget(#GADGET_Play, 0)
       DisableGadget(#GADGET_Pause, 1)
       DisableGadget(#GADGET_Stop, 1)
       DisableGadget(#GADGET_Reprise, 0)
       If CurrentTrack = -1
        DisableGadget(#GADGET_CD, 1)
        DisableGadget(#GADGET_Play, 1)
        DisableGadget(#GADGET_Stop, 1)
        DisableGadget(#GADGET_Pause, 1)
        DisableGadget(#GADGET_Select, 1)
        DisableGadget(#GADGET_Reprise, 1)
        SetGadgetText(#GADGET_CD, "Durée du CD : Aucun CD")
       Else
        DisableGadget(#GADGET_CD, 0)
        DisableGadget(#GADGET_Play, 0)
        DisableGadget(#GADGET_Stop, 1)
        DisableGadget(#GADGET_Pause, 1)
        DisableGadget(#GADGET_Select, 0)
        DisableGadget(#GADGET_Reprise, 0)
        SetGadgetText(#GADGET_CD, "Durée du CD : " + GetHourFormat(CDAudioLength()))
       EndIf
       StatusBarText(0, 0, "Arreté", 0)
       SysTrayIconToolTip(#SysTrayIcon_CDLAYER, "Arreté")
       If CurrentTrack = -1
         DisableGadget(#GADGET_Select, 1)
       Else
         DisableGadget(#GADGET_Select, 0)
       EndIf
     EndIf

  Until Quit = 1

EndIf

  
For k=0 To NbCDDrives-1
  UseCDAudio(k)
  StopCDAudio()
Next

End 

;- ----------------------------------------------------------------
; SubRoutines
;

RefreshCD :
ClearGadgetItemList(#GADGET_Select)

NbAudioTracks = CDAudioTracks()
For k = 1 To NbAudioTracks
  AddGadgetItem(#GADGET_Select, -1, "Piste " + Str(k))
Next
SetGadgetState(#GADGET_Select, 0)
Return
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

il faut la lib midas11.dll :? j'ai point pu tester
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

moi aussi :(
De toute façon tu vas pouvoir continuer e nous offrir un zoli exe ? :D
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Je vous ferais un zoli exe :D
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Tiens, est-ce que je peux inclure la DLL dans l'exe ? Comme ca, ca eviterait les blèmes....
PS : Si vous désirez Midas11.dll, faites comme moi un petit tour en mule... Le retour aux origines... avant ca servait a ca... ben dis donc :D
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Répondre