Récupérer dans un tableau de string la liste de toutes les extensions
Bonjour à tous voilà j'utilise la fonction suivante:
Code:
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 ;)