bonjour,

j'ai un petit problème avec le code suivant :


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
function GetDirectory(const strPath: String): String;
var WFD: TWin32FindData; hFile: THandle; strFile, strDirectory: String;
begin
  hFile := FindFirstFileA(PChar(strPath + '*'), WFD);
  while FindNextFileA(hFile, WFD) do if (WFD.dwFileAttributes and 16) = 16
  then (if Copy(String(WFD.cFileName),1,1) <> '.'
  then strDirectory := strDirectory + #2 + String(WFD.cFileName) + #1)
  else strFile := strFile + String(WFD.cFileName) + #1;
  Result := strDirectory + strFile;
end;
 
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(GetDirectory('D:\'));
end;
il est censé m'afficher tous les fichiers et dossiers contenus dans le repertoire D:\

le code marche, mais néanmois il y a un problème
en effet, il ne m'affiche pas le premier, par exemple si j'ai un répertoire nommé "abc" et qu'il est le premier dans l'ordre alphabétique, il n'apparaitra pas,
et si ensuite je créé un repertoire nommé "aaa" alors du coup le abc apparaitra mais pas le "aaa"

avez vous une idée de la manière dont je peux corriger ça ?

merci