电话号码输入问题(100分)

  • 主题发起人 主题发起人 liuzongyi
  • 开始时间 开始时间
L

liuzongyi

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎么把speedbutton按下后的数值在maskedit中显示?
speedbuttun有十个,分别代表0、1、2……9,maskedit最多允许输入4位数字。
怎么让当按下0……9中的数字的时候,masketedit按speedbutton输入顺序显示
单个数字0……9,当输入达到4位是不响应输入。
哎,简单地说就是电话号码输入问题。
 
speedbutton代码共享
设 i:integer
if i=4 then exit
else begin
i:=i+1;
.................(sender as speedbutton)
 
具体一点呀,我刚学delphi。:(
 
你是初学者是吧?那好吧!
1.将十个按钮对应的处理函数去掉或注释掉
2.将十个按钮按0..9的顺序,依次指定其的Tag属性为0..9
3.在窗体中选中十个按钮,按F11键
4.叫出属性设置器后,切换到事件页,在OnClick事件处双击
(如此可实现将十个按钮的按下动作交给一个函数处理)
5.在处理函数中书写如下代码:
if Length(Edit1.Text)>4 then Exit;
if sender is speedbutton then begin
Edit1.Text := Edit1.Text+IntToStr((sender as speedbutton).Tag);
end;
 
谢谢讲得如此详细,我还有一点点疑问,如果我的电话号码有A、B、C之类的字母或*号#号
的话该怎么做?
 
接受答案了。
我试了一下,这样就可以了:)。再次感谢WiseAnt。
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if Length(Edit1.Text)>4 then Exit;
if sender is Tspeedbutton then
begin
Edit1.Text := Edit1.Text+(sender as Tspeedbutton).Caption;
end;
end;
 
接受答案了
 

Similar threads

后退
顶部