📄 train_main.pas
字号:
if Adoquery1.RecordCount>0 then
begin
if edit1.Text='' then
begin
train_no.Items.Clear;
while not Adoquery1.Eof do
begin
train_no.Items.Add(Adoquery1.FieldValues['train_node.train_no']);
Adoquery1.Next;
end;
Adoquery1.First;
zhanm.Text:=edit2.Text;
train_no.ItemIndex:=0;
Distance:=Adoquery1.RecNo-1;
end;
if edit2.Text='' then
begin
zhanm.Items.Clear;
while not Adoquery1.Eof do
begin
zhanm.Items.Add(Adoquery1.FieldValues['zhanm']);
Adoquery1.Next;
end;
Adoquery1.First;
train_no.Text:=edit1.Text;
zhanm.ItemIndex:=0;
Distance:=Adoquery1.RecNo-1;
end;
amount.DataField:='amount'+riqi+leixing;
price.DataField:='price'+leixing;
end
else
begin
GroupBox1.Hide;
showmessage('对不起!目前此列车还未开通!请选乘就近的火车站');
Edit1.Text:='';
Edit2.Text:='';
end;
GroupBox2.Hide;
end;
procedure Tmain.train_noChange(Sender: TObject);
begin
Adoquery1.MoveBy(train_no.ItemIndex-Distance);
Distance:=train_no.ItemIndex;
end;
procedure Tmain.zhanmChange(Sender: TObject);
begin
Adoquery1.MoveBy(zhanm.ItemIndex-Distance);
Distance:=zhanm.ItemIndex;
end;
procedure Tmain.r_riqiChange(Sender: TObject);
begin
riqi:=inttostr(r_riqi.ItemIndex);
amount.DataField:='amount'+riqi+leixing;
price.DataField:='price'+leixing;
end;
procedure Tmain.r_leixingChange(Sender: TObject);
begin
leixing:=inttostr(r_leixing.ItemIndex+7);
amount.DataField:='amount'+riqi+leixing;
price.DataField:='price'+leixing;
end;
procedure Tmain.buyClick(Sender: TObject);
var Qbuy:TADOQuery;
amount,number:string;
sqlstr:string;
num_a,num_num,zuo:integer;
begin
amount:='amount'+riqi+leixing;
number:='number'+riqi+leixing;
num_a:=ADOQuery1.FieldValues[amount];
num_num:=ADOQuery1.FieldValues[number];
if num_a>0 then
begin
Qbuy:=TADOQuery.Create(nil);
with Qbuy do
begin
Connection:=ADOConnection1;
if leixing='7' then
begin
zuo:=120; //一节车厢中硬座的个数
SQL.Clear;
sqlstr:='update train_node set '+amount+'='+inttostr(num_a-1)+' where train_no="'+train_no.Text+'" and zhanm="'+zhanm.Text+'"';
SQL.Add(sqlstr);
ExecSQL;
SQL.Clear;
sqlstr:='update checi set '+number+'='+inttostr(num_num+1)+' where train_no="'+train_no.Text+'"';
SQL.Add(sqlstr);
ExecSQL;
end
else
begin
zuo:=60; //一节车厢中卧铺,软卧的个数
sqlstr:='update checi set '+amount+'='+inttostr(num_a-1)+','+number+'='+inttostr(num_num+1)+' where train_no="'+train_no.Text+'"';
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
end;
Close;
end;
//打印车票 ,可以用报表更简单,但我没有装!
with form2 do
begin
show;
zhanm.Caption:=ADOQuery1.FieldValues['zhanm'];
no.Caption:=ADOQuery1.FieldValues['train_node.train_no'];
riqi.Caption:=r_riqi.Text;
etime.Caption:=ADOQuery1.FieldValues['emit_time'];
xiang.Caption:=inttostr(num_num div zuo);
hao.Caption:=inttostr(num_num mod zuo);
jiage.Caption:=price.Text;
leixing.Caption:=r_leixing.Text;
end;
ADOQuery1.Close;
ADOQuery1.Open;
ADOQuery1.MoveBy(Distance);
end
else
begin
//GroupBox1.Hide;
Qbuy:=TADOQuery.Create(nil);
with Qbuy do
begin
Connection:=ADOConnection1;
DataSource3.DataSet:=Qbuy;
SQL.Clear;
SQL.Add('select * from tui where 目的站="'+zhanm.Text+'"');
Open;
end;
if Qbuy.RecordCount<=0 then
begin
GroupBox2.Hide;
showmessage('对不起!这趟车的票已经售完.');
end
else
GroupBox2.Show;
end;
end;
procedure Tmain.N7Click(Sender: TObject);
begin
if log then
main.BitBtn2.Click
else
showmessage('请先登陆!谢谢!');
end;
procedure Tmain.N8Click(Sender: TObject);
begin
if log then
main.BitBtn2.Click
else
showmessage('请先登陆!谢谢!');
end;
procedure Tmain.Button5Click(Sender: TObject);
begin
GroupBOx1.Hide;
GroupBOx2.Hide;
end;
procedure Tmain.N6Click(Sender: TObject);
begin
close;
end;
procedure Tmain.BitBtn4Click(Sender: TObject);
begin
ADOQuery2.Open;
man.Hide;
tuipiao.Show;
combobox3.Clear;
combobox3.Items.Add(datetostr(date()));
combobox3.Items.Add(datetostr(date()+1));
combobox3.Items.Add(datetostr(date()+2));
combobox3.ItemIndex:=0;
end;
procedure Tmain.Button6Click(Sender: TObject);
var Qtui:TADOQuery;
begin
if (edit3.Text<>'')and (edit4.Text<>'')and(edit5.Text<>'')and(edit6.Text<>'')and(edit7.Text<>'') then
begin
Qtui:=TADOQuery.Create(nil);
with Qtui do
begin
Connection:=ADOConnection1;
SQL.Clear;
SQL.Add('select * from tui');
Open;
Append;
FieldByName('车次').AsString:=edit3.Text;
FieldByName('目的站').AsString:=edit4.Text;
FieldByName('发车时间').AsString:=edit7.Text;
FieldByName('日期').AsString:=combobox3.Text;
FieldByName('类型').AsString:=combobox4.Text;
FieldValues['车厢号']:=strtoint(edit5.Text);
FieldValues['座位号']:=strtoint(edit6.Text);
Post;
Close;
end;
edit3.Clear;edit4.Clear;edit5.Clear;edit6.Clear;edit7.Clear;
showmessage('你的操作已经成功!');
end
else
showmessage('请认真添写!');
end;
procedure Tmain.Button7Click(Sender: TObject);
begin
edit3.Clear;edit4.Clear;edit5.Clear;edit6.Clear;edit7.Clear;
end;
procedure Tmain.N9Click(Sender: TObject);
begin
if log then
main.BitBtn4.Click
else
showmessage('请先登陆!谢谢!');
end;
procedure Tmain.BitBtn9Click(Sender: TObject);
begin
man.Show;
label30.Caption:='本系统现有'+inttostr(ADOQuery2.RecordCount)+'个操作员!';
end;
procedure Tmain.Button4Click(Sender: TObject);
begin
//打印车票 ,可以用报表更简单,但我没有装!
with form2 do
begin
show;
with DataSource3.DataSet do
begin
zhanm.Caption:=FieldValues['目的站'];
no.Caption:=FieldValues['车次'];
riqi.Caption:=FieldValues['日期'];
etime.Caption:=FieldValues['发车时间'];
xiang.Caption:=FieldValues['车厢号'];
hao.Caption:=FieldValues['座位号'];
jiage.Caption:=floattostr(FieldValues['价格']);
leixing.Caption:=FieldValues['类型'];
Delete;
end;
end;
end;
procedure Tmain.BitBtn7Click(Sender: TObject);
var Qgai:TADOQuery;
riqi,leixing:integer;
amount1,amount2:string;
begin
man.Hide;
select.Hide;
tuipiao.Hide;
{ s := MessageDlg('yes no',
mtInformation,[mbYes, mbNo], 0);
case s of
mrYes: showmessage('yes');
mrNo: showmessage('no');
end; }
if MessageDlg('请确定今天所有的车次已经发出后在整理!',
mtInformation,[mbYes, mbNo], 0)=mryes then
begin
Qgai:=TADOQuery.Create(nil);
Qgai.Connection:=ADOConnection1;
with Qgai do
begin
for riqi :=0 to 2 do
begin
for leixing := 7 to 9 do
begin
amount1:='amount'+inttostr(riqi)+inttostr(leixing);
amount2:='amount'+inttostr(riqi+1)+inttostr(leixing);
qgai.SQL.Clear;
qgai.SQL.Add('update checi,train_node set '+amount1+'='+amount2);
qgai.ExecSQL;
end;
end;
Close;
showmessage('已经将车票整理完毕!');
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -