📄 bmmlgl.pas
字号:
lsbl_bmbh := bmmlquery.FieldByName('bmbh').AsString;
lsbl_bmbh := copy(lsbl_bmbh, strtoint(lsbl_bmbhcd) + 1, 3);
lsbl_bmbh := inttostr(strtoint(lsbl_bmbh) + 1);
lsbl_bmbh := Copy('00000000000000000000', 1, 3 - length(lsbl_bmbh)) +
lsbl_bmbh;
end
else
begin
lsbl_bmbh := '001';
end;
end
else
lsbl_bmbh := '001';
bmml_bjzt := '';
bmbhEdit.Enabled := True;
bmmcEdit.Text := '';
dhEdit.Text := '';
fzrEdit.Text := '';
emailEdit.Text := '';
bzEdit.Text := '';
bmmlquery.Close;
Bmbhedit.Text := lsbl_bmbh;
bmbhEdit.SetFocus;
bmml_bjzt := 'TjAdd';
end;
procedure Tbmmlform.bmxjaddButtonClick(Sender: TObject);
var
lsbl_bmbh, lsbl_bmbhcd, lsbl_level: string;
begin
bmml_bjzt := '';
bmbhEdit.Enabled := True;
bmbhEdit.SetFocus;
bmmcEdit.Text := '';
dhEdit.Text := '';
fzrEdit.Text := '';
emailEdit.Text := '';
bzEdit.Text := '';
lsbl_bmbhcd := inttostr(length(bmml_dqbmbh));
lsbl_level := inttostr(bmmlview.Selected.Level + 1);
with bmmlQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select max(bm_bh) as bmbh From bmmlk');
SQL.Add('where left(bm_bh,' + lsbl_bmbhcd + ')=''' + bmml_dqbmbh + '''');
SQL.Add('and bm_jb=''' + lsbl_level + '''');
Open;
First;
end;
if bmmlquery.FieldByName('bmbh').AsString <> '' then
begin
lsbl_bmbh := bmmlquery.FieldByName('bmbh').AsString;
lsbl_bmbh := copy(lsbl_bmbh, strtoint(lsbl_bmbhcd) + 1, 3);
lsbl_bmbh := inttostr(strtoint(lsbl_bmbh) + 1);
lsbl_bmbh := Copy('00000000000000000000', 1, 3 - length(lsbl_bmbh)) +
lsbl_bmbh;
end
else
begin
lsbl_bmbh := '001';
end;
Bmbhedit.Text := lsbl_bmbh;
bmml_bjzt := 'XjAdd';
end;
function Tbmmlform.datasave: Boolean; //数据保存函数
var
cMessage: string;
MainNode: TTreeNode;
begin
Result := True;
if bmbhEdit.Text = '' then
begin
MessageDlg('部门编号不能为空', mtError, [mbOk], 0);
BmbhEdit.SetFocus;
Result := False;
exit;
end;
if bmmcEdit.Text = '' then
begin
MessageDlg('部门名称不能为空', mtError, [mbOk], 0);
BmmcEdit.SetFocus;
Result := False;
exit;
end;
with bmmlQuery do
begin
Close;
SQL.Clear;
SQL.Add('Select bm_bh,bm_mc From bmmlk');
if bmml_bjzt = 'TjAdd' then
SQL.Add('where Trim(bm_bh)=''' + bmml_bmbh + bmbhEdit.Text + '''')
else
SQL.Add('where Trim(bm_bh)=''' + bmml_dqbmbh + bmbhEdit.Text + '''');
Open;
First;
if (FieldByName('bm_bh').AsString <> '') and (bmml_bjzt <> 'Edit') then
begin
cMessage := '已存在部门【' + Trim(FieldByName('Bm_bh').AsString) +
' ';
cMessage := cMessage + Trim(FieldByName('Bm_mc').AsString) +
'】,请重新输入编号';
MessageDlg(cMessage, mtError, [mbOk], 0);
close;
BmbhEdit.SetFocus;
Result := False;
exit;
end
else
Close;
end;
if bmml_bjzt = 'Edit' then
begin
with bmmlQuery do
begin
Close;
SQL.Clear;
SQL.Add('update bmmlk set bm_mc=''' + bmmcEdit.Text + '''');
SQL.Add(',bm_fzr=''' + fzrEdit.Text + '''');
SQL.Add(',bm_dh=''' + dhEdit.Text + '''');
SQL.Add(',bm_email=''' + emailEdit.Text + '''');
SQL.Add(',bm_bz=''' + bzEdit.Text + '''');
SQL.Add('where Trim(bm_bh)=''' + bmml_dqbmbh + '''');
Prepare;
try
ExecSQL;
BmmlView.Selected.Text := bmbhEdit.Text + ' ' + bmmcEdit.Text;
except
MessageDlg('更新数据失败', mtWarning, [mbOk], 0);
Result := False;
exit;
end;
end;
end
else
begin
if bmml_bjzt = 'TjAdd' then
begin
with bmmlQuery do
begin
Close;
SQL.Clear;
SQL.Add('Insert into bmmlk (bm_bh,bm_mc,bm_fzr,bm_dh,bm_email,bm_bz,bm_jb)');
SQL.Add(' values (''' + bmml_bmbh + bmbhEdit.Text + '''' + ',''' +
bmmcEdit.Text + '''');
SQL.Add(',''' + fzrEdit.Text + '''' + ',''' + dhEdit.Text + '''');
SQL.Add(',''' + emailEdit.Text + '''' + ',''' + bzEdit.Text +
'''');
if bmmlView.Items.count = 0 then
SQL.Add(',''' + '0' + '''' + ')')
else
SQL.Add(',''' + inttostr(bmmlview.Selected.level) + '''' + ')');
Prepare;
try
ExecSQL;
if bmmlView.Items.count = 0 then
MainNode := bmmlView.Items.AddChild(nil, bmbhEdit.Text + ' ' +
bmmcEdit.Text)
else
begin
if bmmlview.Selected.Level = 0 then
MainNode := bmmlView.Items.AddChild(nil, bmbhEdit.Text +
' ' + bmmcEdit.Text)
else
MainNode :=
bmmlView.Items.AddChild(bmmlview.Selected.Parent,
bmbhEdit.Text + ' ' + bmmcEdit.Text);
end;
Mainnode.SelectedIndex := 12;
Mainnode.ImageIndex := 13;
MainNode.Selected := True;
except
MessageDlg('更新数据失败', mtWarning, [mbOk], 0);
Result := False;
exit;
end;
end;
end
else
begin
with bmmlQuery do
begin
Close;
SQL.Clear;
SQL.Add('Insert into bmmlk (bm_bh,bm_mc,bm_fzr,bm_dh,bm_email,bm_bz,bm_jb)');
SQL.Add(' values (''' + bmml_dqbmbh + bmbhEdit.Text + '''' + ','''
+ bmmcEdit.Text + '''');
SQL.Add(',''' + fzrEdit.Text + '''' + ',''' + dhEdit.Text + '''');
SQL.Add(',''' + emailEdit.Text + '''' + ',''' + bzEdit.Text +
'''');
SQL.Add(',''' + inttostr(bmmlview.Selected.level + 1) + '''' +
')');
Prepare;
try
ExecSQL;
MainNode := bmmlView.Items.AddChild(bmmlview.Selected,
bmbhEdit.Text + ' ' + bmmcEdit.Text);
Mainnode.SelectedIndex := 12;
Mainnode.ImageIndex := 13;
MainNode.Selected := True;
except
MessageDlg('更新数据失败', mtWarning, [mbOk], 0);
Result := False;
exit;
end;
end;
end;
end;
end;
procedure Tbmmlform.BitbtnsaveClick(Sender: TObject);
var
lsbl_save: Boolean;
begin
lsbl_save := datasave();
if lsbl_save = True then
begin
Bitbtnsave.Enabled := False;
if bmmlView.Items.Count <> 0 then
begin
Bmxjaddbutton.Enabled := True;
DeleteBmButton.Enabled := True;
end;
end;
end;
procedure Tbmmlform.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
lsbl_save: Boolean;
begin
if Bitbtnsave.Enabled = True then
begin
case MessageDlg('数据已修改,是否保存修改?', mtConfirmation,
mbYesNoCancel, 0) of
mrYes:
begin
lsbl_save := datasave();
if lsbl_save = False then
Canclose := False;
end;
mrCancel: Canclose := False;
end;
end;
end;
procedure Tbmmlform.DeleteBmButtonClick(Sender: TObject);
begin
if bmmlView.Selected <> nil then
begin
if MessageDlg('确实要删除部门【' + bmmlView.Selected.Text + '】',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
with bmmlQuery do
begin
Close;
SQL.Clear;
SQL.Add('Delete from bmmlk where Trim(bm_bh)=''' + bmml_dqbmbh +
'''');
Prepare;
try
ExecSQL;
bmmlview.Selected.Delete;
BmmlView.OnClick(sender);
except
MessageDlg('删除数据失败', mtWarning, [mbOk], 0);
exit;
end;
end;
end;
end;
end;
procedure Tbmmlform.PrintviewButtonClick(Sender: TObject);
begin
if frmbmmlprint = nil then
frmbmmlprint := Tfrmbmmlprint.create(self);
frmbmmlprint.QuickRep1.ReportTitle := '《部门目录》';
frmbmmlprint.QuickRep1.Preview;
frmbmmlprint.Free;
frmbmmlprint := nil;
end;
procedure Tbmmlform.PrintButtonClick(Sender: TObject);
begin
if frmbmmlprint = nil then
frmbmmlprint := Tfrmbmmlprint.create(self);
frmbmmlprint.QuickRep1.ReportTitle := '《部门目录》';
frmbmmlprint.QuickRep1.Print;
frmbmmlprint.Free;
frmbmmlprint := nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -