Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 检查变量是否达到最大值-Behavior_Delphi_Variables_Exception_Behavior - Fatal编程技术网

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;