📄 traintype.pas
字号:
unit TrainType;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
se_controls, KsSkinSpeedButtons, KsSkinToolBars, KsSkinComboBoxs, Grids,
DBGrids, KsSkinDBGrids, ksskinsplitter, KsSkinEdits, KsSkinLabels,
KsSkinGroupBoxs, KsSkinPanels, KsSkinGrids, ExtCtrls, StdCtrls;
type
TfrmTrainType = class(TForm)
SeSkinToolBar1: TSeSkinToolBar;
btnAdd: TSeSkinSpeedButton;
btnMode: TSeSkinSpeedButton;
btnSave: TSeSkinSpeedButton;
btnExit: TSeSkinSpeedButton;
btnDelete: TSeSkinSpeedButton;
DBGrid: TStringGrid;
Panel1: TPanel;
SeSkinLabel2: TSeSkinLabel;
Label2: TLabel;
edtTrainType: TSeSkinEdit;
procedure btnExitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure DBGridMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure btnModeClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
private
strCurRow,strCurCol: integer;
strCurID: string;
bolMode,bolAdd: boolean;
procedure Select;
{ Private declarations }
public
{ Public declarations }
end;
var
frmTrainType: TfrmTrainType;
implementation
{$R *.DFM}
uses Main,DataModule,Comman;
procedure TfrmTrainType.btnExitClick(Sender: TObject);
begin
if DataModule1.qrySelect.Active then
DataModule1.qrySelect.Close ;
Close;
end;
procedure TfrmTrainType.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
frmTrainType := nil;
end;
procedure TfrmTrainType.FormShow(Sender: TObject);
begin
Select;
end;
procedure TfrmTrainType.btnAddClick(Sender: TObject);
begin
bolMode := False;
bolAdd := True;
btnMode.Enabled := False;
btnSave.Enabled := True;
btnDelete.Enabled := False;
btnAdd.Enabled := False;
Panel1.Enabled := True;
edtTrainType.Enabled := True;
end;
procedure TfrmTrainType.Select;
var
i: integer;
begin
I := 1;
with DataModule1.qrySelect do
begin
if Active then Close;
//Sql.Text := 'Select a.ID,a.Name,b.Name DepName from Class a,Department b where a.DepID = b.ID';
Sql.Clear;
Sql.Add('SELECT TypeID, Name FROM TypeBase');
Open;
DBGrid.RowCount := RecordCount + 1 ;
DBGrid.ColCount := 3;
//DBGrid.EditorMode := true;
DBGrid.ColWidths[0] := 16;
DBGrid.ColWidths[1] := 80;
DBGrid.ColWidths[2] := 180;
DBGrid.Cells[1,0] := ' 编号';
DBGrid.Cells[2,0] := ' 列车类型';
first;
while not eof do
begin
DBGrid.Cells[1,i] := FieldByName('TypeID').AsString;
DBGrid.Cells[2,i] := FieldByName('Name').AsString;
i:= i+1;
next;
end;
first;
Close;
end;
end;
procedure TfrmTrainType.DBGridMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
Column, Row: Longint;
begin
DBGrid.MouseToCell(X, Y, Column, Row);
strCurRow := Row;
strCurCol := Column;
if strCurRow <> -1 then
begin
edtTrainType.Text := DBGrid.Cells[2,strCurRow];
strCurID := DBGrid.Cells[1,strCurRow];
end;
//showmessage('the selected rows is '+ inttostr(strCurrow));
end;
procedure TfrmTrainType.btnModeClick(Sender: TObject);
begin
bolMode := True;
bolAdd := False;
btnMode.Enabled := False;
btnSave.Enabled := True;
btnDelete.Enabled := False;
btnAdd.Enabled := False;
edtTrainType.Enabled := True;
end;
procedure TfrmTrainType.btnSaveClick(Sender: TObject);
begin
if bolAdd then
begin
with DataModule1.qryExecsql do
begin
if Active then Close;
Sql.Text := 'INSERT INTO TypeBase(Name) Values(''' + edtTrainType.Text +''')';
Execsql;
Select;
end;
end;
if bolMode then
begin
with DataModule1.qryExecsql do
begin
if Active then Close;
Sql.Text := 'UPDATE TypeBase set Name = ''' + edtTrainType.Text + ''' WHERE TypeID = ' + strCurID;
Execsql;
Select;
end;
end;
Comman.MBox('成功保存列车类型信息!','消息','ok');
bolMode := False;
bolAdd := False;
btnMode.Enabled := True;
btnSave.Enabled := False;
btnDelete.Enabled := True;
btnAdd.Enabled := True;
edtTrainType.Enabled := False;
Select;
end;
procedure TfrmTrainType.FormCreate(Sender: TObject);
begin
strCurRow := -1;
strCurID := '-1';
bolMode := False;
bolAdd := False;
end;
procedure TfrmTrainType.btnDeleteClick(Sender: TObject);
begin
if Application.MessageBox('真的要删除吗?','确认',mb_yesno+mb_iconquestion) = idyes then
begin
with DataModule1.qryExecsql do
begin
if Active then Close;
Sql.Text := 'DELETE FROM Class WHERE TypeID = ' + strCurID;
Execsql;
Select;
Comman.MBox('成功删除列车类型!','消息','ok');
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -