델파이 6.0에 sample vcl이 추가가 되었더군요~
신기하기두 하구 새로나왔길래 한번 사용해봤거든요.
기존이 탐색기처럼 폼을 만들고 거기에 파일찾기 기능을
넣었거든요
파일찾기 버튼을 눌렀을때 파일을 찾은 후 shelllistview에 찾은
파일 목록을 보여줘야 하는데 listview가 보여주질 않고 있슴다
debug를 해보면 파일을 찾긴 찾았거든요?
고수님들 ~ 부탁해요
procedure TForm2.btnOKClick(Sender: TObject);
var
sr: TSearchRec;
NewItem: TListItem;
begin
ShellListView1.Clear;
if FindFirst(SearchDir + edFileName.Text, faAnyFile, sr) <> 0 then
ShowMessage(SearchDir + edFileName.Text + '파일 찾기 중 에러')
else begin
if ShellListView1.Items.Item[0] = nil then
begin
NewItem := ShellListView1.Items.Add;
NewItem.Caption := sr.Name;
NewItem.SubItems.Add( IntToStr(sr.Size) );
case sr.Attr of
$00000001: NewItem.SubItems.Add( 'Read-only files' );
$00000002: NewItem.SubItems.Add( 'Hidden files ' );
$00000004: NewItem.SubItems.Add( 'System files ' );
$00000008: NewItem.SubItems.Add( 'Volume ID files' );
$00000010: NewItem.SubItems.Add( 'Directory files' );
$00000020: NewItem.SubItems.Add( 'Archive files ' );
$0000003F: NewItem.SubItems.Add( 'Any file ' );
end;
NewItem.SubItems.Add( IntToStr(sr.Time) );
FindClose(sr);
end
else
begin
ShellListView1.Items.Item[0].Caption := sr.Name;
ShellListView1.Items.Item[0].SubItems.Strings[0] := IntToStr(sr.Size);
case sr.Attr of
$00000001:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Read-only files' ;
$00000002:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Hidden files ' ;
$00000004:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'System files ' ;
$00000008:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Volume ID files' ;
$00000010:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Directory files' ;
$00000020:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Archive files ' ;
$0000003F:ShellListView1.Items.Item[0].SubItems.Strings[1] := 'Any file ' ;
end;
ShellListView1.Items.Item[0].SubItems.Strings[2] := IntToStr(sr.Time);
FindClose(sr);
end;
end;
end;