DrJo45
Messages postés16Date d'inscriptionvendredi 7 novembre 2003StatutMembreDernière intervention23 juin 2006 11 déc. 2003 à 10:11
En .Net, je ne sais pas si on peut appeler des API Windows, mais sinon, pour formatter un nombre selon un pays quelconque, il suffit d'utiliser GetNumberFormat :
Private Declare Function GetNumberFormat Lib "kernel32" Alias "GetNumberFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, ByVal lpFormat As Long, ByVal lpNumberStr As String, ByVal cchNumber As Long) As Long
Public Function EtrFormatNum(Valeur As Double, LCID As long) As String
'Procédure pour formatter Valeur selon un paramètre régional défini par LCID (1036 pour la france et 2057 pour l'anglais UK par exemple)
Dim lsize As Long, Chaine As String
'défini la taille du buffer de retour nécessaire
lsize = GetNumberFormat(LCID, 0, Trim(Str(Valeur)), 0, "", 0)
If lsize = 0 Then Error 5
'défini un buffer de taille suffisante et formatte
Chaine = String(lsize, 0)
lsize = GetNumberFormat(LCID, 0, Trim(Str(Valeur)), 0, Chaine, lsize)
EtrFormatNum = Left(Chaine, InStr(Chaine & Chr(0), Chr(0)) - 1)
End Function
J'espère que ceci peut vous aider à utiliser les API Windows (elles font plein de choses quand on leur demande gentiment)
DrJoe
cs_tno
Messages postés4Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention23 mai 2004 3 déc. 2003 à 10:26
Avec un antislash (\) avant les virgules...
cs_tno
Messages postés4Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention23 mai 2004 3 déc. 2003 à 10:16
Oups, j'ai oublié les virgules...
myString = format (myNb, "###,###,###,###,###")
cs_tno
Messages postés4Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention23 mai 2004 3 déc. 2003 à 10:07
Et la fonction format ???
myString = format (myNb, "### ### ### ### ###")
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 2 déc. 2003 à 13:44
Oki ;-)
cs_radada
Messages postés488Date d'inscriptionlundi 15 septembre 2003StatutMembreDernière intervention21 avril 20091 2 déc. 2003 à 13:11
C'est pour dire que tu clique sur le bouton1. Comme quand tu double cliquais dans ta form sur un bouton il t'affichait le code lié à cet évènement, ben là pareil, mais en plus "Orienté Objet". Voila
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 2 déc. 2003 à 12:37
Salut, je m'y connai pas en .NET et j'aimerai savoir si c'est lui qui ajoute tout seul "ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click" et sa que sa voudrai dire si possible ;-) Mici
cs_radada
Messages postés488Date d'inscriptionlundi 15 septembre 2003StatutMembreDernière intervention21 avril 20091 2 déc. 2003 à 12:09
lol merci ; ))) :D:D
huuuuu21
Messages postés30Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention 8 septembre 2009 2 déc. 2003 à 12:02
Il suffit de demander !!!!! lol
cs_radada
Messages postés488Date d'inscriptionlundi 15 septembre 2003StatutMembreDernière intervention21 avril 20091 2 déc. 2003 à 10:14
Juste 2 remarques : tu aurais pu cocher la case .net en bas de la feuille d'ajout de source histoire qu'on le voit direct que c'est du .net. Et pas besoin de mettre le code généré automatiquement par VB.net. Ca prends trois tonnes de places pour une fonction qui fait 30 liges lignes au final ; ). Sinon, pas encore testé, pas de .Net au boulot.
11 déc. 2003 à 10:11
Private Declare Function GetNumberFormat Lib "kernel32" Alias "GetNumberFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, ByVal lpFormat As Long, ByVal lpNumberStr As String, ByVal cchNumber As Long) As Long
Public Function EtrFormatNum(Valeur As Double, LCID As long) As String
'Procédure pour formatter Valeur selon un paramètre régional défini par LCID (1036 pour la france et 2057 pour l'anglais UK par exemple)
Dim lsize As Long, Chaine As String
'défini la taille du buffer de retour nécessaire
lsize = GetNumberFormat(LCID, 0, Trim(Str(Valeur)), 0, "", 0)
If lsize = 0 Then Error 5
'défini un buffer de taille suffisante et formatte
Chaine = String(lsize, 0)
lsize = GetNumberFormat(LCID, 0, Trim(Str(Valeur)), 0, Chaine, lsize)
EtrFormatNum = Left(Chaine, InStr(Chaine & Chr(0), Chr(0)) - 1)
End Function
J'espère que ceci peut vous aider à utiliser les API Windows (elles font plein de choses quand on leur demande gentiment)
DrJoe
3 déc. 2003 à 10:26
3 déc. 2003 à 10:16
myString = format (myNb, "###,###,###,###,###")
3 déc. 2003 à 10:07
myString = format (myNb, "### ### ### ### ###")
2 déc. 2003 à 13:44
2 déc. 2003 à 13:11
2 déc. 2003 à 12:37
2 déc. 2003 à 12:09
2 déc. 2003 à 12:02
2 déc. 2003 à 10:14