procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
For i := 0 to Self.ComponentCount do
begin
if self.Components[i] is TDBEdit then
if TDBEdit(Self.Components[i]).Field.IsNull then showmessage('空值')
end;
end;行了,自己写代码控制吧
var
i: Integer;
begin
For i := 0 to Self.ComponentCount do
begin
if self.Components[i] is TDBEdit then
if TDBEdit(Self.Components[i]).Field.IsNull then showmessage('空值')
end;
end;行了,自己写代码控制吧
解决方案 »
- delphi 异常处理-如何获得异常错误代号
- 问个指针问题!!
- 急,如何将Exe文件中某个事件用BPL中某个方法覆盖?(为什么不能给分,我还有1800分)
- 请问如何用treeview控件筛选数据库内容,在grid中显示。
- TDBGrid要取得目前可見行的第n行數據怎麼取得啊!100放送
- “Ole服务无法绑定对象”是怎么回事?
- 如何处理热键
- !!!小问题难倒.......Access数据库密码问题????
- 利用TNMSMTP进行邮件群发,遇到疑惑。。。高分悬赏。。
- 冲突问题,请高手指教
- 怎么在button上画图或设置颜色
- 在DELPHI中执行数据库的INSERT DELETE ,用什么好,是用Tdataset?Ttable?tquery?请指教。谢谢
把Self.ComponentCount 改为 self.ControlerCount
把self.Components[i] 改为 self.Controlers[i]
可以减少次数
如为空,使其取得焦点
程序修改后如下:procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
For i := 1 to Self.ComponentCount-1 do
begin
if self.components[i] is TdbEdit then
if TdbEdit(Self.components[i]).text='' then
begin
showmessage('不能为空值');
//此处欲使self.components[i]取得焦点,该如何做,好像不能用setfocus
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
For i := 1 to self.controlcount-1 do
begin
if self.controls[i] is TdbEdit then
if TdbEdit(Self.controls[i]).text='' then
begin
showmessage('不能为空值');
Tdbedit(self.controls[i]).setfocus;
break;
end;
end;
end;
另:可以为空的dbedit,可以使用其它的控件,如raize里的TRzdbedit,inforpower里的Twwdbedit,来和不能为空值的区别开。
问题基本解决,各位有更好 更有效率的办法可以贴出来研究研究。
i: Integer;
begin
For i := 0 to Self.ComponentCount do
begin
if self.Components[i] is TDBEdit then
if TDBEdit(Self.Components[i]).Field.IsNull then
BEGIN
TDBEdit(Self.Components[i]).SetFocus;
BREAK;
END;
end;
end;