📄 sn_new.~pas
字号:
unit sn_new;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables;
type
TForm11 = class(TForm)
Label1: TLabel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label2: TLabel;
HandNo: TEdit;
LB_handno: TListBox;
Q_repeat: TQuery;
T_lsh: TTable;
T_SnFolio: TTable;
T_SnAccount: TTable;
T_spinmp: TTable;
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure HandNoKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure LB_handnoClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form11: TForm11;
implementation
uses mainmenu, main;
{$R *.dfm}
procedure TForm11.Button4Click(Sender: TObject);
begin
close;
end;
procedure TForm11.Button1Click(Sender: TObject);
var i,j:integer;
begin
if (length(trim(HandNo.Text))=0) then
begin
MessageDlg('输入不能为空,请重新输入!',mtError,[mbok],0);
handno.SetFocus;
end
else
begin
j:=0;
for i:=0 to lb_handno.Items.Count-1 do
begin
if lb_handno.Items[i]=handno.Text then j:=1;
end;
Q_repeat.Close;
Q_repeat.SQL.Clear;
Q_repeat.SQL.Add('select * from SnFolio where HandNo='''+HandNo.Text+'''');
Q_repeat.Open;
if (not Q_repeat.Eof) or (j=1) then
begin
HandNo.Clear;
HandNo.SetFocus;
MessageDlg('您输入的手牌号不正确,请重新输入!',mtError,[mbok],0);
end
else
begin
lb_HandNo.AddItem(HandNo.Text,nil);
handno.SetFocus;
end;
end;
end;
procedure TForm11.HandNoKeyPress(Sender: TObject; var Key: Char);
var i,j:integer;
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
if length(trim(HandNo.Text))=0 then
begin
MessageDlg('输入不能为空,请重新输入!',mtError,[mbok],0);
handno.SetFocus;
end
else
begin
j:=0;
for i:=0 to lb_handno.Items.Count-1 do
begin
if lb_handno.Items[i]=handno.Text then j:=1;
end;
Q_repeat.Close;
Q_repeat.SQL.Clear;
Q_repeat.SQL.Add('select * from SnFolio where HandNo='''+HandNo.Text+'''');
Q_repeat.Open;
if (not Q_repeat.Eof) or (j=1) then
begin
HandNo.Clear;
HandNo.SetFocus;
MessageDlg('您输入的手牌号不正确,请重新输入!',mtError,[mbok],0);
end
else
begin
lb_HandNo.AddItem(HandNo.Text,nil);
handno.SetFocus;
end;
end;
end;
end;
procedure TForm11.FormShow(Sender: TObject);
begin
HandNo.SetFocus;
Button2.Enabled:=False;
end;
procedure TForm11.Button3Click(Sender: TObject);
var
SnAccountNo:integer;
i:integer;
begin
//验证是否输入了手牌号
if lb_handno.Items.Count=0 then
begin
MessageDlg('您还没有输入手牌号,请输入!',mtError,[mbok],0);
handno.SetFocus;
end
else
begin
//从Lsh表产生单号
T_lsh.Open;
SnAccountNo:=T_lsh['SnAccountNo']+1;
T_lsh.Edit;
T_lsh['SnAccountNo']:=SnAccountNo;
T_lsh.Post;
T_lsh.Close;
//向SnFolio中循环插入数据
T_SnFolio.Open;
for i:=0 to lb_handno.Items.Count-1 do
begin
T_snfolio.Append;
T_Snfolio['folio']:=SnAccountNo;
T_Snfolio['HandNo']:=lb_handno.Items[i];
T_Snfolio.Post;
end;
//在每个手牌加入门票
for i:=0 to lb_handno.Items.Count-1 do
begin
T_spinmp.Close;
T_spinmp.Open;
T_spinmp.AppendRecord([SnAccountNo,lb_handno.Items[i],'0',MenuNo,'门票',2,15,1,form1.sys_snusername,'否',9,form1.sys_snusername,now]);
end;
//门票加入结束
//向Sn_Account中插入一条数据
T_SnAccount.Open;
T_SnAccount.Append;
T_SnAccount['AccountNo']:=SnAccountNo;
T_SnAccount['PersonSum']:=Lb_handno.Items.Count;
T_SnAccount['BeginTime']:=now;
T_SnAccount.Post;
//刷新主界面并关闭本窗体
handno.Clear;
lb_handno.Clear;
form2.ResetMain;
close;
end;
end;
procedure TForm11.LB_handnoClick(Sender: TObject);
begin
if lb_handno.Items.Count<>0 then Button2.Enabled:=True;
end;
procedure TForm11.Button2Click(Sender: TObject);
begin
lb_handno.DeleteSelected;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -