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

📄 tjlj.pas

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

interface

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

type
  Tcarlingjian = class(TForm)
    Label14: TLabel;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    Panel8: TPanel;
    Panel1: TPanel;
    Label1: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    procedure Panel5MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Panel5MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormShow(Sender: TObject);
    procedure chkedit;
    procedure Panel5Click(Sender: TObject);
    procedure Panel8Click(Sender: TObject);
    procedure Panel7Click(Sender: TObject);
    procedure Panel6Click(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Panel2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  carlingjian: Tcarlingjian;
  editreadonly,insertorupdate:boolean;
  oldlingjiannm :string;

implementation
uses unit2;

{$R *.dfm}

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

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

procedure Tcarlingjian.FormShow(Sender: TObject);
begin
insertorupdate:=true;
editreadonly:=true;
with datamodule2.CarclassQ do
  begin
    close;
    sql.Clear;
    sql.Add('select * from carlingjian.dbf');
    open;
        oldlingjiannm:=fieldbyname('lingjiannm').AsString;
    edit1.Text:=fieldbyname('lingjiannm').AsString;
    edit2.Text:=floattostr(fieldbyname('jiage').AsFloat);
  end;
end;

procedure Tcarlingjian.Panel5Click(Sender: TObject);
begin
if editreadonly then
begin
  edit1.text:='';
  edit2.text:='';
  editreadonly:=false;
  chkedit;
  edit1.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('select * from carlingjian.dbf where lingjiannm=:nm');
             parambyname('nm').AsString:=edit1.Text;
             open;
             if recordcount < 1 then
             begin
             close;
             sql.Clear;
             sql.Add('insert into carlingjian.dbf');
             sql.Add('(lingjiannm,jiage)');
             sql.Add(' values(:lnm,:jg)');
             parambyname('lnm').AsString:=edit1.Text;
             parambyname('jg').AsFloat:=strtofloat(edit2.text);
             execsql;
             close;
             end
             else
                 showmessage('对不起!此零件已经存在!!');
           end;
          carlingjian.FormShow(sender);
          editreadonly:=true;
          chkedit;
          end;
      end
      else
      if (trim(edit1.Text)='') or (trim(edit2.Text)='') then
       showmessage('资料不完整!!')
         else
         begin
    if messagebox(carlingjian.Handle,'确定要修改此记录吗','提示',MB_YESNO)=ID_YES then
      begin                     //修改
      with datamodule2.CarclassQ do
             begin
             close;
             sql.Clear;
             sql.Add('update carlingjian.dbf set');
             sql.add(' lingjiannm=:ljn,jiage=:jg');
             sql.Add(' where lingjiannm=(:oldname)');
             parambyname('oldname').asstring:=oldlingjiannm;
             parambyname('ljn').asstring:=edit1.text;
             parambyname('jg').asfloat:=strtofloat(edit2.text);
             execsql;
             end;
          insertorupdate:=true;
          carlingjian.FormShow(sender);
          editreadonly:=true;;
          chkedit;
        end;
      end;
  end;

end;


procedure Tcarlingjian.chkedit;
begin
if editreadonly then
begin
panel6.Enabled:=true;
panel6.Color:=clmoneygreen;
panel7.Enabled:=true;
panel7.Color:=clmoneygreen;
edit1.enabled:=false;
edit2.enabled:=false;
edit1.color:=clinfobk;
edit2.color:=clinfobk;
panel5.Caption:='添加';
end
else
begin
panel6.Enabled:=false;
panel6.Color:=clwindow;
panel7.Enabled:=false;
panel7.Color:=clwindow;
edit1.enabled:=true;
edit2.enabled:=true;
edit1.color:=clwindow;
edit2.color:=clwindow;
panel5.Caption:='保存';
end;
end;


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

procedure Tcarlingjian.Panel7Click(Sender: TObject);
begin
if ((datamodule2.carclassQ.RecordCount >0) and (messagebox(carlingjian.Handle,'确定要删除吗?','提示',MB_YESNO) = ID_YES)) then
  begin
with datamodule2.CarclassQ do
       begin
       close;
       sql.Clear;
       sql.Add('delete from carlingjian.dbf where lingjiannm=:num1');
       parambyname('num1').value:=edit1.Text;
       execsql;
       end;
    carlingjian.FormShow(sender);
    chkedit;
  end;
end;

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

procedure Tcarlingjian.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 Tcarlingjian.DBGrid1CellClick(Column: TColumn);
begin
with datamodule2.CarclassQ do
    begin
    oldlingjiannm:=fieldbyname('lingjiannm').AsString;
    edit1.Text:=fieldbyname('lingjiannm').AsString;
    edit2.Text:=floattostr(fieldbyname('jiage').AsFloat);
  end;
end;

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

procedure Tcarlingjian.Panel2Click(Sender: TObject);
begin
 carlingjian.Close;
end;

end.

⌨️ 快捷键说明

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