hurt14
Messages postés33Date d'inscriptionvendredi 2 janvier 2004StatutMembreDernière intervention11 août 2006
-
31 août 2005 à 19:17
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
31 août 2005 à 20:06
Voilà j'ai crée une application qui gère le shutdown de Windows (je sais c'est de la merde mais bon...). Je veux gérer plusieures langues sur ce programme. Pour ce faire j'ai associé des entier à chacune des langues concernées: Anglais = 1; Français = 2; Allemand = 3; et Italien = 4. Jusqu'ici tout va bien. Le problème survient quand je clique sur le bouton (du menu) mnuUpdateVersion. Ce bouton a pour fonction de vérifier la langue actuelle du programme et ensuite émettre une MsgBox (messagebox) dans la langue courante. Mais au lieu de m'afficher cette messagebox rien ne se passe. Après avoir fait plusieures modifications j'en suis arrivé à la conclusion que ce sont mes clauses If à me jouer des sales tours. Est ce que quelqu'un pourrait m'aider ? Voici le code:
Form Load:
Private Sub Form_Load()
Dim d As Integer
Dim h As Integer
Dim m As Integer
Dim s As Integer
Dim wsmver As String
Dim lang As Integer
Fameux bouton du menu mnuUpdateVersion:
Private Sub mnuUpdateVersion_Click()
Dim message As String
Dim title As String
Dim messagebox As Variant
'English
If lang = 1 Then
message = "Do you want to open the update webpage with Internet Explorer ?"
title = "Open update webpage"
messagebox = MsgBox(message, vbQuestion + vbYesNo, title)
If messagebox = vbYes Then
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE http://xoomer.virgilio.it/charlesfracchia/", vbNormalFocus
Else
frmUpdateWebpage.Show
End If
'Français
ElseIf lang = 2 Then
message = "Voulez-vous ouvrir la page web avec Internet Explorer ?"
title = "Ouvrir la page de mis à jour"
messagebox = MsgBox(message, vbQuestion + vbYesNo, title)
If messagebox = vbYes Then
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE http://xoomer.virgilio.it/charlesfracchia/", vbNormalFocus
Else
frmUpdateWebpage.Show
End If
'Deutsch
ElseIf lang = 3 Then
message = "Voulez-vous ouvrir la page web avec Internet Explorer ?"
title = "Ouvrir la page de mis à jour"
messagebox = MsgBox(message, vbQuestion + vbYesNo, title)
If messagebox = vbYes Then
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE http://xoomer.virgilio.it/charlesfracchia/", vbNormalFocus
Else
frmUpdateWebpage.Show
End If
'Italiano
ElseIf lang = 4 Then
message = "Volete aprire la pagina web con Internet Explorer ?"
title = "Ouvrir la page de mis à jour"
messagebox = MsgBox(message, vbQuestion + vbYesNo, title)
If messagebox = vbYes Then
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE http://xoomer.virgilio.it/charlesfracchia/", vbNormalFocus
Else
frmUpdateWebpage.Show
End If
End If
End Sub
Merci d'avance et j'espère que ma noobitude ne vous exaspère pas trop.
Hurt 14 [javascript:Insert_Emoticon('/imgs2/smile_sleepy.gif'); ]
A voir également:
Problème de bouton inactif alors qu'il est censé produire une messagebox dans un
hurt14
Messages postés33Date d'inscriptionvendredi 2 janvier 2004StatutMembreDernière intervention11 août 2006 31 août 2005 à 19:51
Merci beaucoup Daniel pour cette réponse brève et éclairée.
Toutefoi je suis maintenant confronté à une MsgBox vide ... Dans toutes les langues la MsgBox n'a ni titre ni message. Je suis perplexe..
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 31 août 2005 à 19:59
j'avoue être très étonné que çà fonctionne.
ton LANG est déclaré dans FormLoad.
il ne sera donc pas existant (si Option explicit) soit = 0 (sans) au Mnu_Click
hurt14
Messages postés33Date d'inscriptionvendredi 2 janvier 2004StatutMembreDernière intervention11 août 2006 31 août 2005 à 20:01
cad à part l'allemand ? Moi toutes mes langues ont le même problème, quand je clique sur le bouton la messagebox qui sort est vide ! Reagarde ce que ça donne quand je clique sur le Update Version: ici
hurt14
Messages postés33Date d'inscriptionvendredi 2 janvier 2004StatutMembreDernière intervention11 août 2006 31 août 2005 à 20:04
Y a bien un problème sur la langue. PCPT dit que c'est à cause du fait que c'est déclaré dans form_load. le truc c'est que je veux utiliser la valeur dans tout le programme je fais comment pour declarer lang pour que je puisse l'utiliser dans tout mon prog ? (variable globale)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 31 août 2005 à 20:06
http ->
Vous n'êtes pas autorisé à afficher cette page
bref oui c'est ligique, cf mon précédent post.
ta variable Lang = 0, donc le select case est évité, et aucune valeur n'est mise dans le MsgBox, puisque ses variables sont incrémentés/initialisées dans le select case.
il faut juste déclarer Lang en Déclarations générales