Delphi 检查变量是否达到最大值-Behavior
嘿,伙计们,我有两个问题。Delphi 检查变量是否达到最大值-Behavior,delphi,variables,exception,behavior,Delphi,Variables,Exception,Behavior,嘿,伙计们,我有两个问题。 1) 变量在以下情况下的行为(例如,认为整数maxValue为+-100) 和达到整数maxValue。下面是下一个相关问题 2) 在delphi中,有没有一种方法可以捕捉到这种情况,然后做其他的事情,然后用熟悉的方式去做?或者如果不能,那么有没有办法用if来做呢 要获取类型的最大和最小范围,可以使用以下代码: var myMin, myMax: Integer; begin myMin := Low(Integer); myMax := High(Int
1) 变量在以下情况下的行为(例如,认为整数maxValue为+-100) 和达到整数maxValue。下面是下一个相关问题
2) 在delphi中,有没有一种方法可以捕捉到这种情况,然后做其他的事情,然后用熟悉的方式去做?或者如果不能,那么有没有办法用if来做呢 要获取类型的最大和最小范围,可以使用以下代码:
var
myMin, myMax: Integer;
begin
myMin := Low(Integer);
myMax := High(Integer);
end;
提出了例外情况:
对于结果太大而无法放入
分配寄存器
如果您尝试过:
myMax := High(Integer) + 1;
该值将切换为Low(整数)
p.S.Delphi中没有
+=
复合赋值运算符。谢谢你帮了我很多忙:)。我在那个网站上读到的另一个问题是:>注意:在Delphi代码中,只有在启用溢出检查时才会引发EIntOverflow。要启用溢出检查,请在项目源代码中包含$Q+指令,或选择项目|选项,选择编译器选项卡,然后选中对话框中的溢出检查选项。若我将其编译为exe并在其他计算机上打开,它会引发异常吗?供您进一步阅读该指令?这是一个编译器指令。它在编译时应用,因此没有“在其他计算机上打开”的机制。它在创建EXE文件的编译器中打开。将可执行文件复制到其他地方不会改变溢出检查的行为。这段代码是什么语言?您真的使用了+=
?另请参见。A也可以抛出,这取决于算术运算中涉及的变量类型的大小。是的,这不是Delphi代码。。。
myMax := High(Integer) + 1;