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.
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 ... SYSTEMTIME localTime, fileTime FileTimeToSystemTime(&fileTime, fileFindData.ftLastWriteTime); SystemTimeToTzSpecificLocalTime(NULL, &fileTime, &localTime); m_ctlSeq.SetItemData(nItem, (DWORD_PTR)&localTime); ... m_ctlSeq.SortItems(MyCompareProc, 0);
Mais il m'est impossible de faire un tri correct. j'ai essayé plein de solutions...
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; } }
avez vous une meilleure solution ? merci d'avance !![]()
Partager