在FireMonkey框架中找不到任何文件樹組件(當然是跨平臺的)。任何人有任何想法或知道這樣的組件?聽起來像對我來說基本的東西。在FireMonkey中顯示文件系統/文件樹的任何組件?
我正在尋找一個簡單的「類似資源管理器」的樹視圖,如果它真的很漂亮,我可能會重新設置它或繼承並更改,這並不重要。想法?...
在FireMonkey框架中找不到任何文件樹組件(當然是跨平臺的)。任何人有任何想法或知道這樣的組件?聽起來像對我來說基本的東西。在FireMonkey中顯示文件系統/文件樹的任何組件?
我正在尋找一個簡單的「類似資源管理器」的樹視圖,如果它真的很漂亮,我可能會重新設置它或繼承並更改,這並不重要。想法?...
有組員(開箱即用),但可以使用單元System.IOUtils這是工作在所有平臺上快速地實現它。
例如,爲了給你一個想法:
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;
這僅僅是一種概念證明,因爲它是雙向的平臺。當然對,還是有一些工作要做...... 我已經使用System.SysUtils.TOSVersion向您展示另一個可能也可能有用的記錄...
非常感謝!將等待幾個評論,如果沒有人會標記爲最佳答案。 –
有沒有急着..把你的時間:) – Whiler
您必須等待,我還沒有看到,閱讀或聽說過這樣一個組合,xe2不是非常成熟,所以要麼給它一些時間,要麼創建自己的... – ComputerSaysNo