📄 unit8.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 + -