Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
je suis confronté à un problème dont je connais la cause mais pas comment la résoudre.
sujet:
Je souhaite construire un graphique qui prend donc en paramètre une variable de type décimal.
le problème:
Lorsque l'on personnalise le symbole décimal (de l'O.S windows) dans la personnalisation des option régionales (Panneau de configuration -> Option régionale et linguistiques) en mettant le symbole décimal à '.', le graph ne fonctionne pas car lorsque l'on construit le graphique, le compilateur ne peut l'interpréter, il attend en effet une décimal avec une virgule.
ma solution apportée:
Tenter de transtyper la variable décimale en un string, puis de remplacer le '.' en une virgule et enffet de le retranstyper en décimal. Mais il me remet un '.' automatiquement.
Quelqu'un sait comment gérer ce cas ou le contourner (peut importe le symbole décimal de l'O.S)???
Merci pour vos réponses
Dernière modification par krimo (08-04-2010 12:37:41)
Hors ligne
workaround : multiplier par un facteur assez grand (p.ex 1000) afin de faire disparaitre les décimales non significatives
puis dans la requête du graph, diviser par ce même facteur
Hors ligne
Bonjour,
C'est un problème connu sur certaine version de PB.
Normalement, ton application ne doit pas se soucier de la configuration du poste et s'adapte automatiquement en fonction d'elle.
Hors ligne
euhhh...
Et, peut-on corriger ce problème??
Dernière modification par krimo (31-03-2010 14:32:19)
Hors ligne
En téléchargeant le dernier EBF s'appliquant à ta version de Powerbuilder sur le site de Sybase.
Quelle version de PB utilises-tu ? De souvenir, j'ai connu ce problème sur certaine version 9.
Hors ligne
Je travaille sur la version 11 et j'ai aussi ce problème sur la version 11.5
Hors ligne
Bonjour,
Pour m'enlever un doute, je viens de faire le test => PB 11.2.8542 / Windows 7.
Si je change le séparateur décimal, l'affichage et la saisie des champs décimaux change bien automatiquement en fonction de la configuration des paramètres régionaux du système.
Tu ne fais pas la saisie de ton paramètre dans un champ de type string que tu transformes en décimal par la suite ?
Hors ligne
Bonjour,
je fais la saisie du décimal dans un champ texte d'une datawindows. J'utilise la méthode AcceptText() pour faire la transformation par rapport....
Je ne vois vraiment pas comment contourner ce problème...
Hors ligne
Bonjour,
Si tu utilises un champ de type décimal tu n'auras pas de problème puisque que la méthode AcceptText acceptera la valeur saisie en fonction du séparateur décimal valide sur la machine.
Hors ligne
Salut,
Euhh... alors là je ne comprend plus trop...
Comment utiliser un champs de type décimal? dans ma datawindows, le champ est de type décimal et pourtant ça ne fonctionne pas pour autant..
Hors ligne
Bonjour,
Personne pour tenter de me guider sur ce problème?
Hors ligne
peux-tu poster la syntaxe de ton DWO ?
Hors ligne
Bonjour,
Effectivement, il faut que tu nous donnes plus de détails sur ton problème : code source, type de données ...
Je soupçonne que tu passes à un moment ou un autre par une variable de type chaîne.
Hors ligne
Bonjour,
Je viens de trouver l'erreur... A un moment du programme, la méthode match est appelé où on recherche une virgule, du coup il suffisait aussi de regarder avec le point... Dur dur de reprendre le code de quelqu'un d'autre...
Merci pour votre aide
Hors ligne