这个函数的第三个参数看不懂!请教!
function CheckNull(Sender: TForm; Tag: integer; wFocused: Boolean): Boolean;
var
i : integer;
aEdit : TEdit;
begin
result := False;
for i := 0 to Sender.ComponentCount-1 do
begin
if Sender.Components[i] is TEdit then
begin
aEdit := TEdit(Sender.Components[i]);
if aEdit.Tag = Tag then
if aEdit.Text = '' then
begin
result := True;
if wFocused = True then
begin
MessageDlg('某些数据不能为空,请仔细检查!',mtError,[mbOK],0);
aEdit.SetFocus;
Exit;
end;
end;
end;
end;
end;
后面的调用代码:
procedure TFrm_AddEmployee.BitBtnSaveClick(Sender: TObject);
begin
if CheckNull(Frm_AddEmployee,99,True) then Exit;
if iState = 1 then
begin
try
DataCRM.ADOConnCRM.BeginTrans;
with DataCRM.ADOQTemp do
begin
Close;
SQL.Clear;
SQL.Text := ' insert into 公司_职员 (编号, 姓名, 年龄, 性别, 联系电话, '
' Values (:编号, :姓名, :年龄, :性别, :联系电话, '+;
Parameters.ParamByName('编号').Value := Trim(EditNum.Text);
Parameters.ParamByName('姓名').Value := Trim(EditName.Text);
if Trim(EditOld.Text) = '' then
Parameters.ParamByName('年龄').Value := Null
else
Parameters.ParamByName('年龄').Value := StrToFloat(Trim(EditOld.Text));
Parameters.ParamByName('性别').Value := CbBoxSex.ItemIndex + 1;
Parameters.ParamByName('联系电话').Value := Trim(EditPhone.Text);
Prepared;
ExecSQL;
end;
问题点数:20、回复次数:2Top
1 楼sundayzhao(皮皮虾)回复于 2003-09-02 18:55:36 得分 0
很简单啊,就是检查窗体上的有些编辑框是否为空。
第一个是窗体,第二个参数是tag值,tag是控件一个属性,在这里主要是为了区别是否为输入的tedit。第三个参数决定是否调用对话框。Top
2 楼lxpbuaa(桂枝香在故国晚秋)回复于 2003-09-02 18:56:53 得分 20
wFocused 是说如果TEdit 中输入的数据不符合要求(此处即aEdit.Text = '' )时,是否将提示用户这个信息,并焦点转移到Edit上要求用户重新输入。
————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————Top



