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

📄 unit8.pas

📁 这是一个平时无事是编写的一个航空售票管理小系统,与大家分享, 有什么问题大家在这里留言,,大家一起讨论
💻 PAS
字号:
unit Unit8;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, ADODB, DB,StrUtils;

type
  TGouPiao = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Label1: TLabel;
    Panel3: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    DateTimePicker1: TDateTimePicker;
    ComboBox1: TComboBox;
    Label7: TLabel;
    Edit3: TEdit;
    Label8: TLabel;
    Edit4: TEdit;
    Label9: TLabel;
    Label10: TLabel;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    Label11: TLabel;
    ComboBox4: TComboBox;
    Label12: TLabel;
    Memo1: TMemo;
    Label13: TLabel;
    Edit5: TEdit;
    Label14: TLabel;
    Edit6: TEdit;
    Label15: TLabel;
    Label16: TLabel;
    Edit7: TEdit;
    Label17: TLabel;
    Edit8: TEdit;
    Label18: TLabel;
    Edit9: TEdit;
    Label19: TLabel;
    Edit10: TEdit;
    Label20: TLabel;
    Edit11: TEdit;
    Label21: TLabel;
    Edit12: TEdit;
    Label22: TLabel;
    Edit13: TEdit;
    Label24: TLabel;
    Edit15: TEdit;
    Label25: TLabel;
    Edit16: TEdit;
    Panel4: TPanel;
    Panel5: TPanel;
    Label26: TLabel;
    Panel6: TPanel;
    ADOTable1: TADOTable;
    ADOQuery1: TADOQuery;
    ADOCommand1: TADOCommand;
    ADOTable2: TADOTable;
    ADOQuery2: TADOQuery;
    ADOCommand2: TADOCommand;
    ADOQuery3: TADOQuery;
    ComboBox5: TComboBox;
    Label27: TLabel;
    ADOQuery4: TADOQuery;
    Label28: TLabel;
    Edit17: TEdit;
    ADOQuery5: TADOQuery;
    Button7: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure ComboBox1Exit(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure Edit4Change(Sender: TObject);
    procedure Edit4Exit(Sender: TObject);
    procedure Button7Click(Sender: TObject);
  private
    { Private declarations }
  public
  shangpinjiage,shangpinmingcheng:string;


sy,jianqu:Integer;
sheng,jian:string;
  shengyu:string;
  s1,s2,s3,s4:string;
    { Public declarations }
  end;

var
  GouPiao: TGouPiao;
  aaa:array[1..30] of integer;
i,j,n: integer;

implementation

uses Unit15;

{$R *.dfm}

procedure TGouPiao.Button2Click(Sender: TObject);


begin


if(trim(edit1.Text)='')then
begin
 showmessage('订座记录号不能为空!');
 exit;
end;
if(trim(edit3.Text)='')then
begin
 showmessage('总票额不能为空!');
 exit;
end;
if(trim(edit4.Text)='')then
begin
 showmessage('保险费不能为空!');
 exit;
end;
if(trim(combobox1.Text)='')then
begin
 showmessage('航班号不能为空!');
 exit;
end;
if(trim(combobox2.Text)='')then
begin
 showmessage('出票部门不能为空!');
 exit;
end;
if(trim(combobox3.Text)='')then
begin
 showmessage('送票员不能为空!');
 exit;
end;
if(trim(combobox4.Text)='')then
begin
 showmessage('出票员不能为空!');
 exit;
end;


adocommand1.CommandText:='insert into 机票信息([订座记录编号],[乘机日期],[航班号],[总票额],[保险费],[出票部门],[送票员],[出票员],[备注]) values('''+edit1.Text+''','+''''+TimeToStr(Datetimepicker1.Date)+''','+''''+combobox1.text+''','+''''+edit3.text+''','+''''+edit4.Text+''','+''''+combobox2.Text+''','+''''+combobox3.Text+''','+''''+combobox4.Text+''','+''''+memo1.Text+''''+')';
adocommand1.Execute;
shangpinmingcheng:=edit1.Text;
shangpinjiage:=edit3.Text;

adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('select 票的剩余张数 from 航线状态表  where 航班号='''+combobox1.Text+'''');
adoquery3.Open;
shengyu:=adoquery3.FieldByName('票的剩余张数').AsString;
label27.Caption:=shengyu;
sy:=strtoint(shengyu);


if (sy=0) then
  sHOWMESSAGE('不好意思,今天这个航班的票已经售完,请明天再来!')

else
begin

s3:=edit3.Text;
s4:=edit4.Text;



edit17.Text:=s1;
edit15.Text:=s3;
edit16.Text:=s4;

 button1.Caption:='新增';
 button1.Enabled:=true;
 button2.Enabled:=false;
sHOWMESSAGE('成功录入!请继续操作!');
end;
end;

procedure TGouPiao.Button1Click(Sender: TObject);
begin
edit1.Text:='';
combobox1.text:='';
//edit2.Text:='';
edit3.text:='';
edit4.Text:='';
combobox2.Text:='';
combobox3.Text:='';
combobox4.Text:='';
memo1.Text:='';
button1.Caption:='正在...';
button1.Enabled:=false;
button2.Enabled:=true;
end;

procedure TGouPiao.Button3Click(Sender: TObject);
begin
GouPiao.Close;
end;

procedure TGouPiao.FormCreate(Sender: TObject);
begin
BUTTON2.Enabled:=FALSE;
BUTTON5.Enabled:=FALSE;
jianqu:=0;
end;

procedure TGouPiao.Button6Click(Sender: TObject);
begin
GouPiao.Close;
end;

procedure TGouPiao.Button4Click(Sender: TObject);
var
bianhao,s:string;
bianhao1:integer;
begin
randomize;
bianhao1:=random(1000);
s:=inttostr(bianhao1);
bianhao:=formatdatetime('hh:mm:ss',Now());
AppendStr(s,bianhao);
Edit5.Text:=S;

edit17.Text:=s1;
edit15.Text:=s3;
edit16.Text:=s4;



edit6.Text:='';
edit7.text:='';
edit8.Text:='';
edit9.Text:='';
edit10.Text:='';
edit11.Text:='';
edit12.Text:='';
edit13.Text:='';
button4.Caption:='正在...';
button4.Enabled:=false;
button5.Enabled:=true;
edit5.Focused;

end;

procedure TGouPiao.Button5Click(Sender: TObject);

begin

if(trim(edit5.Text)='')then
begin
 showmessage('客户编号不能为空!');
 exit;
end;
if(trim(edit6.Text)='')then
begin
 showmessage('客户姓名不能为空!');
 exit;
end;
if(trim(edit7.Text)='')then
begin
 showmessage('单位名称不能为空!');
 exit;
end;
if(trim(edit8.Text)='')then
begin
 showmessage('单位地点不能为空!');
 exit;
end;
if(trim(edit9.Text)='')then
begin
 showmessage('身份证号码不能为空!');
 exit;
end;
if(trim(edit10.Text)='')then
begin
 showmessage('办公电话不能为空!');
 exit;
end;
if(trim(edit11.Text)='')then
begin
 showmessage('家庭电话不能为空!');
 exit;
end;
if(trim(edit12.Text)='')then
begin
 showmessage('手机号码不能为空!');
 exit;
end;
if(trim(edit13.Text)='')then
begin
 showmessage('送票地址不能为空!');
 exit;
end;

if(trim(edit15.Text)='')then
begin
 showmessage('机票额不能为空!');
 exit;
end;
if(trim(edit16.Text)='')then
begin
 showmessage('保险费不能为空!');
 exit;
end;
adocommand2.CommandText:='insert into 客户信息([客户编号],[姓名],[性别],[单位名称],[单位地点],[身份证号码],[办公电话],[家庭电话],[手机号码],[送票地址],[机票额],[保险],[订座记录编号]) values('''+edit5.Text+''','+''''+edit6.Text+''','+''''+combobox5.Text+''','+''''+edit7.Text+''','+''''+edit8.Text+''','+''''+edit9.Text+''','+''''+edit10.Text+''','+''''+edit11.Text+''','+''''+edit12.Text+''','+''''+edit13.Text+''','+''''+edit15.Text+''','+''''+edit16.Text+''','+''''+edit17.Text+''''+')';
adocommand2.Execute;


adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('select 票的剩余张数 from 航线状态表  where 航班号='''+combobox1.Text+'''');
adoquery3.Open;
sheng:=adoquery3.FieldByName('票的剩余张数').AsString;
jianqu:=strtoint(sheng);
jianqu:=jianqu-1;
sheng:=inttostr(jianqu);
label27.Caption:=sheng;
adoquery4.Close;
adoquery4.SQL.Clear;
adoquery4.SQL.Add('update 航线状态表  set 票的剩余张数='''+label27.Caption+'''  where 航班号='''+combobox1.Text+'''');
adoquery4.ExecSQL;


 button4.Enabled:=true;
 button4.Caption:='新增';
 button5.Enabled:=false;
sHOWMESSAGE('成功录入!请继续操作!');
end;

procedure TGouPiao.ComboBox1Exit(Sender: TObject);

begin
//edit1.Text:=combobox1.Text;
datetimepicker1.Focused;
end;
////**********************值得学习的一个地方,产生一个永远不相同的随机数
procedure TGouPiao.ComboBox1Change(Sender: TObject);
var

//s: integer;
bianhao,s:string;
bianhao1:integer;

piaojia,baoxian:string;
jiage1,jiage2,baoxian1:integer;

begin
{randomize;
//先用随机数初始化数组;
for i:=1 to 30 do
begin
aaa[i]:=random(100);
end;

//下面是关键的部分,消去相同的数;

// 前面的两个for语句是先用aaa[1]同aaa[2]到aaa[30]比较看有不有重复的数接着
再用aaa[2]与aaa[3]到aaa[30]比较看有无重复,一直到aaa[29]与aaa[30]比较完毕;
for i:=1 to 29 do
begin
for j:=i+1 to 30 do
begin
if aaa[i]=aaa[j] then
begin

//下面这一部分是,如果在上面的比较过程中发现数组中有重复数字,则将重复的数重新
用随机数赋值,并且还要与这个值的前面所有值比较看是否有重复
repeat
//注意!!这里不能直接写aaa[j]:=random(100),原因是虽然可能这时的aaa[i]与aaa[j]
中的aaa[j]被重新赋了值,但不能保证它与a[1]到a[i-1]之间的数无重复,若要实现
完全无重复,还要加如下的循环判断
n:=0; //设定的计数器,下面每发现一次重复就n+1;
aaa[j]:=random(100);
for s:=1 to i do
begin
if aaa[j]=aaa[s]
then n:=n+1;
end;
until n=0;//直到n=0即无重复才跳出repeat语句.
end;
end;
end;  }
 ////**************************************************************************
randomize;

bianhao1:=random(1000);
s:=inttostr(bianhao1);
bianhao:=formatdatetime('hh:mm:ss',Now());
//S := Edit2.Text;
AppendStr(s,bianhao);
Edit1.Text:=S;
s1:=s;


adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('select 航班票价 from 航线表  where 航班号='''+combobox1.Text+'''');
adoquery3.Open;
piaojia:=adoquery3.FieldByName('航班票价').AsString;
jiage1:=strtoint(piaojia);

adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('select 保险 from 航线表  where 航班号='''+combobox1.Text+'''');
adoquery3.Open;
baoxian:=adoquery3.FieldByName('保险').AsString;
edit4.Text:=baoxian;
baoxian1:=strtoint(baoxian);
jiage1:=jiage1+baoxian1;
piaojia:=inttostr(jiage1);
edit3.Text:=piaojia;





{ adoquery4.Close;
adoquery4.SQL.Clear;
adoquery4.SQL.Add('select max(订座记录编号) from 机票信息');
adoquery4.ExecSQL;
bianhao:=adoquery4.FieldByName('订座记录编号').AsString;

bianhao1:=strtoint(bianhao);
bianhao1:=bianhao1+1;
bianhao:=inttostr(bianhao1);
edit1.Text:=bianhao;
datetimepicker1.Focused; }
end;

procedure TGouPiao.Edit4Change(Sender: TObject);
begin

end;
//////在这里开始计算出总票额是多少>要通过表查询得到票的价格和保险分别是多少???????
procedure TGouPiao.Edit4Exit(Sender: TObject);
var
piaojia,baoxian:string;
jiage1,jiage2,baoxian1:integer;
begin
//********************************************************************//
adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('select 航班票价 from 航线表  where 航班号='''+combobox1.Text+'''');
adoquery3.Open;
piaojia:=adoquery3.FieldByName('航班票价').AsString;
jiage1:=strtoint(piaojia);
baoxian:=edit4.Text;
baoxian1:=strtoint(baoxian);
jiage1:=jiage1+baoxian1;
piaojia:=inttostr(jiage1);
edit3.Text:=piaojia;
end;

procedure TGouPiao.Button7Click(Sender: TObject);
begin
kehupiaoju.show;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -