📄 cheliang.pas
字号:
unit cheliang;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables, Grids, DBGrids, ComCtrls, Spin, ExtCtrls, DBCtrls;
type
TCheLiangForm = class(TForm)
ButtonClose: TButton;
DBGrid1: TDBGrid;
TableChe: TTable;
DataSourceChe: TDataSource;
TableCheCardnumber: TStringField;
TableCheCartype: TStringField;
TableCheEnginenumber: TStringField;
TableCheCarnumber: TStringField;
TableCheCarcolor: TStringField;
DBNavigator1: TDBNavigator;
ComboBoxArea: TComboBox;
CheckBoxArea: TCheckBox;
procedure ButtonCloseClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TableCheCarcolorChange(Sender: TField);
procedure TableCheCartypeChange(Sender: TField);
procedure TableCheBeforePost(DataSet: TDataSet);
procedure ComboBoxAreaExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
CheLiangForm: TCheLiangForm;
implementation
{$R *.DFM}
procedure TCheLiangForm.ButtonCloseClick(Sender: TObject);
begin
Close;
end;
procedure TCheLiangForm.FormActivate(Sender: TObject);
begin
Try
TableChe.Active:=True;
DbGrid1.Columns[1].PickList.LoadFromFile('Type.Dat');
DbGrid1.Columns[4].PickList.LoadFromFile('Color.Dat');
ComboBoxArea.Items.LoadFromFile('Area.Dat');
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TCheLiangForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then { 判断是按执行键}
if not (ActiveControl is TDbgrid) Then
Begin { 不是在TDbgrid控件内}
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end else
if (ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}
begin
With TDbgrid(ActiveControl) Do
if Selectedindex<(FieldCount-1) then
Selectedindex:=Selectedindex+1{ 移动到下一字段}
else Selectedindex:=0;
end;
end;
procedure TCheLiangForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Try
DbGrid1.Columns[1].PickList.SaveToFile('Type.Dat');
DbGrid1.Columns[4].PickList.SaveToFile('Color.Dat');
ComboBoxArea.Items.SaveToFile('Area.Dat');
If (TableChe.State=DsInsert) or (TableChe.State=DsEdit) Then
Begin
If MessageDlg('所做修改尚未保存,保存修改吗?', mtConfirmation, [mbYes, mbNo],0)=mrYes Then
TableChe.Post
Else
TableChe.Cancel;
End;
TableChe.Active:=False;
Except
On E:Exception Do
Begin
ShowMessage('数据库连接失败,请检验网络连接是否正常');
Exit;
End;
End;
end;
procedure TCheLiangForm.TableCheCarcolorChange(Sender: TField);
begin
Try
If copy(Tableche.FieldByName('carcolor').AsString,1,1)<>' ' Then
Begin
if StrPos(Pchar(DbGrid1.Columns[4].PickList.Text),Pchar(' '+Tableche.FieldByName('carcolor').AsString+' '))=Nil Then
DbGrid1.Columns[4].PickList.Add(' '+Tableche.FieldByName('carcolor').AsString+' ');
End;
Except
;
End;
end;
procedure TCheLiangForm.TableCheCartypeChange(Sender: TField);
begin
Try
if copy(Tableche.FieldByName('cartype').AsString,1,1)<>' ' Then
Begin
if StrPos(Pchar(DbGrid1.Columns[1].PickList.Text),Pchar(' '+Tableche.FieldByName('cartype').AsString+' '))=Nil Then
DbGrid1.Columns[1].PickList.Add(' '+Tableche.FieldByName('cartype').AsString+' ');
End;
Except
;
End;
end;
procedure TCheLiangForm.TableCheBeforePost(DataSet: TDataSet);
begin
Tableche.FieldByName('cartype').AsString:=Trim(Tableche.FieldByName('cartype').AsString);
Tableche.FieldByName('carcolor').AsString:=Trim(Tableche.FieldByName('carcolor').AsString);
If (Copy(Tableche.FieldByName('cardnumber').AsString,1,2)<>Trim(ComBoBoxArea.Text)) And (CheckBoxArea.Checked=True) Then
Tableche.FieldByName('cardnumber').AsString:=Trim(ComBoBoxArea.Text)+Trim(Tableche.FieldByName('cardnumber').AsString);
end;
procedure TCheLiangForm.ComboBoxAreaExit(Sender: TObject);
begin
if ComboBoxArea.Items.IndexOf(ComboBoxArea.Text)=-1 Then
ComboBoxArea.Items.Add(ComboBoxArea.Text);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -