⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gs_add.pas

📁 汽配前台收费,一个具有详细功能的小系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -