Bonjour,
Je met en place, en tant que débutant, un petit prog de conjugaison, et j'utilise exclusivement, pour completer le radical des verbes, des instructions if - then et la boucle for-next.
Tous va bien pendant le déboguage, je trouve même cela très rapide, cepandant, vb 2005 express affiche des avertissements (variables soulignée en vert) ce qui n'empêche rien.
Par exemple, cette fonction :
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
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 Public Function Identifier_voy() As String Dim Tb_voy$(9) Dim verbe_nu$ Dim verbeIP$ = TextBox1.Text Dim verbeII$ = TextBox1.Text Dim i As Integer Dim lettre As String Dim tmpvar$ 'variable temporaire: comparaison de la premiere lettre du verbe ' avec les éléments du tableau. 'Gestion des verbe commençant par une voyelle (mm accentuée) Tb_voy$(0) = "a" Tb_voy$(1) = "e" Tb_voy$(2) = "é" Tb_voy$(3) = "è" Tb_voy$(4) = "ê" Tb_voy$(5) = "i" Tb_voy$(6) = "ï" Tb_voy$(7) = "o" Tb_voy$(8) = "u" Tb_voy$(9) = "y" '---------------------- If verbeIP.Substring(0, 2) = "s'" Then 'si les 2 premiers char sont "s'" verbe_nu = verbeIP.Substring(2, 1) 'verbe_nu ne garde que la premiere lettre du verbe en ER.(pour function voy) lettre = verbe_nu.Substring(0, 1) Else lettre = verbeIP.Substring(0, 1) 'lettre ne garde que la premiere lettre du verbe en ER. lettre = verbeII.Substring(0, 1) End If '----------gestion des H aspirés------------------ '-----------TAB J' pour verbes secs--------------- For i = 0 To tab_jap.Length - 1 If verbeIP.Substring(0, 2) = "s'" Then 'si il y a "s'" devant, on utilise tab_sap (S') Exit For End If If verbeIP = tab_jap(i) Then If RadioButton1.Checked Then 'btnRadio "présent" Return conjuguer_voyIP() End If If RadioButton2.Checked Then 'btnRadio "passé simple" Return conjuguer_voyIPS() End If If RadioButton5.Checked Then 'btnRadio "imparfait" Return conjuguer_voyII() End If End If Next '----------TAB S' pour verbes en "s'....." For i = 0 To tab_sap.Length - 1 If verbeIP = tab_sap(i) Then If RadioButton1.Checked Then 'btnRadio "présent" Return conjuguer_voyIP() End If If RadioButton2.Checked Then 'btnRadio "passé simple" Return conjuguer_voyIPS() End If If RadioButton5.Checked Then 'btnRadio "imparfait" Return conjuguer_voyII() End If End If Next '************************************************************************** ' Comparatif du tab_voy avec la premiere lettre du verbe. ' '************************************************************************** ' le choix des fonctions se fait ici For i = 0 To Tb_voy$.Length - 1 tmpvar = Tb_voy$(i) 'Tb_voy(i).IndexOf(lettre) If tmpvar = lettre Then If RadioButton1.Checked Then 'btnRadio "présent" Return conjuguer_voyIP() End If If RadioButton2.Checked Then 'btnRadio "passé simple" Return conjuguer_voyIPS() End If If RadioButton5.Checked Then 'btnRadio "imparfait" Return conjuguer_voyII() End If End If Next If tmpvar <> lettre Then If RadioButton1.Checked Then 'btnRadio "présent" Return Conjuguer_consonnesIP() End If If RadioButton2.Checked Then 'btnRadio "passé simple" Return Conjuguer_consonnesIPS() End If If RadioButton5.Checked Then 'btnRadio "imparfait" Return Conjuguer_consonnesII() End If End If Return "" '------------------------------------------------------------------------ End Function
Cette variable tmpvar n'empèche en rien le prog de fonctionner mais sur le total de mes fonctions, j'ai une 50ene de ce type d'avertissement:
J'ai bien vu que l'on peut désactiver les avertissements, mais la syntaxe que j'utilise doit certainement pouvoir être améliorée.La variable tmpvar est utilisée avant qu'une valeur ne lui soit assignée.
Est ce que ces avertissements ont une réelle importance ?
Comment pourrais je "optimiser" ma syntaxe ?
Partager