📄 pj_wm.pas
字号:
var
intIndex: integer;
str_name: string;
begin
if Ord(Key) = 13 then begin
intIndex := TEdit(Sender).Tag;
if (intIndex <= 3) and (intIndex > 0) then begin
if hideList[intIndex].ItemIndex > -1 then begin
str_name := Trim(Copy(hideList[intIndex].Items[hideList[intIndex].ItemIndex], 21, 60));
TEdit(Sender).OnChange := nil;
TEdit(Sender).Text := str_name;
TEdit(Sender).OnChange := frm_pj_wm.ControlChange1;
end;
hideList[intIndex].Visible := False;
controlSetFocus(TWinControl(Sender).Tag);
end else begin
controlSetFocus(TWinControl(Sender).Tag);
end;
end;
end;
procedure Tfrm_pj_wm.ControlKeyPress3(Sender: TObject; var Key: Char);
begin
if not (((Key >= '0') and (Key <= '9')) or (Ord(Key) = 8) or (Ord(Key) = 46) or (Ord(Key) = 13)) then
Key := Chr(0);
if Ord(Key) = 13 then controlSetFocus(TWinControl(Sender).Tag);
end;
////////////////////////////////////////////////////////////////////////////////
// //
// CONTROLING THE FOCUS WHEN PRESS 'ENTER' //
// //
////////////////////////////////////////////////////////////////////////////////
procedure Tfrm_pj_wm.controlSetFocus(intpos: integer);
begin
case intpos of
1: txt_gg.SetFocus;
2: txt_pj.SetFocus;
3: txt_sum.SetFocus;
4: begin
if txt_dj.Enabled then
txt_dj.SetFocus;
end;
5: begin
if qe_wm_gl.State = dsInsert then
frm_pj_wm.cmd_newClick(nil);
end;
end;
end;
procedure Tfrm_pj_wm.SetNewBH;
var
intR_m, intR_d: integer;
stryear, strmonth, strday: string;
strm, strd: string;
begin
DecodeDate(Now, year, month, day);
stryear := IntToStr(year);
strmonth := Format('%2.2d', [month]);
strday := Format('%2.2d', [day]);
//
qe_jy.Close;
qe_jy.SQL.Clear;
qe_jy.SQL.Add('SELECT WM_BH FROM WM_GL WHERE WM_YEAR = ' + IntToStr(year) + ' AND WM_MONTH = ' + IntToStr(month) + ' AND WM_DAY = ' + IntToStr(day) + ' GROUP BY WM_BH');
qe_jy.Open;
qe_jy.Last;
intR_d := qe_jy.RecordCount;
//
qe_jy.Close;
qe_jy.SQL.Clear;
qe_jy.SQL.Add('SELECT WM_BH FROM WM_GL WHERE WM_YEAR = ' + IntToStr(year) + ' AND WM_MONTH = ' + IntToStr(month) + ' GROUP BY WM_BH');
qe_jy.Open;
qe_jy.Last;
intR_m := qe_jy.RecordCount;
qe_jy.Close;
//
if (intR_m = 0) and (intR_d = 0) then begin
txt_dj_bh.Caption := stryear + strmonth + strday + '-' + '001' + '-' + '001';
end else if intR_m = 0 then begin
txt_dj_bh.Caption := stryear + strmonth + strday + '-' + '001' + '-' + '001';
end else if intR_d = 0 then begin
intR_m := intR_m + 1;
strm := Format('%3.3d', [intR_m]);
txt_dj_bh.Caption := stryear + strmonth + strday + '-' + strm + '-' + '001';
end else begin
intR_m := intR_m + 1;
intR_d := intR_d + 1;
strm := Format('%3.3d', [intR_m]);
strd := Format('%3.3d', [intR_d]);
txt_dj_bh.Caption := stryear + strmonth + strday + '-' + strm + '-' + strd;
end;
end;
////////////////////////////////////////////////////////////////////////////////
// //
// CONTROLING ENABLED FOR BUTTONS //
// //
////////////////////////////////////////////////////////////////////////////////
procedure Tfrm_pj_wm.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_wm_gl.Bof) and (qe_wm_gl.Eof) then begin
cmd_del.Enabled := False;
cmd_print.Enabled := False;
cmd_edit.Enabled := False;
cmd_print.Tag := 0;
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;
////////////////////////////////////////////////////////////////////////////////
// //
// INITALIZING THE SPACE ARRAY //
// //
////////////////////////////////////////////////////////////////////////////////
procedure Tfrm_pj_wm.arrayInit;
var
i: integer;
begin
for i := 0 to 20 do begin
if i = 0 then spaceArray[i] := '';
if i = 1 then spaceArray[i] := ' ';
if i > 1 then spaceArray[i] := spaceArray[i - 1] + ' ';
end;
end;
////////////////////////////////////////////////////////////////////////////////
// //
// INITALIZING THE INFOMATION LIST //
// //
////////////////////////////////////////////////////////////////////////////////
procedure Tfrm_pj_wm.lstInfoInit;
var
str_id: string;
str_name: string;
str_pym: string;
i: integer;
intLen: integer;
begin
for i := 1 to 3 do begin
hideList[i] := TListBox.Create(Self);
hideList[i].BorderStyle := bsNone;
hideList[i].Color := clInfoBk;
hideList[i].Width := 300;
hideList[i].Height := 68;
hideList[i].Parent := pe_edit;
hideList[i].Tag := i;
hideList[i].OnClick := frm_pj_wm.ControlClick;
hideList[i].Visible := False;
end;
//初始化配件类型列表
qe_pj.Close;
qe_pj.Open;
qe_pj.First;
while not qe_pj.Eof do begin
str_id := Trim(qe_pj.FieldByName('pj_kind_id').AsString);
str_name := Trim(qe_pj.FieldByName('pj_kind').AsString);
str_pym := Trim(qe_pj.FieldByName('pj_kind_p').AsString);
if str_id <> '000' then begin
intLen := Length(str_id);
if intLen < 20 then str_id := str_id + spaceArray[20 - intLen];
hideList[1].Items.Add(str_id + str_name + spaceArray[20] + spaceArray[20] + spaceArray[20] + ' ^' + str_pym);
end;
qe_pj.Next;
end;
qe_pj.Close;
hideList[1].Left := 70;
hideList[1].Top := 29;
hideList[1].ItemIndex := -1;
//初始化配件规格列表
hideList[2].Left := 437;
hideList[2].Top := 29;
//初始化配件信息列表
hideList[3].Left := 70;
hideList[3].Top := 56;
end;
////////////////////////////////////////////////////////////////////////////////
// //
// CONTROLING THE CLICK FOR LISTBOX //
// //
////////////////////////////////////////////////////////////////////////////////
procedure Tfrm_pj_wm.ControlClick(Sender: TObject);
var
intIndex: integer;
str_name: string;
begin
intIndex := TListBox(Sender).Tag;
if (intIndex <= 3) and (intIndex > 0) then begin
case intIndex of
1: begin
str_name := Trim(Copy(hideList[1].Items[hideList[1].ItemIndex], 21, 60));
txt_kind.Text := str_name;
txt_kind.SetFocus;
end;
2: begin
str_name := Trim(Copy(hideList[2].Items[hideList[2].ItemIndex], 21, 60));
txt_gg.Text := str_name;
txt_gg.SetFocus;
end;
3: begin
str_name := Trim(Copy(hideList[3].Items[hideList[3].ItemIndex], 21, 60));
txt_pj.Text := str_name;
txt_pj.SetFocus;
end;
end;
end;
end;
procedure Tfrm_pj_wm.FormShow(Sender: TObject);
begin
qe_wm_gl.Close;
qe_wm_gl.ParamByName('iczr').Value := frm_main.user_name;
qe_wm_gl.Open;
qe_wm_gl.First;
//
frm_main.mu_yw_gl_xs_wm.Enabled := False;
frm_main.cmd_pj.Enabled := False;
//
frm_main.current_handle := Handle;
//
arrayInit;
lstInfoInit;
//
EnabledComponent(dsBrowse);
//
SetNewBH;
end;
procedure Tfrm_pj_wm.b1Click(Sender: TObject);
begin
hideList[1].Visible := True;
end;
procedure Tfrm_pj_wm.b2Click(Sender: TObject);
begin
hideList[2].Visible := True;
end;
procedure Tfrm_pj_wm.b3Click(Sender: TObject);
begin
hideList[3].Visible := True;
end;
procedure Tfrm_pj_wm.cmd_newClick(Sender: TObject);
var
i: integer;
intResult: integer;
f_zj: Double;
begin
for i := 1 to 3 do
hideList[i].Visible := False;
//
if (qe_wm_gl.State = dsInsert) and (cmd_save.Enabled) then begin
intResult := RuleCheck;
if intResult = 1 then
Exit
else begin
controlDj(dsInsert);
qe_wm_gl.Post;
qe_wm_gl.Close;
qe_wm_gl.Open;
qe_wm_gl.Last;
end;
//
qe_jy3.Close;
qe_jy3.ParamByName('ibh').Value := Trim(txt_dj_bh.Caption);
qe_jy3.Open;
qe_jy3.First;
if (qe_jy3.Bof) and (qe_jy3.Eof) then
txt_zj.Caption := '0'
else begin
f_zj := qe_jy3.FieldByName('pj_zj').Value;
f_zj := Int(f_zj) + Round((Frac(f_zj)*100))/100;
txt_zj.Caption := FloatToStr(f_zj);
end;
qe_jy3.Close;
end;
//
NewInit;
end;
procedure Tfrm_pj_wm.cmd_editClick(Sender: TObject);
begin
EditInit;
end;
procedure Tfrm_pj_wm.cmd_saveClick(Sender: TObject);
var
i: integer;
intResult: integer;
begin
for i := 1 to 3 do
hideList[i].Visible := False;
//
if qe_wm_gl.State = dsInsert then begin
intResult := RuleCheck;
if intResult = 1 then
Exit
else begin
controlDj(dsInsert);
qe_wm_gl.Post;
qe_wm_gl.Close;
qe_wm_gl.Open;
qe_wm_gl.Last;
end;
end else if qe_wm_gl.State = dsEdit then begin
intResult := RuleCheck1;
if intResult = 1 then
Exit
else begin
controlDj(dsEdit);
qe_wm_gl.Post;
end;
end;
//
SaveInit;
end;
procedure Tfrm_pj_wm.cmd_cancelClick(Sender: TObject);
var
i: integer;
begin
for i := 1 to 3 do
hideList[i].Visible := False;
//
CancelInit;
end;
procedure Tfrm_pj_wm.cmd_printClick(Sender: TObject);
begin
if MessageBox(Handle, '确定要进行销售结算吗?', '沈阳信德', MB_ICONQUESTION or MB_OKCANCEL) = ID_OK then 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_yj_select) then begin
frm_yj_select := Tfrm_yj_select.Create(Application);
frm_yj_select.ShowModal;
end;
if frm_log.yj_jsfs = -1 then Exit;
//
ExportInit;
end;
end;
procedure Tfrm_pj_wm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
CanClose := True;
//
if (cmd_print.Tag = 25) then begin
MessageBox(Handle, '配件销售尚未结算,不能关闭窗体', '沈阳信德', MB_ICONQUESTION or MB_OK);
CanClose := False;
Exit;
end;
//
if CanClose then begin
sp_update_mode_for_wm.ExecProc;
//
qe_wm_gl.Close;
qe_pj.Close;
qe_gg.Close;
qe_name.Close;
qe_jy.Close;
qe_jy2.Close;
qe_jy3.Close;
//
frm_main.mu_yw_gl_xs_wm.Enabled := True;
frm_main.cmd_pj.Enabled := True;
frm_main.current_handle := 0;
//
frm_main.Tag := 1; //标识窗体能否关闭; 1-能关闭;2-不能关闭;
end;
end;
procedure Tfrm_pj_wm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure Tfrm_pj_wm.FormDestroy(Sender: TObject);
begin
qe_wm_gl := nil;
qe_name := nil;
qe_gg := nil;
qe_pj := nil;
qe_jy := nil;
qe_jy2 := nil;
qe_jy3 := nil;
//
frm_pj_wm := nil;
end;
procedure Tfrm_pj_wm.cmd_delClick(Sender: TObject);
begin
ExeDelandInit;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -