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

📄 cf0rq.pas

📁 根据箱号
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Cf0rq;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Cmodel, Menus, StdCtrls, ExtCtrls, Buttons, ToolWin, ComCtrls,
  ImgList, Grids, DBGrids, DB, ADODB,ComObj, Gauges;

type
  Tf0rq = class(Tmodel)
    ToolBar1: TToolBar;
    ImageList1: TImageList;
    find: TToolButton;
    clear: TToolButton;
    copy: TToolButton;
    excel: TToolButton;
    output: TToolButton;
    exit: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    Panel1: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    ProgressBar1: TProgressBar;
    DBGrid1: TDBGrid;
    RichEdit1: TRichEdit;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    DataSource1: TDataSource;
    ADOQuery4: TADOQuery;
    ADOCommand1: TADOCommand;
    Label4: TLabel;
    Gauge_process: TGauge;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Label5: TLabel;
    Label6: TLabel;
    procedure exitClick(Sender: TObject);
    procedure findClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure clearClick(Sender: TObject);
    procedure copyClick(Sender: TObject);
    procedure excelClick(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 type
   ttable=array[1..50,1..2] of string;
var
  f0rq: Tf0rq;
  mytable:ttable;
implementation
  uses cdata, Cmain;
{$R *.dfm}

procedure Tf0rq.exitClick(Sender: TObject);
begin
  inherited;
  close;
end;

procedure Tf0rq.findClick(Sender: TObject);
var
  date1,date2:string;
  i,j,stepcount,stepcount1:integer;
begin
  inherited;
  date1:=datetostr(datetimepicker1.Date);
  date2:=datetostr(datetimepicker2.Date);
   begin
       adoquery2.Close;
       adoquery2.SQL.clear;
       adoquery2.sql.add('select *  from 串号管理 where 录入日期 between #'+date1+'# and #'+date2+'#');
       adoquery2.open;
       if adoquery2.RecordCount=0 then
          begin
            application.MessageBox(pchar('系统中没有录入日期从:【'+date1+'】到【'+date2+'】的手机!'),'注意',64);
            datetimepicker1.SetFocus;
          end
       else
          begin
            progressBar1.Visible:=true;
            progressBar1.Position:=0;
            stepcount:=adoquery2.RecordCount;
            with progressBar1 do
                 begin
                   Min:=0;
                   Max:=stepcount;
                   Step:=1;
                   for i:=1 to StepCount do
                       begin
                         while not adoquery2.Eof do
                           begin
                             adocommand1.CommandText:='insert into '+main.usermc+'([机型],[序号],[箱号],[电子串号],[录入者],[录入日期]) values('''+adoquery2.fieldbyname('机型').asstring+''','''+adoquery2.fieldbyname('序号').asstring+''','''+adoquery2.fieldbyname('箱号').asstring+''','''+adoquery2.fieldbyname('电子串号').asstring+''','''+adoquery2.fieldbyname('录入者').asstring+''','''+adoquery2.fieldbyname('录入日期').asstring+''')';
                             adocommand1.Execute;
                             Stepit;
                             adoquery2.Next;
                           end;
                       end;
                   end;
           end;
           progressBar1.Visible:=false;
    end;
adoquery3.Close;
adoquery3.SQL.clear;
adoquery3.sql.add('select *  from '+main.usermc+' order by 内部编号 desc');
adoquery3.open;
end;

procedure Tf0rq.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  action:=cafree;
end;

procedure Tf0rq.FormShow(Sender: TObject);
begin
  inherited;
  clear.Click;
  datetimepicker1.DateTime:=date();
  datetimepicker2.DateTime:=date();
end;

procedure Tf0rq.DataSource1DataChange(Sender: TObject; Field: TField);
begin
  inherited;
   label4.Caption:='共计查询到:【'+inttostr(adoquery3.RecordCount)+'】个电子串号        ';
   if adoquery3.RecordCount<>0 then
     begin
       excel.Enabled:=true;
       clear.Enabled:=true;
     end
  else
     begin
       excel.Enabled:=false;
       clear.Enabled:=false;
     end;
  if adoquery3.RecordCount=0 then
     copy.Enabled:=false
  else
     copy.Enabled:=true;
end;

procedure Tf0rq.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if key=#13 then
     find.Click;
end;

procedure Tf0rq.clearClick(Sender: TObject);
begin
  inherited;
  adocommand1.CommandText:='delete  from '+main.usermc+'' ;
  adocommand1.Execute;
  adoquery3.Close;
  adoquery3.SQL.clear;
  adoquery3.sql.add('select *  from '+main.usermc+' order by 内部编号 desc');
  adoquery3.open;
end;

procedure Tf0rq.copyClick(Sender: TObject);
begin
  inherited;
   adoquery1.Close;
  adoquery1.SQL.clear;
  adoquery1.sql.add('select distinct 机型 from '+main.usermc+' ');
  adoquery1.open;
  if adoquery1.RecordCount>1 then
     application.MessageBox('本功能只能复制同一【机型】的串号!','注意',64)
  else
  begin
  richedit1.Clear;
  adoquery3.First;
  while not adoquery3.Eof do
  begin
     richedit1.Lines.Add(''+adoquery3.fieldbyname('电子串号').asstring+'');
     adoquery3.Next;
  end;
  richedit1.SelectAll;
  richedit1.CopyToClipboard;
  application.MessageBox('复制成功,可以进行粘贴!','好消息',64);
  end;
end;

procedure Tf0rq.excelClick(Sender: TObject);
var
  ExcelApp: Variant;
  x,j,k:integer;
  FileName:string;
  i,stepcount,stepcount1:integer;
  DlgSave:TsaveDialog;
  rec,count:integer;
  jxmc:string;

⌨️ 快捷键说明

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