ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

易语言-基础-数据库应用

易语言-基础-数据库应用 易语言的数据库应用创建易数据库:使用菜单创建易数据库:使用代码创建易数据库:.版本 2 .支持库 eAPI 如果需要调用API需添加此支持库或者使用下面的纯易语言逻辑 .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 子程序_建数据库 () .子程序 子程序_建数据库 .局部变量 字段表, 字段信息, , 6 .局部变量 完整路径, 文本型 .局部变量 文件状态, 逻辑型 1. 构建完整路径 完整路径 取运行目录 () “\” #员工表 【调试用】取消下面这行的注释查看实际路径是否正确 信息框 (“当前检测路径” 完整路径, #信息图标, “调试”) 2. 判断文件是否存在 方法A使用内置命令注意确保程序有权限读取该目录 文件状态 文件是否存在 (完整路径) 方法B备选如果方法A不准可使用 API 判断需声明 API此处略通常方法A足够 如果使用内置命令失败请检查是否以管理员身份运行 .如果真 (文件状态 真) 信息框 (“数据库已存在无需创建。” #换行符 “路径” 完整路径, #信息图标, “提示”) 建议不要直接结束()而是返回或继续执行后续加载逻辑 结束 () 返回 () .如果真结束 3. 文件不存在询问是否创建 .如果真 (信息框 (“员工表不存在是否创建数据库” #换行符 “路径” 完整路径, #询问图标 #是否钮, “初始化”) #否钮) 信息框 (“系统将会退出”, #错误图标, “退出”) 结束 () .如果真结束 4. 定义字段 字段表 [1].名称 #姓名 字段表 [1].类型 #文本型 字段表 [1].最大文本长度 20 建议增加长度 字段表 [2].名称 #性别 字段表 [2].类型 #文本型 建议改为文本型存男/女 字段表 [2].最大文本长度 2 字段表 [3].名称 #年龄 字段表 [3].类型 #整数型 字段表 [4].名称 #出生日期 字段表 [4].类型 #日期时间型 字段表 [5].名称 #工资 字段表 [5].类型 #小数型 字段表 [6].名称 #奖金 字段表 [6].类型 #小数型 5. 创建数据库 .如果真 (创建 (完整路径, 字段表) 假) 信息框 (“创建数据库失败” #换行符 “可能原因权限不足、磁盘空间满、路径无效” #换行符 “路径” 完整路径, #错误图标, “错误”) 结束 () .如果真结束 信息框 (“数据库创建成功” #换行符 “路径” 完整路径, #信息图标, “成功”)使用其他路径:.版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 目标目录, 文本型 .子程序 __启动窗口_创建完毕 子程序_建数据库 () .子程序 保存数据库到E盘 目标目录 “E:\mydate” 确保目录存在 .如果真 (文件是否存在 (目标目录) 假) 创建目录 (目标目录) .如果真结束 .子程序 子程序_建数据库 .局部变量 字段表, 字段信息, , 6 .局部变量 完整路径, 文本型 .局部变量 文件状态, 逻辑型 保存数据库到E盘 () 1. 构建完整路径 完整路径 目标目录 “\” #员工表 【调试用】取消下面这行的注释查看实际路径是否正确 信息框 (“当前检测路径” 完整路径, #信息图标, “调试”, ) 2. 判断文件是否存在 方法A使用内置命令注意确保程序有权限读取该目录 文件状态 文件是否存在 (完整路径) 方法B备选如果方法A不准可使用 API 判断需声明 API此处略通常方法A足够 如果使用内置命令失败请检查是否以管理员身份运行 .如果真 (文件状态 真) 信息框 (“数据库已存在无需创建。” #换行符 “路径” 完整路径, #信息图标, “提示”, ) 建议不要直接结束()而是返回或继续执行后续加载逻辑 结束 () 返回 () .如果真结束 3. 文件不存在询问是否创建 .如果真 (信息框 (“员工表不存在是否创建数据库” #换行符 “路径” 完整路径, #询问图标 #是否钮, “初始化”, ) #否钮) 信息框 (“系统将会退出”, #错误图标, “退出”, ) 结束 () .如果真结束 4. 定义字段 字段表 [1].名称 #姓名 字段表 [1].类型 #文本型 字段表 [1].最大文本长度 20 建议增加长度 字段表 [2].名称 #性别 字段表 [2].类型 #文本型 建议改为文本型存男/女 字段表 [2].最大文本长度 2 字段表 [3].名称 #年龄 字段表 [3].类型 #整数型 字段表 [4].名称 #出生日期 字段表 [4].类型 #日期时间型 字段表 [5].名称 #工资 字段表 [5].类型 #小数型 字段表 [6].名称 #奖金 字段表 [6].类型 #小数型 5. 创建数据库 .如果真 (创建 (完整路径, 字段表) 假) 信息框 (“创建数据库失败” #换行符 “可能原因权限不足、磁盘空间满、路径无效” #换行符 “路径” 完整路径, #错误图标, “错误”, ) 结束 () .如果真结束 信息框 (“数据库创建成功” #换行符 “路径” 完整路径, #信息图标, “成功”, )给易数据库添加记录:为易数据库设置密码:使用代码设置易数据库密码:易数据库相关组件:数据库组件关联方法:程序界面设计与组件关联易数据库的操作命令.版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 目标目录, 文本型 .程序集变量 数据库句柄, 整数型, , , 建议增加一个变量保存打开后的句柄以便后续操作 .子程序 __启动窗口_创建完毕 初始化路径避免后续调用时为空 目标目录 “E:\mydate” .子程序 _按钮_创建易数据库_被单击 子程序_建数据库 () .子程序 子程序_建数据库 .局部变量 字段表, 字段信息, , 6 .局部变量 完整路径, 文本型 .局部变量 文件状态, 逻辑型 1. 确保目录存在 .如果真 (文件是否存在 (目标目录) 假) 创建目录 (目标目录) .如果真结束 2. 构建完整路径 完整路径 目标目录 “\” #员工表 3. 判断文件是否存在 文件状态 文件是否存在 (完整路径) .如果真 (文件状态 真) 信息框 (“数据库已存在无需创建。” #换行符 “路径” 完整路径, #信息图标, “提示”, ) 返回 () .如果真结束 4. 定义字段 字段表 [1].名称 #姓名 字段表 [1].类型 #文本型 字段表 [1].最大文本长度 20 字段表 [2].名称 #性别 字段表 [2].类型 #文本型 字段表 [2].最大文本长度 2 字段表 [3].名称 #年龄 字段表 [3].类型 #整数型 字段表 [4].名称 #出生日期 字段表 [4].类型 #日期时间型 字段表 [5].名称 #工资 字段表 [5].类型 #小数型 字段表 [6].名称 #奖金 字段表 [6].类型 #小数型 5. 创建数据库 .如果真 (创建 (完整路径, 字段表) 假) 信息框 (“创建数据库失败” #换行符 “可能原因权限不足、磁盘空间满、路径无效” #换行符 “路径” 完整路径, #错误图标, “错误”, ) 返回 () 使用返回而不是结束让程序保持运行 .如果真结束 信息框 (“数据库创建成功” #换行符 “路径” 完整路径, #信息图标, “成功”, )数据库的打开与关闭:.版本 2 .子程序 _按钮_打开易数据库_被单击 .局部变量 结果, 逻辑型 确保路径已知如果之前没创建过可能需要重新获取路径 .如果真 (目标目录 “”) 目标目录 “E:\mydate” .如果真结束 尝试打开数据库 注意易语言的“打开”命令返回值和参数需根据具体使用的数据库模块确认 这里假设第一个参数是文件名第二个是别名 结果 打开 (目标目录 “\” #员工表, “员工表”, , , , , ) .如果 (结果 假) 信息框 (“员工数据库打开失败!” #换行符 “请确认数据库是否已创建且未被占用。”, #错误图标, “错误”, ) .否则 信息框 (“员工数据库打开成功!” #换行符 “可以进行后续数据操作。”, #信息图标, “成功”, ) .如果结束置当前数据库:关闭数据库:数据库的指针跳转命令:记录读取命令:数据源的常用命令:记录的添加与修改命令:记录的删除命令:复制记录与复制结构命令:数值统计类命令:记录的查找:索引的创建与使用示例:.版本 2 .支持库 iext .程序集 窗口程序集_启动窗口 .程序集变量 目标目录, 文本型 .程序集变量 数据库已打开, 逻辑型 .子程序 __启动窗口_创建完毕 目标目录 “E:\mydate” 数据库已打开 假 超级列表框1.全部删除 () .子程序 _按钮_创建易数据库_被单击 子程序_建数据库 () .子程序 子程序_建数据库 .局部变量 字段表, 字段信息, , 6 .局部变量 完整路径, 文本型 -------------------------------------------------- 创建目录 -------------------------------------------------- .如果真 (文件是否存在 (目标目录) 假) 创建目录 (目标目录) .如果真结束 完整路径 目标目录 “\” #员工表 -------------------------------------------------- 判断数据库是否存在 -------------------------------------------------- .如果真 (文件是否存在 (完整路径)) 信息框 (“数据库已经存在” #换行符 “路径” 完整路径, #信息图标, “提示”, ) 返回 () .如果真结束 -------------------------------------------------- 定义字段 -------------------------------------------------- 字段表 [1].名称 #姓名 字段表 [1].类型 #文本型 字段表 [1].最大文本长度 20 字段表 [2].名称 #性别 字段表 [2].类型 #文本型 字段表 [2].最大文本长度 2 字段表 [3].名称 #年龄 字段表 [3].类型 #整数型 字段表 [4].名称 #出生日期 字段表 [4].类型 #日期时间型 字段表 [5].名称 #工资 字段表 [5].类型 #小数型 字段表 [6].名称 #奖金 字段表 [6].类型 #小数型 -------------------------------------------------- 创建数据库 -------------------------------------------------- .如果真 (创建 (完整路径, 字段表) 假) 信息框 (“数据库创建失败” #换行符 “路径” 完整路径, #错误图标, “错误”, ) 返回 () .如果真结束 信息框 (“数据库创建成功” #换行符 “路径” 完整路径, #信息图标, “成功”, ) 打开数据库 .子程序 _按钮_打开易数据库_被单击 .局部变量 完整路径, 文本型 .局部变量 结果, 逻辑型 完整路径 目标目录 “\” #员工表 .如果真 (文件是否存在 (完整路径) 假) 信息框 (“数据库不存在” #换行符 “请先创建数据库。”, #错误图标, “错误”, ) 返回 () .如果真结束 打开传统易数据库 .如果真 (数据库已打开) 关闭 () .如果真结束 结果 打开 (完整路径, “员工表”, , , , , ) .如果 (结果) 数据库已打开 真 设置数据库提供者 数据库提供者1.数据库文件名 完整路径 设置数据源 数据源1.数据提供者 “数据库提供者1” 信息框 (“员工数据库打开成功”, #信息图标, “成功”, ) .否则 数据库已打开 假 信息框 (“员工数据库打开失败”, #错误图标, “错误”, ) .如果结束 .子程序 _按钮_显示全部数据_被单击 刷新员工数据 () .子程序 刷新员工数据 .局部变量 记录数, 整数型 .局部变量 i, 整数型 .局部变量 新增表项索引, 整数型 .局部变量 日期文本, 文本型 .局部变量 工资文本, 文本型 .局部变量 奖金文本, 文本型 1. 先检查数据库状态 .如果真 (数据库已打开 假) 信息框 (“请先打开员工数据库”, #错误图标, “提示”, ) 返回 () .如果真结束 2. 清空列表里所有旧数据 超级列表框1.全部删除 () 3. 获取数据库总记录数 记录数 取记录数 () .如果真 (记录数 0) 返回 () .如果真结束 4. 重置记录指针到第一条 到首记录 () 5. 循环遍历所有记录 .计次循环首 (记录数, i) 插入新行序号列 新增表项索引 超级列表框1.插入表项 (, 到文本 (i), , , , ) 第2列姓名 超级列表框1.置标题 (新增表项索引, 1, 读 (#姓名)) 第3列性别 超级列表框1.置标题 (新增表项索引, 2, 读 (#性别)) 第4列年龄 超级列表框1.置标题 (新增表项索引, 3, 到文本 (读 (#年龄))) 第5列出生日期使用截取法避免年月日命令报错 日期文本 到文本 (读 (#出生日期)) 如果日期文本长度大于10只取前10位yyyy-mm-dd .如果真 (取文本长度 (日期文本) 13) 日期文本 取文本左边 (日期文本, 13) .如果真结束 超级列表框1.置标题 (新增表项索引, 4, 日期文本) 第6列工资 工资文本 到文本 (四舍五入 (读 (#工资), 2)) 超级列表框1.置标题 (新增表项索引, 5, 工资文本 “ 元”) 第7列奖金 奖金文本 到文本 (四舍五入 (读 (#奖金), 2)) 超级列表框1.置标题 (新增表项索引, 6, 奖金文本 “ 元”) 移动到下一条记录 跳过 () .计次循环尾 () .子程序 _按钮_添加员工_被单击 .局部变量 窗口_添加, 窗口 .如果真 (数据库已打开 假) 信息框 (“请先打开员工数据库”, #错误图标, “提示”, ) 返回 () .如果真结束 载入 (窗口_添加, , 真) 添加窗口关闭以后刷新 刷新员工数据 () 超级列表框1.刷新显示 () 查询员工 .子程序 _按钮_查询员工_被单击 .局部变量 查询姓名, 文本型 .局部变量 结果, 逻辑型 .局部变量 显示文本, 文本型 .局部变量 出生日期, 日期时间型 .局部变量 日期文本, 文本型 .如果真 (数据库已打开 假) 信息框 (“请先打开员工数据库”, #错误图标, “提示”, ) 返回 () .如果真结束 查询姓名 删首尾空 (编辑框_查询.内容) .如果真 (查询姓名 “”) 信息框 (“请输入要查询的员工姓名”, #信息图标, “提示”, ) 返回 () .如果真结束 到首记录 () 查找姓名完全相同的记录 结果 查找 (删首尾空 (读 (#姓名)) 查询姓名) .如果 (结果) 显示文本 “查询成功” #换行符 #换行符 显示文本 显示文本 “姓名” 到文本 (读 (#姓名)) #换行符 显示文本 显示文本 “性别” 到文本 (读 (#性别)) #换行符 显示文本 显示文本 “年龄” 到文本 (读 (#年龄)) #换行符 出生日期 读 (#出生日期) 日期文本 到文本 (读 (#出生日期)) 如果日期文本长度大于10只取前10位yyyy-mm-dd .如果真 (取文本长度 (日期文本) 13) 日期文本 取文本左边 (日期文本, 13) .如果真结束 显示文本 显示文本 “出生日期” 日期文本 #换行符 显示文本 显示文本 “工资” 到文本 (读 (#工资)) #换行符 显示文本 显示文本 “奖金” 到文本 (读 (#奖金)) #换行符 显示文本 显示文本 #换行符 显示文本 显示文本 “当前记录号” 到文本 (取记录号 ()) 信息框 (显示文本, #信息图标, “查询结果”, ) .否则 信息框 (“没有找到姓名为【” 查询姓名 “】的员工。”, #信息图标, “查询结果”, ) .如果结束 刷新员工数据 () 超级列表框1.刷新显示 () 修改员工 .子程序 _按钮_修改员工_被单击 .局部变量 查询姓名, 文本型 .局部变量 结果, 逻辑型 .局部变量 窗口_修改, 窗口 .如果真 (数据库已打开 假) 信息框 (“请先打开员工数据库”, #错误图标, “提示”, ) 返回 () .如果真结束 查询姓名 删首尾空 (编辑框_查询.内容) .如果真 (查询姓名 “”) 信息框 (“请输入要修改的员工姓名”, #信息图标, “提示”, ) 返回 () .如果真结束 -------------------------------------------------- 先查找员工 -------------------------------------------------- 到首记录 () 结果 查找 (删首尾空 (读 (#姓名)) 查询姓名) .如果真 (结果 假) 信息框 (“没有找到员工【” 查询姓名 “】”, #错误图标, “提示”, ) 返回 () .如果真结束 -------------------------------------------------- 打开修改窗口 此时数据库当前记录已经定位到目标员工 -------------------------------------------------- 载入 (窗口_修改, , 真) 修改窗口关闭以后刷新 刷新员工数据 () 超级列表框1.刷新显示 () 删除员工 .子程序 _按钮_删除员工_被单击 .局部变量 查询姓名, 文本型 .局部变量 结果, 逻辑型 .如果真 (数据库已打开 假) 信息框 (“请先打开员工数据库”, #错误图标, “提示”, ) 返回 () .如果真结束 查询姓名 删首尾空 (编辑框_查询.内容) .如果真 (查询姓名 “”) 信息框 (“请输入要删除的员工姓名”, #信息图标, “提示”, ) 返回 () .如果真结束 -------------------------------------------------- 查找员工 -------------------------------------------------- 到首记录 () 结果 查找 (删首尾空 (读 (#姓名)) 查询姓名) .如果真 (结果 假) 信息框 (“没有找到员工【” 查询姓名 “】”, #错误图标, “提示”, ) 返回 () .如果真结束 -------------------------------------------------- 删除当前记录 -------------------------------------------------- .如果真 (删除 () 假) 信息框 (“员工删除失败”, #错误图标, “错误”, ) 返回 () .如果真结束 .如果 (信息框 (“确定删除员工【” 查询姓名 “】吗不可恢复”, #是否钮 #警告图标, “确认”, ) ≠ #是钮) 返回 () .否则 .如果结束 -------------------------------------------------- 彻底清除已经标记删除的记录 -------------------------------------------------- 彻底删除 () 信息框 (“员工【” 查询姓名 “】删除成功”, #信息图标, “成功”, ) 刷新员工数据 () 超级列表框1.刷新显示 ().版本 2 .程序集 窗口程序集_窗口_添加 .子程序 _窗口_添加_创建完毕 初始化性别组合框 组合框1.加入项目 (“男”, ) 组合框1.加入项目 (“女”, ) 组合框1.现行选中项 0 .子程序 _按钮1_被单击 1. 检查姓名 .如果真 (编辑框_姓名.内容 “”) 信息框 (“请输入姓名”, #信息图标, “提示”, ) 返回 () .如果真结束 2. 检查年龄 .如果真 (编辑框_年龄.内容 “”) 信息框 (“请输入年龄”, #信息图标, “提示”, ) 返回 () .如果真结束 3. 检查工资 .如果真 (编辑框_工资.内容 “”) 信息框 (“请输入工资”, #信息图标, “提示”, ) 返回 () .如果真结束 4. 检查奖金 .如果真 (编辑框_奖金.内容 “”) 信息框 (“请输入奖金”, #信息图标, “提示”, ) 返回 () .如果真结束 5. 增加一条空记录 加空记录 () 6. 写入数据 .如果 (写字段 (#姓名, , 编辑框_姓名.内容) 且 写字段 (#性别, , 组合框1.内容) 且 写字段 (#年龄, , 到整数 (编辑框_年龄.内容)) 且 写字段 (#出生日期, , 日期框1.今天) 且 写字段 (#工资, , 到数值 (编辑框_工资.内容)) 且 写字段 (#奖金, , 到数值 (编辑框_奖金.内容))) 信息框 (“添加记录成功”, #信息图标, “成功”, ) 销毁 () .否则 信息框 (“添加记录失败”, #错误图标, “失败”, ) .如果结束.版本 2 .程序集 窗口程序集_窗口_修改 .子程序 _窗口_修改_创建完毕 初始化性别组合框 组合框1.加入项目 (“男”, ) 组合框1.加入项目 (“女”, ) 读取当前员工资料 主窗口在打开本窗口之前 已经通过 查找() 定位到了目标记录 编辑框_姓名.内容 读 (#姓名) 编辑框_年龄.内容 到文本 (读 (#年龄)) 编辑框_工资.内容 到文本 (读 (#工资)) 编辑框_奖金.内容 到文本 (读 (#奖金)) .如果 (读 (#性别) “男”) 组合框1.现行选中项 0 .否则 组合框1.现行选中项 1 .如果结束 日期框1.今天 读 (#出生日期) 保存修改 .子程序 _按钮_修改_被单击 -------------------------------------------------- 检查姓名 -------------------------------------------------- .如果真 (编辑框_姓名.内容 “”) 信息框 (“姓名不能为空”, #信息图标, “提示”, ) 返回 () .如果真结束 -------------------------------------------------- 检查年龄 -------------------------------------------------- .如果真 (编辑框_年龄.内容 “”) 信息框 (“年龄不能为空”, #信息图标, “提示”, ) 返回 () .如果真结束 -------------------------------------------------- 检查工资 -------------------------------------------------- .如果真 (编辑框_工资.内容 “”) 信息框 (“工资不能为空”, #信息图标, “提示”, ) 返回 () .如果真结束 -------------------------------------------------- 修改当前记录 -------------------------------------------------- .如果 (写 (#姓名, 编辑框_姓名.内容) 且 写 (#性别, 组合框1.内容) 且 写 (#年龄, 到整数 (编辑框_年龄.内容)) 且 写 (#出生日期, 日期框1.今天) 且 写 (#工资, 到数值 (编辑框_工资.内容)) 且 写 (#奖金, 到数值 (编辑框_奖金.内容))) 信息框 (“员工资料修改成功”, #信息图标, “成功”, ) 销毁 () .否则 信息框 (“员工资料修改失败”, #错误图标, “失败”, ) .如果结束我的播放器(五).版本 2 .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .局部变量 字段信息表, 字段信息, , 1 程序启动时检查运行目录下是否存在 mp3.edb 数据库文件。如果不存在则创建一个包含“mp3文件名”字段的数据库。 .如果真 (文件是否存在 (取运行目录 () “\mp3.edb”) 假) 字段信息表 [1].名称 “mp3文件名” 字段信息表 [1].类型 #文本型 字段信息表 [1].最大文本长度 500 创建 (取运行目录 () “\mp3.edb”, 字段信息表) .如果真结束 程序启动时从数据库中读取所有记录并将文件名添加到界面上的“播放列表框”中。 打开 (取运行目录 () “\mp3.edb”, , , , , , ) 置当前库 (取运行目录 () “\mp3.edb”) 将一个已经打开的数据库设置为当前的数据库 到首记录 () .计次循环首 (取记录数 (), ) 播放列表框.加入项目 (读 (1), ) 跳过 () .计次循环尾 () .子程序 _启动窗口_将被销毁 关闭现在已经打开的制定数据库,没有提供名称的话默认关闭当前的数据库. 关闭 () .子程序 _按钮_添加_被单击 .局部变量 文本组变量, 文本型, , 0 .局部变量 计次变量, 整数型 点击“添加”按钮弹出多文件选择对话框筛选 .MP3 文件。选中的文件会被同时添加到界面列表和后台数据库中(加记录)。 文本组变量 多文件对话框 (“添加mp3文件”, “mp3文件(*.MP3)|*.MP3”, , , 真, ) .如果真 (取数组成员数 (文本组变量) 0) 返回 () .如果真结束 .计次循环首 (取数组成员数 (文本组变量), 计次变量) 遍历选择的文件数组同时更新 UI (播放列表框.加入项目) 和数据层 (加记录)。 播放列表框.加入项目 (文本组变量 [计次变量], ) 加记录 (文本组变量 [计次变量]) .计次循环尾 () .子程序 _按钮_删除_被单击 点击“删除”按钮从界面列表和当前数据库记录中删除选中的歌曲。 .如果真 (播放列表框.现行选中项 ≠ -1) 数据库记录索引通常从 1 开始而列表框索引从 0 开始所以 1 是正确的映射。 跳到 (播放列表框.现行选中项 1) 先从逻辑上标记删除再物理移除。 删除 () 彻底删除 () 更新 UI。 播放列表框.删除项目 (播放列表框.现行选中项) .如果真结束 .子程序 _按钮_播放_被单击 播放播放列表中选中的歌曲。如果没有选中默认播放第一首。使用 同步播放MP3命令并关联进度标签以获取播放进度。 .如果真 (播放列表框.现行选中项 -1) 播放列表框.现行选中项 0 .如果真结束 同步播放MP3 (播放列表框.取项目文本 (播放列表框.现行选中项), , 进度标签, ) 自动下一曲通过 _进度标签_反馈事件 监听播放进度当进度达到 100%(参数一)时自动切换到下一首歌曲如果是最后一首则循环回到第一首。 .子程序 _进度标签_反馈事件, 整数型 .参数 参数一, 整数型 .参数 参数二, 整数型 播放进度条.位置 参数一 .如果真 (参数一 100) .如果 (播放列表框.现行选中项 播放列表框.取项目数 () 1) 播放列表框.选择项目 (0, ) .否则 播放列表框.选择项目 (播放列表框.现行选中项 1, ) .如果结束 _按钮_播放_被单击 () .如果真结束 .子程序 _按钮_暂停_被单击 暂停/继续分别调用对应的暂停和继续播放命令。 暂停播放MP3 () .子程序 _按钮_继续_被单击 继续播放MP3 ()
返回列表