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

📄 qckqunit.pas

📁 一个票据管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit QcKqUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, GridsEh, DBGridEh, ComCtrls, ToolWin, ImgList, StdCtrls,
  ExtCtrls, Buttons,DB, PrnDbgeh,prvieweh,printers, Menus;

type
  TQcKqForm = class(TForm)
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    ToolButton15: TToolButton;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    ToolButton7: TToolButton;
    DBGridEh1: TDBGridEh;
    GroupBox2: TGroupBox;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    ComboBox2: TComboBox;
    DateTimePicker2: TDateTimePicker;
    Edit6: TEdit;
    Edit7: TEdit;
    BitEDIT: TBitBtn;
    BitBtn3: TBitBtn;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    ComboBox1: TComboBox;
    DateTimePicker1: TDateTimePicker;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    BitADD: TBitBtn;
    BitBIT2: TBitBtn;
    IDLabel: TLabel;
    edit5: TEdit;
    PrintDBGridEh1: TPrintDBGridEh;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    procedure QcKqNewll;
    procedure Grbox1comboboxnew;
    procedure Grbox2comboboxnew;
    procedure ToolButton1Click(Sender: TObject);
    procedure BitBIT2Click(Sender: TObject);
    procedure BitADDClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure edit2Change(Sender: TObject);
    procedure combobox1change(Sender: TObject);
    procedure edit3change(Sender: TObject);
    procedure combobox1keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure datetimepicker1deydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit1keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit3keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit2keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGridehcellclick(Column: TColumnEh);
    procedure combobox2change(Sender: TObject);
    procedure edit6change(Sender: TObject);
    procedure edit7change(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure edit5change(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitEDITClick(Sender: TObject);
    procedure conbobox2keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure datetime2keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit5keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit6keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit7keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure edit1keypress(Sender: TObject; var Key: Char);
    procedure edit2keypress(Sender: TObject; var Key: Char);
    procedure edit3keypress(Sender: TObject; var Key: Char);
    procedure edit5keypress(Sender: TObject; var Key: Char);
    procedure edit6keypress(Sender: TObject; var Key: Char);
    procedure edit7keypress(Sender: TObject; var Key: Char);
    procedure Edit1Change(Sender: TObject);

  private
    { Private declarations }
    unm:integer;

  public
    { Public declarations }

  end;
var
  QcKqForm: TQcKqForm;

implementation
uses dm,OpenUnit,MainUnit;
{$R *.dfm}
procedure TQcKqForm.QcKqNewll;
begin
  with dmdata.QcKqADOQuery  do
  begin
   close;
   sql.Clear;
   sql.Add('select a.ql,b.id,b.rq,b.sl,b.qxhm,b.jxhm from t_bjql as a inner join t_ms_jl as b on a.km = b.ql_id where (lybm = ''库存'') and (qt = 0) order by b.id');
   open;
   if RecordCount > 0 then
   begin
     toolbutton2.Enabled:=true;
     toolbutton3.Enabled:=true;
     toolbutton5.Enabled:=true;
     toolbutton8.Enabled:=true;
     toolbutton9.Enabled:=true;
     toolbutton11.Enabled:=true;
   end
   else
   begin
     toolbutton2.Enabled:=false;
     toolbutton3.Enabled:=false;
     toolbutton5.Enabled:=false;
     toolbutton8.Enabled:=false;
     toolbutton9.Enabled:=false;
     toolbutton11.Enabled:=false;
  end;
  end;
  idlabel.Caption:=inttostr(dmdata.QcKqADOQuery.fieldbyname('id').AsInteger);
end;
procedure Tqckqform.Grbox1comboboxnew;
begin
  dmdata.BjqlADOTable.Active:=false;
  dmdata.BjqlADOTable.Active:=true;
   dmdata.BjqlADOTable.First;
   while not dmdata.BjqlADOTable.eof do
   begin
     combobox1.Items.Add(dmdata.BjqlADOTable['QL']);
     dmdata.BjqlADOTable.Next;
   end;
   combobox1.ItemIndex:=0;
end;
procedure TQckqform.Grbox2comboboxnew;
begin
  dmdata.BjqlADOTable.Active:=false;
  dmdata.BjqlADOTable.Active:=true;
   dmdata.BjqlADOTable.First;
   while not dmdata.BjqlADOTable.eof do
   begin
     combobox2.Items.Add(dmdata.BjqlADOTable['QL']);
     dmdata.BjqlADOTable.Next;
   end;
   with dmdata.QcKqADOQuery do
   begin
   if RecordCount > 0 then
   begin
     idlabel.Caption:=inttostr(fieldbyname('id').AsInteger);
     if groupbox2.Visible = true then
     begin
      combobox2.Text:=fieldbyname('ql').AsString;
      datetimepicker2.date:=fieldbyname('rq').AsDateTime;
      edit5.Text:=inttostr(fieldbyname('sl').AsInteger);
      edit6.Text:=fieldbyname('qxhm').AsString;
      edit7.Text:=fieldbyname('jxhm').AsString;
     end;
   end;
 end;  
end;
procedure TQcKqForm.ToolButton1Click(Sender: TObject);
begin
  if groupbox2.Visible = true then
     groupbox2.Visible:=false;
  if groupbox1.Visible = false then
     combobox1.Clear;
     Groupbox1.Visible:=true;
  Grbox1comboboxnew;
  datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
  combobox1change(Sender);
  Combobox1.SetFocus;
  toolbutton3.Enabled :=false;
  n3.Enabled:=false;
   edit1.MaxLength:=dm.DMData.pjlen;
   edit2.MaxLength:=dm.DMData.pjlen;
   edit3.MaxLength:=dm.DMData.pjlen;
end;

procedure TQcKqForm.BitBIT2Click(Sender: TObject);
begin
  groupbox1.Visible:=false;
   toolbutton3.Enabled:=true;
   n3.Enabled:=true;
end;

procedure TQcKqForm.BitADDClick(Sender: TObject);
var
 ID:string;
 ms_id:integer;
begin
 if (edit1.Text = '') or (edit2.Text = '') or (edit3.Text ='') then
    exit;
 if dmdata.qsjzADOQuery.FieldByName('dbegin').AsDateTime > datetimepicker1.Date then
   begin
     showmessage('日期已小于本月范围,请重新选择!');
      datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
     exit;
   end;
 if (dmdata.qsjzADOQuery.FieldByName('dend').AsDateTime+1) < datetimepicker1.Date then
   begin
     showmessage('日期已大于本月范围,请重新选择!');
      datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
     exit;
   end;
  with dmdata.BjqlADOQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select * from t_bjql where ql = :a');
    parameters.ParamByName('a').Value := trim(combobox1.Text);
    open;
    ID := fieldByName('km').AsString;
  end;
  with dmdata.QcKqADOQuery do
  begin
     close;
     sql.Clear;
     sql.Add('insert into t_ms_jl(ql_id,rq,sl,qxhm,jxhm,Lybm,qt) values(:a,:b,:c,:d,:e,:f,:g)');
     parameters.ParamByName('a').Value:=ID;
     parameters.ParamByName('b').Value:=datetostr(datetimepicker1.Date);
     parameters.parambyname('c').value:=edit1.text;
     parameters.ParamByName('d').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit2.Text));
     parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit3.Text));
     parameters.ParamByName('f').Value:='库存';
     parameters.ParamByName('g').Value:=0;
     Execsql;
   end;
   with dmdata.QcKqADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('select MAX(ID) AS ms_id from t_ms_jl' );
     open;
     ms_id:= fieldByName('ms_id').AsInteger;
   end;
   with dmdata.QcKqADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('insert into t_kqb(ms_id,ql_id,rq,sl,qxhm,jxhm,KQbm,qt) values(:h,:a,:b,:c,:d,:e,:f,:g)');
     parameters.ParamByName('h').Value := ms_id;
     parameters.ParamByName('a').Value:=ID;
     parameters.ParamByName('b').Value:=datetostr(datetimepicker1.Date);
     parameters.parambyname('c').value:=edit1.text;
     parameters.ParamByName('d').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit2.Text));
     parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit3.Text));
     parameters.ParamByName('f').Value:='库存';
     parameters.ParamByName('g').Value:=0;
     Execsql;
   end;
   QcKqNewll;
   edit1.Text:='';
   edit2.Text:='';
   edit3.Text:='';
   combobox1.SetFocus;
    toolbutton3.Enabled:=false;
    n3.Enabled:=false;
end;

procedure TQcKqForm.FormCreate(Sender: TObject);
var
j:integer;
stryear:string;
begin
   QcKqNewll;
   with dmdata.ShowADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('select * from t_MS_JL where ((qt<>0)and(qt<>1))OR((qt=1)and(LYBM =''购入''))');
     open;
     if RecordCount > 0 then
     begin
       toolbutton2.Enabled:=false;
       toolbutton3.Enabled:=false;
       toolbutton1.Enabled:=false;
       toolbutton4.Enabled:=false;
       n1.Enabled:=false;
       n2.Enabled:=false;
       n3.Enabled:=false;
     end;
    end;
    j:=pos('-',trim(datetostr(dmdata.ADOTable_T_user.fieldbyname('date').AsDateTime)));
    stryear:=copy(trim(datetostr(dmdata.ADOTable_T_user.fieldbyname('date').AsDateTime)),1,j-1);
    printdbgrideh1.PageHeader.CenterText.Add(dmdata.ADOTable_T_user.fieldbyname('dh').AsString);
    printdbgrideh1.Title.Add(stryear+'年期初库存');
    printdbgrideh1.PageFooter.RightText.Add('制表人:'+dmdata.ADOTable_T_user.fieldbyname('name').AsString);
    printdbgrideh1.PageFooter.CenterText.add('第&[Page]页 共&[Pages]页');
    printdbgrideh1.PageFooter.LeftText.Add('打印日期:'+DateToStr(Now));
