Page 1 sur 1
[..] Petit téléchargeur puis installeur..
Posté : ven. 17 oct. 2008 15:59
par ethneldryt
Bonjour, voici un petit screen de ce que j'aimerai.
Au tout début ,le bouton "cancel" doit être "démarrer".
Une fois le bouton démarrer cliquer, le bouton ce change en cancel.
Si l'on clique dessus pendant le téléchargement, le téléchargement s'annule
Ce qui est dans la zone blablabla, doit être lue d'un fichier texte (info.txt).
Ensuite plus bas la barre de progression du téléchargement.
Le téléchargement doit s'effectuer dans un dossier temp qui sera créer lors du lancement du programme et se supprimera a la fermeture ou s'y l'on clic sur cancel pendant le téléchargement ainsi tout ce qu'il contient.
Une fois le téléchargement terminer , a la place de "TÉLÉCHARGEMENT EN COUR" il y ai écrit "INSTALLATION EN COUR" et le bouton devient "ok" non cliquable. La barre de progression n'est pas nécessaire(a mon que cela sois faisable).
Le programme s'installera silencieusement (un simple shellexecute() suffira).
Une fois l'installe terminer, le bouton "ok" devient cliquable et le programme se ferme.
Merci de votre aide.
ps: et si possible une musique MP3 qui se lance au lancement du programme, et non en boucle, merci

