📄 main.pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, math,ExtCtrls,TChou, ComCtrls, DB, ADODB, Menus;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Memo1: TMemo;
GroupBox2: TGroupBox;
ComboBox1: TComboBox;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
BitBtn2: TBitBtn;
Memo2: TMemo;
GroupBox3: TGroupBox;
Memo3: TMemo;
BitBtn3: TBitBtn;
Timer1: TTimer;
SaveDialog1: TSaveDialog;
Edit2: TEdit;
cb_Cj: TCheckBox;
Edit3: TEdit;
Label3: TLabel;
Label4: TLabel;
StatusBar1: TStatusBar;
Timer2: TTimer;
Conn: TADOConnection;
Query: TADOQuery;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
procedure Timer2Timer(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure FormClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure GroupBox2DblClick(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
z,y:integer;
cj:DispCJ;
procedure TimeEvent();
procedure ShouDong;
procedure ZiDong;
public
{ Public declarations }
bz:boolean;
k:integer;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if(Cb_Cj.Checked =false) then
ShouDong
else
begin
y:=0;
ZiDong;
end;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if savedialog1.Execute then
begin
memo3.Lines.SaveToFile(savedialog1.FileName);
showmessage('保存完毕!');
end;
end;
procedure TForm1.GroupBox2DblClick(Sender: TObject);
begin
z:=1;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Memo3.Clear;
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
var
I:integer;
begin
if Not Conn.Connected then Conn.Open();
Query.Connection := Conn;
Query.SQL.Clear();
Query.SQL.Add('SELECT * FROM tStat WHERE (sCardID > 0)');
Query.Open;
Memo1.Clear;
for I := 0 to Query.RecordCount - 1 do
begin
Memo1.Lines.Add(Query.FieldByName('sCardid').AsString + '★★★' + Query.FieldByName('sName').AsString+'=>'+uppercase(Query.FieldByName('sCom').AsString));
Query.Next;
end;
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
var
I:integer;
begin
if Not Conn.Connected then Conn.Open();
Query.Connection := Conn;
Query.SQL.Clear();
Query.SQL.Add('SELECT * FROM tStat WHERE (sCardID < 0)');
Query.Open;
Memo1.Clear;
for I := 0 to Query.RecordCount - 1 do
begin
Memo1.Lines.Add(Query.FieldByName('sCardid').AsString + '★★★' + Query.FieldByName('sName').AsString+'=>'+uppercase(Query.FieldByName('sCom').AsString));
Query.Next;
end;
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
var
I:integer;
begin
if Not Conn.Connected then Conn.Open();
Query.Connection := Conn;
Query.SQL.Clear();
Query.SQL.Add('SELECT * FROM tStat WHERE (sCardID <0 or sCardID>0)');
Query.Open;
Memo1.Clear;
for I := 0 to Query.RecordCount - 1 do
begin
Memo1.Lines.Add(Query.FieldByName('sCardid').AsString + '★★★' + Query.FieldByName('sName').AsString+'=>'+uppercase(Query.FieldByName('sCom').AsString));
Query.Next;
end;
end;
procedure TForm1.TimeEvent();
var
i: Integer;
begin
if k = 0 then
k := 0;
if k >= memo1.Lines.Count then
k := memo1.Lines.Count - 1;
memo2.Clear;
for i := 0 to memo1.Lines.Count do
begin
if bz=true then
begin
if i >= k then
begin
memo2.Lines.Append(memo1.Lines[i]);
if(bz=false) then
break;
end;
end
else
begin
break;
end;
end;
inc(k);
end;
procedure TForm1.ShouDong;
var
i:integer;
tmp:string;
begin
if bitbtn2.Caption = '开始抽奖' then
begin
if trim(edit1.Text) = '' then
begin
showmessage('请输入获取的此奖的名额!');
edit1.SetFocus;
end
else
begin
if combobox1.Text = '选择奖项设置' then
begin
showmessage('请选择奖项设置!');
end
else
begin
bitbtn2.Caption := '获取抽奖结果';
timer1.Enabled := true;
bz := true;
cj := DispCJ.Create(true);
cj.Resume;
end;
end;
end
else
begin
//获取抽奖结果
bz := false;
//cj.Suspend;
//k:=cj.k;
k := cj.k;
edit2.Color := clMedGray;
memo3.Lines.Append(memo1.Lines.Strings[k]);
tmp:=memo1.Lines.Strings[k];
// memo1.Lines.Delete(k);
for i:=0 to memo1.Lines.Count -1 do
begin
if memo1.Lines.Strings [i]=tmp then memo1.Lines.Delete(i);
end;
timer1.Enabled := false;
bitbtn2.Caption := '开始抽奖';
end;
end;
procedure TForm1.ZiDong;
begin
begin
if bitbtn2.Caption = '开始抽奖' then
begin
if trim(edit1.Text) = '' then
begin
showmessage('请输入获取的此奖的名额!');
edit1.SetFocus;
end
else
begin
if combobox1.Text = '选择奖项设置' then
begin
showmessage('请选择奖项设置!');
end
else
begin
{ bitbtn2.Caption := '获取抽奖结果';
//timer1.Enabled := true;
bz := true;
cj := DispCJ.Create(true);
cj.Resume;}
timer1.Interval :=strtoint(edit3.Text)*1000;
timer1.Enabled :=true;
bz:=true;
cj:=dispcj.Create(true);
cj.Resume;
end;
end;
end;
end;
end;
procedure TForm1.FormClick(Sender: TObject);
begin
bz:=false;
self.TimeEvent;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
self.DoubleBuffered:= true;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
memo3.Lines.Append(combobox1.text);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
i:integer;
tmp:string;
begin
if (bz=true) and (bitbtn2.Caption ='获取抽奖结果') then
begin
{k := cj.k;
//inc(y);
edit2.Color := clMedGray;
memo3.Lines.Append(memo1.Lines.Strings[k]);
// memo1.Lines.Delete(k);
tmp:=memo1.Lines.Strings[k];
for i:=0 to memo1.Lines.Count -1 do
begin
if memo1.Lines.Strings [i]=tmp then memo1.Lines.Delete(i);
end;
self.Timer1.Enabled :=false;
// edit2.Color:=clWhite;
cj.Suspended:=true;
cj.Suspend;
bitbtn2.Caption :='开始抽奖';
showmessage('抽奖完成!');
}
shoudong;
end;
if(bz=true) and (bitbtn2.Caption <>'获取抽奖结果') then
begin
bz:=false;
//cj.Suspended:=true;
//cj.Suspend;
cj.Terminate;
k := cj.k;
inc(y);
edit2.Color := clMedGray;
memo3.Lines.Append(memo1.Lines.Strings[k]);
//memo1.Lines.Delete(k);
tmp:=memo1.Lines.Strings[k];
for i:=0 to memo1.Lines.Count -1 do
begin
if memo1.Lines.Strings [i]=tmp then memo1.Lines.Delete(i);
end;
if(y <(strtoint(edit1.Text))) then
begin
bz:=true;
edit2.Color:=clWhite;
// cj.Resume;
cj:=dispcj.Create(true);
cj.Resume;
end
else
begin
showmessage('抽奖完成!');
end;
end;
end;
procedure TForm1.Edit3Change(Sender: TObject);
begin
self.Timer1.Interval :=strtoint(edit3.Text)*1000;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
statusbar1.Panels[2].Text :=datetimetostr(now);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -