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

📄 trn300.pas

📁 公司ERP系统
💻 PAS
字号:
unit trn300;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, DBTables, Db, Grids, DBGrids;

type
  Ttrn300Form = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    FromCust_NoEdit: TEdit;
    EndCust_NoEdit: TEdit;
    FromDateEdit: TEdit;
    EndDateEdit: TEdit;
    Label5: TLabel;
    PrintButton: TButton;
    ExitButton: TButton;
    trn300Query: TQuery;
    PrintComboBox: TComboBox;
    Label7: TLabel;
    rptTable: TTable;
    artmasTable: TTable;
    CommandQuery: TQuery;
    arcustTable: TTable;
    ComboBox1: TComboBox;
    Label13: TLabel;
    Label8: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label18: TLabel;
    Label23: TLabel;
    trn300t1Query: TQuery;
    dropQuery: TQuery;
    rptTableCust_desc: TStringField;
    rptTableCust_no: TStringField;
    rptTableCust_name: TStringField;
    rptTableSlip_no: TSmallintField;
    rptTablePage: TSmallintField;
    rptTableYy: TSmallintField;
    rptTableMm: TSmallintField;
    rptTableP_name: TStringField;
    rptTableSum_a1: TFloatField;
    rptTableSum_a2: TFloatField;
    rptTableSum_a3: TFloatField;
    rptTableSum_a: TFloatField;
    rptTableSum_b1: TFloatField;
    rptTableSum_b2: TFloatField;
    rptTableSum_b3: TFloatField;
    rptTableSum_b4: TFloatField;
    rptTableSum_b: TFloatField;
    rptTableSum_c1: TFloatField;
    rptTableSum_c2: TFloatField;
    rptTableSum_c3: TFloatField;
    rptTableSum_c: TFloatField;
    rptTableTemp_name: TStringField;
    rptTableSum_p: TFloatField;
    rptTableAr_slip_date: TStringField;
    rptTableAr_slip_no: TStringField;
    rptTableInvoice_no: TStringField;
    rptTableItem_desc: TStringField;
    rptTableDial: TFloatField;
    rptTableLength: TFloatField;
    rptTableQty: TFloatField;
    rptTableUnit_price: TFloatField;
    rptTableUnit_measure: TStringField;
    rptTableRec_amt: TFloatField;
    rptTableRemark: TStringField;
    artmasTablear_code: TStringField;
    artmasTablear_slip_no: TStringField;
    artmasTablear_seq: TSmallintField;
    artmasTablear_slip_date: TStringField;
    artmasTablecust_no: TStringField;
    artmasTableacct_no: TStringField;
    artmasTableslip_date: TStringField;
    artmasTableslip_no: TStringField;
    artmasTableslip_seq_no: TSmallintField;
    artmasTableinvoice_no: TStringField;
    artmasTableitem_no: TStringField;
    artmasTableitem_desc: TStringField;
    artmasTablecurrency: TStringField;
    artmasTableexchange_rate: TFloatField;
    artmasTablecurrency_amt: TFloatField;
    artmasTableslip_amt: TFloatField;
    artmasTablectrl_num: TSmallintField;
    artmasTabletran_code: TStringField;
    artmasTableremark: TStringField;
    function GetNowTime:String;
    function GetTodayStr:String;
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ExitButtonClick(Sender: TObject);
    procedure PrintButtonClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure EndDateEditExit(Sender: TObject);
    procedure FromDateEditExit(Sender: TObject);
    function Checkdate( YearMonthDay: String ) : Boolean;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  trn300Form: Ttrn300Form;

implementation

uses trn300a, sqllib;
var
    gYm, gp_name : string;
    gslip_no,gpage,gcnt : integer;

{$R *.DFM}
function Ttrn300Form.GetNowTime:String;
var Hour,Min,Sec,Msec:Word;
    vHour,vMin,vSec:String;
begin
  DecodeTime(Time,Hour,Min,Sec,Msec);
  vHour:=IntToStr(Hour);
  vHour:=Copy('0'+vHour,Length(vHour),2);
  vMin:=IntToStr(Min);
  vMin:=Copy('0'+vMin,Length(vMin),2);
  vSec:=IntToStr(Sec);
  vSec:=Copy('0'+vSec,Length(vSec),2);

  Result:=vHour+':'+vMin;
end;

function Ttrn300Form.GetTodayStr:String;
var yy,mm,dd:Word;
    Sy,Sm,Sd:String;
begin
  DecodeDate(Date,yy,mm,dd);
  Sy:=IntToStr(yy-1911);
  Sy:=Copy('0'+Sy,Length(Sy),2);
  Sm:=IntToStr(mm);
  Sm:=Copy('0'+Sm,Length(Sm),2);
  Sd:=IntToStr(dd);
  Sd:=Copy('0'+Sd,Length(Sd),2);

  Result:=Sy+'/'+Sm+'/'+Sd;
end;

function Ttrn300Form.Checkdate( YearMonthDay: String ) : Boolean;
var
  i : integer;
  ch : char;
  yy, mm, dd : integer;
  len : integer;
begin
  Result := True;
  len := Length( YearMonthDay );

  //  if (len <> 6) and (len <> 7) then
  if (len <> 6)  then
  begin
    Result := False;
    Exit;
  end;

  for i := 1 to len do
  begin
    ch := YearMonthDay[i];
    if (ch <'0') or (ch > '9') then
       Result := False;
  end;

  if len = 6 then  // 6 絏

⌨️ 快捷键说明

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