此效果可以通过枚举文件,配合“读入文件 ()”和数组操作来实现。
代码如下:
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 当前位置, 整数型
.程序集变量 文件列表, 文本型, , "0"
.子程序 __启动窗口_创建完毕
枚举文件 (取运行目录 () + “\”, “.jpg”, 文件列表)
.如果真 (取数组成员数 (文件列表) > 0)
当前位置 = 1
图片框1.图片 = 读入文件 (文件列表 [1])
.如果真结束
.如果真 (取数组成员数 (文件列表) > 1)
按钮_下一张.禁止 = 假
.如果真结束
.子程序 _按钮_上一张_被单击
当前位置 = 当前位置 - 1
图片框1.图片 = 读入文件 (文件列表 [当前位置])
.如果 (当前位置 ≤ 1)
按钮_上一张.禁止 = 真
.否则
按钮_上一张.禁止 = 假
按钮_下一张.禁止 = 假
.如果结束
.子程序 _按钮_下一张_被单击
当前位置 = 当前位置 + 1
图片框1.图片 = 读入文件 (文件列表 [当前位置])
.如果 (当前位置 ≥ 取数组成员数 (文件列表))
按钮_下一张.禁止 = 真
.否则
按钮_上一张.禁止 = 假
按钮_下一张.禁止 = 假
.如果结束
.子程序 枚举文件
.参数 欲枚举文件的目录, 文本型, , 将要被枚举文件的目录。
.参数 欲枚举的文件后缀名, 文本型, 可空, 请输入如“.bmp”“.mp3”的后缀名。
.参数 欲保存结果的变量, 文本型, 参考 数组, 保存结果的文本型数组。
.局部变量 临_目录, 文本型
.局部变量 临_文件, 文本型
.局部变量 i, 整数型, 静态
' 枚举目录
重定义数组 (欲保存结果的变量, 假, 0)
临_目录 = 寻找文件 (欲枚举文件的目录 + “*”, #子目录) ' 第一次寻找要提供相应条件
.判断循环首 (临_目录 ≠ “”) ' 只要找到的结果不为空 则继续寻找
.如果真 (临_目录 ≠ “.” 且 临_目录 ≠ “..”)
枚举文件 (欲枚举文件的目录 + 临_目录 + “\”, 欲枚举的文件后缀名, 欲保存结果的变量)
.如果真结束
临_目录 = 寻找文件 (, #子目录) ' 之后 系统会默认使用最近一次提供的条件 进行寻找下一个结果,所以这里只需要指定寻找对象:#子目录
.判断循环尾 ()
' 枚举文件
临_文件 = 寻找文件 (欲枚举文件的目录 + “*” + 欲枚举的文件后缀名, ) ' 第一次寻找要提供相应条件
.判断循环首 (临_文件 ≠ “”) ' 只要找到的结果不为空 则继续寻找
临_文件 = 欲枚举文件的目录 + 临_目录 + 临_文件 ' 文件全路径=目录+文件名+后缀名
加入成员 (欲保存结果的变量, 临_文件)
临_文件 = 寻找文件 (, )
.判断循环尾 ()
在程序中,演示效果如下:
此段代码即符合你的要求。
源码已附在下面。
如有疑问请追问。
.版本 2
.支持库 shell
.程序集 窗口程序集1
.程序集变量 图片, 文本型, , "0"
.程序集变量 指针, 整数型
.程序集变量 目录, 文本型
.程序集变量 文件名, 文本型
.子程序 __启动窗口_创建完毕
目录 = 浏览文件夹 (“请选择目录”, 真)
.如果真 (目录 = “”)
目录 = 取运行目录 ()
.如果真结束
文件名 = 寻找文件 (目录 + “\*.jpg”, )
.循环判断首 ()
文件名 = 寻找文件 (, )
.如果真 (文件名 = “”)
跳出循环 ()
.如果真结束
加入成员 (图片, 文件名)
.循环判断尾 (文件名 ≠ “”)
指针 = 1
图片框1.显示方式 = 1
按钮1.标题 = “上一张”
按钮2.标题 = “下一张”
显示图片 ()
.子程序 _按钮1_被单击
指针 = 指针 - 1
.如果真 (指针 < 1)
指针 = 取数组成员数 (图片)
.如果真结束
显示图片 ()
.子程序 _按钮2_被单击
指针 = 指针 + 1
.如果真 (指针 > 取数组成员数 (图片))
指针 = 1
.如果真结束
显示图片 ()
.子程序 显示图片
图片框1.图片 = 读入文件 (目录 + “\” + 图片 [指针])
在按钮1被单击事件子程序里设置一个局部表态变量NN 代码如下: NN=NN+1 如果真(NN>5) NN=1