|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"TreeViewにDirectoryを表示する"
TreeViewにディレクトリ名を表示します。
Find関数はすべてのファイルを検索するので
CPU、HDを浪費しているのが難点です。
procedure TForm1.TV1set;
var
j,er:Integer;
Dir : String;
SearchRec: TSearchRec;
TreeNode:TTreeNode;
begin
j := 0;
while j <= TreeView1.Items.Count - 1 Do
begin // while 1
TreeNode := TreeView1.Items[j];
Dir := TreeNode.Text;
while TreeNode.Parent <> nil Do
begin // while 2
TreeNode := TreeNode.Parent;
Dir := TreeNode.Text + '\'+ Dir;
end; // while 2
TreeNode := TreeView1.Items[j];
er := FindFirst(Dir+'\*.*', faDirectory, SearchRec);
try
while er = 0 do
begin // while 3
If (SearchRec.Attr >= faDirectory) AND (SearchRec.Attr < faArchive)
then
begin
if not (SearchRec.Name = '.' ) And not (SearchRec.Name = '..') THen
TreeView1.Items.AddChild( TreeNode,SearchRec.Name);
end;
er := FindNext(SearchRec);
end; // while 3
finally
FindClose(SearchRec);
end; // try
j := j + 1;
end; // While 1
procedure TForm1.FormActivate(Sender: TObject);
Var
TreeNode : TTreeNode;
begin
TreeView1.Items.Clear;
TreeNode := TreeView1.Items.Add(nil, 'A;\');
TreeNode.Text := 'A:';
TV1set;
TreeNode := TreeView1.TopItem;
TreeNode.Expanded := True;
end;
TTY
Original document by TTY 氏 ID:(PXU02510)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|