Il y a aucun composant (hors de la boîte), mais vous pouvez rapidement mettre en œuvre à l'aide de l'unité System.IOUtils qui travaille sur toutes les plateformes.
Par exemple, pour vous donner une idée:
uses
System.IOUtils, FMX.TreeView, ...
type
TForm2 = class(TForm)
tvPath: TTreeView;
procedure FormCreate(Sender: TObject);
private
...
procedure TForm2.FormCreate(Sender: TObject);
var
sRoot : string;
sdaDrives: TStringDynArray;
sDrive : string;
tviDrive : TTreeViewItem;
osv : TOSVersion;
begin
if TOSVersion.Platform = pfMacOS then
begin
// Root's folders
sRoot := '/';
sdaDrives := TDirectory.GetDirectories(sRoot);
for sDrive in sdaDrives do
begin
tviDrive := TTreeViewItem.Create(Self);
tviDrive.Text := sDrive;
tvPath.AddObject(tviDrive);
end;
sdaDrives := TDirectory.GetFiles(sRoot);
end
else
begin
// Root's folders
sRoot := TDirectory.GetDirectoryRoot(ParamStr(0)); // you probably want to use TDirectory.GetLogicalDrives before this one...
sdaDrives := TDirectory.GetDirectories(sRoot);
for sDrive in sdaDrives do
begin
tviDrive := TTreeViewItem.Create(Self);
tviDrive.Text := sDrive;
tvPath.AddObject(tviDrive);
end;
sdaDrives := TDirectory.GetFiles(sRoot);
end;
// files
for sDrive in sdaDrives do
begin
tviDrive := TTreeViewItem.Create(Self);
tviDrive.Text := ExtractFileName(sDrive);
tviDrive.Font.Style := [TFontStyle.fsItalic];
tvPath.AddObject(tviDrive);
end;
end;
Ceci est juste une preuve de concept, car il fonctionne sur la plate-forme .. Bien sûr, il y a encore du travail à faire ... Je ont utilisé System.SysUtils.TOSVersion pour vous montrer un autre enregistrement qui peut être aussi utile ...
vous devrez attendre, je n'ai pas vu, lu ou entendu parler d'un tel comoonent, xe2 n'est pas très mûr, alors donnez-lui du temps ou créez le vôtre ... – ComputerSaysNo