MaitreTeTe
Messages postés37Date d'inscriptionjeudi 4 février 2016StatutMembreDernière intervention 1 décembre 2018
-
5 mars 2016 à 02:44
vb95
Messages postés3440Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention29 novembre 2023
-
5 mars 2016 à 18:30
Bonjour,
Je me demmande pourquoi que mon text box n'affiche jamais le non du fichier sauf quand c'est le dernier fichier a télécharger. Je m'explique. Je télécharge un fichier texte "update" avec une liste de lient et de nom de fichier. La première ligne est le nombre de fichier multiplié par 3. ensuite je lit 3 ligne différente par fichier qui est 1: le nom du ficher 2:la source et 3:La destination. J'utilise donc la fonction Do while not EOF() pour lire jusqu'à la fin du ficher puis passé a la prochaine étape. A chaque fichier, j'indique le fichier en cours de téléchargement dans un label mais on dirais qu'il ne l'affiche pas a moins qu'il sois rendu a lire la fin du fichier. Voila le code.
Open "update\" & version1 & ".nasd" For Input As #1
Input #1, uptotal
progress.Max = Val(uptotal) * 3
Do While Not EOF(1)
Input #1, upnom
telfic.Caption = upnom
Sleep (500)
Input #1, uplink
Input #1, updest
DownloadFile uplink, "update\temp\" & upnom
progress.Value = progress.Value + 1
Loop
Close #1
donc si je télécharge 6 fichiers, c'est donc seulement le dernier fichier qui sera afficher dans le label (telfic.Caption)
Je pense alors peu-être utilisé à la place:
Open "update\" & version1 & ".nasd" For Input As #1
Input #1, uptotal
progress.Max = Val(uptotal) * 3
Je tien a précisé que la ligne de code " If not EOF(1) then " c'est une supposition de script puisque je ne sais pas comment vraiment donné cette instruction!
MaitreTeTe
Messages postés37Date d'inscriptionjeudi 4 février 2016StatutMembreDernière intervention 1 décembre 2018 5 mars 2016 à 04:48
Bon, a force d'analysé la situation, j'ai compris que les changement visuel ce fond a la fin du scrip. J'ai réussit a faire ce que je voullais en utilisant des timer. C'est peu-être pas la meilleur des solutions, mais pour un novice qui n'as pas touché a VB6 depuis 10 ans, sa va faire le travail !
vb95
Messages postés3440Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention29 novembre 2023165 5 mars 2016 à 12:40
bonjour
après
telfic.Caption = upnom
mets un
telfic.Refresh()
Cela force le label à se réafficher immédiatement
MaitreTeTe
Messages postés37Date d'inscriptionjeudi 4 février 2016StatutMembreDernière intervention 1 décembre 2018
>
vb95
Messages postés3440Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention29 novembre 2023 5 mars 2016 à 16:13
J'ai esseillé.......... je suis bouche bé ! lollll Sa marche ! Je vais refaire le codage en propre avec refresh ! Merci infiniment
vb95
Messages postés3440Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention29 novembre 2023165
>
MaitreTeTe
Messages postés37Date d'inscriptionjeudi 4 février 2016StatutMembreDernière intervention 1 décembre 2018 5 mars 2016 à 18:30
La version la plus propre serait celle-ci
Open "update\" & version1 & ".nasd" For Input As #1
Input #1, uptotal
progress.Max = Val(uptotal) * 3
Do While Not EOF(1)
Input #1, upnom
telfic.Caption = upnom
telfic.refresh()
Input #1, uplink
Input #1, updest
DownloadFile uplink, "update\temp\" & upnom
progress.Value = progress.Value + 1
Loop
Close #1
On évite les Goto qui produisent du code "spaghetti" difficile à suivre !