如何在Dbedit中保证“-”(负号)只能输入在第一位? 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在DBEdit的OnKeyPress事件中:procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char);begin if Key = '-' then if (Pos('-', DBEdit1.Text) > 0) or (DBEdit1.SelStart > 0) then Key := #0;end; 在OnKeyPress里面判断 你通过粘贴的办法一样能随意 可能不要那么复杂。DBEdit本身从TMaskEdit继承,所有具有MaskEdit的特质。身边没有Delphi,不知道Field中有没有EditFormat的属性,如果有,试着写-99999999999999试试。(Borland公司打击盗版,我机器上不能装,只能靠记性) Field有EditMask属性,是可以的。或者在OnChange中判断,防止粘贴时的问题:procedure TForm1.DBEdit1Change(Sender: TObject);begin DBEdit1.Text := Copy(DBEdit1.Text, 1, 1) + StringReplace(Copy(DBEdit1.Text, 2, Length(DBEdit1.Text)), '-', '', []);end; 请问盘点机的原理和接口程序开发 如何调用qq或者msn? 关于遍历注册表的函数 RegEnumValue 进销存 MYSQL网络应用问题? 为何总显示‘无法使不可见窗口成为模态’ 有没办法找出Tab(#9)在一个字符串中的位置?用pos不行。 WIN2000的问题。。。。 关于节约内存的问题。 怎样实现这个问题? 为什么用text数据类型会发生错误? 你一定知道怎么解答这个问题,帮帮忙
procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = '-' then
if (Pos('-', DBEdit1.Text) > 0) or (DBEdit1.SelStart > 0) then
Key := #0;
end;
(Borland公司打击盗版,我机器上不能装,只能靠记性)
procedure TForm1.DBEdit1Change(Sender: TObject);
begin
DBEdit1.Text :=
Copy(DBEdit1.Text, 1, 1) +
StringReplace(Copy(DBEdit1.Text, 2, Length(DBEdit1.Text)), '-', '', []);
end;