怎样让edit.text输入1到9时,自动变为01,02....????
解决方案 »
- delphi Timer问题 很简单~~看见的都来说两句
- 问个问题字符串比较大小
- delphi怎么让它把命令执行完了自动重新起动程序
- 关于树与数据库的问题,在线急等。
- 如何将删除掉的控件再次添加到控件面板上?
- 关于API的问题,送分的!!!!
- 想实现遮挡的功能,但是一点也不明白怎么作,有哪位能帮忙吗?
- 请教各位,DELPHI+SQL2000用ADO,哪种连接方式最方便,请大家谈一谈。
- Nicrosoft个人主页更新—增加《Delphi高手突破》勘误表/更新首页文
- 如何让一个圆形图片围绕自己的圆心旋转 ???
- 大家看看!!!(转自一网情深)
- 关于从服务器读取时间更新客户端系统时间的问题,我想用NMDayTime控件得到了时间,《问题是我如何该系统时间?〉,没做过,请指教。
begin
if key in [ord('0')..ord('9')] then
edit1.text:=edit1.text+'0';
end;
begin
num:='0'+num
end;
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
vkey : char;implementation{$R *.DFM}procedure TForm1.Edit1Change(Sender: TObject);
var
str: string;
begin
if vkey in ['0'..'9'] then
str := '0' + vkey; Edit1.Text := str;
end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
vkey := key;
end;end. //end of the program
begin
if (Length(Edit1.Text)=1) and (Edit1.Text[1] in ['0'..'9']) then
begin
Edit1.Text:='0'+Edit1.Text;
Edit1.SelStart:=2;
end;
end;
fromat('%.3',[i])
好象是这样的, 我也记不清了。
edit怎么知道你要输入什么?
Shift: TShiftState);
begin
if key in [ord('0')..ord('9')] then
begin
edit1.Text:='0'+edit1.Text;
end;
end;
begin
edit1.text:='0'+inttostr(i);
end;
是不是编辑框只接受0~99的输入,而且把1改为01...?
如果是这样,试试:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if StrToInt(Edit1.Text) in [0..9] then
Edit1.text:='0' + edit1.text;
end;如果是可以输入任意的数字,你要用一些变量(或自定义结构)存下用户实际按下的每一个键,在用户输入完毕时,再决定要怎么显示。
var是一个DOUBLE型变量,
显然用一个整形也是兼容的。
begin
if StrToInt(Edit1.Text) in [0..9] then
Edit1.text:='0' + edit1.text;
end;
===========================================
FROM SnowFisher(钓雪)
===========================================
这种方法也可以的,而且这种改变,只能放在EXIT
事件里触发的,否则你输哪个数字不是在0..9之间?
if (Length(Edit2.Text)=1) and (Edit2.Text[1] in ['0'..'9']) then
begin Edit2.Text:='0'+Edit2.Text; //Edit2.SelStart:=2;
end;
if (Length(Edit2.Text)=2 )and(Edit2.Text[1] in ['1'])and (Edit2.Text[2] in ['0'..'2']) then
begin edit2.text:=edit2.text ; end; if not((Length(Edit2.Text)=2 )and(Edit2.Text[1] in ['1'])and (Edit2.Text[2] in ['0'..'2'])) then
begin
edit2.text:=''; end;
begin
if Edit1.text[1] in ['0'..'9'] then
Edit1.text := '0' + Edit1.text
else
begin
Edit1.text := '';
Showmessage('Invalid Data...'); //warnning the current user
end;
end;
begin
key:=#0;
edit1.Text:='0'+edit1.Text;
end;