cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 2005
-
27 juil. 2002 à 00:18
ActiveX
Messages postés32Date d'inscriptionjeudi 6 février 2003StatutMembreDernière intervention22 janvier 2008
-
11 mai 2005 à 03:09
Salut tout le monde !!
Euh... J'ai vraiment l'impression de poser une question idiote :blush) , mais coment on fait pour connaître le type d'un fichier, en fonction de son extension, par exemple...
J'aurais aimé trouver une fonction qui me donne 'Fichier Texte' pour l'extension '.txt', mais j'ai pas trouvé !! :blush)
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 27 juil. 2002 à 00:41
Non, la question n'est pas idiote du tout.
Dans la base de registres, HKEY_CLASSES_ROOT (HKCR)contient les extensions déclarées soit à l'installation de Windows, soit par les divers logiciels. Les extensions sont listées en plaçant un point devant (ex : .txt). A chaque extension, il y a une valeur par défaut nommée...default. Si tu recherches ensuite cette valeur, toujours dans HKCR, tu trouves une autre valeur par défaut également nommée Default qui t'indiques de manières plus claire à qui tu t'adresses. Ainsi, dans notre exemple, nous obtenons "Document texte".
Vérifies avec d'autres extensions et tu seras surpris de constater que ce sont exactement les descriptions qu'affiche l'explorateur de Windows.
cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 20051 27 juil. 2002 à 01:12
Salut !
Merci, je connais la base de registre... (lol) J'y ai même jeté un coup d'oeil...
Mais les clés dont tu me parles ne contiennent pas toutes la description attendue... Ou elle est en Anglais... Il n'y a pas une API ? Remarque, il faudrait bien que l'API vérifie à son tour quelque part...
Bah alors je vais faire avec ça... Tant pis pour l'Anglais, et merci de ta réponse !
ActiveX
Messages postés32Date d'inscriptionjeudi 6 février 2003StatutMembreDernière intervention22 janvier 2008 11 mai 2005 à 03:09
Bonjour Bestiol je sais pas si tu as trouvé comment faire pour trouver le type en rapport de l'extension. étant donné que tu m'as aidé il y a pas très longtemps, alors je te renvoye l'appareil.
tu déclares
function Shell_FileType(sftFileName: String): ShortString;
var
FileInfo: _SHFileInfoA;
ImageListHandle: THandle;
begin
ImageListHandle := SHGetFileInfo(PChar(sftFileName),
0,
FileInfo,
SizeOf(FileInfo),
SHGFI_TYPENAME);
RESULT := FileInfo.szTypeName;
end;
{$R *.dfm}
et tu fais l'appelle par Shell_FileType(path + fichier);
et voilà tu auras le type voulu.
ActiveX
Je vais dire comme Delphiprog mais en français
Que Delphi soit avec toi