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 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
| Imports System.Net
Imports Microsoft.Win32
Imports System.IO
Public Class Repair
Dim atari As Integer
Dim pcengine As Integer
Dim sega As Integer
Dim dreamcast As Integer
Dim gameboy As Integer
Dim nes As Integer
Dim supernes As Integer
Dim n64 As Integer
Dim psp As Integer
Dim ps1 As Integer
Dim ps2 As Integer
Dim console As String
Private adresses As New Queue(Of String)()
Private WithEvents httpclient As WebClient
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btn_annuler.Click
'On ferme la fenêtre
Me.Close()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btn_reparer.Click
'On ajoute les adresses de téléchargement des émulateurs à la collection d'adresses de téléchargement 'adresses'
If chk_01.Checked = True Then
adresses.Enqueue("adresse01")
atari = 1
End If
If chk_02.Checked = True Then
adresses.Enqueue("adresse02")
pcengine = 1
End If
If chk_03.Checked = True Then
adresses.Enqueue("adresse03")
sega = 1
End If
If chk_04.Checked = True Then
adresses.Enqueue("adresse04")
dreamcast = 1
End If
If chk_05.Checked = True Then
adresses.Enqueue("adresse05")
gameboy = 1
End If
If chk_06.Checked = True Then
adresses.Enqueue("adresse06")
nes = 1
End If
If chk_07.Checked = True Then
adresses.Enqueue("adresse07")
supernes = 1
End If
If chk_08.Checked = True Then
adresses.Enqueue("adresse08")
n64 = 1
End If
If chk_09.Checked = True Then
adresses.Enqueue("adresse09")
psp = 1
End If
If chk_10.Checked = True Then
adresses.Enqueue("adresse10")
ps1 = 1
End If
If chk_11.Checked = True Then
adresses.Enqueue("adresse11")
ps2 = 1
End If
End Sub
Private Sub DownloadF(dirPath$)
If adresses.Any() Then
Using wc As New WebClient
With wc
AddHandler .DownloadProgressChanged, AddressOf DownloadF_DownloadProgressChanged
AddHandler .DownloadFileCompleted, AddressOf DownloadF_DownloadFileCompleted
'L'url "s" est retournée et ensuite supprimée de la liste avec la méthode Dequeue
Dim s = adresses.Dequeue()
' On s'attarde ici à tout ce qui pourrait être utile en vue de constituer le chemin de destination du fichier téléchargé !
Dim fiName As New FileInfo(New Uri(s).AbsolutePath)
' A noter que le 3ème argument est nécessaire pour relancer la méthode DownloadF s'il reste des fichiers en file d'attente dans l'event Completed !
.DownloadFileAsync(New Uri(s), dirPath & "\" & fiName.Name, dirPath)
End With
End Using
Return
End If
End Sub
Private Sub httpclient_DownloadFileCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles httpclient.DownloadFileCompleted
Dim rep As MsgBoxResult
rep = MsgBox("La réparation est terminée !." & vbCrLf & vbCrLf & "Vous pouvez désormais utiliser le ou les émulateur(s).", vbOKOnly + vbInformation, "Téléchargement terminé !")
If rep = vbOK Then
lbl_01.Visible = False
lbl_emu.Visible = False
lbl_dl.Visible = False
ProgressBar1.Visible = False
chk_01.Enabled = True
chk_02.Enabled = True
chk_03.Enabled = True
chk_04.Enabled = True
chk_05.Enabled = True
chk_06.Enabled = True
chk_07.Enabled = True
chk_08.Enabled = True
chk_09.Enabled = True
chk_10.Enabled = True
chk_11.Enabled = True
btn_annuler.Enabled = True
btn_reparer.Enabled = True
chk_01.Checked = False
chk_02.Checked = False
chk_03.Checked = False
chk_04.Checked = False
chk_05.Checked = False
chk_06.Checked = False
chk_07.Checked = False
chk_08.Checked = False
chk_09.Checked = False
chk_10.Checked = False
chk_11.Checked = False
atari = 0
pcengine = 0
sega = 0
dreamcast = 0
gameboy = 0
nes = 0
supernes = 0
n64 = 0
psp = 0
ps1 = 0
ps2 = 0
End If
End Sub
Private Sub httpclient_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles httpclient.DownloadProgressChanged
ProgressBar1.Value = e.ProgressPercentage
lbl_dl.Text = e.ProgressPercentage.ToString & " %"
lbl_emu.Text = console
End Sub
Private Sub Repair_Load(sender As Object, e As EventArgs) Handles MyBase.Load
atari = 0
pcengine = 0
sega = 0
dreamcast = 0
gameboy = 0
nes = 0
supernes = 0
n64 = 0
psp = 0
ps1 = 0
ps2 = 0
End Sub
End Class |
Partager