upinit.pas
来自「商场活动抽奖系统,无需控件,可以正常使用.」· PAS 代码 · 共 85 行
PAS
85 行
unit UPInit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Buttons, StdCtrls, DB, ADODB;
type
InitC = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;
implementation
uses
UInit,UMain;
procedure InitC.Execute;
var
i,count,nmb:Integer;
tmp:String;
Query,QueryIns:TADOQuery;
begin
for i:=1 to length(frmInit.edt_Start.Text) do
begin
tmp:=tmp+'0';
end;
Query:=TADOQuery.Create(nil);
Query.Connection:=frmMain.ADOC;
QueryIns:=TADOQuery.Create(nil);
QueryIns.Connection:=frmMain.ADOC;
//删除原有信息
Query.SQL.Text:='delete from award';
Query.ExecSQL;
//生成新的信息
count:=StrToInt(frmInit.edt_Start.Text);
for i:=count to StrToInt(frmInit.edt_count.Text)+count-1 do
begin
frmInit.lb.Items.Add(FormatFloat(tmp,i));
Query.SQL.Text:='insert into award values('''+FormatFloat(tmp,i)
+''','''',''N'')';
Query.ExecSQL;
end;
//产生中奖数据
Query.Close;
Query.SQL.Text:='select * from aw order by aw_id';
Query.Open;
while not Query.Eof do
begin
for i:=1 to Query.FieldByName('aw_count').AsInteger do
begin
if frmInit.lb.Items.Count<=0 then
begin
Query.Last;
//显示信息
frmInit.TimerMsg.Enabled:=True;
break;
end;
nmb:=random(frmInit.lb.Items.Count);
tmp:=frmInit.lb.Items.Strings[nmb];
QueryIns.SQL.Text:='update award set aw_id='''
+Query.FieldByName('aw_id').AsString+''' where nmb='''+tmp+'''';
QueryIns.ExecSQL;
frmInit.lb.ItemIndex:=nmb;
frmInit.lb.Items.Delete(frmInit.lb.ItemIndex);
end;
Query.Next
end;
Query.Close;
Query.Free;
QueryIns.Free;
//重新初始化抽奖界面的数据
frmMain.OnShow(nil);
frmInit.lab_info.Caption:='初始化系统信息' ;
frmInit.btnInit.Enabled:=True;
frmInit.setRW(False);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?