Bonjour à tous voilà j'utilise la fonction suivante:

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
function TFormArbo.CanDisplay(const Name: string): Boolean;
 
// Determines whether the given file is one we can display in the image tree.
 
var
  Ext: string;
  I: Integer;
 
begin
  if not FExtensionsInitialized then
  begin
    FExtensionsInitialized := True;
    FExtensionList := TStringList.Create;
    {$ifdef GraphicEx}
      FileFormatList.GetExtensionList(FExtensionList);
      for I := 0 to FExtensionList.Count - 1 do
        FExtensionList[i] := '.' + FExtensionList[i];
    {$else}
    // GraphicEx is not used so add some default extensions
    with FExtensionList do
    begin
      Add('.bmp');
      Add('.ico');
      Add('.jpg');
      Add('.jpeg');
      Add('.avi');
      Add('.png');
      Add('.gif');
      Add('.mp3');
      Add('.wma');
      Add('.mpeg');
      Add('.mpg');
      Add('.tiff');
    end;
    {$endif}
    FExtensionList.Sort;
  end;
 
  Ext := ExtractFileExt(Name);
  Result := FExtensionList.Find(Ext, I);
end;
Je souhaite améliorer le code de la fonction pour l'ajout des extensions dans le second cas au lieu de mettre les extensions à la main, je souhaite récuperer grâce à la base de registre la liste de toute les extensions utilisées sous windows.

Pour ça il faut que j'ouvre la base de registre sous delphi et que je recupére au bon endroit la liste des extensions et hop je mets tout ça dans un tableau de string ou autres.

Si quelqu'un l'a déjà fait merci d'avance