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

📄 unit5.~pas

📁 这是用Delphi编写的车辆管理系统。主要功能有档案管理
💻 ~PAS
字号:
unit Unit5;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls;

type
  TCardriver = class(TForm)
    Label1: TLabel;
    Panel8: TPanel;
    Panel7: TPanel;
    Panel6: TPanel;
    Panel5: TPanel;
    Panel4: TPanel;
    Panel3: TPanel;
    Panel2: TPanel;
    Panel1: TPanel;
    Panel9: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Edit1: TEdit;
    DateTimePicker1: TDateTimePicker;
    Edit3: TEdit;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    Edit4: TEdit;
    ComboBox1: TComboBox;
    DateTimePicker4: TDateTimePicker;
    Edit5: TEdit;
    memo1: TMemo;
    Memo2: TMemo;
    ComboBox2: TComboBox;
    Panel10: TPanel;
    procedure FormShow(Sender: TObject);
    procedure editshow(I:integer);
    procedure chkedit;
    procedure Panel1Click(Sender: TObject);
    procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel2Click(Sender: TObject);
    procedure Panel3Click(Sender: TObject);
    procedure Panel4Click(Sender: TObject);
    procedure Panel8Click(Sender: TObject);
    procedure Panel7Click(Sender: TObject);
    procedure Panel6Click(Sender: TObject);
    procedure Panel5Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker2KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker3KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker4KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    procedure Panel10Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Cardriver: TCardriver;
  drivername:string;
   insertorupdate,editreadonly:boolean;
implementation

uses Unit2;

{$R *.dfm}

procedure TCardriver.FormShow(Sender: TObject);
begin
combobox1.Clear;
insertorupdate:=true;
editreadonly:=true;
with datamodule2.carclassq do
begin
close;
sql.Clear;
sql.Add('select * from carclass.dbf');
open;
if recordcount > 0 then
    while not eof do
     begin
     combobox1.Items.Add(fieldbyname('carclass').AsString);
     next;
     end;


end;

with datamodule2.carclassq do
     begin
     close;
     sql.Clear;
     sql.Add('select * from cardriver.dbf');
     open;
     drivername:=fieldbyname('name').AsString;
     edit1.Text:=fieldbyname('name').AsString;
     combobox2.Text:=fieldbyname('xingbie').AsString;
     edit3.Text:=fieldbyname('drivernum').AsString;
     edit4.Text:=inttostr(fieldbyname('jialing').AsInteger);
     edit5.Text:=fieldbyname('phone').AsString;
     datetimepicker1.DateTime:=fieldbyname('borndt').AsDateTime;
     datetimepicker2.DateTime:=fieldbyname('lingzhengd').AsDateTime;
     datetimepicker3.DateTime:=fieldbyname('zhengjiany').AsDateTime;
     datetimepicker4.DateTime:=fieldbyname('joinworkdt').AsDateTime;
     memo1.Text:=fieldbyname('nianjianme').AsString;
     memo2.Text:=fieldbyname('memo').AsString;
     combobox1.Text:=fieldbyname('zhunjiacar').AsString;
     end;
 chkedit;
end;



procedure Tcardriver.editshow(I:integer);
begin
case I of
 1:  datamodule2.CarclassQ.First;
 2:  datamodule2.CarclassQ.Prior;
 3:  datamodule2.CarclassQ.next;
 4:  datamodule2.CarclassQ.Last;
end;

with datamodule2.CarclassQ do
     begin
     drivername:=fieldbyname('name').AsString;
     edit1.Text:=fieldbyname('name').AsString;
     combobox2.Text:=fieldbyname('xingbie').AsString;
     edit3.Text:=fieldbyname('drivernum').AsString;
     edit4.Text:=inttostr(fieldbyname('jialing').asinteger);
     edit5.Text:=fieldbyname('phone').AsString;
     datetimepicker1.DateTime:=fieldbyname('borndt').AsDateTime;
     datetimepicker2.DateTime:=fieldbyname('lingzhengd').AsDateTime;
     datetimepicker3.DateTime:=fieldbyname('zhengjiany').AsDateTime;
     datetimepicker4.DateTime:=fieldbyname('joinworkdt').AsDateTime;
     memo1.Text:=fieldbyname('nianjianme').AsString;
     memo2.Text:=fieldbyname('memo').AsString;
     combobox1.Text:=fieldbyname('zhunjiacar').AsString;
     end;
end;


procedure Tcardriver.chkedit;
begin
if editreadonly then
begin
panel6.Enabled:=true;
panel6.Color:=clmoneygreen;
panel7.Enabled:=true;
panel7.Color:=clmoneygreen;
panel1.Enabled:=true;
panel1.Color:=clmoneygreen;
panel2.Enabled:=true;
panel2.Color:=clmoneygreen;
panel3.Enabled:=true;
panel3.Color:=clmoneygreen;
panel4.Enabled:=true;
panel4.Color:=clmoneygreen;
edit1.enabled:=false;
combobox2.enabled:=false;
edit3.enabled:=false;
edit4.enabled:=false;
edit5.enabled:=false;
datetimepicker1.enabled:=false;
datetimepicker2.enabled:=false;
datetimepicker3.enabled:=false;
datetimepicker4.enabled:=false;
memo1.enabled:=false;
memo2.enabled:=false;
combobox1.enabled:=false;
edit1.color:=clinfobk;
combobox2.color:=clinfobk;
edit3.color:=clinfobk;
edit4.color:=clinfobk;
edit5.color:=clinfobk;
datetimepicker1.color:=clinfobk;
datetimepicker2.color:=clinfobk;
datetimepicker3.color:=clinfobk;
datetimepicker4.color:=clinfobk;
memo1.color:=clinfobk;
memo2.color:=clinfobk;
combobox1.color:=clinfobk;
panel5.Caption:='添加';
end
else
begin
panel6.Enabled:=false;
panel6.Color:=clwindow;
panel1.Enabled:=false;
panel1.Color:=clwindow;
panel2.Enabled:=false;
panel2.Color:=clwindow;
panel3.Enabled:=false;
panel3.Color:=clwindow;
panel4.Enabled:=false;
panel4.Color:=clwindow;
panel7.Enabled:=false;
panel7.Color:=clwindow;
edit1.enabled:=true;
combobox2.enabled:=true;
edit3.enabled:=true;
edit4.enabled:=true;
edit5.enabled:=true;
datetimepicker1.enabled:=true;
datetimepicker2.enabled:=true;
datetimepicker3.enabled:=true;
datetimepicker4.enabled:=true;
memo1.enabled:=true;
memo2.enabled:=true;
combobox1.enabled:=true;
edit1.color:=clwindow;
combobox2.color:=clwindow;
edit3.color:=clwindow;
edit4.color:=clwindow;
edit5.color:=clwindow;
datetimepicker1.color:=clwindow;
datetimepicker2.color:=clwindow;
datetimepicker3.color:=clwindow;
datetimepicker4.color:=clwindow;
memo1.color:=clwindow;
memo2.color:=clwindow;
combobox1.color:=clwindow;
panel5.Caption:='保存';
end;
end;


procedure TCardriver.Panel1Click(Sender: TObject);
begin
if not datamodule2.carclassq.Bof then
editshow(1)
else showmessage('已经是首记录了');
end;

procedure TCardriver.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Tpanel(sender).BevelOuter:=bvLowered;
end;

procedure TCardriver.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
tpanel(sender).BevelOuter:=bvSpace;
end;

procedure TCardriver.Panel2Click(Sender: TObject);
begin
if not datamodule2.carclassQ.Bof then
editshow(2)
else
showmessage('您已经在首记录了!!');
end;

