|
发表于 2025-1-18 16:17:15
|
显示全部楼层
辽宁省丹东市
|
大文件分割 | 逻辑型 | | |
原文件路径 | 文本型 | | | | 切割分卷文件大小 | 长整数型 | | | | 是否删除原文件 | 逻辑型 | | | | 返回全部分卷文件路径 | 文本型 | | | | 返回消息 | 文本型 | | | | 获取进度 | 子程序指针 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_文件号 | 整数型 | | | 局_子文件号 | 整数型 | | | 局循环次数 | 整数型 | | | 局循环次数子 | 整数型 | | | n | 长整数型 | | | i | 整数型 | | | m | 整数型 | | | 局拓展名 | 文本型 | | | 局分卷路径 | 文本型 | | | 局初始字节数 | 长整数型 | | | 局压缩分段长度 | 长整数型 | | | 局_ | 字节集 | | |
如果真 (是否为空 (返回消息 ) = 假) 返回消息 = “” 清除数组 (返回全部分卷文件路径 )局_文件号 = 打开文件A (原文件路径, #读文件, #限制读写 ) 如果真 (局_文件号 = 0 ) 返回消息 = “文件分割:” + 原文件路径 + “ 文件无法打开,请检查是否已被其他程序占用” 返回 (假) n = 取文件大小 (局_文件号 ) 判断 (n % 切割分卷文件大小 = 0 ) 局循环次数 = n ÷ 切割分卷文件大小  局循环次数 = n ÷ 切割分卷文件大小 + 1  判断 (局循环次数 > 1 ) 局拓展名 = 文件_取扩展名 (原文件路径 ) 局分卷路径 = 子文本替换 (原文件路径, 局拓展名, “”, , 1, 真) + “.part” 局初始字节数 = 0  判断 (切割分卷文件大小 > #压缩分段上限 )  判断 (切割分卷文件大小 % #压缩分段上限 = 0 )   局循环次数子 = 切割分卷文件大小 ÷ #压缩分段上限    局循环次数子 = 切割分卷文件大小 ÷ #压缩分段上限 + 1      计次循环首 (局循环次数, i )  加入成员 (返回全部分卷文件路径, 局分卷路径 + 到文本 (i ) + 局拓展名 )   局_子文件号 = 打开文件A (局分卷路径 + 到文本 (i ) + 局拓展名, #重写文件, #限制读写 )   如果真 (局_子文件号 = 0 )    返回消息 = 返回消息 + “文件分割:” + 局分卷路径 + 到文本 (i ) + 局拓展名 + “ 文件无法打开,请检查是否已被其他程序占用” + #换行符        计次循环首 (局循环次数子, m )   改变读写位置 (局_文件号, 局初始字节数, )    判断 (局循环次数子 = m )     判断 (切割分卷文件大小 % #压缩分段上限 = 0 )      局压缩分段长度 = #压缩分段上限       局初始字节数 = 局初始字节数 + 局压缩分段长度       局压缩分段长度 = 切割分卷文件大小 % #压缩分段上限       局初始字节数 = 局初始字节数 + 局压缩分段长度            局压缩分段长度 = #压缩分段上限      局初始字节数 = 局初始字节数 + 局压缩分段长度          局_ = 读文件字节集 (局_文件号, 局压缩分段长度, )    如果真 (写文件字节集 (局_子文件号, 局_ ) = 假)     如果真 (取字节集长度 (局_ ) ≠ 0 )      返回消息 = 返回消息 + “文件分割:” + 局分卷路径 + 到文本 (i ) + 局拓展名 + “ 无法写入数据 请检查磁盘剩余空间” + #换行符               计次循环尾 ()  关闭文件句柄 (局_子文件号 )   如果真 (是否为空 (获取进度 ) = 假)   调用子程序 (获取进度, , , 取整 (局初始字节数 ÷ (n ÷ 100 )) )      程序延时 (1 )  计次循环尾 ()       计次循环首 (局循环次数, i ) 加入成员 (返回全部分卷文件路径, 局分卷路径 + 到文本 (i ) + 局拓展名 ) 改变读写位置 (局_文件号, 局初始字节数, )  局_ = 读文件字节集 (局_文件号, 切割分卷文件大小, )  如果真 (写到文件字节集A (局分卷路径 + 到文本 (i ) + 局拓展名, 局_ ) = 假)   返回消息 = 返回消息 + “文件分割:” + 局分卷路径 + 到文本 (i ) + 局拓展名 + “ 无法写入数据 请检查磁盘剩余空间” + #换行符      局初始字节数 = 局初始字节数 + 切割分卷文件大小   如果真 (是否为空 (获取进度 ) = 假)  调用子程序 (获取进度, , , 取整 (局初始字节数 ÷ (n ÷ 100 )) )    程序延时 (1 ) 计次循环尾 ()  关闭文件句柄 (局_文件号 ) 如果真 (返回消息 ≠ “”) 清除数组 (返回全部分卷文件路径 ) 返回 (假)   如果真 (是否删除原文件 = 真) 处理事件 () 删除文件 (原文件路径 )  返回 (真) 关闭文件句柄 (局_文件号 ) 返回消息 = “文件分割:设置的分割文件大小大于或等于原文件大小,无需分割” 返回 (假) 比如像这样
|
|