Dim tab(7, 23) As CheckBox Dim x Dim y = 425 For jour = 0 To tab.GetLength(0) - 1 x = -8 For heure = 0 To tab.GetLength(1) - 1 x = x + 20 tab(jour, heure) = New CheckBox() tab(jour, heure).Left = x tab(jour, heure).Top = y tab(jour, heure).Width = 20 Me.Controls.Add(tab(jour, heure)) Next y = y + 20 Next
If tab(0, 0).Checked = True And DateTime.Now.DayOfWeek = DayOfWeek.Monday And DateTime.Now.Hour = 0 Then CoupureInternet() My.Settings.LU0 = True 'Pour retenir que la checkbox est cochée Else RemiseInternet() My.Settings.LU0 = False End If
Dim tab(6, 23) As CheckBox
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Structure Scheduler Public day As String Public fromto As String End Structure Private listscheduler As New List(Of Scheduler)
Private Sub SaveSheduler() For Each item As Scheduler In listscheduler My.Settings.list.Add(item.day) My.Settings.list.Add(item.fromto) Next My.Settings.Save() End Sub
Private listhours As New List(Of String) Private Sub BuildListhours() Dim hoursstr As String For iter As Int32 = 0 To 23 hoursstr = iter.ToString("D2") & "h:00 - " & (iter + 1).ToString("D2") & "h:00" listhours.Add(hoursstr) Next End Sub Private Sub DesignScheduler() Dim index, width, height As Integer Dim weekday() As String = {"Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"} BuildListhours() index = 0 height = 0 DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders width = 0 For col As Integer = 0 To 6 DataGridView1.Columns.Add("col" & col.ToString, weekday(col)) DataGridView1.Columns(col).ReadOnly = True width += DataGridView1.Columns(col).Width() Next For Each item As String In listhours DataGridView1.Rows.Add() DataGridView1.Rows(index).HeaderCell.Value = item height += DataGridView1.Rows(index).Height index += 1 Next DataGridView1.AllowUserToAddRows = False DataGridView1.AllowUserToResizeRows = False DataGridView1.AllowUserToResizeColumns = False DataGridView1.Width = width + DataGridView1.RowHeadersWidth DataGridView1.Height = height DataGridView1.Location = New Point(3, 3) End Sub Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick If e.ColumnIndex < 0 Or e.RowIndex < 0 Then Exit Sub End If DataGridView1.ClearSelection() If DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Style.BackColor = Color.RoyalBlue Then DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Style.BackColor = Color.White Else DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Style.BackColor = Color.RoyalBlue End If End Sub
<plage> <nom>wednesday</nom> <debut>16</debut> <fin>18</fin> </plage> <plage> <nom>.wednesday</nom> <debut>10</debut> <fin>12</fin> </plage>
public class clsPlage public nom as string public debut as integer public fin as integer end class
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
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)
dim ser as new xml.serialization.xmlserializer(gettype(clsplages)) using flux as new io.streamwriter("monfichier.xml") ser.serialize(flux,mesplages) end using
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
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
Dim requete As IEnumerable(Of clsPlage) = ....
Imports System.IO Imports System.Xml.Serialization Public Enum week sunday monday tuesday wednesday thursday friday saturday End Enum Public Class Scheduler Public dayscheduller As week Public hours(23) As Boolean End Class Private Listscheduler As New List(Of Scheduler) Private coloryes As Color = Color.White Private colorno As Color = Color.CornflowerBlue Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load DesignScheduler() InitListSheduler() LoadSheduler(Application.StartupPath & "SaveScheduler.xml") FillSheduller() ExecuteScheduler() end sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'sauvegarder SaveScheduler() End Sub Private Sub BuildListhours() Dim hoursstr As String For iter As Int32 = 0 To 23 hoursstr = iter.ToString("D2") & "h:00 - " & (iter + 1).ToString("D2") & "h:00" listhours.Add(hoursstr) Next End Sub Private Sub DesignScheduler() Dim index, width, height As Integer Dim weekday() As String = {"Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"} BuildListhours() index = 0 height = 0 DataGridView2.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders width = 0 For col As Integer = 0 To 6 DataGridView2.Columns.Add("col" & col.ToString, weekday(col)) DataGridView2.Columns(col).ReadOnly = True width += DataGridView2.Columns(col).Width() Next For Each item As String In listhours DataGridView2.Rows.Add() DataGridView2.Rows(index).HeaderCell.Value = item height += DataGridView2.Rows(index).Height index += 1 Next For Each ro As DataGridViewRow In DataGridView2.Rows For Each cell As DataGridViewCell In ro.Cells cell.Tag = True Next Next DataGridView2.AllowUserToAddRows = False DataGridView2.AllowUserToResizeRows = False DataGridView2.AllowUserToResizeColumns = False DataGridView2.Width = width + DataGridView2.RowHeadersWidth DataGridView2.Height = height DataGridView2.Location = New Point(3, 3) End Sub Private Sub DataGridView2_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView2.CellClick If e.ColumnIndex < 0 Or e.RowIndex < 0 Then Exit Sub End If DataGridView2.ClearSelection() If DataGridView2.Rows(e.RowIndex).Cells(e.ColumnIndex).Style.BackColor = colorno Then DataGridView2.Rows(e.RowIndex).Cells(e.ColumnIndex).Style.BackColor = coloryes DataGridView2.Rows(e.RowIndex).Cells(e.ColumnIndex).Tag = True Else DataGridView2.Rows(e.RowIndex).Cells(e.ColumnIndex).Style.BackColor = colorno DataGridView2.Rows(e.RowIndex).Cells(e.ColumnIndex).Tag = False End If End Sub Private Sub SaveScheduler() Dim myFileStream As New StreamWriter(Application.StartupPath & "SaveScheduler.xml") For itercol As Integer = 0 To DataGridView2.Columns.Count - 1 For iterro As Integer = 0 To DataGridView2.Rows.Count - 1 Listscheduler(itercol).hours(iterro) = DirectCast(DataGridView2.Rows(iterro).Cells(itercol).Tag, Boolean) Next Next Dim serialXML As Xml.Serialization.XmlSerializer = Nothing Try serialXML = New Xml.Serialization.XmlSerializer(GetType(Collections.Generic.List(Of Scheduler))) serialXML.Serialize(myFileStream, Listscheduler) Catch ex As Exception MessageBox.Show(ex.Message) End Try myFileStream.Close() End Sub Private Sub InitListSheduler() Dim dayweek As Array Listscheduler.Clear() dayweek = System.Enum.GetValues(GetType(week)) For Each item As week In dayweek Dim myday As New Scheduler myday.dayscheduller = item For iter As Integer = 0 To myday.hours.Count - 1 myday.hours(iter) = True Next Listscheduler.Add(myday) Next End Sub Private Sub FillSheduller() For Each item As Scheduler In Listscheduler For iterrow As Integer = 0 To item.hours.Count - 1 DataGridView2.Rows(iterrow).Cells(item.dayscheduller).Tag = item.hours(iterrow) If item.hours(iterrow) Then DataGridView2.Rows(iterrow).Cells(item.dayscheduller).Style.BackColor = coloryes Else DataGridView2.Rows(iterrow).Cells(item.dayscheduller).Style.BackColor = colorno End If Next Next End Sub Private Sub LoadSheduler(ByVal xmlfile As String) Dim myFileStream As StreamReader = Nothing Dim serialXML As Xml.Serialization.XmlSerializer = Nothing Try If System.IO.File.Exists(xmlfile) Then Listscheduler.Clear() serialXML = New Xml.Serialization.XmlSerializer(GetType(Collections.Generic.List(Of Scheduler))) myFileStream = New StreamReader(xmlfile) Listscheduler = DirectCast(serialXML.Deserialize(myFileStream), Collections.Generic.List(Of Scheduler)) myFileStream.Close() End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub ExecuteScheduler() ' bloque ou permet l'internet For Each item As Scheduler In Listscheduler If item.dayscheduller = DateTime.Now.DayOfWeek Then For iter As Integer = 0 To item.hours.Count - 1 If item.hours(iter) And iter = DateTime.Now.Hour Then MessageBox.Show("Play") End If If Not item.hours(iter) And iter = DateTime.Now.Hour Then MessageBox.Show("CUT") End If Next End If Next End Sub
Dim tab(6, 23) As CheckBox Dim x As Integer Dim y = 104 For jour = 0 To tab.GetLength(0) - 1 x = 187 For heure = 0 To tab.GetLength(1) - 1 x = x + 30 tab(jour, heure) = New CheckBox() tab(jour, heure).Left = x tab(jour, heure).Top = y tab(jour, heure).Width = 15 Me.Controls.Add(tab(jour, heure)) Next y = y + 35 Next
Dim Collone As Integer = DateTime.Now.DayOfWeek - 1 Dim Heure As Integer = DateTime.Now.Hour If (Now.DayOfWeek = DayOfWeek.Sunday) Then Collone = 6 End If If tab(Collone, Heure).Checked And InternetDesactive = False Then CoupureInternet() InternetDesactive = True ElseIf tab(Collone, Heure).Checked = False And InternetDesactive = True Then RemiseInternet() InternetDesactive = False End If
Après m'être rendu compte que le code était lourdnon sans rire?