ListView如何才能显示某一文件夹下的所有文件,例如:C:\File\文件夹下的所有文件,这一文件夹下是没有子目录的,只有文件,我大概知道应该用文件的遍历,但实现起来确实不是那么容易了,还忘大家多多指教,谢谢!首先声明不能用ShellListView,用的是最基本的ListView。
解决方案 »
- 关于图像过滤
- 像做个可以在互联网上传递数据的数据库程序,希望大家给点意见!来都有分!
- Web Service页里找不到WSDL Importer怎么办?
- 大家帮忙看看,这个SQL应如何写才能运行
- 请问高手:Session控件怎么使用????在线急等……
- 如何实现打印一张80cm*60cm的纸张,纸张上的字的位置可以自动调整
- 我问问是否能在DELPHI中实现两个数据表的字段合并到入第三个数据表中!
- SetWindowsHookEx问题?
- idtcpserver接收远程数据
- 怎么做一幅网页的缩略图?
- 关于TClientSocket和TServerSocket的属性的简单问题
- 高分请教,怎么发布sqlserver的delphi文件啊?
FindFirst
FindNext
查查delphi自带的帮助就行了!
var ListItem :TlistItem;
sr:TSearchRec;
s:string;
begin
if (FindFirst(sDirectory+'\*.*',0,sr) =0)
then showmessage(sDirectory);
if (sr.Attr <>0)//(sr.Attr =32)
then begin
ListItem :=ListView1.Items.Add ;
ListItem.Caption :=sr.Name;
ListItem.ImageIndex :=0;
ListItem.SubItems.Add(Inttostr(sr.Attr ));
ListItem.SubItems.Add(inttostr(sr.Size ));
DateTimeTostring(s,'',FileDateToDateTime(sr.Time ));
ListItem.SubItems.Add(s);
end;
//end; while (FindNext(sr)=0) do
begin
if (sr.Attr <>0)//(sr.attr =32)
then begin
ListItem :=ListView1.Items.Add ;
ListItem.Caption :=sr.Name;
ListItem.ImageIndex :=0;
ListItem.SubItems.Add(inttostr(sr.Attr ));
ListItem.SubItems.Add(inttostr(sr.Size ));
DateTimetoString(s,'',FileDateToDateTIme(sr.Time ));
ListItem.SubItems.Add(s);
end;
end;
end;
呵呵,这是我 写的一段代码,能够实现你的功能
procedure ReadFileName(var MyFileList : TStringList; const AnyFile:String);
var
Found:integer;
SearchResult:TSearchRec;
ListItem: TListItem;
begin
if FileGetAttr(AnyFile)<>faDirectory then begin
MyFileList.Add(AnyFile);
memo1.Lines.Add(anyfile);
with ListView1 do
begin
ListItem := Items.Add;
ListItem.Caption := anyfile;
ListItem.SubItems.Add(anyfile);
end;
Exit;
end;
Found:=FindFirst(AnyFile+'\*.*',faAnyFile,SearchResult);
while Found=0 do begin
if (SearchResult.Name<>'.')and(SearchResult.Name<>'..') then ReadFileName(MyFileList,AnyFile+'\'+SearchResult.Name);
Found:=FindNext(SearchResult);
end;
if (SearchResult.Name<>'.')and(SearchResult.Name<>'..') then FindClose(SearchResult);
end;
var
MyFileList : TStringList;
NewColumn: TListColumn;
begin
MyFileList := TStringList.Create;
with listview1 do
begin
NewColumn := Columns.Add;
NewColumn.Caption := 'files';
ViewStyle := vsReport;
end;
ReadFileName(MyFileList,'c:\file');
end;