类强制转换:inside vcl里面说“重新设定执行结构的范围”
谁能举一个实际应用的例子?数据类型强制转换:java的资料说是当由小变大的时候是取模运算,如int转为byte,则ini mod byte
var
  i: integer;
  b: byte;
  f: extended;
begin
  i := 256;
  b := 0;
  b := byte(i); 
  text := inttostr(b); // 为什么这里是0?? 一个byte等于255,256 mod 255 = 1, 当i:=257的时候,b=1
end;

解决方案 »

  1.   

    Byte最大是255!但最小是0
    256就会是0的,计算机基础来的!同样Word最大是65535,如处理65536,也就是0的Delphi不是Java!http://lysoft.7u7.net
      

  2.   

    类强制转换:inside vcl里面说“重新设定执行结构的范围”
    谁能举一个实际应用的例子?比如两个类:W: TWinControl; o: TObject;
    假设W已经实例化,可以如此赋值:
    o:= W;
    此时W的执行框架就缩小了,即O不能调用W的一些方法。比如不能调用w.setfocus
    但O和W实例上在内存中是一样的,如果你强制强制转换一下,则又可以调用了:
      TWinControl(W).setfocus;
      

  3.   

    谢谢各位!我在帮助里面找到一点有用的资料,呵呵,在help 关键字: typecast