给你一段把目录下的文件名放如listbox的代码吧,剩下的问题你自己解决吧哈哈 procedure TForm1.Button1Click(Sender: TObject); var SearchRec:TSearchRec; ext,AppPath:string; begin listbox1.Items.Clear; AppPath:='d:\aa\'; ext:='*.*'; FindFirst(AppPath+ext,faAnyFile-faDirectory,SearchRec); listbox1.Items.Add(SearchRec.Name); while FindNext(SearchRec)=0 do listbox1.Items.Add(SearchRec.Name); listbox1.items为你需要的结果 end;
C:\xxx1\a.txt|12
C:\xxx1\a.txt|13D:\xxx2
D:\xxx1\a.txt|12
D:\xxx1\a.txt|13看到了吧?两个文件列表,可以进行匹配对比,也可以放到tstringlist 中按行对比;|字符分割的是文件名称和大小
procedure TForm1.Button1Click(Sender: TObject);
var
SearchRec:TSearchRec;
ext,AppPath:string;
begin
listbox1.Items.Clear;
AppPath:='d:\aa\';
ext:='*.*';
FindFirst(AppPath+ext,faAnyFile-faDirectory,SearchRec);
listbox1.Items.Add(SearchRec.Name);
while FindNext(SearchRec)=0 do
listbox1.Items.Add(SearchRec.Name);
listbox1.items为你需要的结果
end;
1. 比较文件个数, 不相等则退出;
2. 比较文件名列表(已排序), 存在不相同的则退出;
3. 比较各文件属性, 如大小, 修改时间, 存在不相同则退出;
4. 返回 True, (不必比较文件内容, 因为不相同的概率已很小).