Avez vous eja essayé de faire un tri d'une liste de fichiers selon une date.
Les fichiers sont ajoutés un a un en utilisant la date de creation.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
...
SYSTEMTIME localTime, fileTime
FileTimeToSystemTime(&fileTime, fileFindData.ftLastWriteTime);
SystemTimeToTzSpecificLocalTime(NULL, &fileTime, &localTime);
 
m_ctlSeq.SetItemData(nItem, (DWORD_PTR)&localTime);
...
 
m_ctlSeq.SortItems(MyCompareProc, 0);
Avec la procédure de tri :

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
static int CALLBACK  MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
  SYSTEMTIME  * time1 = (SYSTEMTIME*) lParam1;
  SYSTEMTIME  * time2 = (SYSTEMTIME*) lParam2;
 
  if ( memcmp(time1, time2, sizeof(SYSTEMTIME)) == 0 ) return 0;
 
  if ( (time1->wYear < time2->wYear) || (time1->wMonth < time2->wMonth) || (time1->wDay < time2->wDay) ||
       (time1->wHour < time2->wHour) || (time1->wMinute < time2->wMinute) || (time1->wSecond < time2->wSecond) )
  {
    if ( lParamSort == 0 ) { return -1; }
    else  { return 1; }
  }
  else if ( lParamSort == 0 )  { return 1; }
  else { return -1; }
 
}
Mais il m'est impossible de faire un tri correct. j'ai essayé plein de solutions...

avez vous une meilleure solution ? merci d'avance !