|
20精币
变量名 | 类 型 | 静态 | 数组 | 备 注 | 字节起点 | 整数型 | | | 各段长度 | 文本型 | | 0 | 物品总数 | 整数型 | | | 返回内容 | 字节集 | | | 文本 | 文本型 | | | i | 整数型 | | | X | 整数型 | | | ID | 整数型 | | | 偏移 | 整数型 | | | 版本4022 | 文本型 | | |
版本4022 = “88,168,618,364,68,268,148,268,168,681,568,116,100,108,96,100,80,68,604,1500”文件内容 = 读入文件 (取运行目录 () + “\E.data”)如果真 (文件内容 = { })返回 ()各段长度 = 分割文本 (版本4022, “,”, )字节起点 = 9 变量循环首 (1, 20, 1, X )如果真 (X = 14 )字节起点 = 字节起点 + 22 如果真 (X = 16 )字节起点 = 字节起点 + 8 字节起点 = 字节起点 + 4物品总数 = 字节集到整数 (取字节集中间 (文件内容, 字节起点, 2 )) 字节起点 = 字节起点 + 4 返回内容 = 取字节集中间 (文件内容, 字节起点, 物品总数 × 到整数 (各段长度 [X ])) 字节起点 = 字节起点 + 取字节集长度 (返回内容 )如果真 (X = 4 )偏移 = 1 计次循环首 (物品总数, i )ID = 字节集到整数 (取字节集中间 (返回内容, 偏移, 4 )) 偏移 = 偏移 + 4 文本 = 字节集到文本 (取字节集中间 (返回内容, 偏移, 64 )) 如果真 (ID = cha询ID )返回 (文本 )偏移 = 偏移 + 64计次循环尾 ()如果真 (X = 7 )偏移 = 1 计次循环首 (物品总数, i )ID = 字节集到整数 (取字节集中间 (返回内容, 偏移, 4 )) 偏移 = 偏移 + 4 文本 = 字节集到文本 (取字节集中间 (返回内容, 偏移, 64 )) 偏移 = 偏移 + 4 如果真 (ID = cha询ID )返回 (文本 )计次循环尾 ()如果真 (X = 12 )偏移 = 1 计次循环首 (物品总数, i )ID = 字节集到整数 (取字节集中间 (返回内容, 偏移, 4 )) 偏移 = 偏移 + 4 文本 = 字节集到文本 (取字节集中间 (返回内容, 偏移, 64 )) 如果真 (ID = cha询ID )返回 (文本 )偏移 = 偏移 + 64计次循环尾 ()如果真 (X = 13 )偏移 = 1 计次循环首 (物品总数, i )ID = 字节集到整数 (取字节集中间 (返回内容, 偏移, 4 )) 偏移 = 偏移 + 4 文本 = 字节集到文本 (取字节集中间 (返回内容, 偏移, 64 )) 如果真 (ID = cha询ID )返回 (文本 )偏移 = 偏移 + 64计次循环尾 ()变量循环尾 ()
写了一段cha询代码,大概有2万多条数据,查的非常慢,求大神帮优化一个,谢谢了
补充内容 (2024-10-6 21:10):
是先把数据取出来放到数组里快,还是边查边取数快呢
补充内容 (2024-10-7 05:55):
完整代码及E.data以上传在6楼,请各位大神帮忙,凡是对我有帮助的,都会打赏 |
最佳答案
查看完整内容
[e=0]
.版本 2
.支持库 spec
.子程序 _按钮1_被单击
.局部变量 q, 整数型
q = 取启动时间 ()
编辑框2.内容 = e读取 (文件内容, 到整数 (编辑框1.内容))
调试输出 (“e读取耗时:”, 取启动时间 () - q)
q = 取启动时间 ()
调试输出 (子程序1茶熏爱帝 (文件内容, 到整数 (编辑框1.内容)))
调试输出 (“茶熏爱帝 耗时:”, 取启动时间 () - q, )
.子程序 子程序1茶熏爱帝, 文本型
.参数 参数_文件内容, 字节集
.参数 参数_茶 ...
|