S'identifier

API
Documentation
Ressources
Trucs & astuces
Libre
Gabarits
Services

Membres
Participer
Visiter

Contact

Meilleure résolution
mode 800 x 600

Optimisé pour
IE v.5
Netscape v.6
mais surtout pour
Mozilla v.1
minimum

 


Membre de Click-FR®, Réseau francophone Paie-Par-Click

GetNumberFormat

Date de parution : 06/11/2001 - Cette fiche API a été lue 1221 fois

Description

GetNumberFormat formate un nombre pour l'affichage. Par défaut, la fonction formate le nombre en accord avec le paramétrage local. Cependant, des préférences de formatage personalisées peuvent être utilisées.
En cas d'erreur, la fonction returne 0 (utiliser GetLastError pour obtenir un code d'erreur). Si la fonction réussit, elle retourne le nombre de caractères copiés dans la chaîne lpNumberStr sans inclure le caractère à terminateur nul.

Syntaxe

AppelDLL32("kernel32","GetNumberFormatA", Locale, dwFlags, &lpValue, &lpFormat, &lpNumberStr, cchNumber)

Locale
Identifiant local pour le formatage du nombre. Alternativement, cela peut être un des sémaphores suivants :
LOCALE_SYSTEM_DEFAULT = 0x400
paramètre système.
LOCALE_USER_DEFAULT = 0x800
paramètre utilisateur.
dwFlags
Si aucune structure n'est passée dans lpFormat, ce paramètre détermine le format du nombre à utiliser. S'il est mis à 0, le paramètrage local sera pris.
lpValue
Chaîne contenant le nombre à formater. Les seules caractères permis sont des numériques de 0-9 et le seul point du séparateur décimal(.). Si le nombre est négatif, le premier caractère doit être un tiret (-). Tout autre caractère est invalide.
lpFormat
Pour surclasser le paramètrage local, il faut passer par la structure NUMBERFMT qui contient l'information de formatage appropriée. Pour le formatage local, laisser ce paramètre à 0.
lpNumberStr
Chaîne à terminateur nul qui reçoit le nombre formaté.
cchNumber
Nombre de caractères pour lpNumberStr.

Compatibilité

  • Windows 95 : supporté.
  • Windows 98 : supporté.
  • Windows NT : réclame Windows NT 3.5 ou plus.
  • Windows 2000 : supporté.
  • Windows CE : réclame Windows CE 1.0 ou plus.

Remarque

Aucune

Exemple 1

// Affiche le nombre -1.234.567,89 avec deux règles de formatage :
// 1. le format spécifié en local
// 2. un format personnalisé passé par une structure à la fonction

nft est un NUMBERFMT
formatage est une chaîne asciiz sur 255 // reçoit le nombre à formater
longch est un entier long

longch = AppelDLL32("kernel32","GetNumberFormatA", 0x800, 0, "-1234567.89", 0, &formatage, 255)
Info("Format local utilisateur : "+ formatage)

// Maintenant avec un format décrit ci-dessous
// Code offert par Beaussier en ligne...
// Afficher avec trois chiffres après la virgule
nft:NumDigits = 3
// Afficher des zéros après la virgule
nft:LeadingZero = 1
// Grouper par trois chiffres pour les décimales.
nft:Grouping = 3
// Utiliser un point en séparateur (comme chez les anglo-saxons)
nft:lpDecimalSep = "."
// Utiliser une virgule pour la séparation des milliers
nft:lpThousandSep = ","
// Mettre le signe négatif à la fin du nombre
nft:NegativeOrder = 3

formatage = Complete("",255)
longch = AppelDLL32("kernel32","GetNumberFormatA", 0x800, 0, "-1234567.89", &nft, &formatage, 255)
Info("Format personnalisé : "+ formatage)


Nombre de commentaire sur GetNumberFormat : 0

Rappel : Le code fourni est compatible Windev v.4 et 5. Pour les versions supérieures, vous devez modifier le type des variables numériques. Par exemple : entier long devient entier.
Bien sûr, les marques citées sont déposées par leurs sociétés respectives. Ces pages sont à la disposition de tous, le code fourni est libre mais toute responsabilité est déclinée en cas de mauvais usage ou de dysfonctionnement.
© 2000-2005 Beaussier & Le Centre W..D..