关于文件遍历(DELPHI)

我的PIC文件夹下有很多的JPG的文件,我想用一个窗口来处理这些照片,但是一次只能处理一个图片,然后我可以点上一条,或下一条来处理其他的图片,我现在只知道下一条用函数FI... 我的PIC文件夹下有很多的JPG的文件,我想用一个窗口来处理这些照片,但是一次只能处理一个图片,然后我可以点上一条,或下一条来处理其他的图片,我现在只知道下一条用函数FINDNEXT,那么我要访问上一张图片怎么实现呢? 这个功能就好象WINDOWS操作里面的上键下键的功能,就是进入文件夹后里面的文件可以通过上下键或左右键来操作,但我想用DELPHI来实现这个功能,让用户点按扭来实现上一个下一个功能~!~!~

怎么实现 谢谢@!
展开
 我来答
阳光上的桥
2008-10-06 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65833
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
先用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;

我的程序是返回一个文件的列表清单,你可以修改为数组,把相信内容保存在数组里面。
百度网友f2734c0d2
2008-10-06 · TA获得超过666个赞
知道小有建树答主
回答量:975
采纳率:100%
帮助的人:448万
展开全部
大致思路:
把遍历结果暂存(数组)
生成一个编号变量分别对应每个文件名
按钮给该变量+1或-1(当然要设置一个上下限,省得出错。)
根据该变量打开对应的文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
壬瑜qD
2008-10-06 · TA获得超过295个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:326万
展开全部
你可以先将此路径下的所有jpg文件的完整路径(含文件名)保存到一个TStringList中,上一个、下一个就只是操作TStringList中的文件名,得到了文件名,具体文件应该不难操作了。这个思路不知道你用不用得上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式