DBEdit字符限制
我有DBEdit连接数据库的一个字段,程序限制输入符号,字段是双精度数字只允许小数点、数字、和负号。我想实现不能输入2个负号,且如果离开时内容必须能够转换成数字。我用Edit能够实现,但是DBEdit老是出现问题,感觉DBEdit对键盘响应总是慢一步,比如我在keypress里面定义了个条件,必须按2下才会响应,不知为什么,请高手指教
[解决办法]
void __fastcall TForm1::dbedt1KeyPress(TObject *Sender, char &Key){ if(!((Key>='0' && Key<='9' ) || Key== 8 || Key=='-'||Key== 32)) { Key =0; } else if ( Key == '-') { if(dbedt1->Text.Pos("-")) Key =0; }}
[解决办法]
AnsiString Temp = "";
void __fastcall TForm1::dbedt1Enter(TObject *Sender)
{
Temp = dbedt1->Text;
}
//---------------------------------------
void __fastcall TForm1::dbedt1Change(TObject *Sender)
{
try{
dbedt1->Text.ToInt() ;
}
catch(...)
{
//ShowMessage("输入错误!"); //这里也可以什么也不提示
if(!Temp.IsEmpty() )
dbedt1->Text = Temp;
else
dbedt1->Text ="0";
dbedt1->SetFocus() ;
}
}
//---------------------------------------