易语言服务器调试输出为假,易语言判断、如果真、文本到整数比较时,调试时运行正常,编译后不正常...

今天在用易语言帮一个客户写程序的时候,发言一个奇怪的问题,就是在用判断、如果真命令比较2个文本到整数后的值时,在调试运行的时候,一切正常,但是编译出来后,运行不正常,不符合逻辑,最终经过调试输出,发现是因为文本到整数后,超出了易语言整数型变量的范围引起的该问题。下面记录一下我解决问题的过程。

刚开始的代码是这样的:

.版本 2

文本1 = “20180801115”

文本2 = “20180801116”

如果真 (到整数(文本1)+1 = 到整数(文本2))

调试运行的时候,程序是按照我的思路走的,没问题。

但是静态编译为exe程序后,上面的如果真里面的判断如同废弃,没有丝毫作用,程序就运行不正常了。

开始以为是【如果真】命令的问题,遂改为【判断】,结果问题依旧。

那么,就调试看看喽,把上面程序修改为以下内容:

.版本 2

.支持库 spec

.局部变量 数字1, 整数型

.局部变量 文本1, 文本型

.局部变量 数字2, 整数型

.局部变量 文本2, 文本型

文本1 = “20180801115”

文本2 = “20180801116”

数字1 = 到整数 (文本1) + 1

数字2 = 到整数 (文本2)

调试输出 (数字1, 数字2)

.判断 (数字1 = 数字2)

调试输出的内容为:

* -1294035364 | -1294035364

看到这里,猛然想起,会不会是【数字1和数字2】的长度大于了整数型的最大范围了,结果百度一下,还真的是,易语言整数型的范围是:-2,147,483,648 到 2,147,483,647,明显的,我们的数字超过了这个范围。

那么,找到原因了,问题就好解决了,只需把【数字1、数字2】声明为“长整数”类型,【到整数()】修改为【到长整数】即可,修改后如下:

.版本 2

.支持库 spec

.局部变量 数字1, 长整数型

.局部变量 文本1, 文本型

.局部变量 数字2, 长整数型

.局部变量 文本2, 文本型

文本1 = “20180801115”

文本2 = “20180801116”

数字1 = 到长整数 (文本1) + 1

数字2 = 到长整数 (文本2)

调试输出 (数字1, 数字2)

.判断 (数字1 = 数字2)

然后再次调试看看,结果如下:

* 20180801116 | 20180801116

OK,到此为止,结果正常了,希望本文能给遇到同样问题的同学一些帮助。

《易语言判断、如果真、文本到整数比较时,调试时运行正常,编译后不正常》地址:www.cunguer.com/article/346.html,本文来自村姑网,您身边的IT专家

www.cunguer.com,转载请注明出处,您的支持是我们创作的源泉~!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
精易模块 V6.4.0 what's new: (20180601) 一、新增 1、新增“网页_取外网IP_S”,新接口获取外网IP与归属地;感谢【@大飛 】提供新接口 2、新增“文本_删左边”“文本_删右边”“文本_删中间”;感谢【@Mr.Yang 】提供源码 3、新增“网页_取Cookie2”支持对存放在path里cookie的获取;感谢【@Mr.Yang 】提供源码 4、新增“线程_启动”针对性线程启动,减少崩溃的几率;感谢【@Mr.Yang 】提供源码 5、新增“鼠标_带轨迹移动”更加灵活的鼠标移动; 二、修复 1、修复“网页_取cookie”内部调用命令的错误;感谢【@ku2017 】反馈 2、修复“系统_清除托盘残留”内部输出调试文本的错误提示;感谢【@ku2017 】反馈 3、修复“字节集_文本转字节集ex”转换错误的BUG;感谢【@shandmail 】反馈,【@贫民窟 】提供修复方案 4、修复“类_json”-“加成员”命令参数变量的BUG导致命令失效的问题;感谢【@zyb1326711709 】反馈 5、修复“文件_删除配置项”参数名错别字问题;感谢【@纯情小黄牛 】反馈 6、修复“网页填表-网页_创建新网页”命令缺失导致功能无法正常使用BUG,感谢【@红颜似水 】反馈并建议 三、优化 1、优化“网页_取文本_dom”参数与返回值的赋值问题;感谢【@不苦小和尚 】反馈 2、优化“文本_转拼音”增加是否全角参数,多项选择返回值。感谢【@ 不苦小和尚 】反馈 3、优化“网页_访问”,“网页_访问s”,“网页_访问_对象”提交cookie的设置,感谢【@915743805 】反馈 4、优化“文本_寻找出文本并删除”新增参数“是否保留前后文本”,自定义保留前后关键文本;感谢【@ggp 】建议反馈 5、优化“进程_ID取窗口句柄”逻辑判断,修正获取句柄错误的BUG;感谢【@无敌小白 】反馈并建议 6、优化“间_同步校”将原有获取连接修改为通用的百度网站; 精益论坛
易语言赤月神社模块.ec 易语言经典模块 2012.6.11 增加 MASM汇编 (将MASM格式的汇编指令转成字节集) MASM反汇编 (将字节集代码转为MASM格式汇编指令) 修正 汇编 (优化执行速度) 反汇编(优化执行速度) 置入汇编 (改用MASM指令 废除OD引擎指令) 内核汇编(优化执行速度 增加错误指令提示) 内核反汇编(优化执行速度 修复错误指令书写) 修正 Asm (支持了高级指令的书写) 置CE作弊脚本_汇编 (改用MASM指令 废除OD引擎指令) 注入作弊脚本_汇编 (改用MASM指令 废除OD引擎指令) 2012.5.21 修复 各种BUG我修复了很多 我自己都记不得了 ╮(╯▽╰)╭ 增加 命令 申请自身内存 Asm_RtlMoveMemory 修改虚拟保护 NtRtlMoveMemory 申请虚拟内存 高级汇编类 { retn Call_DWORD_Ptr_EAX Call_DWORD_Ptr_EBP Call_DWORD_Ptr_EBX Call_DWORD_Ptr_ECX Call_DWORD_Ptr_EDI Call_DWORD_Ptr_EDX Call_DWORD_Ptr_ESI Call_DWORD_Ptr_ESP } 增强 APIHOOK DetourHook 内存类 读写内存操作 已经全面加强 采用非ntdll.dll的API 自写API 可以过检测(大概~~~~) { 读写内存操作 (调试器下各种硬件/INT3断点都无法下断检测) } 类 XMPlay 废弃 读自身整数型内存 写自身整数型内存 Hook内存读写类 汇编内存读写类 NrWriteVirtualMemory NrReadVirtualMemory 2012.4.29 修复 植入代码 网页访问类 增加 命令 内联汇编 { 置汇编 ASM编译 ASM执行 ASM取代码 } 正则表达式 类 屏蔽类 脚本类 正则表达 DerourHook 驱动模拟类 底层模拟类 消息钩子类 热键编辑框 地址寄存器类 DLL全局注入类 2012.3.6 修复 【保护类】终极反调试 (加强) 【内存类】读基址 (替换成PID) 【进程类】取进程路径 (替换成PID) 【进程类】多线程优化 (增加返回值) 增加 【内核类】 NrReadVirtualMemory NrWriteVirtualMemory 【指针类】 到子程序指针 取子程序地址 汇编_取指针地址 【调用类】 植入代码 调用子程序_寄存器 取模块函数入口_汇编 GetProcAddress_汇编 GetModuleHandleA_汇编 删除 【注入类】取模块函数地址

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值