精易论坛

标题: 易语言 取字节问题,请大佬们看下 怎么取 [打印本页]

作者: 若相守卟离    时间: 2025-6-16 20:57
标题: 易语言 取字节问题,请大佬们看下 怎么取
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
参数一整数型 
参数二字节型12
参数三短整数型 
参数四整数型 
参数五字节型1
总字节字节集 
写到内存 (1, 取变量数据地址 (参数一), 4)
写到内存 (“调试式样”, 取变量数据地址 (参数二), 12)
写到内存 (2, 取变量数据地址 (参数三), 2)
写到内存 (3, 取变量数据地址 (参数四), 4)
写到内存 (“4”, 取变量数据地址 (参数五), 1)
总字节 = 到字节集 (参数一)到字节集 (参数二)到字节集 (参数三)到字节集 (参数四)到字节集 (参数五)
调试输出 (总字节)
' 数据已经写进去了
' 但是要怎么取才能正确的取出这些 参数
' 参数一= 1
' 参数二=调试式样
' 参数三= 2
' 参数四= 3
' 参数五= 4
' 字节集:23{1,0,0,0,181,247,202,212,202,189,209,249,0,0,0,0,2,0,3,0,0,0,52}
' 这些类型 有 整数型 有字节型 有整数 有 短整数型



i支持库列表   支持库注释   
spec特殊功能支持库


作者: laihobglei    时间: 2025-6-16 20:57
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  

子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
参数一整数型 
参数二字节型12
参数三短整数型 
参数四整数型 
参数五字节型1
总字节字节集 
写到内存 (1, 取变量数据地址 (参数一), 4)
写到内存 (“调试式样”, 取变量数据地址 (参数二), 12)
写到内存 (2, 取变量数据地址 (参数三), 2)
写到内存 (3, 取变量数据地址 (参数四), 4)
写到内存 (“4”, 取变量数据地址 (参数五), 1)
总字节 = 到字节集 (参数一)到字节集 (参数二)到字节集 (参数三)到字节集 (参数四)到字节集 (参数五)
调试输出 (“合并后的字节集:”, 总字节)
解析字节集 (总字节)
子程序名返回值类型公开备 注
解析字节集  
参数名类 型参考可空数组备 注
总字节字节集
变量名类 型静态数组备 注
偏移整数型 
参数一整数型 
参数二字节型12
参数三短整数型 
参数四整数型 
参数五字节型 
临时字节集字节集 
i整数型 
参数一 = 取字节集数据 (总字节, #整数型, 1)
偏移 = 偏移 + 4
临时字节集 = 取字节集中间 (总字节, 偏移 + 1, 12)
计次循环首 (12, i)  ' 循环复制字节
参数二 [i] = 临时字节集 [i]
计次循环尾 ()
偏移 = 偏移 + 12
参数三 = 取字节集数据 (总字节, #短整数型, 偏移 + 1)
偏移 = 偏移 + 2
参数四 = 取字节集数据 (总字节, #整数型, 偏移 + 1)
偏移 = 偏移 + 4
参数五 = 取字节集数据 (总字节, #字节型, 偏移 + 1)
调试输出 (“参数一:”, 参数一)
调试输出 (“参数二:”, 到文本 (参数二))  ' 转换为文本(GBK编码)
调试输出 (“参数三:”, 参数三)
调试输出 (“参数四:”, 参数四)
调试输出 (“参数五:”, 到文本 (参数五))  ' 转换为文本



i支持库列表   支持库注释   
spec特殊功能支持库


作者: wiley    时间: 2025-6-16 21:42
参数一=取字节集数据(总字节,#整数型,)
参数二=取字节集数据(总字节,#文本型,5)
参数三=取字节集数据(总字节,#短整数型,17)
参数四=取字节集数据(总字节,#整数型,19)
参数五=取字节集数据(总字节,#字节型,23)

补充内容 (2025-6-16 21:43):
自己构造的字节取的时候要自己知道占用几个字节
作者: 神行    时间: 2025-6-17 13:22
.版本 2
.支持库 spec
.子程序 从字节集解析
.参数 总字节, 字节集
.局部变量 偏移位置, 整数型
.局部变量 参数一, 整数型
.局部变量 参数二, 字节型, , "12"  // 12字节数组
.局部变量 参数三, 短整数型
.局部变量 参数四, 整数型
.局部变量 参数五, 字节型
' 1. 解析参数一(整数型,4字节)
参数一 = 取字节集数据(总字节, #整数型, 偏移位置)
偏移位置 = 偏移位置 + 4
' 2. 解析参数二(12字节数组)
.计次循环首(12, i)
    参数二[i] = 取字节集数据(总字节, #字节型, 偏移位置)
    偏移位置 = 偏移位置 + 1
.计次循环尾()
' 3. 解析参数三(短整数型,2字节)
参数三 = 取字节集数据(总字节, #短整数型, 偏移位置)
偏移位置 = 偏移位置 + 2
' 4. 解析参数四(整数型,4字节)
参数四 = 取字节集数据(总字节, #整数型, 偏移位置)
偏移位置 = 偏移位置 + 4
' 5. 解析参数五(字节型,1字节)
参数五 = 取字节集数据(总字节, #字节型, 偏移位置)
' 验证结果
调试输出("参数一:", 参数一)
调试输出("参数二:", 取字节集数据(参数二, #文本型, ))  // 转为文本显示
调试输出("参数三:", 参数三)
调试输出("参数四:", 参数四)
调试输出("参数五:", 参数五)
=====================================
若需频繁操作混合类型数据,建议改用内存文件流
.局部变量 内存文件号, 整数型
内存文件号 = 打开内存文件()
写内存文件(内存文件号, 参数一)  // 自动按类型写入
写内存文件(内存文件号, 参数二)
...
移到文件首(内存文件号)  // 重置读取位置
参数一 = 读内存文件(内存文件号, #整数型)
...
关闭文件(内存文件号)




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4