如何在edit上能输入如00000120的数据,
并能像00000120+00000140=00000260
因为edit3.text:=inttostr(strtoint(edit1.text)-strtoint(edit2.text));
我这样输的话,在edit1上输0002,edit2上输0005,edit3得到的并不是0007,而是7
我想请教该怎样做,
另外edit上的数可不可以都靠右边。
谢谢了
并能像00000120+00000140=00000260
因为edit3.text:=inttostr(strtoint(edit1.text)-strtoint(edit2.text));
我这样输的话,在edit1上输0002,edit2上输0005,edit3得到的并不是0007,而是7
我想请教该怎样做,
另外edit上的数可不可以都靠右边。
谢谢了
至于是7还是0007,你可以用FORMAT设置一下就可以了。
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事件中写下以上的数字转换方法,就可以得到你要的结果了
S: String;
begin
S := IntToStr(strtoint(edit1.text)-strtoint(edit2.text));
S := StringOfChar('0', 4-Length(S)) + S;
edit3.text:= S;
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
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;
SetWindowLong(Edit1.Handle, GWL_STYLE, GetWindowLong(Edit1.Handle, GWL_STYLE)+TA_RIGHT);————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
如何用format将edit输入的形式设置为0007呢?
应放在哪呢?
可以将SetWindowLong放在Form.OnCreate事件里————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
例如:00001
换成6就是000001