请问如何控制使Edit中输入的值必须是0和100之间的一个数值
写在这个Edit的哪个事件中?
写在这个Edit的哪个事件中?
解决方案 »
- richedit的问题,打开一个RTF文件后,怎样保证当前所有添加的部分都显示为蓝色,同时不影响原有字符的颜色?
- 客户要在生产流水拉装条码扫描仪,对通过的产品进行扫描,如果扫到就放行并录入电脑,否则不放行(加装门禁机)
- combobox的数据更新问题!????求教!!
- 如何用TMediaPlayer播放第二个光驱里的CD?
- Delphi--.Net群 12648749
- 各位大虾,我刚学delphi,请问如何在报表(Qreport)中制作表格,
- 难道没有人会吗?在线等待。。。。。。。。。。。。。。
- 360为什么报可疑文件,同求师傅一名
- 简单问题
- 讨论三层架构问题
- 求助。关于InterBase Client的安装
- 编写一个DLL给别人调用(vc6)应该注意些什么?怎么做?
在OnKeyPrsee中检查
onkeydown
if not key in['0'..'9'] and length(Edit1.text)>2 then
begin
end;
begin
if key=#8 then
key:=#0;
end;
var str:string;
begin
try
strtofloat(str);
except
showmessage('error');
end
然后判断在1--100之间
SetWindowLong(edit1.Handle, GWL_STYLE,GetWindowLong(edMaxCount.Handle, GWL_STYLE) or ES_NUMBER);
调用这个api可以限制edit1的输入只限于数字,至于0-100之间就随便写句代码来控制
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
old : integer = 0;implementation{$R *.dfm}procedure TForm1.Edit1Change(Sender: TObject);
var
i: integer;
begin
try
i := Strtoint(Edit1.Text);
if (i > 100) or (i< 0) then
raise exception.Create('Err')
else old := i;
except
Edit1.Text := IntToStr(old);
end;
end;end.