Bonjour,
je voudrais optimiser un code très lourd que j'ai écris il y a quelques temps, ce code sert à charger et sauvegarder des paramètres booléens My.Settings qui déterminent si une textebox est coché ou non dans mon tableau de checkbox qui représente un calendrier de la semaine.
J'utilise donc actuellement le code suivant pour sauvegarder les paramètres de mon tableau de checkbox qui correspond aux jours et heures de la semaine :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
        If tab(0, 0).Checked Then
 
            My.Settings.LU0 = True
        Else
 
            My.Settings.LU0 = False
        End If
 
        If tab(0, 1).Checked Then
 
            My.Settings.LU1 = True
        Else
 
            My.Settings.LU1 = False
        End If
        If tab(0, 23).Checked Then
 
            My.Settings.LU23 = True
        Else
 
            My.Settings.LU23 = False
        End If
 
'...
 
 
        If tab(1, 0).Checked Then
 
            My.Settings.MA0 = True
        Else
 
            My.Settings.MA0 = False
        End If
 
        If tab(1, 1).Checked Then
 
            My.Settings.MA1 = True
        Else
 
            My.Settings.MA1 = False
        End If
Voilà donc pour la sauvegarde des cases cochées sachant que les 24 tests qui correspondent à chaque heure sont effectués pour les 7 jours...

Je voudrais donc l'optimiser ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
        Dim Jour As Byte = 0
            For Heure As Byte = 0 To 23
                If tab(Jour, Heure).Checked Then
                    My.Settings.LU + Heure
            End If
        Next
 
        Jour = 1
        For Heure As Byte = 0 To 23
            If tab(Jour, Heure).Checked Then
                My.Settings.MA + Heure
            End If
        Next
Ma question est : comment puis-je utiliser une variable pour le My.Settings ?

J'ai le même problème pour la lecture des paramètres, j'utilise actuellement le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        If My.Settings.LU0 = True Then
            tab(0, 0).Checked = True
        End If
 
        If My.Settings.LU1 = True Then
            tab(0, 1).Checked = True
        End If
 
'...
 
        If My.Settings.MA0 = True Then
            tab(1, 0).Checked = True
        End If
        If My.Settings.MA1 = True Then
            tab(1, 1).Checked = True
        End If
 
'...
Je voudrais l'optimiser ainsi mais même problème... :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
        Dim Jour As Byte = 0
        For Heure As Byte = 0 To 23
            If My.Settings.LU + Heure Then
                tab(Jour, Heure).Checked = True
            End If
        Next
 
        Jour = 1
        For Heure As Byte = 0 To 23
            If My.Settings.MA + Heure Then
                tab(Jour, Heure).Checked = True
            End If
        Next
En espérant que quelqu'un pourra m'aider !
Merci.