Bonjour,
Je cherche une fonction qui me donnerait, en fonction de l'OS sur lequel tourne mon programme, soit :
- le path de "Mes Documents" si on est sous Windows
- le "/home/xxxxx" si on est sous linux (xxxxx représente le login de l'utilisateur)
Je sais qu'il faut utiliser :
- les instructions conditionnelles, mais est-ce valable pour les "uses" ?
- la façon de le faire
J'ai bien trouvé ça :
Mais cela ne semble pas fonctionner sous Lazarus (c'est un code pour Delphi - j'utilise lazarus 0.9.24 beta) : le compilo ne reconnait pas par exemple 'PItemIDList' (je précise que j'ai bien inclus 'ShlObj' dans les uses)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function MesDocsPath : string; var SFolder: PItemIDList; // erreur compil : identifier PItemIDList not found, error in type definition SpecialPath: array[0..MAX_PATH] of char; begin SHGetSpecialFolderLocation(Application.Handle, CSIDL_PERSONAL, SFolder); //identifier SHGetSpecialFolderLocation not found, //identifier idents no member 'Handle', //identifier CSIDL_PERSONAL not found, SHGetPathFromIDList(SFolder, SpecialPath); //identifier SHGetPathFromIDList not found Result := StrPas(SpecialPath); end;
A vos bonnes ames
Partager