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

📄 untchangsha.~pas

📁 一个简单的火车售票系统
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit untChangsha;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, jpeg, ComCtrls, Menus,main, DB,
  DBTables, Grids, DBGrids, DBCtrls, Spin, Mask;

type
  Tfrmchangsha = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Image1: TImage;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    Panel1: TPanel;
    Label1: TLabel;
    Button1: TButton;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Button2: TButton;
    BitBtn8: TBitBtn;
    GroupBox1: TGroupBox;
    ListBox1: TListBox;
    BitBtn9: TBitBtn;
    GroupBox2: TGroupBox;
    BitBtn11: TBitBtn;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    BitBtn12: TBitBtn;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    GroupBox5: TGroupBox;
    ListBox2: TListBox;
    Label19: TLabel;
    BitBtn13: TBitBtn;
    BitBtn14: TBitBtn;
    Memo4: TMemo;
    GroupBox6: TGroupBox;
    Button3: TButton;
    Label20: TLabel;
    Edit1: TEdit;
    GroupBox7: TGroupBox;
    GroupBox9: TGroupBox;
    BitBtn15: TBitBtn;
    PopupMenu2: TPopupMenu;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    ListBox3: TListBox;
    ListBox4: TListBox;
    ListBox5: TListBox;
    N13: TMenuItem;
    qstation: TQuery;
    qtrain: TQuery;
    qticket: TQuery;
    BitBtn16: TBitBtn;
    BitBtn10: TBitBtn;
    BitBtn17: TBitBtn;
    BitBtn18: TBitBtn;
    BitBtn19: TBitBtn;
    BitBtn20: TBitBtn;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    DBNavigator1: TDBNavigator;
    Table1: TTable;
    Label21: TLabel;
    MaskEdit1: TMaskEdit;
    Label22: TLabel;
    SpinEdit1: TSpinEdit;
    Button4: TButton;
    ComboBox1: TComboBox;
    Label23: TLabel;
    procedure BitBtn12Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    //procedure Button1Click(Sender: TObject);
    //procedure Button2Click(Sender: TObject);
    procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    //procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn7MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn6MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn5MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn4MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn3MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure N1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn16Click(Sender: TObject);
    procedure BitBtn17Click(Sender: TObject);
    procedure Label2DblClick(Sender: TObject);
    procedure Label4DblClick(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure BitBtn18Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure BitBtn19Click(Sender: TObject);
    procedure BitBtn15Click(Sender: TObject);
    procedure BitBtn20Click(Sender: TObject);
    procedure BitBtn13Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure qtrainBeforeDelete(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmchangsha: Tfrmchangsha;
  //variants for interface design
  stationName:string;
  //startName:string;
  //desName:string;
  startpoint:string;
  despoint:string;
  //variants for inner class
  stationclass:Cstation;
  ticketclass:Cticket;
  trainclass:Ctrain;
  tickets:ticketRec;
  ackNo:word;
implementation

{$R *.dfm}
uses
    untchengdu,untchongqing,untbeijing,untwuhan,untzhuzhou,untguangzhou;

procedure Tfrmchangsha.BitBtn12Click(Sender: TObject);
begin
    //if(messageDlg('确定要退出!', mtConfirmation,[mbOKCancel], 0)=mrOK)then
    BitBtn16Click(nil);
end;

procedure Tfrmchangsha.N9Click(Sender: TObject);
begin
    if((listBox3.itemIndex>=0) and (Label4.Caption<>listbox3.Items[listBox3.itemIndex]))then
        begin
            Label2.Caption:=listbox3.Items[listBox3.itemIndex];
            startpoint:=Label2.Caption;
        end
end;

procedure Tfrmchangsha.N10Click(Sender: TObject);
begin
    if((listBox3.itemIndex>=0) and (Label2.Caption<>listbox3.Items[listBox3.itemIndex]))then
        begin
            Label4.Caption:=listbox3.Items[listBox3.itemIndex];
            despoint:=Label4.Caption;
        end;
end;

procedure Tfrmchangsha.N12Click(Sender: TObject);
begin
    listbox3.Items.Delete(listbox3.ItemIndex)
end;



procedure Tfrmchangsha.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if(button=mbRight)then
        begin
    stationName:=(Sender as TBitbtn).Caption;
    popupMenu1.Popup((Sender as tbitbtn).left+X,(Sender as tbitbtn).top+Y);
        end;
end;

procedure Tfrmchangsha.BitBtn7MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if(button=mbRight)then
        begin
    stationName:=(Sender as TBitbtn).Caption;
    popupMenu1.Popup((Sender as tbitbtn).left+X,(Sender as tbitbtn).top+Y);
        end;
end;

procedure Tfrmchangsha.BitBtn6MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if(button=mbRight)then
        begin
    stationName:=(Sender as TBitbtn).Caption;
    popupMenu1.Popup((Sender as tbitbtn).left+X,(Sender as tbitbtn).top+Y);
        end;
end;

procedure Tfrmchangsha.BitBtn5MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if(button=mbRight)then
        begin
    stationName:=(Sender as TBitbtn).Caption;
    popupMenu1.Popup((Sender as tbitbtn).left+X,(Sender as tbitbtn).top+Y);
        end;
end;

procedure Tfrmchangsha.BitBtn4MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if(button=mbRight)then
        begin
    stationName:=(Sender as TBitbtn).Caption;
    popupMenu1.Popup((Sender as tbitbtn).left+X,(Sender as tbitbtn).top+Y);
        end;
end;

procedure Tfrmchangsha.BitBtn3MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if(button=mbRight)then
        begin
    stationName:=(Sender as TBitbtn).Caption;
    popupMenu1.Popup((Sender as tbitbtn).left+X,(Sender as tbitbtn).top+Y);
        end;
end;

procedure Tfrmchangsha.BitBtn2MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if(button=mbRight)then
        begin
    stationName:=(Sender as TBitbtn).Caption;
    popupMenu1.Popup((Sender as tbitbtn).left+X,(Sender as tbitbtn).top+Y);
        end;
end;

procedure Tfrmchangsha.N1Click(Sender: TObject);
var
    i:integer;
    Flag:boolean;
begin
    //first we judge whether it has been in listBox3
    Flag:=True;
    //showmessage(inttostr(listBox3.Items.Count));
    if(listBox3.Items.Count>=1)then
        for i:=1 to listBox3.Items.Count do
            begin
              if(listBox3.Items[i-1]=StationName)then
                Flag:=false;
            end;
    if(flag=true)then
        listbox3.Items.Add(StationName);
end;


procedure Tfrmchangsha.Button1Click(Sender: TObject);
begin
    N9Click(nil);
end;

procedure Tfrmchangsha.Button2Click(Sender: TObject);
begin
    N10Click(nil);
end;

procedure Tfrmchangsha.N3Click(Sender: TObject);
begin
    if(despoint<>stationName)then
        begin
    //startName:=stationName;
    startpoint:=stationName;
    Label2.Caption:=startpoint;
    //Label2.Enabled:=false;
    popupMenu1.Items.Items[3].Enabled:=false;
    popupMenu1.Items.Items[4].Enabled:=true;
        end;
end;

procedure Tfrmchangsha.N5Click(Sender: TObject);
begin
    if(startpoint<>stationName)then
        begin
            //desName:=stationName;
            despoint:=stationName;
            label4.Caption:=despoint;
            //label4.Enabled:=false;
            popupMenu1.Items.Items[5].Enabled:=true;
            popupMenu1.Items.Items[4].Enabled:=false;
        end;
end;

procedure Tfrmchangsha.N6Click(Sender: TObject);
var
    trains:Carrayword;
    i:integer;
begin
    popupMenu1.Items.Items[3].Enabled:=true;
    popupMenu1.Items.Items[4].Enabled:=false;
    popupMenu1.Items.Items[5].Enabled:=false;
    Label2.Enabled:=true;
    label4.Enabled:=true;
    listbox1.Clear;
    listbox4.Clear;
    if((startpoint<>'')and(despoint<>''))then
        begin
            trains:=Carrayword.Create();
            trainclass.getArrive(stationclass.getNo(startpoint),stationclass.getNo(despoint),trains);
            //showmessage(inttostr(trains.Num));
            if (trains.Num>0)then
                begin
                    for i:=1 to trains.Num do
                        begin
                            listbox1.Items.Add(inttostr(trains.warray[i]));
                        end;
                end
             else
                showmessage('没有查到相关信息!');
            trains.Free;
        end
    else
        begin
            showmessage('请选定起点站和终点站!');
        end;
end;

⌨️ 快捷键说明

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