我们知道:
procedure Tform1.edtRecCountKeyPress(Sender: TObject; var Key: Char); begin if ((key in ['0'..'9'] = false) and (word(key) <> VK_BACK)) then key := #0; end;
用来限制只能输入数字,但怎么输入不大于12的正数(是正数哦)呢?
送分了`~
只送给第一个答对的人。成功后立即结帖!
=====================================
syl79() 朋友回帖到:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
s : string;
begin
try
if key in ['0'..'9'] then
s := edit1.Text + key;
if strtoint (s) > 12 then
key := #0;
except on e : exception do
showmessage ('error number');
end;
end;===================
运行是趁工的,但是edit1无法编辑啊。。
procedure Tform1.edtRecCountKeyPress(Sender: TObject; var Key: Char); begin if ((key in ['0'..'9'] = false) and (word(key) <> VK_BACK)) then key := #0; end;
用来限制只能输入数字,但怎么输入不大于12的正数(是正数哦)呢?
送分了`~
只送给第一个答对的人。成功后立即结帖!
=====================================
syl79() 朋友回帖到:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
s : string;
begin
try
if key in ['0'..'9'] then
s := edit1.Text + key;
if strtoint (s) > 12 then
key := #0;
except on e : exception do
showmessage ('error number');
end;
end;===================
运行是趁工的,但是edit1无法编辑啊。。
解决方案 »
- 请问如何重命名注册表中某一项的项名?
- 关于对递归的理解
- 如何 使 自身程序在 系统的 任务栏 的 工具栏,实现一闪一闪的效果 , 就像QQ 的聊天窗口 有新消息时就会 一闪一闪的效果,急!!!!!!!!!!!!!!
- 有人知道在哪可以下載crystal reports企業版嗎?給最終用戶做分析報表的
- 又一个ADO问题,用ADO编程的朋友请进!
- 求教一个关于Delphi的client和sever之间传递XML文件的问题。
- 如何实现c语言中的联合?
- 如何统计string中含有几个汉字字符,几个英文字符?
- 为什么form5关闭后form3就关不掉了呢???????(看里面代码:)
- 如何限制Edit框接收鍵?(0..9,-)
- 急救啊(在线等) 日期和时间怎么混在一块?
- datamodule
begin
if ((key in ['0'..'9'] = false) and (word(key) <> VK_BACK)) then
key := #0;
end;
这是你上面的
下面在Edit的Onchang事件里写
var
begin
if strtoint (Edit1.text) > 12 then
Edot.text:='12'; //最大只能为12〕
end;
Windows, Messages, SysUtils, Variants, 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;implementation{$R *.dfm}procedure TForm1.Edit1Change(Sender: TObject);
begin
if strtoint(edit1.Text)>12 then edit1.Text:='12';
end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#13]) then key:=#0;
end;end.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
fsybaby(!报峰语)的最简洁,是我想要的效果。结帖!