📄 addtrain.pas
字号:
unit AddTrain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
se_controls, KsSkinSpeedButtons, KsSkinToolBars, KsSkinEdits,
KsSkinLabels, Mask, ksskinstdcontrol, KsSkinComboBoxs, StdCtrls, ComCtrls;
type
TfrmAddTrain = class(TForm)
SeSkinToolBar1: TSeSkinToolBar;
btnAdd: TSeSkinSpeedButton;
btnSave: TSeSkinSpeedButton;
btnClose: TSeSkinSpeedButton;
SeSkinLabel1: TSeSkinLabel;
edtName: TSeSkinEdit;
SeSkinLabel2: TSeSkinLabel;
SeSkinLabel3: TSeSkinLabel;
SeSkinLabel4: TSeSkinLabel;
SeSkinLabel5: TSeSkinLabel;
SeSkinLabel9: TSeSkinLabel;
SeSkinLabel10: TSeSkinLabel;
SeSkinLabel11: TSeSkinLabel;
edtSumTime: TSeSkinEdit;
cbxDepID: TSeSkinComboBox;
cbxStartSiteID: TSeSkinComboBox;
cbxEndSiteID: TSeSkinComboBox;
btnRepain: TSeSkinSpeedButton;
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 btnRepainClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure cbxDepChange(Sender: TObject);
procedure cbxEndSiteChange(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure cbxStartSiteChange(Sender: TObject);
procedure edtMilegaKeyPress(Sender: TObject; var Key: Char);
procedure edtSumTimeKeyPress(Sender: TObject; var Key: Char);
private
procedure ClearAll;
procedure GetAllList;
{ Private declarations }
public
{ Public declarations }
end;
var
frmAddTrain: TfrmAddTrain;
implementation
{$R *.DFM}
uses DataModule,Main,Comman;
procedure TfrmAddTrain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
frmAddTrain := nil;
end;
procedure TfrmAddTrain.btnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmAddTrain.ClearAll;
begin
edtName.Text := '';
cbxEndSite.ItemIndex := -1;
cbxStartSite.ItemIndex := -1;
cbxDep.ItemIndex := -1;
cbxEndSiteID.ItemIndex := -1;
cbxStartSiteID.ItemIndex := -1;
cbxDepID.ItemIndex := -1;
edtStartTime.Text := '';
edtEndTime.Text := '';
edtMilega.Text := '';
edtSumTime.Text := '';
edtGeneralSeat.Text := '';
edtSoftSeat.Text := '';
edtGeneralBed.Text := '';
edtSoftBed.Text := '';
end;
procedure TfrmAddTrain.FormCreate(Sender: TObject);
begin
ClearAll;
GetAllList;
end;
procedure TfrmAddTrain.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 TfrmAddTrain.btnRepainClick(Sender: TObject);
begin
ClearAll;
end;
procedure TfrmAddTrain.btnSaveClick(Sender: TObject);
var
strName,strSex,strBirth,strAddress,strPhone,strNum:string;
strDep,strClass,strPro,strEmail,strPost,strTrainID:string;
strInsert,strSelect:string;
begin
strInsert := '';
strSelect := '';
strName := edtName.Text ;
if Trim(cbxDepID.Text) = '' then
begin
Comman.MBox('请选择列车类型。','警告','warning');
Exit;
end;
strDep := cbxDepID.Text ;
if Trim(cbxStartSiteID.Text) = '' then
begin
Comman.MBox('请选择始发站。','警告','warning');
Exit;
end;
if Trim(cbxEndSiteID.Text) = '' then
begin
Comman.MBox('请选择终点站。','警告','warning');
Exit;
end;
if Trim(edtMilega.Text) = '' then
begin
Comman.MBox('请选择里程。','警告','warning');
Exit;
end;
if Trim(edtSumTime.Text) = '' then
begin
Comman.MBox('请选择共用时间。','警告','warning');
Exit;
end;
{strSelect := 'SELECT ID FROM Student WHERE Num = ''' + Trim(strNum) + '''';
with DataModule1.qrySelect do
begin
if Active then
begin
First;
Close;
end;
Sql.Text := strSelect;
open;
if not FieldbyName('ID').isNull then
begin
Comman.MBox('数据库中有重复学号的学生。','警告','warning');
edtNumber.SetFocus ;
First;
Close;
Exit;
end;
end;
if DataModule1.qrySelect.Active then
begin
DataModule1.qrySelect.First;
DataModule1.qrySelect.Close;
end; }
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
//if Active then Close;
try
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 TfrmAddTrain.cbxDepChange(Sender: TObject);
begin
cbxDepID.ItemIndex := cbxDep.ItemIndex ;
end;
procedure TfrmAddTrain.cbxEndSiteChange(Sender: TObject);
begin
cbxEndSiteID.ItemIndex := cbxEndSite.ItemIndex ;
end;
procedure TfrmAddTrain.btnAddClick(Sender: TObject);
begin
ClearAll;
end;
procedure TfrmAddTrain.cbxStartSiteChange(Sender: TObject);
begin
cbxStartSiteID.ItemIndex := cbxStartSite.ItemIndex ;
end;
procedure TfrmAddTrain.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 TfrmAddTrain.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;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -