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

📄 reciev.pas

📁 PosEasy收银系统源码,Pos机前后台管理代码
💻 PAS
字号:
unit reciev;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls, Buttons, ComCtrls, printers;

type
  Trecievfm = class(TForm)
    Image1: TImage;
    DataSource1: TDataSource;
    Button1: TButton;
    Button2: TButton;
    ComboBox1: TComboBox;
    Query1: TQuery;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit9: TEdit;
    DateTimePicker1: TDateTimePicker;
    PrintDialog1: TPrintDialog;
    Database1: TDatabase;
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit4KeyDown(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 Edit9KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button1Click(Sender: TObject);
    procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  recievfm: Trecievfm;

implementation

{$R *.DFM}

{小键盘控制光标}
procedure Trecievfm.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=vk_Right then
  combobox1.SetFocus;
  if key=vk_down then
  edit2.SetFocus;
end;

procedure Trecievfm.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_Right then
  edit6.SetFocus;
  if key=vk_down then
  edit3.SetFocus;
  if key=vk_up then
  edit1.setfocus;
end;

procedure Trecievfm.Edit3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=vk_Right then
  edit7.SetFocus;
  if key=vk_down then
  edit4.SetFocus;
  if key=vk_up then
  edit2.setfocus;
end;

procedure Trecievfm.Edit4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=vk_Right then
  datetimepicker1.SetFocus;
  if key=vk_down then
  edit9.SetFocus;
  if key=vk_up then
  edit3.setfocus;
end;

procedure Trecievfm.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key=vk_left then
  edit1.setfocus;
  if key=vk_right then
  edit6.setfocus;
end;

procedure Trecievfm.Edit6KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_up then
  combobox1.setfocus;
  if key=vk_left then
  edit2.setfocus;
  if key=vk_down then
  edit7.setfocus;
end;

procedure Trecievfm.Edit7KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_up then
  edit6.setfocus;
  if key=vk_left then
  edit3.setfocus;
  if key=vk_down then
  datetimepicker1.setfocus;
end;

procedure Trecievfm.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key=vk_up then
  edit7.setfocus;
  if key=vk_left then
  edit4.setfocus;
  if key=vk_down then
  edit9.setfocus;
end;

procedure Trecievfm.Edit9KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=vk_up then
  datetimepicker1.setfocus;
  if key=vk_left then
  edit4.setfocus;
  if key=vk_right then
  datetimepicker1.setfocus;
end;

{print & insert base}
procedure Trecievfm.Button1Click(Sender: TObject);
var
   PPIX,PPIY: Integer;
   Rect: TRect; // 按比例放大后图片区域的大小
  DeskTop:TCanvas;
  ScaleX,ScaleY:integer;
  R:TRect;
  R1:TRect;
  R2:TRect;
  myimage:TImage;

begin
 {check null}
 begin
  if (edit1.text='')then
  begin
   showmessage('请填写收款金额!');
   edit1.setfocus;
   exit;
  end;
  if (edit2.text='')then
  begin
   showmessage('请填写收款科目!');
   edit2.setfocus;
   exit;
  end;
  if (edit3.text='')then
  begin
   showmessage('请填写资金来源!');
   edit3.setfocus;
   exit;
  end;
  if (edit4.text='')then
  begin
   showmessage('请填写资金目标!');
   edit4.setfocus;
   exit;
  end;
  if (combobox1.text='')then
  begin
   showmessage('请选择付款方式!');
   combobox1.setfocus;
   exit;
  end;
  if (edit6.text='')then
  begin
   showmessage('请填写交款人!');
   edit6.setfocus;
   exit;
  end;
  if (edit7.text='')then
  begin
   showmessage('请填写收款人!');
   edit7.setfocus;
   exit;
  end;

 {print}
 begin
  //ZoomScale:=StrToInt(Edit4.Text);

     // 获取打印机每英寸的点数
     {PPIX:=GetDeviceCaps(Printer.Handle,LOGPIXELSX);
     PPIY:=GetDeviceCaps(Printer.Handle,LOGPIXELSY);

     // 计算左边距和上边距
     //LeftMargin:=Trunc(StrToFloat(Edit1.Text)/2.54*PPIX);
     //TopMargin:=Trunc(StrToFloat(Edit2.Text)/2.54*PPIY);

     //设置打印画幅的大小
     Rect.Left:=5;
     Rect.Top:=5;
     Rect.Right:=Image1.Picture.Width*8+Rect.Left;
     Rect.Bottom:=Image1.Picture.Height*8+Rect.Top;
     try
          Printer.BeginDoc;     // 创建打印作业
          Printer.Canvas.StretchDraw(Rect,Image1.picture.Graphic);
          //Printer.Canvas.StretchDraw(Rect,edit1.  );

          Printer.EndDoc;       // 送往打印机
     except
          Printer.Abort;        // 出错情况下中止打印
          raise;
     end;}

  DeskTop := TCanvas.Create;
  with DeskTop do
    Handle := GetWindowDC (recievfm.Handle);//GetActiveWindow ;

  myimage:=TImage.Create(self);
  myimage.Width:=Image1.Width;
  myimage.Height:=Image1.Height;
  R1.Left:=0;
  R1.Top:=0;
  R1.Right:=Width;
  R1.Bottom:=Height;
  R2.Left:=125;
  R2.Top:=37;
  R2.Right:=Width-4;
  R2.Bottom:=Height-4;
  myimage.Canvas.CopyRect(R1,DeskTop,R2);

  // 打印图象
  if PrintDialog1.Execute then
  begin
    try
      Printer.BeginDoc ;
      with Printer do
      try
        ScaleX:=GetDeviceCaps(Handle,logPixelsX) div PixelsPerInch;
        ScaleY:=GetDeviceCaps(Handle,logPixelsY) div PixelsPerInch;
        //R:=Rect(0,0,myimage.Picture.Graphic.Width*ScaleX,myimage.Picture.Graphic.Height*ScaleY);
        R.Left:=0;
        R.Top:=0;
        R.Right:=myimage.Picture.Graphic.Width*ScaleX;
        R.Bottom:=myimage.Picture.Graphic.Height*ScaleY;
        Canvas.StretchDraw (R,myimage.Picture.Graphic);
      finally
        Printer.EndDoc ;
      end;
    finally
      DeskTop.Free;
    end;
  end;
  myimage.free;
 end;

 {insert base}
 begin
     if combobox1.text='现金' then
     begin
           query1.close;
           query1.sql.Clear ;
           query1.sql.Add('insert into  ');
           query1.sql.Add('zjlshtab(msum,mcashsum,mbillsum,');
           query1.sql.Add('mcardsum,mothsum,ibillnum,icardnum,');
           query1.sql.Add('iothnum,isource,caim,iinhand,');
           query1.sql.Add('ireason,cpname,dptime,');
           query1.sql.Add('crname,drtime,cmemo )');
           query1.sql.Add('values(:tsum,:cash,:bill,');
           query1.sql.Add(':card,:oth,:bnum,:cnum,');
           query1.sql.Add(':onum,:sorc,:aim,:inhand,');
           query1.sql.Add(':rea,:pname,:ptime,');
           query1.sql.Add(':rname,:rtime,:mmo)');
           query1.parambyname('rea').asinteger:=strtoint(edit2.text);
           query1.parambyname('aim').asstring:=edit4.text;
           query1.parambyname('inhand').asinteger:=0;
           query1.parambyname('sorc').asinteger:=strtoint(edit3.text);
           query1.parambyname('tsum').asfloat:=strtofloat(edit1.text);
           query1.parambyname('cash').asfloat:=strtofloat(edit1.Text);
           query1.parambyname('bill').asfloat:=0;
           query1.parambyname('card').asfloat:=0;
           query1.parambyname('oth').asfloat:=0;
           query1.parambyname('mmo').asstring:=edit9.text;
           query1.parambyname('bnum').asinteger:=0;
           query1.parambyname('cnum').asinteger:=0;
           query1.parambyname('onum').asinteger:=0;
           query1.parambyname('ptime').asdatetime:=datetimepicker1.datetime;
           query1.parambyname('rtime').asdatetime:=datetimepicker1.datetime;
           query1.parambyname('pname').asstring:=edit6.Text;
           query1.parambyname('rname').asstring:=edit7.text;
           query1.execsql;
          end;
       if combobox1.text='支票' then
         begin
           query1.close;
           query1.sql.Clear ;
           query1.sql.Add('insert into  ');
           query1.sql.Add('zjlshtab(msum,mcashsum,mbillsum,');
           query1.sql.Add('mcardsum,mothsum,ibillnum,icardnum,');
           query1.sql.Add('iothnum,isource,caim,iinhand,');
           query1.sql.Add('ireason,cpname,dptime,');
           query1.sql.Add('crname,drtime,cmemo )');
           query1.sql.Add('values(:tsum,:cash,:bill,');
           query1.sql.Add(':card,:oth,:bnum,:cnum,');
           query1.sql.Add(':onum,:sorc,:aim,:inhand,');
           query1.sql.Add(':rea,:pname,:ptime,');
           query1.sql.Add(':rname,:rtime,:mmo)');
           query1.parambyname('rea').asinteger:=strtoint(edit2.text);
           query1.parambyname('aim').asstring:=edit4.text;
           query1.parambyname('inhand').asinteger:=1;
           query1.parambyname('sorc').asinteger:=strtoint(edit3.text);
           query1.parambyname('tsum').asfloat:=strtofloat(edit1.text);
           query1.parambyname('cash').asfloat:=0;
           query1.parambyname('bill').asfloat:=strtofloat(edit1.Text);
           query1.parambyname('card').asfloat:=0;
           query1.parambyname('oth').asfloat:=0;
           query1.parambyname('mmo').asstring:=edit9.text;
           query1.parambyname('bnum').asinteger:=1;
           query1.parambyname('cnum').asinteger:=0;
           query1.parambyname('onum').asinteger:=0;
           query1.parambyname('ptime').asdatetime:=datetimepicker1.datetime;
           query1.parambyname('rtime').asdatetime:=datetimepicker1.datetime;
           query1.parambyname('pname').asstring:=edit6.Text;
           query1.parambyname('rname').asstring:=edit7.text;
           query1.execsql;
          end;
       if combobox1.text='信用卡' then
          begin
           query1.close;
           query1.sql.Clear ;
           query1.sql.Add('insert into  ');
           query1.sql.Add('zjlshtab(msum,mcashsum,mbillsum,');
           query1.sql.Add('mcardsum,mothsum,ibillnum,icardnum,');
           query1.sql.Add('iothnum,isource,caim,iinhand,');
           query1.sql.Add('ireason,cpname,dptime,');
           query1.sql.Add('crname,drtime,cmemo )');
           query1.sql.Add('values(:tsum,:cash,:bill,');
           query1.sql.Add(':card,:oth,:bnum,:cnum,');
           query1.sql.Add(':onum,:sorc,:aim,:inhand,');
           query1.sql.Add(':rea,:pname,:ptime,');
           query1.sql.Add(':rname,:rtime,:mmo)');
           query1.parambyname('rea').asinteger:=strtoint(edit2.text);
           query1.parambyname('aim').asstring:=edit4.text;
           query1.parambyname('inhand').asinteger:=0;
           query1.parambyname('sorc').asinteger:=strtoint(edit3.text);
           query1.parambyname('tsum').asfloat:=strtofloat(edit1.text);
           query1.parambyname('cash').asfloat:=0;
           query1.parambyname('bill').asfloat:=0;
           query1.parambyname('card').asfloat:=strtofloat(edit1.Text);
           query1.parambyname('oth').asfloat:=0;
           query1.parambyname('mmo').asstring:=edit9.text;
           query1.parambyname('bnum').asinteger:=0;
           query1.parambyname('cnum').asinteger:=1;
           query1.parambyname('onum').asinteger:=0;
           query1.parambyname('ptime').asdatetime:=datetimepicker1.datetime;
           query1.parambyname('rtime').asdatetime:=datetimepicker1.datetime;
           query1.parambyname('pname').asstring:=edit6.Text;
           query1.parambyname('rname').asstring:=edit7.text;
           query1.execsql;
            end;
       if combobox1.text='其他票据' then
          begin
           query1.close;
           query1.sql.Clear ;
           //tmpsql:='insert into zjlshtab(msum,mcashsum,mbillsum,mcardsum,mothsum,ibillnum,iothnum,isource,caim,crname,drtime,cmemo)';
           //tmpsql:=tmpsql+' values(:tsum,:cash,:bill,:card,:oth,:bnum,:onum,:sorc,lee,1,:pname,:ptime,:rname,:rtime,:mmo)';
           query1.sql.Add('insert into  ');
           query1.sql.Add('zjlshtab(msum,mcashsum,mbillsum,');
           query1.sql.Add('mcardsum,mothsum,ibillnum,icardnum,');
           query1.sql.Add('iothnum,isource,caim,iinhand,');
           query1.sql.Add('ireason,cpname,dptime,');
           query1.sql.Add('crname,drtime,cmemo )');
           query1.sql.Add('values(:tsum,:cash,:bill,');
           query1.sql.Add(':card,:oth,:bnum,:cnum,');
           query1.sql.Add(':onum,:sorc,:aim,:inhand,');
           query1.sql.Add(':rea,:pname,:ptime,');
           query1.sql.Add(':rname,:rtime,:mmo)');
           query1.parambyname('rea').asinteger:=strtoint(edit2.text);
           query1.parambyname('aim').asstring:=edit4.text;
           query1.parambyname('inhand').asinteger:=0;
           query1.parambyname('sorc').asinteger:=strtoint(edit3.text);
           query1.parambyname('tsum').asfloat:=strtofloat(edit1.text);
           query1.parambyname('cash').asfloat:=0;
           query1.parambyname('bill').asfloat:=0;
           query1.parambyname('card').asfloat:=0;
           query1.parambyname('oth').asfloat:=strtofloat(edit1.Text);
           query1.parambyname('mmo').asstring:=edit9.text;
           query1.parambyname('bnum').asinteger:=0;
           query1.parambyname('cnum').asinteger:=0;
           query1.parambyname('onum').asinteger:=1;
           query1.parambyname('ptime').asdatetime:=datetimepicker1.datetime;
           query1.parambyname('rtime').asdatetime:=datetimepicker1.datetime;
           query1.parambyname('pname').asstring:=edit6.Text;
           query1.parambyname('rname').asstring:=edit7.text;
           //query1.sql.add(tmpsql);
           //showmessage(tmpsql);
           query1.execsql;
              end;
         end;
       end;
    recievfm.Close ;
    recievfm.Release ;
 end;



procedure Trecievfm.Button2Click(Sender: TObject);
begin
 recievfm.close;
 recievfm.Release ;
end;

end.

⌨️ 快捷键说明

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