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

📄 cf0dmmc.~pas

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

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
  Tf0dmmc = 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;
    Edit1: TEdit;
    CheckBox1: TCheckBox;
    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;
    CheckBox2: TCheckBox;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    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);
    procedure CheckBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 type
   ttable=array[1..50,1..2] of string;
var
  f0dmmc: Tf0dmmc;
  mytable:ttable;
implementation
  uses cdata, Cmain;
{$R *.dfm}

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

procedure Tf0dmmc.findClick(Sender: TObject);
var
 date1,date2:string;
  i,j,stepcount,stepcount1:integer;
begin
  inherited;
  date1:=datetostr(datetimepicker1.Date);
  date2:=datetostr(datetimepicker2.Date);
  begin
    if trim(edit1.Text)<>'' then
       begin
         if checkbox2.Checked then
            begin
              adoquery2.Close;
              adoquery2.SQL.clear;
              if checkbox1.Checked then
                 adoquery2.sql.add('select *  from 串号管理 where 机型 like '''+edit1.text+'%'' and 录入日期 between #'+date1+'# and #'+date2+'#')
              else
                adoquery2.sql.add('select *  from 串号管理 where 机型 like '''+edit1.text+'%''');
              adoquery2.open;
            end
          else
            begin
              adoquery2.Close;
              adoquery2.SQL.clear;
              if checkbox1.Checked then
                 adoquery2.sql.add('select *  from 串号管理 where 机型='''+edit1.text+''' and 录入日期 between #'+date1+'# and #'+date2+'#')
              else
                 adoquery2.sql.add('select *  from 串号管理 where 机型='''+edit1.text+'''');
              adoquery2.open;
            end;
          if adoquery2.RecordCount=0 then
             if checkbox2.Checked then
                application.MessageBox(pchar('系统中没有机型以:【'+edit1.Text+'】开头的手机!'),'注意',64)
             else
             if checkbox1.Checked then
                application.MessageBox(pchar('系统中没有录入日期从:【'+date1+'】到【'+date2+'】,机型为:【'+edit1.Text+'】的手机!'),'注意',64)
             else
             if (checkbox1.Checked) and (checkbox2.Checked) then
                application.MessageBox(pchar('系统中没有录入日期从:【'+date1+'】到【'+date2+'】,机型以:【'+edit1.Text+'】开头的手机!'),'注意',64)
             else
             application.MessageBox(pchar('系统中没有机型为:【'+edit1.Text+'】的手机!'),'注意',64)
          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+''','''+adoquery2.fieldbyname('录入日期').asstring+''','''+adoquery2.fieldbyname('发货机率').asstring+''')';
                           adocommand1.Execute;
                           Stepit;
                           adoquery2.Next;
                         end;
                       end ;
                 end;
            end;
            progressBar1.Visible:=false;
            edit1.Clear;
            edit1.SetFocus;
            //checkbox1.Checked:=false;
          //  checkbox2.Checked:=false;
         end
         else
         begin
          // showmessage('请输入查询条件,然后进行查询!');
             messagedlg('请输入查询条件,然后进行查询!',mterror,[mbyes],0);
           edit1.SetFocus;
         end;
      end;
adoquery3.Close;
adoquery3.SQL.clear;
adoquery3.sql.add('select *  from '+main.usermc+' order by 内部编号 desc');
adoquery3.open; 
end;

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

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

procedure Tf0dmmc.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 Tf0dmmc.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if key=#13 then
     find.Click;
end;

procedure Tf0dmmc.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 Tf0dmmc.copyClick(Sender: TObject);
var
  fhjl:string;
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+'');
     richedit1.Lines.Add(''+adoquery3.fieldbyname('电子串号').asstring+'');
     if trim(adoquery3.fieldbyname('发货机率').AsString)='' then
        fhjl:='1'
     else
        fhjl:=inttostr(strtoint(trim(adoquery3.fieldbyname('发货机率').AsString))+1);
     adocommand1.CommandText:='update 串号管理 set 发货机率='''+fhjl+''' where 电子串号='''+adoquery3.fieldbyname('电子串号').asstring+'''';
     adocommand1.Execute;
     adoquery3.Next;
  end;
  richedit1.SelectAll;
  richedit1.CopyToClipboard;
  application.MessageBox('复制成功,可以进行粘贴!','好消息',64);  
  end;
end;

procedure Tf0dmmc.excelClick(Sender: TObject);
var
  ExcelApp: Variant;
  x,j,k:integer;
  FileName:string;

⌨️ 快捷键说明

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