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

📄 phistory.pas

📁 BarCodePrint条码打印机打印管理
💻 PAS
字号:
unit pHistory;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, Db, ADODB, ComCtrls, ToolWin, ExtCtrls, DBCtrls;

type
  TFormHistory = class(TForm)
    DataSourceUsers: TDataSource;
    DBGridUsers: TDBGrid;
    ADOTableUsers: TADOQuery;
    StatusBarProductCode: TStatusBar;
    ToolBar1: TToolBar;
    ToolButton3: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    DBNavigatorProductCode: TDBNavigator;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGridUsersTitleClick(Column: TColumn);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ADOTableUsersAfterEdit(DataSet: TDataSet);
    procedure ADOTableUsersAfterPost(DataSet: TDataSet);
  private
    bAsc:Boolean;
    procedure LotBackup(content:String);
  public
    { Public declarations }
  end;

var
  FormHistory: TFormHistory;

implementation

uses PDataModuleMain, pHistorySearch, pHistoryPrint, PPublic;

{$R *.DFM}

procedure TFormHistory.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    AdoTableUsers.Close;
end;

procedure TFormHistory.DBGridUsersTitleClick(Column: TColumn);
var
    sS:String;
    sSql:String;
    nI:integer;
begin
    sS:=Column.FieldName;
    ADOTableUsers.Close;
    sSql:=ADOTableUsers.SQL.Text;
    ADOTableUsers.sql.Clear;
    nI:=Pos('order',sSql);

    if nI=0 then begin
        if bAsc then
            sSql:=sSql+' order by '+sS +' DESC'
        else
            sSql:=sSql+' order by '+sS +' ASC'
        end
    else begin
        if bAsc then
            sSql:=Copy(sSql,1,nI-1)+ ' order by '+sS +' DESC'
        else
            sSql:=Copy(sSql,1,nI-1)+' order by '+sS +' ASC';
    end;
    ADOTableUsers.sql.Add(sSql);
    bAsc:=not bAsc;
    ADOTableUsers.Open;
    DbgridUsers.Columns.Items[0].Title.Caption:='生产批号';
    DbgridUsers.Columns.Items[1].Title.Caption:='出荷号';
    DbgridUsers.Columns.Items[2].Title.Caption:='生产数量';
    DbgridUsers.Columns.Items[3].Title.Caption:='代码';
    DbgridUsers.Columns.Items[4].Title.Caption:='品名代码';
    DbgridUsers.Columns.Items[5].Title.Caption:='加工代码';
    DbgridUsers.Columns.Items[6].Title.Caption:='日期';
    DbgridUsers.Columns.Items[7].Title.Caption:='时间';
    DbgridUsers.Columns.Items[8].Title.Caption:='用户';
end;

procedure TFormHistory.ToolButton3Click(Sender: TObject);
begin
    if not assigned(FormHistorySearch) then FormHistorySearch:=TFormHistorySearch.Create(Self);
    FormHistorySearch.Show;
end;

procedure TFormHistory.ToolButton5Click(Sender: TObject);
begin
 if not assigned(FormHistoryPrint) then FormHistoryPrint:=TFormHistoryPrint.Create(Self);
 with FormHistoryPrint do begin
   QuickRep1.DataSet:=ADOTableUsers;
   QRDBText1.DataSet:=ADOTableUsers;
   QRDBText2.DataSet:=ADOTableUsers;
   QRDBText3.DataSet:=ADOTableUsers;
   QRDBText4.DataSet:=ADOTableUsers;
   QRDBText5.DataSet:=ADOTableUsers;
   QRDBText6.DataSet:=ADOTableUsers;
   QuickRep1.Print;
 end;
end;

procedure TFormHistory.ToolButton6Click(Sender: TObject);
begin
    if not assigned(FormHistoryPrint) then FormHistoryPrint:=TFormHistoryPrint.Create(Self);
    with FormHistoryPrint do begin
        QuickRep1.DataSet:=ADOTableUsers;
        QRDBText1.DataSet:=ADOTableUsers;
        QRDBText2.DataSet:=ADOTableUsers;
        QRDBText3.DataSet:=ADOTableUsers;
        QRDBText4.DataSet:=ADOTableUsers;
        QRDBText5.DataSet:=ADOTableUsers;
        QRDBText6.DataSet:=ADOTableUsers;
        QuickRep1.Preview;
 end;
end;

procedure TFormHistory.FormShow(Sender: TObject);
var
    sDate:String;
