cartes1
Messages postés33Date d'inscriptionvendredi 25 mars 2005StatutMembreDernière intervention16 janvier 2010
-
14 mars 2008 à 15:07
cartes1
Messages postés33Date d'inscriptionvendredi 25 mars 2005StatutMembreDernière intervention16 janvier 2010
-
15 mars 2008 à 12:19
bonjour
malgré mes recherches sur le forum et sur internet je n'ai pas trouvé le moyen de trier les fichiers d'une ListBox par date de modification en Api Pur (j'utilise C++ Visual Studio6 ). ce code ne m'affiche qu'un seul fichier dans la Listbox et c'est le premier par ordre alphabètique.
Voici mon code:
///////////////////////////////////////////////
// Fonction d'extraction de la date et de l'heure de modification
/****************************************************************************************************/
char* test(FILETIME Temp)
/*****************************************************************************************************/
{
char* Chaine=new char;
SYSTEMTIME stTemp,stLocal;
FileTimeToSystemTime(&Temp,&stTemp);
SystemTimeToTzSpecificLocalTime(NULL,&stTemp,&stLocal);
wsprintf(Chaine,"%02d/%02d/%d %02d:%02d",stLocal.wDay ,stLocal.wMonth ,stLocal.wYear,stLocal.wHour ,stLocal.wMinute );
return Chaine;
}
///////////////////////////////////////////////////////////////////////////////////////
///// Fonction qui Liste les Fichiers "PDF" par Date de Modification //////////////////////////////////////
/****************************************************************************************/
void AfficherListeFichiersParDate (char Dossier[MAX_PATH])
/****************************************************************************************/
{
HANDLE hFind;
WIN32_FIND_DATA FindData;
char* Chaine=NULL;
// Change de dossier
SetCurrentDirectory (Dossier);
// Début de la recherche
hFind=FindFirstFile ("*.pdf", &FindData);
if (hFind!=INVALID_HANDLE_VALUE)
{
Chaine = test(FindData.ftLastWriteTime);
{
// Si le fichier trouvé n'est pas un dossier mais bien un fichier, on affiche son nom
if (!(FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
SendDlgItemMessage(fenetrePrincipale, ID_LISTBOX_PDF, LB_ADDSTRING, 0, (LONG)strcat(Chaine,FindData.cFileName));
}
// Fichiers suivants
while (FindNextFile (hFind, &FindData))
{
Chaine=test(FindData.ftLastWriteTime);
//if (!(FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
SendDlgItemMessage(fenetrePrincipale, ID_LISTBOX_PDF, LB_ADDSTRING, 0, (LONG)strcat(Chaine,FindData.cFileName));
}
}
}
// Fin de la recherche
}
return;
}
////////////////
Merci d'avance.
Cartes1
A voir également:
Trier des fichiers d'une ListBox par date de modification
cartes1
Messages postés33Date d'inscriptionvendredi 25 mars 2005StatutMembreDernière intervention16 janvier 2010 15 mars 2008 à 09:08
Bonjour BruNews
Merci beaucoup, ça marche, mais le seul problème est que je voudrais que le premier fichier de la liste soit le dernier fichier enregistré dans le dossier concerné ou bien si c'est trop compliqué mettre en surbrillance ce fichier : en effet je n'arrive pas à récupérer l'index de ce fichier pour pouvoir l'afficher dans un champ edit.
Merci encore
Cartes1