易语言ReadFileEx异步读取文件指定长度数据

打开文件OpenFile

.版本 2
 
.DLL命令 打开文件_, 整数型, "kernel32.dll", "OpenFile", , $(b)
    .参数 文件名, 文本型, , lpFileName,欲打开文件的名字
    .参数 文件操作结果, 文件结构信息_, 传址, lpReOpenBuff,文件操作结果
    .参数 操作方式, 整数型, , wStyle,操作方式

读入文件数据ReadFileEx

.版本 2
 
.DLL命令 读入文件数据_, 整数型, "kernel32", "ReadFileEx"
    .参数 文件句柄, 整数型, , hfile,文件的句柄
    .参数 数据缓冲区, 字节型, 数组, lpbuffer,指定容纳读入数据的一个缓冲区。除非读操作执行完毕,否则不要访问这个缓冲区
    .参数 读入长度, 整数型, , nnumberofbytestoread,要读入的字节数
    .参数 异步操作结构, 重叠操作_, , lpoverlapped,定义了一个异步操作的结构。使用这个函数时,结构中的hEvent字段会被忽略
    .参数 回调函数返回值, 整数型, , lpcompletionroutine,回调函数的返回值

文件结构信息OFSTRUCT

.版本 2
 
.数据类型 文件结构信息, ,OFSTRUCT
    .成员 结构长度, 字节型, , , cBytes,设置成结构的长度(目前是136)
    .成员 文件盘符, 字节型, , , fFixedDisk,参见相关帮助
    .成员 错误代码, 整数型, , , nErrCode,参见相关帮助
    .成员 保留1, 整数型, , , Reserved1,保留不用
    .成员 保留2, 整数型, , , Reserved2,保留不用
    .成员 文件路径, 文本型, , "128", szPathName,文件的完整路径名

重叠操作OVERLAPPED

.版本 2
 
.数据类型 重叠操作_, , OVERLAPPED
    .成员 内部保留参数, 整数型, , , Internal
    .成员 内部高位保留参数, 整数型, , , InternalHigh
    .成员 低32, 整数型, , , offset
    .成员 高32, 整数型, , , offsethigh
    .成员 事件句柄, 整数型, , , hevent

易语言调用

.版本 2
 
.程序集 窗口程序集_启动窗口
 
.子程序 _按钮_读入内容_被单击
.局部变量 局部_文件句柄, 整数型
.局部变量 局部_文件信息, 文件结构信息
.局部变量 局部_文件内容, 字节型, , "500"
.局部变量 局部_异步操作的结构, 重叠操作_
.局部变量 局部_计次, 整数型
.局部变量 局部_内容, 文本型
 
.如果真 (通用对话框1.打开 () = 真)
    局部_文件句柄 = 打开文件_ (通用对话框1.文件名, 局部_文件信息, 32)
    读入文件数据_ (局部_文件句柄, 局部_文件内容, 50, 局部_异步操作的结构, 0)
    .计次循环首 (50, 局部_计次)
        局部_内容 = 局部_内容 + 字符 (局部_文件内容 [局部_计次])
    .计次循环尾 ()
    编辑框_运行结果.内容 = 局部_内容
.如果真结束

发布日期:

所属分类: 易语言 标签: