注册 登录
编程论坛 Delphi论坛

计算器——小数点右边不能输入数字?!

一刀客 发布于 2008-03-12 21:25, 2922 次点击
小数点右边不能输入数字!!!!!!!
我用panel来显示运算结果,刚刚开始学Delphi,还不懂得如何写代码让Edit.text右对齐,只好用panel了。
==================================
只有本站会员才能查看附件,请 登录

==================================
定义了三个全局变量:
  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右对齐?大家帮帮忙吧!
4 回复
#2
keneth2008-03-21 17:34
基本上就是这样了,除了一些begin end ;少了之处应该没什么了。
如果不能出数字,看一下你的小数点你是怎么处理的。

按照你的思路,你要在FormCreate事件里把xsd:=true
然后按小数点就触发xsd:=false
#3
keneth2008-03-21 17:46
Edit.text的右对齐我也不会,希望哪个高手指点一下。

还有就是你这个数字键的输入还有一个问题,就是当计算之后(比如经过+计算),你再按数字,应该做一个清零处理,否则再按的数字又会接着算出来的结果。
#4
zhoukai2008-04-16 09:53
对齐问题
在Delphi中edit控件的限制很多。如不能换行,当然也不能右对齐,但是我们可以用memo来解决右对齐的问题。memo1.Alignment := taRightJustify;希望对你有所帮助;
#5
makebest2008-04-16 10:14
如果是我来处理的话, 我不会把小数点与数字放在一起, 而只是记一下有几个数字是在小数点右边的.
1