salut tt le monde,
comment je pux modifier le format d'affichage des monnaies, nombres... par programmation.
c'est sur question des API, mais lesquels
merci en avance.
salut tt le monde,
comment je pux modifier le format d'affichage des monnaies, nombres... par programmation.
c'est sur question des API, mais lesquels
merci en avance.
fonction APIWin32 SetLocaleInfo
ou
dans l'unité SysUtils voir :
+ Consulter TApplication.UpdateFormatSettings : boolean;var CurrencyString: string;
var CurrencyFormat: Byte;
var NegCurrFormat: Byte;
var ThousandSeparator: Char;
var DecimalSeparator: Char;
var CurrencyDecimals: Byte;
var DateSeparator: Char;
var ShortDateFormat: string;
var LongDateFormat: string;
var TimeSeparator: Char;
var TimeAMString: string;
var TimePMString: string;
var ShortTimeFormat: string;
var LongTimeFormat: string;
var ShortMonthNames: array[1..12] of string;
var LongMonthNames: array[1..12] of string;
var ShortDayNames: array[1..7] of string;
var LongDayNames: array[1..7] of string;
var SysLocale: TSysLocale;
var EraNames: array[1..7] of string;
var EraYearOffsets: array[1..7] of Integer;
var TwoDigitYearCenturyWindow: Word = 50;
var TListSeparator: Char;
Je tu remercie beaucoups pour ta réponse.Envoyé par Fabrice ROUXEL 1
pour ton 1 réponse, J'avais essayer avec l'APIWin32 SETLOCALINFO, et il marche bien seulement dans le cas ou je veux changer le pays "Français (france)" par "Arabe (Algérie)" il marche pas. comment je dois procéder pour le faire. est-ce-si possible.
Bon, pour le second, dans SysUtils, il n'ya aucun fonction qui me permet de changer les paramètres régionales, il y'a que des fonction de récupération.
mon pb, est que je veux changer automatiquement le pays de format d'affichage.
merci en avance
S'il s'agit de re-configurer de façon quasi-définitive les paramètres régionaux de Windows vaut mieux le faire directement avec Windows sans passer par Delphi.
Par contre, s'il s'agit de remplacer, pendant la durée d'utilisation d'un programme Delphi, par exemple le symbole F du Franc par un autre symbole ou une série de caractères comme Euros :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 var VieuxCurrencyString: string; procedure TForm1.FormCreate(Sender: TObject); begin VieuxCurrencyString:=CurrencyString; CurrencyString:='Euros'; // ou Dinards end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin CurrencyString:=VieuxCurrencyString; // rétablissement état initial end;
je tue remercie beaucoups,Envoyé par Gilbert Geyer
je m'explique ma situation.
mon applicaition utilise la langue arabe, et lorsque ce paramètre régional (stabdard et format) est modifie par un autre pays 'ex: français' mon application sa marche pas. les caractères arabe ne saffichent pas correctement.
moi je veux savoir pourquoi ce modification de ce paramètre change dans l'affichage des caractères tant que il concerne le format des nombres, heurs... et comment je doit procèder par programmaton pour eviter ce gene de pb durant l'execution de mon application.
merci,
Bonjour,
Si je comprends bien ton application marche chez toi mais pas chez quelqu'un d'un autre pays. Pour afficher chez moi des caratères arabes, russes ou chinois il faudrait déjà pour commercer que je possède les polices de caractères en question. Ensuite c'est ton application qui décide si les caractères doivent s'afficher de la droite vers la gauche ou l'inverse et cela doit marcher même si mon Windows est configuré pour le français car Windows s'en fout pas mal de savoir quelle est la police de caratères que j'utilise. Et c'est kif-kif pour ce qui concerne le symbole monétaire ou le format des nombres et des heures puisque c'est l'appli Delphi qui décide que les heures seront affichées au format hh:mm:ss:ms ou seulement en hh:mm.mon applicaition utilise la langue arabe, et lorsque ce paramètre régional (stabdard et format) est modifie par un autre pays 'ex: français' mon application sa marche pas. les caractères arabe ne saffichent pas correctement.
Pour avancer il faudrait régler un problème après l'autre car on a vu que s'il sagit du symbole monétaire on peut régler le problème avec une variable globale.
C'est quoi le problème du format des nombres ? Cela me turlupine car même en France on utilise les chiffres dits arabes.
Plus on en saura davantage sur la clarification des problèmes plus il y aura des chances que quelqu'un saura t'apporter des réponses.
merci pour cette explication.Envoyé par Gilbert Geyer
on va aller pas à pas. Si tu veux developper une application en arabe et qu'elle doit etre marché meme dans d'autres machines alors la langue arabe doit etre installer sur la machine desinataire et en plus dans l'option avancé de l'option régional, la langue arabe doit etre selectionnée afin d'afficher correctement les caractères arabes (pour l'instant normalement vous etes d'accord, tres bien).
Mon pb est que lorsque je change le pays (concerne standard et format) dans l'option regional sur la meme poste ou je travail, les caractères arabes ne s'affiche pas bien.
est-ce-qu'il y'a une explication pour ça. pourtant ce paramètre concerne le format des symboles monétaires...
merci en avance, et j'espère que je suis claire maintenant.
Ok sur "la langue arabe doit etre installée sur la machine desinataire"
Pour la suite "et en plus dans l'option avancée de l'option régional, la langue arabe doit etre selectionnée afin d'afficher correctement les caractères arabes" : ceci est très certainement vrai, par contre du coup je suis complètement largué car j'en suis resté avec Windows 98 où il ne figure aucune option avancée dans les paramètres régionnaux. Désolé.
pour afficher la langue arabe il faut l'installer , mais peut etre dans votre application ca marche pas , parceque votre composant ne support pas l'Unicode alors pour ce la il faut changer ca dans Regional and Language Options puis Advanced et selectioner un langue arabe et va marche bien ( Tout ca pour l'affichage du langue arabe correctement)
mais pour le date ou la Currency c'est autre chose , vous pouvez changer le nom de la pay dans Regional Options mais peut etre ca marche pas avec vous comme vous voulez mais vous pouvez avec Custmize de changer exactement qu'est ce que vous voulez , sans chamger les pays, comme la format du date ......etc
a vous
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager