Parcourir des fichiers

Signaler
Messages postés
76
Date d'inscription
lundi 5 septembre 2005
Statut
Membre
Dernière intervention
3 juillet 2007
-
Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
-
pardon j'ai recuperer une fonction sur ce site pour parcourir des repertoires et j'aurai voulu savoir comment la modifier simplement pour parcourir des fichiers a la place :) merci d'avance :
//BROWSE FOLDER - Opens a browse folder dialog.
CString BrowseFolder()
{
bErr = false;
TCHAR path[MAX_PATH];
BROWSEINFO bi = { 0 };
bi.lpszTitle = ("All Folders Automatically Recursed.");
LPITEMIDLIST pidl = SHBrowseForFolder ( &bi );

if ( pidl != 0 )
{
// get the name of the folder and put it in path
SHGetPathFromIDList ( pidl, path );

// free memory used
IMalloc * imalloc = 0;
if ( SUCCEEDED( SHGetMalloc ( &imalloc )) )
{
imalloc->Free ( pidl );
imalloc->Release ( );
}
}
return path;
}//BROWSE FOLDER

1 réponse

Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
1
salu,

tu ne peux modifier cette fonction pour parcourir des fichiers, puisse qu'elle est faite pour des dossier ^^

en revanche tu pe utiliser GetOpenFileName, voici un petit exemple :



OPENFILENAME fdlg;

char filename[256] = "";

char path[]="";

WIN32_FIND_DATA* filedata=NULL;

HANDLE handle=NULL;



static char szFilter[] = "Tous les fichiers (*.*)\0*.*\0\0";



memset(&fdlg, 0, sizeof(OPENFILENAME));



// setup our structure

fdlg.lStructSize = sizeof(OPENFILENAME);

fdlg.hwndOwner = hWnd;

fdlg.nMaxFile = 256;

fdlg.lpstrFilter = szFilter;

fdlg.lpstrDefExt = NULL;

fdlg.lpstrInitialDir = NULL;

fdlg.lpstrFile = filename;

fdlg.lpstrTitle = "Fichiers à ouvrir.";

fdlg.Flags
= OFN_FILEMUSTEXIST |
OFN_EXPLORER;



if(GetOpenFileName(&fdlg))

{

//met ici ton code a executer lors de la selection du fichier.

}


voila ! mais le mieu c'est que tu regarde sur la msdn pour plus de détails ;)


-{ Saifer }-