怎样让edit.text输入1到9时,自动变为01,02....????
解决方案 »
- delphi7怎么用ADO控件连接VFP的数据库文件
- 关于 TDATASET 和 TQUERY 的 问题
- TClientDataSet 如何更新服务器数据
- 火上房了,delphi6+qreport做的报表,在98系统下,可以预览但打印不出来,怎么办啊!
- 怎么改变一个stringgrid的单元格的颜色?
- 大富翁没解决的问题
- 组件问题
- delphi帮助中有关ini文件的操作讲的不是很详细。哪位能给个例子吗?
- 能否利用IDesinger接口开发象Delphi一样可视化组件对象编辑程序?
- Picture.LoadFromFile和Picture.Savetofile时怎样用进度显示??
- 大家看看!!!(转自一网情深)
- 关于从服务器读取时间更新客户端系统时间的问题,我想用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;