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

📄 details.pas

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

interface

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

type
  Tdetailfm = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Image1: TImage;
    DataSource1: TDataSource;
    Table1: TTable;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit11: TDBEdit;
    Label1: TLabel;
    DataSource2: TDataSource;
    Query1: TQuery;
    Label2: TLabel;
    DBEdit13: TDBEdit;
    Label3: TLabel;
    DBEdit14: TDBEdit;
    PrintDialog1: TPrintDialog;
    Database1: TDatabase;
    Edit1: TEdit;
    Edit2: TEdit;
    DBEdit10: TDBEdit;
    Label4: TLabel;
    Query1ijCode: TIntegerField;
    Query1Msum: TFloatField;
    Query1Mcashsum: TFloatField;
    Query1Mbillsum: TFloatField;
    Query1Mcardsum: TFloatField;
    Query1Mothsum: TFloatField;
    Query1Ipart: TStringField;
    Query1Cpname: TStringField;
    Query1Dptime: TDateTimeField;
    Query1Crname: TStringField;
    Query1Drtime: TDateTimeField;
    Query1Cmemo: TStringField;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
   
  private
    { Private declarations }
  public
    
  end;

var
  detailfm: Tdetailfm;

implementation
  uses  confirmed, main;
{$R *.DFM}

procedure Tdetailfm.Button1Click(Sender: TObject);
begin
Application.CreateForm(Tconfirmfm, confirmfm);
confirmfm.showmodal;
end;

procedure Tdetailfm.Button3Click(Sender: TObject);
begin
 detailfm.Close;
 detailfm.Release ;
end;

procedure Tdetailfm.Button2Click(Sender: TObject);
var
  tempstr : string ;
  PPIX,PPIY: Integer;
  Rect: TRect; // 按比例放大后图片区域的大小
  DeskTop:TCanvas;
  ScaleX,ScaleY:integer;
  R:TRect;
  R1:TRect;
  R2:TRect;
  myimage:TImage;
begin
//print & writebase & close

 if (edit1.text='') or (edit2.text='')then
 begin
 showmessage('请填写收款凭证!');
 button1.setfocus;
 exit;
 end;

 {insert & delete base}
 database1.StartTransaction ;
 try
 begin
 if dbedit1.text=dbedit8.Text then
  with query1 do
  begin
  close;
  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)';
  sql.Add('insert into  ');
  sql.Add('zjlshtab(ijcode,msum,mcashsum,mbillsum,');
  sql.Add('mcardsum,mothsum,iinhand,');
  sql.Add('isource,caim,');
  sql.Add('ireason,cpname,dptime,');
  sql.Add('crname,drtime,cmemo )');
  sql.Add('values(:jcode,:tsum,:cash,:bill,');
  sql.Add(':card,:oth,:inhand,');
  sql.Add(':sorc,:aim,');
  sql.Add(':rea,:pname,:ptime,');
  sql.Add(':rname,:rtime,:mmo)');
  parambyname('jcode').asinteger:=strtoint(dbedit10.text);
  parambyname('rea').asinteger:=1;
  parambyname('aim').asstring:='财务部';
  parambyname('inhand').asinteger:=0;
  parambyname('cash').asfloat:=strtofloat(dbedit1.Text);
  parambyname('bill').asfloat:=strtofloat(dbedit11.text);
  parambyname('card').asfloat:=strtofloat(dbedit2.text);
  parambyname('oth').asfloat:=strtofloat(dbedit3.text);
  parambyname('mmo').asstring:=dbedit4.text;
  //parambyname('bnum').asinteger:=strtoint(dbedit5.text);
  //parambyname('cnum').asinteger:=strtoint(dbedit6.text);
  //parambyname('onum').asinteger:=strtoint(dbedit7.text);
  parambyname('tsum').asfloat:=strtofloat(dbedit8.text);
  parambyname('ptime').asdatetime:=strtodatetime(dbedit9.text);
  parambyname('rtime').asdatetime:=strtodatetime(edit2.text);
  parambyname('pname').asstring:=dbedit14.Text;
  parambyname('sorc').asinteger:=strtoint(dbedit13.text);
  parambyname('rname').asstring:=edit1.text;
  //query1.sql.add(tmpsql);
  //showmessage(tmpsql);
  execsql;
  end
  else
   with query1 do
  begin
   close;
   sql.Clear ;
   tempstr:='insert into zjlshtab(ijcode,msum,mcashsum,mbillsum,mcardsum,mothsum,iinhand,isource,caim,ireason,cpname,dptime,';
   tempstr:=tempstr+'crname,drtime,cmemo) values(:jcode,:tsum,:cash,:bill,:card,:oth,:inhand,:sorc,:aim,:rea,:pname,:ptime, ';
   tempstr:=tempstr+':rname,:rtime,:mmo)';
   showmessage(tempstr);
   SQL.Add(tempstr);
   parambyname('jcode').asinteger:=strtoint(dbedit10.text);
   parambyname('rea').asinteger:=1;
   parambyname('aim').asstring:='财务部';
   parambyname('inhand').asinteger:=1;
   parambyname('cash').asfloat:=strtofloat(dbedit1.Text);
   parambyname('bill').asfloat:=strtofloat(dbedit11.text);
   parambyname('card').asfloat:=strtofloat(dbedit2.text);
   parambyname('oth').asfloat:=strtofloat(dbedit3.text);
   parambyname('mmo').asstring:=dbedit4.text;
   //parambyname('bnum').asinteger:=strtoint(dbedit5.text);
   //parambyname('cnum').asinteger:=strtoint(dbedit6.text);
   //parambyname('onum').asinteger:=strtoint(dbedit7.text);
   parambyname('tsum').asfloat:=strtofloat(dbedit8.text);
   parambyname('ptime').asdatetime:=strtodatetime(dbedit9.text);
   parambyname('rtime').asdatetime:=strtodatetime(edit2.text);
   parambyname('pname').asstring:=dbedit14.Text;
   parambyname('sorc').asinteger:=strtoint(dbedit13.text);
   parambyname('rname').asstring:=edit1.text;
   //query1.sql.add(tmpsql);
   //showmessage(tmpsql);
   execsql;
   end;
 end;
  //delete
  begin
   query1.close;
   query1.sql.Clear ;

   tempstr:='delete from jkdtab where ijcode=:code';
   query1.SQL.Add(tempstr);
   query1.parambyname('code').asinteger:=strtoint(dbedit10.text) ;
   showmessage(tempstr);

   //query1.sql.Add('delete from jkdtab');
   //query1.sql.Add('where ijcode=:jcode');

   query1.execsql;
  end;
  database1.Commit ;
  showmessage('交款成功!');
  //PRINT
  {begin
  DeskTop := TCanvas.Create;
  with DeskTop do
    Handle := GetWindowDC (detailfm.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:=600;
  R2.Top:=300;
  R2.Right:=Width;
  R2.Bottom:=Height;
  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;}
  detailfm.close;
  detailfm.Release ;
  except
   database1.Rollback ;
  showmessage('交款失败!');
  detailfm.close;
  detailfm.Release ;
 end;
 end;

end.

⌨️ 快捷键说明

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