end;

procedure TQcKqForm.edit2Change(Sender: TObject);
begin
   if ((edit1.Text <> '') and (edit2.Text <> '')) then
   begin
    edit3.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit1.Text)*unm+strtofloat(edit2.Text)-1);

   end
   else
     exit;
end;

procedure TQcKqForm.combobox1change(Sender: TObject);
begin
   with dmdata.BjqlADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('select * from t_bjql where ql= :a');
     parameters.ParamByName('a').Value:=trim(combobox1.Text);
     open;
     unm:= fieldByName('mbf').AsInteger;
   end;
end;

procedure TQcKqForm.edit3change(Sender: TObject);
begin
   edit2.Text:= copy(trim(edit2.Text),1,dm.DMData.pjlen);
end;

procedure TQcKqForm.combobox1keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key = vk_return)then
 begin
   datetimepicker1.SetFocus;
 end;
end;

procedure TQcKqForm.datetimepicker1deydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if (key =vk_return)or(key=vk_down)then
   begin
     edit1.SetFocus;
   end;
   if key=vk_up then
   begin
     combobox1.SetFocus;
   end;
end;

procedure TQcKqForm.edit1keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key =vk_return)or(key=vk_down) then
   begin
     edit2.SetFocus;
   end;
   if key=vk_up then
   begin
     datetimepicker1.SetFocus;
   end;  
end;

procedure TQcKqForm.edit3keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key =vk_return)or(key=vk_down) then
   begin
     bitadd.SetFocus;
   end;
   if key=vk_up then
   begin
     edit2.SetFocus;
   end;  
end;

procedure TQcKqForm.edit2keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key =vk_return)or(key=vk_down) then
   begin
     edit3.SetFocus;
   end;
   if key=vk_up then
   begin
     edit1.SetFocus;
   end;
end;

procedure TQcKqForm.DBGridehcellclick(Column: TColumnEh);
begin
 with dmdata.QcKqADOQuery do
 begin
   if RecordCount > 0 then
   begin
     idlabel.Caption:=inttostr(fieldbyname('id').AsInteger);
     if groupbox2.Visible = true then
     begin
      combobox2.Text:=fieldbyname('ql').AsString;
      datetimepicker2.date:=fieldbyname('rq').AsDateTime;
      edit5.Text:=inttostr(fieldbyname('sl').AsInteger);
      edit6.Text:=fieldbyname('qxhm').AsString;
      edit7.Text:=fieldbyname('jxhm').AsString;
     end;
   end;
 end;
end;

procedure TQcKqForm.combobox2change(Sender: TObject);
begin
   with dmdata.BjqlADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('select * from t_bjql where ql= :a');
     parameters.ParamByName('a').Value:=trim(combobox2.Text);
     open;
     unm:= fieldByName('mbf').AsInteger;
   end;
   if ((edit5.Text <> '') and (edit6.Text <> '')) then
   begin
    edit7.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit5.Text)*unm+strtofloat(edit6.Text)-1);
   end
   else
     exit;
end;

procedure TQcKqForm.edit6change(Sender: TObject);
begin
   if ((edit5.Text <> '') and (edit6.Text <> '')) then
   begin
    edit7.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit5.Text)*unm+strtofloat(edit6.Text)-1);
   end
   else
     exit;
end;

procedure TQcKqForm.edit7change(Sender: TObject);
begin
     edit6.Text:= copy(trim(edit6.Text),1,dm.DMData.pjlen);
end;

procedure TQcKqForm.ToolButton2Click(Sender: TObject);
begin
   if groupbox1.Visible = true then
     groupbox1.Visible:=false;
  if groupbox2.Visible = false then
    combobox2.Clear;
     Groupbox2.Visible:=true;
  Grbox2comboboxnew;
  //datetimepicker2.Date:=dmdata.ADOTable_T_user['date'];
  combobox2change(Sender);
  Combobox2.SetFocus;
  toolbutton3.Enabled:=false;
  n3.Enabled:=false;
   edit5.MaxLength:=dm.DMData.pjlen;
   edit6.MaxLength:=dm.DMData.pjlen;
   edit7.MaxLength:=dm.DMData.pjlen;
end;

procedure TQcKqForm.edit5change(Sender: TObject);
begin
  if ((edit5.Text <> '') and (edit6.Text <> '')) then
   begin
    edit7.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit5.Text)*unm+strtofloat(edit6.Text)-1);
   end
   else
     exit;
end;

procedure TQcKqForm.BitBtn3Click(Sender: TObject);
begin
  groupbox2.Visible:=false;
   toolbutton3.Enabled:=true;
   n3.Enabled:=true;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -