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

📄 sn_new.~pas

📁 结于初学者来说这对数据库是一个很好的例子
💻 ~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 + -