如何在edit上能输入如00000120的数据,
并能像00000120+00000140=00000260
因为edit3.text:=inttostr(strtoint(edit1.text)-strtoint(edit2.text));
我这样输的话,在edit1上输0002,edit2上输0005,edit3得到的并不是0007,而是7
我想请教该怎样做,
另外edit上的数可不可以都靠右边。
谢谢了

解决方案 »

  1.   

    都靠右边是可以的,不过我不记得是哪个属性了。
    至于是7还是0007,你可以用FORMAT设置一下就可以了。
      

  2.   

    可以用以下方法:
    var
      Num1:Integer;
      Num2:Integer;
      Str:String;
      Str1,Str2:String;
    begin
      Num1:=120;
      Num2:=140;
      Str:=IntToStr(Num1);
      Str1:=Copy('000000',1,6-Lenth(Str))+Str;
      Str:=IntToStr(Num2);
      Str2:=Copy('000000',1,6-Lenth(Str))+Str;
    end;
    //以上方法可以得到你要的数字形式
    在你的Edit的Change事件中写下以上的数字转换方法,就可以得到你要的结果了
      

  3.   

    var
      S: String;
    begin
      S := IntToStr(strtoint(edit1.text)-strtoint(edit2.text));
      S := StringOfChar('0', 4-Length(S)) + S;
      edit3.text:= S;
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  4.   


    procedure TForm1.Button2Click(Sender: TObject);
    var
      i: integer;
      str: string;
    begin
    for i := 1000 to 1005 do
      begin
        showmessage(copy('0000000000',1,10-length(inttostr(i)))+inttostr(i));
      end;
    end;
      

  5.   

    另外edit上的数可不可以都靠右边:
      SetWindowLong(Edit1.Handle, GWL_STYLE, GetWindowLong(Edit1.Handle, GWL_STYLE)+TA_RIGHT);————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  6.   

    那设置在最右边的属性是哪个呢
    如何用format将edit输入的形式设置为0007呢?
      

  7.   

    SetWindowLong(Edit1.Handle, GWL_STYLE, GetWindowLong(Edit1.Handle, GWL_STYLE)+TA_RIGHT);
    应放在哪呢?
      

  8.   

    kaximoduo(卡西摩多) :
    可以将SetWindowLong放在Form.OnCreate事件里————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  9.   

    edit3.text:=format('%.5d',[(strtoint(edit1.text)-strtoint(edit2.text))]);5是长度,
    例如:00001
    换成6就是000001