var
  I: integer;
begin
  I := 1;
  Caption := IntToStr(integer(I));//     (1)
end;//////////////////
var
  I: integer;
begin
  Caption := IntToStr(integer(I));//     (4375952)
end;上述两例子中Caption为什么会出现不同值啊?
integer()返回的是什么啊?

解决方案 »

  1.   

    谢谢楼上;
    Pinteger(I)^          这个又是什么啊?
    这里的I为什么不能赋值啊?如果
      I := 1;
      Edit1.Text := IntToStr(Pinteger(I)^);
    会地址出错,?????
      

  2.   

    这叫类型强制转换,类型都一样转化没有意义
    第二种情况是因为I没有赋初值第一天,他们给我注册超靓id,我没灌!
    第二天,他们威胁要把我的电脑黑了,我没灌!
    第三天,他们找了一个plmm和我聊天,我灌了!
    第四天,我还想灌,可论坛被查封了!
    嘻嘻嘻 伴水:)有屎以来最尾大的灌水夹 嘻嘻嘻嘻
      

  3.   

    interger()是类型强制转换。
    就是把一个变量的内容当作整形来处理。
      

  4.   

    Caption := IntToStr(Integer(Button2));按上面几楼的说法,这个变量的内容是指Button2的地址吧?
    还有:Pinteger(I)^          这个又是什么啊?
    这里的I为什么不能赋值啊?如果
      I := 1;
      Edit1.Text := IntToStr(Pinteger(I)^);
    会地址出错,?????
      

  5.   

    Integer不是函数,是数据类型这里做的操作是强制类型转换...
    ///////
    Pinteger(I)^          这个又是什么啊?
    这里的I为什么不能赋值啊?
    ////////////
    var
      I: ^Integer;
    begin
      I^ := 324;
      Edit1.Text := IntToStr(Pinteger(I)^); //这样好像可以吧。。没测试。。
    end;
      

  6.   

    zswangII(伴水清清)(一贴不灌,何以灌天下?)
    签名好棒啊
      

  7.   

    GARNETT2183(KingWolves (http://kevin-lu.blogspot.com)) :var
      I: ^Integer;
    begin
      I^ := 324;
      Edit1.Text := IntToStr(Pinteger(I)^); //这样好像可以吧。。没测试。。
    end;
    这样是不行的,你的I没有指向integer型变量啊;----------------------------
    大家关注一下偶的问题吧
    ----------------------------
    Caption := IntToStr(Integer(Button2));
    按上面几楼的说法,这个变量的内容是指Button2的地址吧?Pinteger(I)^          这个又是什么啊?
    这里的I为什么不能赋值啊?
    如果
      I := 1;
      Edit1.Text := IntToStr(Pinteger(I)^);
    会地址出错,?????-------------------------------------------
      

  8.   

    你想实现什么呢?Pinteger是整形的指针,试试这个就明白了。
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
      i:= 1;
      Edit1.Text := IntToStr(Pinteger(@I)^);
    end;