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

📄 yygl.~pas

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

interface

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

type
  TcarYunying = class(TForm)
    Label5: TLabel;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    Panel8: TPanel;
    Panel9: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    ComboBox1: TComboBox;
    DateTimePicker1: TDateTimePicker;
    Edit1: TEdit;
    Edit2: TEdit;
    GroupBox1: TGroupBox;
    Memo1: TMemo;
    Panel10: TPanel;
    procedure FormShow(Sender: TObject);
    procedure editshow(I:integer);
    procedure chkedit;
    procedure Panel3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel3MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel1Click(Sender: TObject);
    procedure Panel2Click(Sender: TObject);
    procedure Panel3Click(Sender: TObject);
    procedure Panel4Click(Sender: TObject);
    procedure Panel8Click(Sender: TObject);
    procedure Panel6Click(Sender: TObject);
    procedure Panel7Click(Sender: TObject);
    procedure Panel5Click(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Panel10Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  carYunying: TcarYunying;
  insertorupdate,editreadonly:boolean;
  oldcarnum:string;
  olddate:Tdatetime;
  oldsr:real;
implementation
uses unit2;

{$R *.dfm}

procedure TcarYunying.FormShow(Sender: TObject);
begin
combobox1.Clear;
editreadonly:=true;
chkedit;
insertorupdate:=true;   //true 为添加 false 修改
   with datamodule2.carclassQ do
   begin
   close;
   sql.Clear;
   sql.Add('select * from cardangan.dbf');
   open;
   if recordcount > 0 then
      while not eof do
       begin
       combobox1.Items.Add(fieldbyname('carnum').AsString);
       next;
       end;
    end;
combobox1.ItemIndex:=0;

       with datamodule2.carclassQ do
          begin
           close;
           sql.Clear;
           sql.Add('select * from caryunying.dbf');
           open;
           olddate:=fieldbyname('yunyingdt').AsDateTime;
           oldsr:=fieldbyname('yunyingsr').asfloat;
           oldcarnum:=fieldbyname('carnum').AsString;
           combobox1.Text:=fieldbyname('carnum').AsString;
           edit1.text:=floattostr(fieldbyname('yunyingtm').asfloat);
           datetimepicker1.Datetime:=fieldbyname('yunyingdt').AsDateTime;
           edit2.Text:=floattostr(fieldbyname('yunyingsr').asfloat);
           memo1.Text:=fieldbyname('memo').AsString;
          end;


end;

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

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

procedure Tcaryunying.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
           olddate:=fieldbyname('yunyingdt').AsDateTime;
           oldsr:=fieldbyname('yunyingsr').asfloat;
           oldcarnum:=fieldbyname('carnum').AsString;
           combobox1.Text:=fieldbyname('carnum').AsString;
           edit1.text:=floattostr(fieldbyname('yunyingtm').asfloat);
           datetimepicker1.Datetime:=fieldbyname('yunyingdt').AsDateTime;
           edit2.Text:=floattostr(fieldbyname('yunyingsr').asfloat);
           memo1.Text:=fieldbyname('memo').AsString;
          end;
end;
procedure TcarYunying.Panel1Click(Sender: TObject);
begin
if not datamodule2.carclassq.Bof then
editshow(1)
else showmessage('已经是首记录了');
end;

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

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

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


procedure Tcaryunying.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;
edit2.enabled:=false;
datetimepicker1.enabled:=false;
memo1.enabled:=false;
combobox1.enabled:=false;
edit1.color:=clinfobk;
edit2.color:=clinfobk;
datetimepicker1.color:=clinfobk;
memo1.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;
edit2.enabled:=true;
datetimepicker1.enabled:=true;
memo1.enabled:=true;
combobox1.enabled:=true;
edit1.color:=clwindow;
edit2.color:=clwindow;
datetimepicker1.color:=clwindow;
memo1.color:=clwindow;
combobox1.color:=clwindow;
panel5.Caption:='保存';
end;
end;
procedure TcarYunying.Panel8Click(Sender: TObject);
begin
insertorupdate:=true;
editreadonly:=true;
chkedit;
caryunying.FormShow(sender);
end;

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

procedure TcarYunying.Panel7Click(Sender: TObject);
begin
if ((datamodule2.carclassQ.RecordCount >0) and (messagebox(caryunying.Handle,'确定要删除吗?','提示',MB_YESNO) = ID_YES)) then
  begin
with datamodule2.CarclassQ do
       begin
       close;
       sql.Clear;
       sql.Add('delete from caryunying.dbf where carnum=:num1 and yunyingdt=:yydt and yunyingtm=:yytm');
       parambyname('num1').value:=combobox1.Text;
       parambyname('yydt').value:=datetimepicker1.datetime;
       parambyname('yytm').value:=strtofloat(edit1.text);
       execsql;
       end;
    caryunying.FormShow(sender);
    chkedit;
   end;
end;

procedure TcarYunying.Panel5Click(Sender: TObject);
begin
if editreadonly then
 begin
  edit1.text:='';
  edit2.text:='';
  datetimepicker1.DateTime:=now;
  memo1.Clear;
  combobox1.ItemIndex:=1;
  editreadonly:=false;
  chkedit;
  combobox1.SetFocus;
 end
  else
    begin
  if insertorupdate then                   //添加
     begin
    if (trim(edit1.Text)='') or (trim(edit2.Text)='') then
       showmessage('资料不完整!!')
         else
          begin
          with datamodule2.CarclassQ do
             begin
             close;
             sql.Clear;
             sql.Add('insert into caryunying.dbf');
             sql.Add(' (carnum,yunyingdt,yunyingtm,yunyingsr,memo)');
             sql.Add(' values(:carnum1,:yunyingdt1,:yunyingtm1,:yunyingsr1,:memo1)');
             parambyname('carnum1').AsString:=combobox1.Text;
             parambyname('yunyingtm1').Asfloat:=strtofloat(edit1.text);
             parambyname('yunyingdt1').AsDateTime:=datetimepicker1.DateTime;
             parambyname('memo1').AsString:=memo1.Text;
             parambyname('yunyingsr1').AsFloat:=strtofloat(edit2.text);
             execsql;
             end;
          caryunying.FormShow(sender);
          editreadonly:=true;
          chkedit;
          end;
      end
      else
      if (trim(edit1.Text)='') or (trim(edit2.Text)='') then
       showmessage('资料不完整!!')
         else
         begin
    if messagebox(caryunying.Handle,'确定要修改此记录吗','提示',MB_YESNO)=ID_YES then
      begin                     //修改
      with datamodule2.CarclassQ do
             begin
             close;
             sql.Clear;
             sql.Add('update caryunying.dbf set');
             sql.Add('  carnum=(:carnum1),yunyingdt=(:yunyingdt1),yunyingtm=(:yunyingtm1)');
             sql.add(',yunyingsr=(:yunyingsr1),memo=(:memo1)');
             sql.Add('  where carnum=(:oldname) and yunyingsr=(:oldsr) and yunyingdt=(:olddate)');
             parambyname('oldname').asstring:=oldcarnum;
             parambyname('olddate').asdatetime:=olddate;
             parambyname('oldsr').asfloat:=oldsr;
             parambyname('carnum1').AsString:=combobox1.Text;
             parambyname('yunyingtm1').Asfloat:=strtofloat(edit1.text);
             parambyname('yunyingdt1').AsDateTime:=datetimepicker1.DateTime;
             parambyname('memo1').AsString:=memo1.Text;
             parambyname('yunyingsr1').AsFloat:=strtofloat(edit2.text);
             execsql;
             end;
          insertorupdate:=true;
          caryunying.FormShow(sender);
          editreadonly:=true;;
          chkedit;
        end;
      end;
  end;

end;

procedure TcarYunying.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
    datetimepicker1.SetFocus;
end;

procedure TcarYunying.DateTimePicker1KeyPress(Sender: TObject;
  var Key: Char);
begin
if key = #13 then
    edit1.SetFocus
    else
key:=#0;
end;

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

procedure TcarYunying.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
    panel5.SetFocus
    else
    if not (key in ['0'..'9','.',char(VK_BACK)]) then
     key:=#0;
end;

procedure TcarYunying.Panel10Click(Sender: TObject);
begin
caryunying.Close;
end;

end.

⌨️ 快捷键说明

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