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

📄 modelstudent.pas

📁 基于DELPHI的列车时刻查询系统设计与实现
💻 PAS
字号:
unit ModelStudent;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  se_controls, KsSkinSpeedButtons, KsSkinToolBars, KsSkinEdits,
  KsSkinLabels, Mask, ksskinstdcontrol, KsSkinComboBoxs, StdCtrls;

type
  TfrmModeStudent = class(TForm)
    SeSkinToolBar1: TSeSkinToolBar;
    btnSave: TSeSkinSpeedButton;
    btnClose: TSeSkinSpeedButton;
    SeSkinLabel1: TSeSkinLabel;
    SeSkinLabel2: TSeSkinLabel;
    SeSkinLabel3: TSeSkinLabel;
    SeSkinLabel4: TSeSkinLabel;
    SeSkinLabel5: TSeSkinLabel;
    SeSkinLabel9: TSeSkinLabel;
    SeSkinLabel10: TSeSkinLabel;
    SeSkinLabel11: TSeSkinLabel;
    edtName: TSeSkinEdit;
    edtSumTime: TSeSkinEdit;
    cbxDepID: TSeSkinComboBox;
    cbxStartSiteID: TSeSkinComboBox;
    cbxEndSiteID: TSeSkinComboBox;
    cbxStartSite: TComboBox;
    cbxDep: TComboBox;
    cbxEndSite: TComboBox;
    edtStartTime: TSeSkinMaskEdit;
    edtEndTime: TSeSkinMaskEdit;
    edtMilega: TSeSkinEdit;
    SeSkinLabel6: TSeSkinLabel;
    edtGeneralSeat: TSeSkinEdit;
    SeSkinLabel7: TSeSkinLabel;
    edtSoftSeat: TSeSkinEdit;
    SeSkinLabel8: TSeSkinLabel;
    edtGeneralBed: TSeSkinEdit;
    SeSkinLabel12: TSeSkinLabel;
    edtSoftBed: TSeSkinEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnCloseClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure cbxDepChange(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure cbxStartSiteChange(Sender: TObject);
    procedure cbxEndSiteChange(Sender: TObject);
    procedure edtMilegaKeyPress(Sender: TObject; var Key: Char);
    procedure edtSumTimeKeyPress(Sender: TObject; var Key: Char);
    procedure edtGeneralSeatKeyPress(Sender: TObject; var Key: Char);
    procedure edtSoftSeatKeyPress(Sender: TObject; var Key: Char);
    procedure edtGeneralBedKeyPress(Sender: TObject; var Key: Char);
    procedure edtSoftBedKeyPress(Sender: TObject; var Key: Char);
  private
    procedure ClearAll;
    procedure GetAllList;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmModeStudent: TfrmModeStudent;

implementation

{$R *.DFM}

uses DataModule,Main,Comman,TrainMode;

procedure TfrmModeStudent.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  frmModeStudent := nil;
end;

procedure TfrmModeStudent.btnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmModeStudent.ClearAll;
var
  strVal:integer;
begin
  edtName.Text := frmTrainMode.DBGrid.Cells[2,frmTrainMode.strCurSelectRow];
  strVal := cbxDep.Items.IndexOf(frmTrainMode.DBGrid.Cells[3,frmTrainMode.strCurSelectRow]);
  cbxDep.ItemIndex :=  strVal;
  strVal := cbxStartSite.Items.IndexOf(frmTrainMode.DBGrid.Cells[4,frmTrainMode.strCurSelectRow]);
  cbxStartSite.ItemIndex := strVal;
  strVal := cbxEndSite.Items.IndexOf(frmTrainMode.DBGrid.Cells[5,frmTrainMode.strCurSelectRow]);
  cbxEndSite.ItemIndex := strVal;
  edtStartTime.Text := frmTrainMode.DBGrid.Cells[6,frmTrainMode.strCurSelectRow];
  edtEndTime.Text := frmTrainMode.DBGrid.Cells[7,frmTrainMode.strCurSelectRow];
  edtMilega.Text := frmTrainMode.DBGrid.Cells[8,frmTrainMode.strCurSelectRow];
  edtSumTime.Text := frmTrainMode.DBGrid.Cells[9,frmTrainMode.strCurSelectRow];
  edtGeneralSeat.Text := frmTrainMode.DBGrid.Cells[10,frmTrainMode.strCurSelectRow];
  edtSoftSeat.Text := frmTrainMode.DBGrid.Cells[11,frmTrainMode.strCurSelectRow];
  edtGeneralBed.Text := frmTrainMode.DBGrid.Cells[12,frmTrainMode.strCurSelectRow];
  edtSoftBed.Text := frmTrainMode.DBGrid.Cells[13,frmTrainMode.strCurSelectRow];
end;


procedure TfrmModeStudent.FormCreate(Sender: TObject);
begin
  GetAllList;
  ClearAll;   
end;

procedure TfrmModeStudent.GetAllList;
begin
  with DataModule1.qrySelect do
  begin
    if Active then Close ;
    Sql.Text := 'SELECT TypeID,Name from TypeBase';
    Open;
    while not eof do
    begin
      cbxDep.Items.Add(FieldbyName('Name').AsString);
      cbxDepID.Items.Add(FieldbyName('TypeID').AsString);
      next;
    end;
    First;
    Close;
    sql.Text := 'SELECT ID,Name from SiteBase where Stop = False';
    Open;
    while not eof do
    begin
      cbxStartSite.Items.Add(FieldbyName('Name').AsString);
      cbxStartSiteID.Items.Add(FieldbyName('ID').AsString);
      cbxEndSite.Items.Add(FieldbyName('Name').AsString);
      cbxEndSiteID.Items.Add(FieldbyName('ID').AsString);
      next;
    end;
    First;
    Close;
  end;
end;


procedure TfrmModeStudent.btnSaveClick(Sender: TObject);
var
  strName,strSex,strBirth,strAddress,strPhone,strNum,strMemo,strTrainID:string;
  strDep,strClass,strPro,strEmail,strPost:string;
  strInsert,strDelete:string;
begin
  strInsert := '';
  strDelete := '';
  strName := edtName.Text ;
  strDep := cbxDepID.Text ;
  strDelete := 'DELETE FROM TrainBase WHERE TrainName = ''' + Trim(strName) +'''';
  strInsert := 'INSERT INTO TrainBase(TrainName,StartSiteID,EndSiteID,StartTime,EndTime,TypeID,Mileage,SumTime) Values(';
  strInsert := strInsert + '''' + edtName.Text + ''',';
  strInsert := strInsert + cbxStartSiteID.Text + ',';
  strInsert := strInsert + cbxEndSiteID.Text + ',';
  strInsert := strInsert + '''' + edtStartTime.Text + ''',';
  strInsert := strInsert + '''' + edtEndTime.Text + ''',';
  strInsert := strInsert + strDep + ',';
  strInsert := strInsert + edtMilega.Text + ',';
  strInsert := strInsert + edtSumTime.Text + ')';
  with DataModule1.qryExecsql do
  begin
    try
      Sql.Text := strDelete;
      Execsql;
      Sql.Text := strInsert;
      Execsql;
      Sql.Text := 'SELECT TrainID from TrainBase WHERE TrainName = ''' + edtName.Text + '''';
      Open;
      if FieldbyName('TrainID').AsString <> '' then
      begin
        strTrainID := FieldbyName('TrainID').AsString;
        close;
        sql.Text := 'INSERT INTO TrainPrice(TrainID,GeneralSeat,SoftSeat,GeneralBed,SoftBed) values(' + strTrainID + ',' + edtGeneralSeat.Text + ',' + edtSoftSeat.Text + ',' + edtGeneralBed.Text + ',' + edtSoftBed.Text + ')' ;
        //inputbox('','',sql.text);
        Execsql;
      end;
    except on E: Exception do
      begin
        Comman.MBox(e.message,'警告','warning');
        Exit;
      end;
    end;
    Comman.MBox('成功修改数据。','系统消息','ok');
    Close;
  end;
end;

procedure TfrmModeStudent.cbxDepChange(Sender: TObject);
begin
  cbxDepID.ItemIndex := cbxDep.ItemIndex ;
end;

procedure TfrmModeStudent.btnAddClick(Sender: TObject);
begin
  ClearAll;
end;

procedure TfrmModeStudent.cbxStartSiteChange(Sender: TObject);
begin
cbxStartSiteID.ItemIndex := cbxStartSite.ItemIndex ;
end;

procedure TfrmModeStudent.cbxEndSiteChange(Sender: TObject);
begin
cbxEndSiteID.ItemIndex := cbxEndSite.ItemIndex ;
end;

procedure TfrmModeStudent.edtMilegaKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (((Ord(Key) >= 48) and (Ord(Key) <= 57)) or (Ord(Key) = 8) or (Ord(Key) = 46)) then
    Key := #0;
end;

procedure TfrmModeStudent.edtSumTimeKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (((Ord(Key) >= 48) and (Ord(Key) <= 57)) or (Ord(Key) = 8) or (Ord(Key) = 46)) then
    Key := #0;
end;

procedure TfrmModeStudent.edtGeneralSeatKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (((Ord(Key) >= 48) and (Ord(Key) <= 57)) or (Ord(Key) = 8) or (Ord(Key) = 46)) then
    Key := #0;
end;

procedure TfrmModeStudent.edtSoftSeatKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (((Ord(Key) >= 48) and (Ord(Key) <= 57)) or (Ord(Key) = 8) or (Ord(Key) = 46)) then
    Key := #0;
end;

procedure TfrmModeStudent.edtGeneralBedKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (((Ord(Key) >= 48) and (Ord(Key) <= 57)) or (Ord(Key) = 8) or (Ord(Key) = 46)) then
    Key := #0;
end;

procedure TfrmModeStudent.edtSoftBedKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (((Ord(Key) >= 48) and (Ord(Key) <= 57)) or (Ord(Key) = 8) or (Ord(Key) = 46)) then
    Key := #0;
end;

end.

⌨️ 快捷键说明

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