📄 gs_add.pas
字号:
procedure Tfrm_gs_add.ControlClick(Sender: TObject);
var
intIndex: integer;
str_name: string;
begin
intIndex := TListBox(Sender).Tag;
if (intIndex = 1) then begin
str_name := Copy(hideList.Items[hideList.ItemIndex], 21, 60);
txt_kind.Text := str_name;
txt_kind.SetFocus;
//
qe_jy.Close;
qe_jy.SQL.Clear;
qe_jy.SQL.Add('SELECT * FROM GS_WH WHERE GS_TEXT = ''' + Trim(str_name) + '''');
qe_jy.Open;
qe_jy.First;
if (qe_jy.Bof) and (qe_jy.Eof) then begin
txt_sum.Text := '';
txt_dj.Text := '';
txt_zj.Text := '';
end else begin
txt_sum.Text := FloatToStr(qe_jy.FieldByName('gs_sum').Value);
txt_dj.Text := FloatToStr(qe_jy.FieldByName('gs_dj').Value);
txt_zj.Text := FloatToStr(qe_jy.FieldByName('gs_zj').Value);
end;
end;
end;
procedure Tfrm_gs_add.lstInfoInit;
var
str_id: string;
str_name: string;
intLen: integer;
begin
hideList := TListBox.Create(Self);
hideList.BorderStyle := bsNone;
hideList.Color := clInfoBk;
hideList.Width := 388;
hideList.Height := 84;
hideList.Top := 29;
hideList.Left := 70;
hideList.Parent := pe_edit;
hideList.Tag := 1;
hideList.OnClick := frm_gs_add.ControlClick;
hideList.Visible := False;
//初始化配件类型列表
qe_gs.Close;
qe_gs.Open;
qe_gs.First;
while not qe_gs.Eof do begin
str_id := Trim(qe_gs.FieldByName('gs_id').AsString);
str_name := Trim(qe_gs.FieldByName('gs_text').AsString);
intLen := Length(str_id);
if intLen < 20 then str_id := str_id + spaceArray[20 - intLen];
hideList.Items.Add(str_id + str_name);
qe_gs.Next;
end;
qe_gs.Close;
hideList.ItemIndex := -1;
end;
procedure Tfrm_gs_add.ControlKeyPress4(Sender: TObject; var Key: Char);
begin
if Ord(Key) = 13 then QueryResult;
end;
procedure Tfrm_gs_add.EnabledComponent(intState: TDataSetState);
begin
case intState of
dsBrowse: begin
cmd_new.Enabled := True;
cmd_save.Enabled := False;
cmd_cancel.Enabled := False;
cmd_del.Enabled := True;
cmd_print.Enabled := True;
cmd_edit.Enabled := True;
//
if (qe_gs_add.Bof) and (qe_gs_add.Eof) then begin
cmd_del.Enabled := False;
cmd_print.Enabled := False;
cmd_edit.Enabled := False;
end;
end;
dsEdit : begin
cmd_new.Enabled := False;
cmd_save.Enabled := True;
cmd_cancel.Enabled := True;
cmd_del.Enabled := False;
cmd_print.Enabled := False;
cmd_edit.Enabled := False;
end;
dsInsert: begin
cmd_new.Enabled := True;
cmd_save.Enabled := True;
cmd_cancel.Enabled := True;
cmd_del.Enabled := False;
cmd_print.Enabled := False;
cmd_edit.Enabled := False;
end;
end;
end;
procedure Tfrm_gs_add.QueryResult;
var
intResult: integer;
begin
intResult := 0;
//
qe_jy1.Close;
qe_jy1.ParamByName('ibh').Value := Trim(combo_bh.Text);
qe_jy1.Open;
qe_jy1.First;
//
if (qe_jy1.Bof) and (qe_jy1.Eof) then begin
MessageBox(Handle, '未找到此委托编号相关的登记信息', '沈阳信德', MB_ICONQUESTION or MB_OK);
intResult := 1;
end;
//
if intResult = 0 then begin
qe_gs_add.Close;
qe_gs_add.ParamByName('ibh').Value := Trim(combo_bh.Text);
qe_gs_add.Open;
qe_gs_add.First;
//
cur_bh := Trim(combo_bh.Text);
cur_cph := Trim(qe_jy1.FieldByName('dj_cph').AsString);
cur_cx := Trim(qe_jy1.FieldByName('dj_cx').AsString);
cur_cz := Trim(qe_jy1.FieldByName('dj_cz').AsString);
cur_czdw := Trim(qe_jy1.FieldByName('dj_czdw').AsString);
cur_dph := Trim(qe_jy1.FieldByName('dj_dph').AsString);
//
EnabledComponent(dsBrowse);
end else if intResult = 1 then begin
qe_gs_add.Close;
qe_jy1.Close;
//
cmd_edit.Enabled := False;
cmd_new.Enabled := False;
cmd_save.Enabled := False;
cmd_cancel.Enabled := False;
cmd_del.Enabled := False;
cmd_print.Enabled := False;
end;
end;
procedure Tfrm_gs_add.cmd_qClick(Sender: TObject);
begin
QueryResult;
end;
procedure Tfrm_gs_add.FormShow(Sender: TObject);
begin
qe_gs_add.Close;
//
qe_pg.Close;
qe_pg.Open;
qe_pg.First;
//
frm_main.mu_yw_gl_gs.Enabled := False;
frm_main.cmd_add1.Enabled := False;
//
frm_main.current_handle := Handle;
//
arrayInit;
lstInfoInit;
InitBHList;
//
cmd_new.Enabled := False;
cmd_edit.Enabled := False;
cmd_save.Enabled := False;
cmd_cancel.Enabled := False;
cmd_del.Enabled := False;
cmd_print.Enabled := False;
//
combo_bh.SetFocus;
end;
procedure Tfrm_gs_add.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure Tfrm_gs_add.FormDestroy(Sender: TObject);
begin
qe_jy := nil;
qe_jy1 := nil;
qe_gs_add := nil;
qe_gs := nil;
qe_pg := nil;
//
frm_gs_add := nil;
end;
procedure Tfrm_gs_add.b1Click(Sender: TObject);
begin
hideList.Visible := True;
end;
procedure Tfrm_gs_add.cmd_editClick(Sender: TObject);
begin
EditInit;
end;
procedure Tfrm_gs_add.cmd_cancelClick(Sender: TObject);
begin
CancelInit;
end;
procedure Tfrm_gs_add.cmd_delClick(Sender: TObject);
begin
ExeDelandInit;
end;
procedure Tfrm_gs_add.cmd_newClick(Sender: TObject);
var
intResult: integer;
begin
if (qe_gs_add.State = dsInsert) and (cmd_save.Enabled) then begin
intResult := RuleCheck;
if intResult = 1 then
Exit
else begin
qe_gs_add.Post;
qe_gs_add.Close;
qe_gs_add.Open;
qe_gs_add.Last;
end;
end;
//
NewInit;
end;
procedure Tfrm_gs_add.cmd_saveClick(Sender: TObject);
var
intResult: integer;
begin
intResult := RuleCheck;
if intResult = 1 then
Exit
else if intResult = 0 then begin
if qe_gs_add.State = dsInsert then begin
qe_gs_add.Post;
qe_gs_add.Close;
qe_gs_add.Open;
qe_gs_add.Last;
end else if qe_gs_add.State = dsEdit then begin
qe_gs_add.Post;
end;
end;
//
SaveInit;
end;
procedure Tfrm_gs_add.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
var
intResult: integer;
begin
CanClose := True;
//
if (qe_gs_add.State = dsInsert) or (qe_gs_add.State = dsEdit) then begin
if cmd_save.Enabled then begin
intResult := MessageBox(Handle, '记录正被编辑, 是否在关闭窗体前保存所作修改?', '沈阳信德', MB_YESNOCANCEL or MB_ICONQUESTION);
if intResult = ID_YES then begin
intResult := RuleCheck;
if intResult = 1 then begin
CanClose := False;
Exit;
end;
qe_gs_add.Post;
CanClose := True;
end else if intResult = ID_NO then begin
qe_gs_add.Cancel;
CanClose := True;
end else if intResult = ID_CANCEL then
CanClose := False;
end;
end;
//
if CanClose then begin
qe_gs_add.Close;
qe_pg.Close;
qe_gs.Close;
qe_jy.Close;
qe_jy1.Close;
//
frm_main.mu_yw_gl_gs.Enabled := True;
frm_main.cmd_add1.Enabled := True;
frm_main.current_handle := 0;
//
frm_main.Tag := 1; //标识窗体能否关闭; 1-能关闭;2-不能关闭;
end;
end;
procedure Tfrm_gs_add.cmd_printClick(Sender: TObject);
begin
combo_p.Items.Clear;
combo_p.items.Assign(Printer.Printers);
if combo_p.Items.Count = 0 then begin
MessageBox(Handle, '没有可用的打印机,请添加打印机', '沈阳信德', MB_ICONQUESTION or MB_OK);
Exit;
end;
//
if not Assigned(frm_pg_print) then begin
frm_pg_print := Tfrm_pg_print.Create(Application);
frm_pg_print.p_bh := cur_bh;
frm_pg_print.p_cph := cur_cph;
frm_pg_print.p_dph := cur_czdw;
frm_pg_print.p_cx := cur_cx;
frm_pg_print.p_cz := cur_cz;
//
frm_pg_print.ShowModal;
end;
end;
procedure Tfrm_gs_add.txt_djChange(Sender: TObject);
var
strText1, strText2: string;
strValue: string;
v: Double;
v1: Double;
v2: Double;
code, code1: integer;
begin
if qe_gs_add.State = dsEdit then
EnabledComponent(dsEdit)
else if (qe_gs_add.State = dsInsert) then
EnabledComponent(dsInsert);
//
if (qe_gs_add.State = dsEdit) or (qe_gs_add.State = dsInsert) then begin
strValue := '';
strText1 := Trim(txt_sum.Text);
strText2 := Trim(txt_dj.Text);
//
if (strText1 = '') or (strText2 = '') then
strValue := ''
else begin
Val(strText1, v, code);
Val(strText2, v1, code1);
if (code <> 0) or (code1 <> 0) then
strValue := ''
else begin
v := Int(v) + Round((Frac(v)*100))/100;
if v < 0.01 then v := 0;
v1 := Int(v1) + Round((Frac(v1)*100))/100;
if v1 < 0.01 then v1 := 0;
v2 := v * v1;
v2 := Int(v2) + Round((Frac(v2)*100))/100;
strValue := FloatToStr(v2);
end;
end;
//
txt_zj.Text := strValue;
end;
end;
procedure Tfrm_gs_add.combo_bhChange(Sender: TObject);
begin
QueryResult;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -