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

📄 cheliang.pas

📁 本系统为演示Delphi的功能而开发设计
💻 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 + -