procedure TCardriver.Panel3Click(Sender: TObject);
begin
if not datamodule2.carclassQ.Eof then
editshow(3)
else showmessage('这已经是最后一条记录');
end;

procedure TCardriver.Panel4Click(Sender: TObject);
begin
if not datamodule2.CarclassQ.Eof then
editshow(4)
else showmessage('已经是末记录');
end;

procedure TCardriver.Panel8Click(Sender: TObject);
begin
insertorupdate:=true;
editreadonly:=true;
chkedit;
cardriver.FormShow(sender);
end;

procedure TCardriver.Panel7Click(Sender: TObject);
begin
if (trim(edit3.Text) <>'') and  (messagebox(cardriver.Handle,'确定要删除吗?','提示',MB_YESNO) = ID_YES) then
  begin
with datamodule2.CardanganQ do
       begin
       close;
       sql.Clear;
       sql.Add('delete from cardriver.dbf where drivernum=:drivernum1');
       parambyname('drivernum1').value:=edit3.Text;
       execsql;
       end;
    cardriver.FormShow(sender);
    chkedit;
   end;
end;

procedure TCardriver.Panel6Click(Sender: TObject);
begin
if datamodule2.CarclassQ.RecordCount > 0  then
begin
insertorupdate:=false;
editreadonly:=false;
chkedit;
edit1.SetFocus;
end
else showmessage('无记录');
end;

procedure TCardriver.Panel5Click(Sender: TObject);
begin
if editreadonly then
 begin
  edit1.text:='';
  edit3.text:='';
  edit4.text:='';
  edit5.text:='';
  datetimepicker1.DateTime:=now;
  datetimepicker2.DateTime:=now;
  datetimepicker3.DateTime:=now;
  datetimepicker4.DateTime:=now;
  memo1.Text:='';
  memo2.Text:='';
  combobox1.ItemIndex:=0;
  combobox2.ItemIndex:=0;
  editreadonly:=false;
  chkedit;
  edit1.SetFocus
 end
  else
    begin
  if insertorupdate then                   //添加
     begin
    if (trim(edit1.Text)='') or(trim(edit3.Text)='') or (trim(edit4.Text)='') or (trim(edit5.Text)='') then
       showmessage('资料不完整!!')
         else
          begin
          with datamodule2.CarclassQ do
             begin
             close;
             sql.Clear;
             sql.Add('select * from cardriver.dbf where name=:name1 or drivernum=:drn');
             parambyname('name1').AsString:=edit1.Text;
             parambyname('drn').AsString:=edit3.Text;
             open;
             if  datamodule2.CarclassQ.RecordCount < 1 then    //判断是否有次记录
             begin
             close;
             sql.Clear;
             sql.Add('insert into cardriver.dbf');
             sql.Add(' (name,xingbie,borndt,drivernum,lingzhengd,zhengjiany,jialing,');
              sql.Add('zhunjiacar,joinworkdt,phone,nianjianme,memo)');
             sql.Add('  values(:name1,:xingbie1,:borndt1,:drivernum1,:lingzhengd1,:zhengjiany1,');
             sql.Add(':jialing1,:zhunjiacar1,:joinworkdt1,:phone1,:nianjianme1,:memo1)');
             parambyname('name1').AsString:=edit1.text;
             parambyname('xingbie1').AsString:=combobox2.text;
             parambyname('borndt1').AsDate:=datetimepicker1.date;
             parambyname('drivernum1').AsString:=edit3.Text;
             parambyname('lingzhengd1').AsDate:=datetimepicker2.date;;
             parambyname('zhengjiany1').AsDate:=datetimepicker3.date;;
             parambyname('jialing1').AsCurrency:=strtoint(edit4.Text);
             parambyname('zhunjiacar1').AsString:=combobox1.Text;
             parambyname('joinworkdt1').asdate:=datetimepicker4.date;;
             parambyname('phone1').AsString:=edit5.Text;
             parambyname('nianjianme1').AsString:=memo1.Text;
             parambyname('memo1').AsString:=memo2.Text;
             execsql;
             end
              else showmessage('记录已经存在');
             end;
          cardriver.FormShow(sender);
          editreadonly:=true;
          chkedit;
          end;
      end
      else
      if (trim(edit1.Text)='') or(trim(edit3.Text)='') or (trim(edit4.Text)='') or (trim(edit5.Text)='') then
       showmessage('资料不完整!!')
         else
         begin
         if messagebox(cardriver.Handle,'确定要修改此记录吗','提示',MB_YESNO)=ID_YES then
      begin                     //修改
      with datamodule2.CarclassQ do
             begin
             close;
             sql.Clear;
             sql.Add('update cardriver.dbf set');
             sql.Add(' name=(:name1),xingbie=(:xingbie1),borndt=(:borndt1),drivernum=(:drivernum1),');
             sql.add('lingzhengd=(:lingzhengd1),zhengjiany=(:zhengjiany1),jialing=(:jialing1),');
             sql.Add('zhunjiacar=(:zhunjiacar1),joinworkdt=(:joinworkdt1),phone=(:phone1),nianjianme=(:nianjianme1),memo=(:memo1)');
             sql.Add(' where name=(:oldname)');
             parambyname('oldname').asstring:=drivername;
             parambyname('name1').AsString:=edit1.text;
             parambyname('xingbie1').AsString:=combobox2.text;
             parambyname('borndt1').AsDate:=datetimepicker1.date;
             parambyname('drivernum1').AsString:=edit3.Text;
             parambyname('lingzhengd1').AsDate:=datetimepicker2.date;;
             parambyname('zhengjiany1').AsDate:=datetimepicker3.date;;
             parambyname('jialing1').AsCurrency:=strtoint(edit4.Text);
             parambyname('zhunjiacar1').AsString:=combobox1.Text;
             parambyname('joinworkdt1').asdate:=datetimepicker4.date;;
             parambyname('phone1').AsString:=edit5.Text;
             parambyname('nianjianme1').AsString:=memo1.Text;
             parambyname('memo1').AsString:=memo2.Text;
             execsql;
             end;
          insertorupdate:=true;
          cardriver.FormShow(sender);
          editreadonly:=true;;
          chkedit;
        end;
      end;
  end;
