Je suppose que tu auras plusieurs plages horaires dans une même semaine. Le plus simple finalement serait de regrouper ces plages dans un xml par exemple avec tes plages :
<plage>
<nom>wednesday</nom>
<debut>16</debut>
<fin>18</fin>
</plage>
<plage>
<nom>.wednesday</nom>
<debut>10</debut>
<fin>12</fin>
</plage>
Une simple classe comme celle-ci suffirait :
public class clsPlage
public nom as string
public debut as integer
public fin as integer
end class
Enfin, une classe servant de container :
public class clsPlages
public Plages as new list(of clsplage)
sub new()
end sub()
sub add(element as clsPlage)
plages.add(element)
end sub
end class
Pour y insérer des données il te suffira de faire (les noms dans un combo et les heures dans des numericupdown) :
dim Plage1 as new clsPlage with {.nom = "monday", .debut = 15, .fin = 17}
dim Plage2 as new clsPlage with {.nom = "wednesday", .debut = 10, .fin = 12}
dim mesplages as new clsplages
mesplages.add(plage1)
mesplages.add(plage2)
Tu n'auras plus qu'a sérialiser le tout dans un xml :
dim ser as new xml.serialization.xmlserializer(gettype(clsplages))
using flux as new io.streamwriter("monfichier.xml")
ser.serialize(flux,mesplages)
end using
Enfin, pour relire ton fichier il faudra le déserialiser :
dim mesplages as new clsplages
dim deser as new xml.serialization.xmlserializer(gettype(clsplages))
using flux as new io.streamreader("monfichier.xml")
mesplages = ctype(deser.deserialize(flux),clsplages)
end using
Enfin et pour finir, il faudra tester périodiquement qu'au moins un résultat soit retourné pour couper la connexion.
Dim requete As IEnumerable(Of String) = From valeur As clsPlage In mesplages.Plages _
Where valeur.nom = DateTime.Now.DayOfWeek.ToString _
And valeur.debut >= DateTime.Now.Hour _
And valeur.fin <= DateTime.Now.Hour
If requete.Count > 0 Then
'coupure internet
End If
Bon courage ...