Re: [..]Petit telechargeur puis installeur..
Posté : ven. 17 oct. 2008 17:25
par L4crymal
Exemple d'un Downloader
Code : Tout sélectionner
#NoTrayIcon
$url = "http://objects.abcvisiteurs.com/fr/design1/banners/468x60_4.gif"
$filename = "setup.php"
$filesize = InetGetSize ( $url )
InetGet($url, $filename, 1, 1)
ProgressOn("Download progress", "", "0%")
While @InetGetActive
$percent = Int((@InetGetBytesRead / $filesize) * 100)
ProgressSet( $percent, $percent & " %")
Sleep(100)
Wend
Voila pour le code après :
-Pour lance la musique :
http://www.autoitscript.fr/autoit3/docs ... ndPlay.htm
-Pour lire le fichier texte:
http://www.autoitscript.fr/autoit3/docs ... leRead.htm
Pour le bouton annuler rien de plus simple tu peut le faire ( a moins que tu tienne à se qu'on te montre )
Et pour le programme qui s'installe tu peut me dire + d'info sur le genre de programme ?
Re: [..] Petit téléchargeur puis installeur..
Posté : sam. 18 oct. 2008 00:52
par ethneldryt
Helas je n'ai pas le niveau pour fair ca..
Sinon pas obligatoirement une install. Le programme se lance quand on clic sur "ok".
Re: [..] Petit téléchargeur puis installeur..
Posté : lun. 20 oct. 2008 09:39
par ethneldryt
voila ce que j'ai fais :
► Afficher le texte
Code : Tout sélectionner
$url = "http://monsite/setup.exe"
$filename = "setup.exe"
$filesize = InetGetSize ( $url )
GUICreate("", 350,330)
FileOpen("test.txt",0)
$test=FileRead("test.txt")
FileClose("test.txt")
GUISetState()
InetGet($url, $filename, 1, 1)
ProgressOn("Download progress", "", "0%")
While @InetGetActive
$percent = Int((@InetGetBytesRead / $filesize) * 100)
ProgressSet( $percent, $percent & " %")
Sleep(100)
Wend
Alors avec ca le message dans le texte ne s'affiche pas.
Est t'il possible d'intergrer la progressbar dans la gui et non dans une autre fenetre? Merci.
Re: [..] Petit téléchargeur puis installeur..
Posté : mar. 21 oct. 2008 11:35
par ethneldryt
Voila, j'ai bien avancer mais le problème c'est que j'aimerai la progressbar dans la gui sous les label. Merci
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstants.au3>
$gui = GUICreate("TITRE", 500, 450)
$image = GUICtrlCreatePic("data.jpg",20,0,460,70)
$message = GUICtrlCreateEdit("", 5, 80, 490, 280)
$opentxt = FileOpen("data.txt",0)
$readtxt = FileRead("data.txt")
$closetxt = FileClose("data.txt")
$data = GUICtrlSetData($message,$readtxt)
$bouttonDL = GUICtrlCreateButton("Telecharger",380,380,100,50)
$Texte1 = GUICtrlCreateLabel("EN ATTENTE",30,380)
$url = "http://monsite.fr/prog.exe"
$filesize = InetGetSize ( $url )
GUIsetState()
While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg = $GUI_EVENT_CLOSE
Exit
Case $nMsg = $BouttonDL
GUICtrlDelete($Texte1)
$Texte2 = GUICtrlCreateLabel("TELECHARGEMENT EN COUR...",30,380)
InetGet($url, "test.exe", 1, 1)
ProgressOn("", "", "0%")
While @InetGetActive
$percent = Int((@InetGetBytesRead / $filesize) * 100)
ProgressSet( $percent, $percent & " %")
Sleep(100)
Wend
ProgressOff()
GUICtrlDelete($bouttonDL)
GUICtrlDelete($Texte2)
$Texte3 = GUICtrlCreateLabel("TELECHARGEMENT OK",30,380)
$bouttonOK = GUICtrlCreateButton("Ok",380,380,100,50)
while 1
$nMsg2 = GUIGetMsg()
Select
Case $nMsg2 = $bouttonOK
GUICtrlDelete($Texte3)
$Texte4 = GUICtrlCreateLabel("LANCEMENT...",30,380)
sleep(1000)
ShellExecute("test.exe")
Exit
EndSelect
WEnd
EndSelect
WEnd
Re: [..] Petit téléchargeur puis installeur..
Posté : mar. 21 oct. 2008 19:43
par ethneldryt
Bonsoir. J'ai fouiller la doc et pas moyen de comprendre comment integrer la progressbar. Merci de votre aide..
Re: [..] Petit téléchargeur puis installeur..
Posté : mar. 21 oct. 2008 20:57
par DJSIR
1. Tu as trouvé sa :
http://www.autoitscript.fr/forum/viewto ... sbar#p6179 ?
2. Au lieu de mettre sa :
Code : Tout sélectionner
$message = GUICtrlCreateEdit("", 5, 80, 490, 280)
$opentxt = FileOpen("data.txt",0)
$readtxt = FileRead("data.txt")
$closetxt = FileClose("data.txt")
met :
Code : Tout sélectionner
$message = GUICtrlCreateEdit("Ligne A...." & @CRLF & "Ligne B...", 5, 80, 490, 280)
Pour finir, je t'ai fait un exemple :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstants.au3>
Dim $file_downloaded = @TempDir & "\iSafari.exe"
$gui = GUICreate("iSafari DOWNLOAD", 500, 450)
GUISetBkColor(0xFFFFFF)
$image = GUICtrlCreatePic("iSafari.jpg",20,0,460,70)
$message = GUICtrlCreateEdit("Bonjour." & @CRLF & "Bienvenue dans l'installation de iSafari", 5, 80, 490, 280)
$bouttonDL = GUICtrlCreateButton("Telecharger",380,380,100,50)
$Texte1 = GUICtrlCreateLabel("En attente",30,380)
$url = "http://djsir.free.fr/uploads/iSafari.exe"
$filesize = InetGetSize ( $url )
GUIsetState()
While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg = $GUI_EVENT_CLOSE
Exit
Case $nMsg = $BouttonDL
GUICtrlDelete($Texte1)
$Texte2 = GUICtrlCreateLabel("Téléchargement en cours de iSafari...",30,380)
InetGet($url, @TempDir & "iSafari.exe", 1, 1)
ProgressOn("", "", "0%")
While @InetGetActive
$percent = Int((@InetGetBytesRead / $filesize) * 100)
ProgressSet( $percent, $percent & " %")
Sleep(100)
Wend
ProgressOff()
GUICtrlDelete($bouttonDL)
GUICtrlDelete($Texte2)
$Texte3 = GUICtrlCreateLabel("Téléchargement terminé !",30,380)
MsgBox ( 16, "iSafari DOWNLOAD","Téléchargement terminé !")
$bouttonOK = GUICtrlCreateButton("Ok",380,380,100,50)
while 1
$nMsg2 = GUIGetMsg()
Select
Case $nMsg2 = $bouttonOK
GUICtrlDelete($Texte3)
$Texte4 = GUICtrlCreateLabel("Lancement du fichier...",30,380)
sleep(1000)
ShellExecute($file_downloaded)
Exit
EndSelect
WEnd
EndSelect
WEnd
PS : Je ne fait pas de pub pour iSafari

Re: [..] Petit téléchargeur puis installeur..
Posté : mar. 21 oct. 2008 21:39
par jbnh
@djsir, ton progress n'est pas intégré a la gui.... donc en gros je pense que c'est pas possible, sauf si tu crée un barre de download (une image) et tout les 10 % tu edit l'image avec une barre en plus par exemple....
Re: [..] Petit téléchargeur puis installeur..
Posté : mar. 21 oct. 2008 23:15
par ethneldryt
Au pire si c'est pas integrable, mettre la barre de progress bar en bas a gauche de la fenetre GUI. C'est possible ca? Car suivant la resolution de l'ecran sa risque de changer.
Dans data.Txt j'aimerai lire la ligne 8 et jusqu'a la fin du texte. J'ai essayer filereadline("data.Txt",8+) mais ca marche pas lol.
Re: [..] Petit téléchargeur puis installeur..
Posté : mer. 22 oct. 2008 06:53
par DJSIR
Déja, explique moi pourquoi tu veux faire un fichier data.txt et rajouter une dizaine de lignes alors qu'un seul input suffit !
Et pour ta musique utilise :
Code : Tout sélectionner
Dim $son = @tempdir & "son.wav"
FileInstall("son.wav", @tempdir & "son.wav", 1)
SoundPlay($son);on lance le son
Re: [..] Petit téléchargeur puis installeur..
Posté : mer. 22 oct. 2008 09:14
par ethneldryt
Je veux lire dans data.txt la ligne 8 et plus.
Sinon la progressbar du telechargement est fesable avec GUICtrlCreateProgress() ?
Voila mon nouveau code :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstants.au3>
#NoTrayIcon
$gui = GUICreate("TITRE", 500, 480,-1,-1,0x00800000)
$image = GUICtrlCreatePic("data.jpg",20,0,460,70)
$message = GUICtrlCreateEdit("", 5, 80, 490, 280)
$opennews= FileOpen("news.ini",0)
$news = FileRead("news.dat")
$closenews = FileClose("news.dat")
$readurl = IniReadSection("data.ini","FILE URL")
For $i1 = 1 To $readurl[0][0]
$url = $readurl[$i1][1]
next
$readsite = IniReadSection("data.ini","FILE SITE")
For $i2 = 1 To $readsite[0][0]
$site = $readsite[$i2][1]
next
$data = GUICtrlSetData($message,$news)
$bouttonDL = GUICtrlCreateButton("Telecharger",380,380,100,50)
$bouttonx = GUICtrlCreateButton("[x]",460,430,20,20)
$bouttons = GUICtrlCreateButton("[@]",435,430,20,20)
$Texte1 = GUICtrlCreateLabel("EN ATTENTE",30,380)
$filesize = InetGetSize ( $url )
DirCreate("c:\~temp~")
GUIsetState()
While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg = $GUI_EVENT_CLOSE
DirRemove("c:\~temp~",1)
Exit
Case $nMsg = $bouttonx
DirRemove("c:\~temp~",1)
Exit
Case $nMsg = $bouttons
ShellExecute("C:\Program Files\Internet Explorer\iexplore.exe",$site)
Case $nMsg = $BouttonDL
GUICtrlDelete($Texte1)
$Texte2 = GUICtrlCreateLabel("TELECHARGEMENT EN COUR...",30,380)
GUICtrlDelete($bouttonDL)
$bouttonSTOP = GUICtrlCreateButton("Annuler",380,380,100,50)
InetGet($url, "c:\~temp~\run.exe", 1, 1)
ProgressOn("", "", "0%",-1,-1,1)
While @InetGetActive
$percent = Int((@InetGetBytesRead / $filesize) * 100)
ProgressSet( $percent, $percent & " %")
Sleep(100)
$nMsgST = GUIGetMsg()
Select
Case $nMsgST = $bouttonSTOP
DirRemove("c:\~temp~",1)
Exit
Case $nMsgST = $bouttonx
DirRemove("c:\~temp~",1)
Exit
Case $nMsgST = $bouttons
ShellExecute("C:\Program Files\Internet Explorer\iexplore.exe",$site)
EndSelect
Wend
ProgressOff()
GUICtrlDelete($bouttonSTOP)
GUICtrlDelete($Texte2)
$Texte3 = GUICtrlCreateLabel("TELECHARGEMENT OK",30,380)
$bouttonOK = GUICtrlCreateButton("Ok",380,380,100,50)
while 1
$nMsg2 = GUIGetMsg()
Select
Case $nMsg2 = $GUI_EVENT_CLOSE
DirRemove("c:\~temp~",1)
Exit
Case $nMsg2 = $bouttonOK
GUICtrlDelete($Texte3)
$Texte4 = GUICtrlCreateLabel("LANCEMENT...",30,380)
sleep(1000)
ShellExecuteWait("c:\~temp~\run.exe")
DirRemove("c:\~temp~",1)
Exit
Case $nMsg2 = $bouttonx
DirRemove("c:\~temp~",1)
Exit
Case $nMsg2 = $bouttons
ShellExecute("C:\Program Files\Internet Explorer\iexplore.exe",$site)
EndSelect
WEnd
EndSelect
WEnd