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

📄 train_main.pas

📁 火车票管理系统火车票管理系统火车票管理系统火车票管理系统火车票管理系统火车票管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -