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

📄 cf0xh.~pas

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

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
  Tf0xh = 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;
    CheckBox2: 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;
    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
  f0xh: Tf0xh;
  mytable:ttable;
implementation
  uses cdata, Cmain;
{$R *.dfm}

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

procedure Tf0xh.findClick(Sender: TObject);
var
  i,j,stepcount,stepcount1:integer;
begin
  inherited;
  if checkbox2.Checked then
     begin
       if trim(edit1.Text)<>'' then
          begin
            adoquery2.Close;
            adoquery2.SQL.clear;
            adoquery2.sql.add('select *  from 串号管理 where 电子串号='''+edit1.text+'''');
            adoquery2.open;
            if adoquery2.RecordCount=0 then
               begin
                 application.MessageBox(pchar('系统中没有串号为:【'+edit1.Text+'】的手机!'),'注意',64);
                 edit1.SetFocus;
               end
            else
            begin
              adoquery4.Close;
              adoquery4.SQL.clear;
              adoquery4.sql.add('select *  from 串号管理 where 电子串号='''+adoquery2.fieldbyname('电子串号').AsString+'''');
              adoquery4.open;
              adoquery1.Close;
              adoquery1.SQL.clear;
              adoquery1.sql.add('select *  from '+main.usermc+' where 箱号='''+adoquery4.fieldbyname('箱号').AsString+'''');
              adoquery1.open;
              if (adoquery1.RecordCount=5) or (adoquery1.RecordCount=10) or (adoquery1.RecordCount=15) or (adoquery1.RecordCount=20) then
                 begin
                   application.MessageBox(pchar('箱号为:【'+edit1.Text+'】的串号已经在查询数据库中!'),'注意',64);
                   edit1.SetFocus;
                 end
              else
                 begin
                   adoquery2.Close;
                   adoquery2.SQL.clear;
                   adoquery2.sql.add('select *  from 串号管理 where 箱号='''+adoquery4.fieldbyname('箱号').AsString+'''');
                   adoquery2.open;
                   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
                                    adoquery1.Close;
                                    adoquery1.SQL.clear;
                                    adoquery1.sql.add('select *  from '+main.usermc+' where 电子串号='''+adoquery2.fieldbyname('电子串号').asstring+'''');
                                    adoquery1.open;
                                    if adoquery1.RecordCount=0 then
                                       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+''')';
                                         adocommand1.Execute;
                                       end;
                                     Stepit;
                                     adoquery2.Next;
                                   end;
                               end;
                           end;
                        end;
                      progressBar1.Visible:=false;
                 end;
            edit1.Clear; 
         end
         else
           begin  
             messagedlg('请输入查询条件,然后进行查询!',mterror,[mbyes],0);
             edit1.SetFocus;
           end;
        //  showmessage('通过串号反查号');
        end
     else
     begin
       if trim(edit1.Text)<>'' then
          begin
            adoquery1.Close;
            adoquery1.SQL.clear;
            adoquery1.sql.add('select *  from '+main.usermc+' where 箱号='''+edit1.Text+'''');
            adoquery1.open;
            if (adoquery1.RecordCount=5) or (adoquery1.RecordCount=10) or (adoquery1.RecordCount=15) or (adoquery1.RecordCount=20) then
               begin
                 application.MessageBox(pchar('箱号为:【'+edit1.Text+'】的串号已经在查询数据库中!'),'注意',64);
                 edit1.SetFocus;
               end
            else
               begin
                 adoquery2.Close;
                 adoquery2.SQL.clear;
                 adoquery2.sql.add('select *  from 串号管理 where 箱号='''+edit1.text+'''');
                 adoquery2.open;
                 if adoquery2.RecordCount=0 then
                    begin
                      application.MessageBox(pchar('系统中没有箱号为:【'+edit1.Text+'】的串号!'),'注意',64);
                      edit1.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
                                    adoquery1.Close;
                                    adoquery1.SQL.clear;
                                    adoquery1.sql.add('select *  from '+main.usermc+' where 电子串号='''+adoquery2.fieldbyname('电子串号').asstring+'''');
                                    adoquery1.open;
                                    if adoquery1.RecordCount=0 then
                                       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;
                                       end;
                                     Stepit;
                                     adoquery2.Next;
                                   end;
                               end;
                           end;
                        end;
                      progressBar1.Visible:=false;
                 end;
            edit1.Clear;
         end
         else
           begin
             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 Tf0xh.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  action:=cafree;
end;

procedure Tf0xh.FormShow(Sender: TObject);
begin
  inherited;
  clear.Click;
end;

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

procedure Tf0xh.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 Tf0xh.copyClick(Sender: TObject);
var

⌨️ 快捷键说明

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