Code : Tout sélectionner
Enumeration
#Window_0
#ProgressBar_1
#Text_0
#Text_1
#ProgressBar_2
#Text_2
#Text_3
#ProgressBar_3
EndEnumeration
Global PB
Procedure Update(file$)
SetGadgetText(#Text_2, file$+" :")
SetGadgetState(#ProgressBar_1, 0)
If URLDownloadToFile_(0,"http://heisspiter.no-ip.com/update/"+file$, Currentdirectory$+file$,0,0) = #S_OK
PB = PB + 1
SetGadgetState(#ProgressBar_1, 1)
SetGadgetState(#ProgressBar_2, PB)
SetGadgetState(#ProgressBar_3, PB)
Else
MessageRequester("Erreur", "Impossible de mettre "+file$+" à jour ! Abandon de la mise à jour !", #MB_ICONERROR)
End
EndIf
EndProcedure
If ReadFile(2, "infos.ini")
nom$ = ReadString()
adresse$ = ReadString()
lversion$ = ReadString()
If lversion$ = ""
MessageRequester("Erreur", "Impossible de détecter la version actuelle !", #MB_ICONERROR)
End
EndIf
CloseFile(2)
Else
MessageRequester("Erreur", "Impossible de détecter la version actuelle !", #MB_ICONERROR)
End
EndIf
Currentdirectory$ = Space(255)
GetCurrentDirectory_(255, Currentdirectory$)
If Right(Currentdirectory$, 1) <> "\"
Currentdirectory$ = Currentdirectory$+"\"
EndIf
If InitNetwork() = 0
MessageRequester("Erreur", "Impossible d'initialiser le réseau !", #MB_ICONERROR)
End
EndIf
ConnectionID = OpenNetworkConnection("heisspiter.no-ip.com", 80)
If ConnectionID
If URLDownloadToFile_(0,"http://heisspiter.no-ip.com/update/Update.txt", Currentdirectory$+"Update.txt",0,0) = #S_OK
ReadFile(1, Currentdirectory$+"Update.txt")
Version$ = ReadString()
If Version$ = lversion$
MessageRequester("Erreur", "Aucune mise à jour disponible", #MB_ICONERROR)
End
Else
Rep = MessageRequester("Information", "Une mise à jour est disponible ("+Version$+"). Voulez-vous l'installer ?", #PB_MessageRequester_YesNo | #MB_ICONINFORMATION)
If Rep = 7
MessageRequester("Attention", "La mise à jour a été abandonnée !", #MB_ICONWARNING)
End
ElseIf Rep = 6
multipexe$ = ReadString()
aboutdll$ = ReadString()
updateexe$ = ReadString()
bmppack$ = ReadString()
nb=0
If multipexe$ = "1"
nb = nb+1
EndIf
If aboutdll$ = "1"
nb = nb+1
EndIf
update=0
If updateexe$ = "1"
nb=nb+1
update=1
EndIf
If bmppack$ = "1"
nb = nb+1
EndIf
If OpenWindow(#Window_0, 276, 190, 380, 121, #PB_Window_SystemMenu | #PB_Window_TitleBar , "Mise à jour")
If CreateGadgetList(WindowID())
ProgressBarGadget(#ProgressBar_1, 0, 20, 380, 20, 0, 1)
TextGadget(#Text_0, 0, 0, 100, 20, "Téléchargement de ")
TextGadget(#Text_1, 0, 40, 50, 20, "Général :")
ProgressBarGadget(#ProgressBar_2, 0, 60, 380, 20, 0, nb)
TextGadget(#Text_2, 100, 0, 280, 20, ":")
TextGadget(#Text_3, 0, 80, 60, 20, "Installation : ")
ProgressBarGadget(#ProgressBar_3, 0, 100, 380, 20, 0, nb+1)
EndIf
EndIf
PB = 0
If multipexe$ = "1"
Update("MultiP.exe")
EndIf
If aboutdll$ = "1"
Update("About.dll")
EndIf
If updateexe$ = "1"
file$ = "update.exe"
SetGadgetText(#Text_2, file$+" :")
SetGadgetState(#ProgressBar_1, 0)
CreateDirectory(Currentdirectory$+"Update")
CreateFile(3, "update.ini")
If URLDownloadToFile_(0,"http://heisspiter.no-ip.com/update/"+file$, Currentdirectory$+"update/"+file$,0,0) = #S_OK
PB = PB + 1
SetGadgetState(#ProgressBar_1, 1)
SetGadgetState(#ProgressBar_2, PB)
SetGadgetState(#ProgressBar_3, PB)
Else
MessageRequester("Erreur", "Impossible de mettre "+file$+" à jour ! Abandon de la mise à jour !", #MB_ICONERROR)
End
EndIf
EndIf
If bmppack$ = "1"
Update("bmp\bmp.pak")
EndIf
If DeleteFile(Currentdirectory$+"infos.ini")
If CreateFile(3, Currentdirectory$+"infos.ini")
WriteStringN(nom$)
WriteStringN(adresse$)
WriteStringN(Version$)
Else
MessageRequester("Attention", "Impossible de refaire 'infos.ini' ! Vous devrez vous réenregistrer au prochain lancement", #MB_ICONINFORMATION)
EndIf
Else
MessageRequester("Attention", "Impossible de supprimer 'infos.ini' ! Veuillez le supprimer manuellement.", #MB_ICONINFORMATION)
EndIf
DeleteFile(Currentdirectory$+"Update.txt")
SetGadgetState(#ProgressBar_3, nb+1)
If update = 0
MessageRequester("Information", "La mise à jour a été réalisée avec succès !", #MB_ICONINFORMATION)
ElseIf update = 1
MessageRequester("Information", "La mise à jour est bientôt terminée. Pour pouvoir correctement la terminer, veuillez relancer le lecteur Multimédia.", #MB_ICONINFORMATION)
EndIf
EndIf
EndIf
Else
MessageRequester("Erreur", "Impossible de télécharger les informations de mise à jour !", #MB_ICONERROR)
End
EndIf
Else
MessageRequester("Erreur", "Impossible de se connecter à heisspiter.no-ip.com:80 !", #MB_ICONERROR)
End
EndIf
Code : Tout sélectionner
Currentdirectory$ = Space(255)
GetCurrentDirectory_(255, Currentdirectory$)
If Right(Currentdirectory$, 1) <> "\"
Currentdirectory$ = Currentdirectory$+"\"
EndIf
update=0
If ReadFile(1, "update.ini")
CopyFile(Currentdirectory$+"update\update.exe", Currentdirectory$+"update.exe")
update=1
EndIf
If update=1
CloseFile(1)
DeleteFile(Currentdirectory$+"update.ini")
DeleteFile(Currentdirectory$+"update\update.exe")
DeleteDirectory(Currentdirectory$+"update\", "*.*", #PB_FileSystem_Recursive | #PB_FileSystem_Force)
EndIf
Et voici l'exemple d'un "Update.txt"
Voila ! Régalez vous1.00RC2
1
1
1
0
PS : Ne vous amusez pas a télécharger les fichiers qui sont sur le serveur, sinon le lecteur multimédia serait plombé avant sa sortie... De plus il est loin d'être fini ET débuggé.