Bonjour à tous,

J'utilise au sein d'un programme le code suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
 
void ******::Get****FormattedDate(CString& datestring, SYSTEMTIME time)
{
	CString result;
	datestring.Empty();
	DWORD err= 0;
	LCID lcid = LOCALE_USER_DEFAULT;
	int length = GetDateFormat(lcid, DATE_SHORTDATE, &time, NULL, NULL, 0);
    if(length == 0)
    { /* error */
		err = GetLastError();
    } /* error */
    else
    { 
         LPTSTR p = result.GetBuffer(length);
         if(!::GetDateFormat(lcid, DATE_SHORTDATE, &time, NULL, p, length))
         {
             err = GetLastError();
             result.ReleaseBuffer();
         }
         else
         {
            result.ReleaseBuffer();
         }
     }
	datestring = result;
}
Malheureusement, j'ai beau changer les settings sur allemand ou anglais, rien n'y fait, le format retourné est toujours le même .
En faisant quelques recherches, je suis tombé sur le site suivant http://www.flounder.com/localeexplorer.htm , il permet de tester la fonctionnalité ainsi que de récupérer le code source utilisé. Lui fonctionne très bien et retourne un résultat différent selon que je suis en anglais/francais/allemand, un copier coller vers mon code par contre ne fonctionne pas .

La seule différence que je vois se trouve au niveau de la compilation, "LocalExplorer" est compilé avec VS6 tandis que je tourne sur VS2008.

Quelqu'un a t il une solution ou un conseil à donner?

D'avance, un grand merci.