//-------------------------------------------------------------------//
// 函数名称: uf_read_file
// 功能描述: 读取磁盘文件
// 作用范围: public
// 参数说明:
// as_path :读取文件路径(包含文件名)
//
// 返 回 值:
// 成功 ab_blob_data :返回读取文件内容(大二机制型)
// --失败 -1
// 使用说明:
// uf_read_file (as_path)
// 作 者:
// 编写时间: 2021-11-1
//-------------------------------------------------------------------//
//Read Blob File
integer f_li_FileNum, f_loops, f_i
long f_flen
blob f_b, f_sum_b
//获取文件大小
f_flen = FileLength(as_path)
IF f_flen / 1024 > 5120 THEN
messagebox("提示", "更新文件超过5M!")
return f_sum_b
END IF
//打开文件
f_li_FileNum = FileOpen(as_path, StreamMode!, Read!, LockRead!)
//判断返回值
IF f_li_FileNum = -1 THEN
messagebox("打开文件错误","文件名:" + as_path)
return f_sum_b
END IF
//由于FileRead函数一次只能读出32765大小的数据,所以先计算读取次数
IF f_flen > 32765 THEN
IF Mod(f_flen, 32765) = 0 THEN
f_loops = f_flen / 32765
ELSE
f_loops = (f_flen / 32765) + 1
END IF
ELSE
f_loops = 1
END IF
//分多次读出文件中的所有数据,放在tot_b变量中
FOR f_i = 1 to f_loops
FileRead(f_li_FileNum, f_b)
f_sum_b = f_sum_b + f_b
NEXT
//关闭文件
FileClose(f_li_FileNum)
//返回文件数据
return f_sum_b