
关于文件遍历(DELPHI)
我的PIC文件夹下有很多的JPG的文件,我想用一个窗口来处理这些照片,但是一次只能处理一个图片,然后我可以点上一条,或下一条来处理其他的图片,我现在只知道下一条用函数FI...
我的PIC文件夹下有很多的JPG的文件,我想用一个窗口来处理这些照片,但是一次只能处理一个图片,然后我可以点上一条,或下一条来处理其他的图片,我现在只知道下一条用函数FINDNEXT,那么我要访问上一张图片怎么实现呢? 这个功能就好象WINDOWS操作里面的上键下键的功能,就是进入文件夹后里面的文件可以通过上下键或左右键来操作,但我想用DELPHI来实现这个功能,让用户点按扭来实现上一个下一个功能~!~!~
怎么实现 谢谢@! 展开
怎么实现 谢谢@! 展开
3个回答
展开全部
先用FindFirst、FindNext把所有文件清单搜索保存在数组或者TStringList里面,这样你的程序就可以上一张、下一张进行浏览了,系统本身没有找上一张的函数。
FindFirst、FindNext的使用你大概会吧,如果不熟悉,我下面粘贴一段我程序的代码,你可以借鉴:
function DirListStr(const FileName: string): string;
var SearchRec: TSearchRec; ok: integer; attrs: string[5];
begin
ok:=FindFirst(filename,$3f,SearchRec);
Result:='Directory of '+filename;
while ok=0 do begin
with SearchRec do begin
if Attr and $10 <> 0 then attrs[1]:='D' else attrs[1]:='-';
if Attr and $20 <> 0 then attrs[2]:='A' else attrs[2]:='-';
if Attr and $4 <> 0 then attrs[3]:='S' else attrs[3]:='-';
if Attr and $2 <> 0 then attrs[4]:='H' else attrs[4]:='-';
if Attr and $1 <> 0 then attrs[5]:='R' else attrs[5]:='-';
setlength(attrs,5);
Result:=Result+#13#10+attrs+' '+DateTimeToStr(FileDateToDateTime(time))+#9+IntToStr(size)+#9+Name;
end;
ok:=FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
我的程序是返回一个文件的列表清单,你可以修改为数组,把相信内容保存在数组里面。
FindFirst、FindNext的使用你大概会吧,如果不熟悉,我下面粘贴一段我程序的代码,你可以借鉴:
function DirListStr(const FileName: string): string;
var SearchRec: TSearchRec; ok: integer; attrs: string[5];
begin
ok:=FindFirst(filename,$3f,SearchRec);
Result:='Directory of '+filename;
while ok=0 do begin
with SearchRec do begin
if Attr and $10 <> 0 then attrs[1]:='D' else attrs[1]:='-';
if Attr and $20 <> 0 then attrs[2]:='A' else attrs[2]:='-';
if Attr and $4 <> 0 then attrs[3]:='S' else attrs[3]:='-';
if Attr and $2 <> 0 then attrs[4]:='H' else attrs[4]:='-';
if Attr and $1 <> 0 then attrs[5]:='R' else attrs[5]:='-';
setlength(attrs,5);
Result:=Result+#13#10+attrs+' '+DateTimeToStr(FileDateToDateTime(time))+#9+IntToStr(size)+#9+Name;
end;
ok:=FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
我的程序是返回一个文件的列表清单,你可以修改为数组,把相信内容保存在数组里面。
展开全部
大致思路:
把遍历结果暂存(数组)
生成一个编号变量分别对应每个文件名
按钮给该变量+1或-1(当然要设置一个上下限,省得出错。)
根据该变量打开对应的文件。
把遍历结果暂存(数组)
生成一个编号变量分别对应每个文件名
按钮给该变量+1或-1(当然要设置一个上下限,省得出错。)
根据该变量打开对应的文件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以先将此路径下的所有jpg文件的完整路径(含文件名)保存到一个TStringList中,上一个、下一个就只是操作TStringList中的文件名,得到了文件名,具体文件应该不难操作了。这个思路不知道你用不用得上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询