计算器——小数点右边不能输入数字?!
小数点右边不能输入数字!!!!!!!我用panel来显示运算结果,刚刚开始学Delphi,还不懂得如何写代码让Edit.text右对齐,只好用panel了。
==================================
[attach]32917[/attach]
==================================
定义了三个全局变量:
xsd:boolean=true;//xsd是小数点的意思,默认是没有点击小数点,设为true。当点击小数点的时候,其值为 false
y:string;
m:integer;
当按下“1”的时候,代码如下
if xsd then
if panel1.Caption='0.' then
panel1.Caption:='1.'
else
if panel1.Caption<>'0.' then
begin
y:=panel1.Caption;
m:=length(y);
setlength(y,m-1);
panel1.Caption:=y+'1'+'.'
end
else
if xsd=false then //问题应该在这里了,但我不知道错在哪里!
begin
y:=panel1.Caption;
panel1.Caption:=y+'1'
end;
end;
如何写代码让Edit.text右对齐?大家帮帮忙吧!
如果不能出数字,看一下你的小数点你是怎么处理的。
按照你的思路,你要在FormCreate事件里把xsd:=true
然后按小数点就触发xsd:=false Edit.text的右对齐我也不会,希望哪个高手指点一下。
还有就是你这个数字键的输入还有一个问题,就是当计算之后(比如经过+计算),你再按数字,应该做一个清零处理,否则再按的数字又会接着算出来的结果。
对齐问题
在Delphi中edit控件的限制很多。如不能换行,当然也不能右对齐,但是我们可以用memo来解决右对齐的问题。memo1.Alignment := taRightJustify;希望对你有所帮助; 如果是我来处理的话, 我不会把小数点与数字放在一起, 而只是记一下有几个数字是在小数点右边的.页:
[1]
