Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
Savez vous s'il est possible de paramétrer PB pour que l'affichage des numéros de semaine dans le contrôle MontCalendar
respecte la norme ISO 8601?
Par défaut, le 1er janvier 2016 est indiqué comme étant sur la semaine 1 de 2016; or, comme ce n'est pas un jeudi, nous devrions être sur la semaine 53
de 2015, et la semaine 1 de 2016 devrait commencer le 04/01/2016.
J'ai regardé s'il y avait un paramétrage à mettre, par exemple, dans le PB.INI, mais je ne trouve rien sur la question.
Pour information, je suis en PB12.1.
Merci d'avance pour votre aide.
Hors ligne
Bug dans la V12 ? Ici sur un 10.5 et 11.5 (sans rien faire de particulier à part cocher l'option pour montrer les numéros de semaines), le 1er janvier 2016 est bien affiché sur la semaine 53 de 2015.
Dernière modification par seki (05-04-2016 09:30:52)
Hors ligne
Je vais finir par le croire effectivement: J'ai fait faire le test chez deux clients distincts équipés en PB12.6, et ils ont aussi le problème.
J'avais espéré que ce soit lié aux paramétrages régionaux Windows, vu que le contrôle natif de Microsoft est piloté ainsi, mais rien n'y fait:
monthcalendar-control-displaying-non-iso-8601-compliant-week-numbers
Si quelqu'un équipé en PB12 ou plus pouvait me dire s'il constate également le problème chez lui (Ou mieux, qu'il arrive à contourner le problème),
qu'il n'hésites pas à le signaler
Hors ligne
Je dois pouvoir ressortir un 12.1 ou 12.5 pour tester. Je te dirai ce que ça donne.
EDIT: c'est bizarre ton problème :
j'ai bricolé le même test sur PB10.5 et 12.5 : afficher le MonthCalendar avec les semaines, et j'exécute ces 2 programmes sur un XP virtuel (où les .exe ont été créés) et sur le Win7 qui héberge l'XP.
Les 2 exe fonctionnent correctement sur XP, et le même bug du premier janvir 2016 en semaine 1 est visible sur Win7.
Il faudrait tester avec un exe produit à partir de MSVC pour être sûr mais j'ai l'impression que ce n'est peut-être pas la faute de PB pour une fois...
Dernière modification par seki (05-04-2016 20:43:45)
Hors ligne
Je peux t'assurer que ton problème et les tests que j'ai fait ont piqué ma curiosité !
Quelques points intéressants :
- la seule option au niveau de l'utilisation du contrôle lorsqu'on le met dans une fenêtre c'est d'utiliser le style MCS_WEEKNUMBERS pour montrer les semaines (correspond à la checkbox dans PB), on ne peut pas influencer le calcul par les styles
- ici un dev fait remarquer que le résulat du calendrier diffère en fonction de l'affichage des thèmes, mais la question est restée sans réponse
- du coup j'ai pu vérifier en redéployant le test et en décochant "new visual style controls" que le même calendrier pouvait se comporter correctement ou non avec les mêmes réglages : en n'utilisant pas les thèmes, les semaines sont correctes
- au final, ce fil m'a mis sur la voie : une clé de registre permet de modifier le comportement du calendrier (du moins de sa version récente utilisée dans Win7 et +) pour lui faire coller à nos réglages locaux : HKEY_CURRENT_USER\Control Panel\International\iFirstWeekOfYear (non accessible par les options des réglages régionnaux )
La doc stipule :
- 0 - Week containing January 1 is the first week of the year.
- 1 - First full week following January 1 is the first week of the year.
- 2 - First week containing at least four days is the first week of the year.
Pour nous c'est donc la valeur 2, et je viens de voir que ça m'avait aussi corrigé l'affichage de mon calendrier alternatif
Ouf !
Hors ligne
Merci pour ce retour Seki, ça marche Nickel.
Cette histoire de clé de registre non accessible au niveau des réglages régionaux est quand même incompréhensible,
d'autant plus que, quand on regarde l'écran de paramétrage en question,
on constate que Microsoft a volontairement laissé de la place pour ajouter l'affichage de ce paramètre,
mais même en Windows 10 ce paramètre n'est pas affiché 00000 pépites
Hors ligne
foon a écrit:
Cette histoire de clé de registre non accessible au niveau des réglages régionaux est quand même incompréhensible,
d'autant plus que, quand on regarde l'écran de paramétrage en question,
on constate que Microsoft a volontairement laissé de la place pour ajouter l'affichage de ce paramètre,
En fait, on a vu avec xlat que dans cette zone "vide" il y a des contrôles cachés pour gérer le type de calendrier (grégorien, et ??) et une option pour le calendrier hégirien (on peut les rendre visibles avec des outils comme "wincheat" ou "uuspy" )
foon a écrit:
mais même en Windows 10 ce paramètre n'est pas affiché
Xlat a remarqué que l'outil T-Clock dont je parlais permet justement de modifier ce paramètre depuis son propre écran de réglages.
Hors ligne