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

📄 ucreatecode.pas

📁 电话防伪系统
💻 PAS
字号:
unit UCreateCode;

interface

uses
  Classes,Windows, Messages, SysUtils, Variants, Graphics, Controls, Forms,
  Dialogs, ImgList, ComCtrls, ToolWin, Menus, ExtCtrls, DB, ADODB;

type
  CreateCode = class(TThread)
  private
    { Private declarations }
    ip:integer;
    ss_code:integer;
    ee_code:integer;
    kk_code:integer;
  protected
    procedure Execute; override;
    procedure showcount;
    procedure hidecount;
  public
    constructor Create(kindcode:integer;s_code:integer;e_code:integer);
  end;

implementation

{ Important: Methods and properties of objects in VCL or CLX can only be used
  in a method called using Synchronize, for example,

      Synchronize(UpdateCaption);

  and UpdateCaption could look like,

    procedure CreateCode.UpdateCaption;
    begin
      Form1.Caption := 'Updated in a thread';
    end; }

{ CreateCode }
uses uform_main;
procedure CreateCode.Execute;
var
   i:integer;
   count:integer;
   onecode:integer;
   onecodestr:string;
   kkstr:string;

begin
  { Place thread code here }
  kkstr:=inttostr(kk_code);
   if length(kkstr)=1 then kkstr:='0'+kkstr;

  for i:=ss_code to ee_code do
   begin
      ip:=i;
      Synchronize(showcount);
      form_main.recordset_temp.SQL.Clear ;
      form_main.recordset_temp.SQL.Add('select * from [CODE] where [CODE_KIND]='
         + inttostr(kk_code) + ' and [CODE_ONE]=' + inttostr(i));
      form_main.recordset_temp.Open ;
      if form_main.recordset_temp.RecordCount =0 then
      begin
         repeat
            Randomize;
            onecode:=Random(100000000);
            onecodestr:=inttostr(onecode);

            repeat
               if length(onecodestr)<8 then
               begin
                  onecodestr:='0' + onecodestr;
               end;
            until length(onecodestr)=8;

            form_main.recordset_temp2.SQL.Clear ;
            form_main.recordset_temp2.SQL.Add('select * from [CODE] where [CODE_KIND]='
               + inttostr(kk_code ) + ' and [CODE_CODE]='''
               + kkstr+onecodestr +'''');
            form_main.recordset_temp2.Open ;
            count:=form_main.recordset_temp2.RecordCount ;
            form_main.recordset_temp2.Close ;

         until count=0;

         form_main.recordset_temp.Insert ;
         form_main.recordset_temp.Fields[1].AsInteger :=kk_code;
         form_main.recordset_temp.Fields[2].AsInteger :=i;
         form_main.recordset_temp.Fields[3].AsString :=kkstr+onecodestr;
         form_main.recordset_temp.post;

      end;
      form_main.recordset_temp.Close ;
   end;
   Synchronize(hidecount);
end;
constructor CreateCode.Create(kindcode:integer;s_code:integer;e_code:integer);
begin
   ss_code:=s_code;
   ee_code:=e_code;
   kk_code:=kindcode;
   inherited Create(True);
end;
procedure CreateCode.hidecount;
begin
  form_main.StatusBar1.Visible :=false;

end;
procedure CreateCode.showcount;
begin
  form_main.StatusBar1.Visible :=true;
  form_main.StatusBar1.Panels [0].Text :=inttostr(ip) + '正在被创建'
end;
end.

⌨️ 快捷键说明

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