end;

procedure TCardriver.FormClose(Sender: TObject; var Action: TCloseAction);
begin
datamodule2.CarclassQ.Close;
end;

procedure TCardriver.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
  combobox1.SetFocus
 else
if not (key in ['0'..'9',Chr(vk_Back)]) then
key:=#0;
end;

procedure TCardriver.DateTimePicker1KeyPress(Sender: TObject;
  var Key: Char);
begin
if key=#13 then
 edit3.SetFocus
end;

procedure TCardriver.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
  combobox2.SetFocus;
end;

procedure TCardriver.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
 datetimepicker1.SetFocus
 else
 key:=#0;
end;

procedure TCardriver.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
 datetimepicker2.SetFocus;
end;

procedure TCardriver.DateTimePicker2KeyPress(Sender: TObject;
  var Key: Char);
begin
if key=#13 then
 datetimepicker3.SetFocus;
end;

procedure TCardriver.DateTimePicker3KeyPress(Sender: TObject;
  var Key: Char);
begin
if key=#13 then
 edit4.SetFocus;
end;

procedure TCardriver.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
 datetimepicker4.SetFocus
 else
 key:=#0;
end;

procedure TCardriver.DateTimePicker4KeyPress(Sender: TObject;
  var Key: Char);
begin
if key=#13 then
 edit5.SetFocus;
end;

procedure TCardriver.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
 panel5.SetFocus;
end;

procedure TCardriver.Panel10Click(Sender: TObject);
begin
cardriver.Close;
end;

end.

⌨️ 快捷键说明

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