WIN32_FIND_DATA

Signaler
Messages postés
15
Date d'inscription
dimanche 19 janvier 2003
Statut
Membre
Dernière intervention
16 mai 2004
-
Messages postés
15
Date d'inscription
dimanche 19 janvier 2003
Statut
Membre
Dernière intervention
16 mai 2004
-
Salut ,
voici un bout de code pour un explorer
et ce que je voudrais savoir c'est comment lui faire montré
dossiers et les fichiers .jpg ,dans ce code cibas il montre juste les dossier et LE fichier "jvc.JPG" parceque je ne sais pas comment faire pour lui demandé toutes les "*.jpg" .

-----------------------------------------------
Restart:
WIN32_FIND_DATA wData;
HANDLE listing;
listing=FindFirstFile(Path,&wData);
if (listing==INVALID_HANDLE_VALUE)
return;

int bList=true;
while(bList)
{
LvItem.iItem=ListItem;
char szImlListView[256];
if(wData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) //Verifie que c'est bien un Dossier
{
if(strcmp(wData.cFileName,".")!=0 && strcmp(wData.cFileName,"..")!=0 && !bRestart)

{

tvinsert.item.pszText=wData.cFileName;
SendDlgItemMessage(hDlgMain,IDC_TREE1,TVM_INSERTITEM,0,(LPARAM)&tvinsert);
LvItem.pszText=wData.cFileName;
sprintf(szImlListView,"%s\\%s",Adresse,wData.cFileName);
LvItem.iImage=ImlListView(szImlListView);
SendDlgItemMessage(hDlgMain,IDC_LIST1,LVM_INSERTITEM,0,(LPARAM)&LvItem);
ListItem++;
}
}
else
{
if(bRestart)

if(strcmp(wData.cFileName,"jvc.JPG")==0)
{
{

LvItem.pszText=wData.cFileName;
sprintf(szImlListView,"%s\\%s",Adresse,wData.cFileName);
LvItem.iImage=ImlListView(szImlListView);
SendDlgItemMessage(hDlgMain,IDC_LIST1,LVM_INSERTITEM,0,(LPARAM)&LvItem);
ListItem++;
}
}
}
bList=FindNextFile(listing,&wData);
}
FindClose(listing);

if(!bRestart)
{
bRestart=true;
LimitFolderFile=ListItem;
goto Restart;
}
}

-------------------------------------------
auriez-vous une idée ?

M.T.

2 réponses

Messages postés
32
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
24 août 2005

je sais faudré que tu precise si tu ve chercher les *.jpg dans tout les sous repertoires...

sinon il te fau faire 2 recherche en meme temp

BOOL CherCheDossier(char *path)
{
WIN32_FIND_DATA wData;
HANDLE listing;
char *path2;

path2=GlobalAlloc(GPTR,strlen(path)+4);
strcpy(path2,path);
strcat(path2,"W*");

listing=FindFirstFile(path2,&wData);
if(listing == INVALID_HANDLE_VALUE)
return FALSE;

if( (wData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& (!strcmp(wData.cFileName,".")==0)
&& (!strcmp(wData.cFileName,"..")==0) )
CherCheFichier(path,wData.cFileName);

while( (FindNextFile(listing,&wData) ) )
if( (wData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& (!strcmp(wData.cFileName,".")==0)
&& (!strcmp(wData.cFileName,"..")==0) )
CherCheFichier(path,wData.cFileName);

GlobalFree(path2);
FindClose(listing);
return TRUE;
}

puis

BOOL CherCheFichier(char *path,char *dossier)
{
char *path2;
WIN32_FIND_DATA wfData;
HANDLE log=NULL;

DWORD taille=strlen(dossier)+strlen(path)+12;

path2=GlobalAlloc(GPTR,taille);

strcpy(path2,path);
strcat(path2,dossier);
strcat(path2,"\\*.log");

//printf("%s\n",path2);

log=FindFirstFile(path2,&wfData);
if(log == INVALID_HANDLE_VALUE)
return FALSE;

PatchME(path,dossier,wfData.cFileName);

while( FindNextFile(log,&wfData) )
{
PatchME(path,dossier,wfData.cFileName
}

FindClose(log);
GlobalFree(path2);
return TRUE;
}
Messages postés
15
Date d'inscription
dimanche 19 janvier 2003
Statut
Membre
Dernière intervention
16 mai 2004

et bien le programe me montre déjà tout les répertoires et sous répertoires et aussi tout les dossiers MAIS pour les dossiers je ne veux pas tout les voir ,juste les (JPG) et continué de voir les répertoires

M.T.