begin
    sDate:=FormatDateTime('yyyy-mm-01',date);
    sDate:='#'+sDate+'#';
    AdoTableUsers.Connection:=DataModuleMain.ADOConnectionBarCode;
    AdoTableUsers.SQL.clear;
    AdoTableUsers.SQL.Add('select * from LotHistory where Printdate>='+sDate);
    AdoTableUsers.Open;

    DbgridUsers.Columns.Items[0].Title.Caption:='生产批号';
    DbgridUsers.Columns.Items[1].Title.Caption:='出荷号';
    DbgridUsers.Columns.Items[2].Title.Caption:='生产数量';
    DbgridUsers.Columns.Items[3].Title.Caption:='代码';
    DbgridUsers.Columns.Items[4].Title.Caption:='品名代码';
    DbgridUsers.Columns.Items[5].Title.Caption:='加工代码';
    DbgridUsers.Columns.Items[6].Title.Caption:='日期';
    DbgridUsers.Columns.Items[7].Title.Caption:='时间';
    DbgridUsers.Columns.Items[8].Title.Caption:='用户';
    StatusBarProductCode.SimpleText:='总数:' +IntTostr(AdoTableUsers.RecordCount);

end;

procedure TFormHistory.ADOTableUsersAfterEdit(DataSet: TDataSet);
begin
   { ADODataSetL:=TADODataSet.Create(Self);
    ADoDataSetL.Connection:=DataModuleMain.ADOConnectionBarCode;
    ADODataSetL.CommandText:='Select * from LotHistory where LotNo='''+trim(DataSet['LotNo'])+'''';
    ADODataSetL.Open;
   if ADODataSetL.eof then exit;
   sBackup:=ADODataSetL['LotNo']+',';
   sBackup:=sBackup+ADODataSetL['HeNo']+',';
   sBackup:=sBackup+ADODataSetL['Code']+',';
   sBackup:=sBackup+ADODataSetL['ProductCode']+',';
   sBackup:=sBackup+ADODataSetL['ProcessCode']+',';
   sBackup:=sBackup+ADODataSetL['LotAmount']+',';
   sBackup:=sBackup+datetostr(ADODataSetL['PrintDate'])+',';
   sBackup:=sBackup+datetimetostr(ADODataSetL['PrintTime'])+',';
   sBackup:=sBackup+ADODataSetL['usercode']+',';
   sBackup:=sBackup+'---Edited.' ;
   ADODataSetL.Close;
   ADODataSetL.Free;
   LotBackup(sBackup);}
end;
procedure TFormHistory.LotBackup(content:String);
var
    sFileName:String;
    BackupFile:TextFile;
begin
        sFileName:=ExtractFilePath(Application.ExeName)+FormatDatetime('yyyymm',date)+'.txt';
        if FileExists(sFileName) then
        begin
                AssignFile(BackupFile,sFileName);
                Reset(BackupFile);
        end
        else
        begin
                AssignFile(BackupFile,sFileName);
                Rewrite(BackupFile);
        end;
        append(BackupFile);
        WriteLn(BackupFile,content);
        Flush(BackupFile);
        CloseFile(BackupFile);
end;
procedure TFormHistory.ADOTableUsersAfterPost(DataSet: TDataSet);
var
    ADODataSetL:TADODataSet;
    sBackup:String;
begin
    ADODataSetL:=TADODataSet.Create(Self);
    ADoDataSetL.Connection:=DataModuleMain.ADOConnectionBarCode;
    ADODataSetL.CommandText:='Select * from LotHistory where LotNo='''+trim(DataSet['LotNo'])+'''';
    ADODataSetL.Open;
   if ADODataSetL.eof then exit;
   sBackup:=ADODataSetL['LotNo']+',';
   sBackup:=sBackup+ADODataSetL['HeNo']+',';
   sBackup:=sBackup+ADODataSetL['Code']+',';
   sBackup:=sBackup+ADODataSetL['ProductCode']+',';
   sBackup:=sBackup+ADODataSetL['ProcessCode']+',';
   sBackup:=sBackup+ADODataSetL['LotAmount']+',';
   sBackup:=sBackup+datetostr(ADODataSetL['PrintDate'])+',';
   sBackup:=sBackup+datetimetostr(ADODataSetL['PrintTime'])+',';
   sBackup:=sBackup+ADODataSetL['usercode']+',';
   sBackup:=sBackup+'---Edited.' ;
   ADODataSetL.Close;
   ADODataSetL.Free;
   LotBackup(sBackup);
end;

end.

⌨️ 快捷键说明

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