📄 ucreatecode.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 + -