uwxxx_ed.~pas

来自「很好的汽车管理系统 很实用的 谢谢合作」· ~PAS 代码 · 共 817 行 · 第 1/2 页

~PAS
817
字号
{※-------------※--------------※-------------※--------------※--------------※

  ★★ 版权说明:吉林省明日科技有限公司享有本软件的所有版权,如果本软件用于商业
 用途,必须经过吉林省明日科技有限公司授权。如果提供网上免费下载,必须经过吉林省
 明日科技有限公司授权,并保证程序的完整(不得修改代码、注释和相关内容),否则,
 我公司将追究其法律责任。

 ★★《Delphi编程词典》软件是由吉林省明日科技有限公司开发的面向程序员和编程爱好
 者的技术最全、案例最多和使用最方便的Delphi编程技术词典。它包含30个实际项目的开
 发过程和源码(每月新增加一个实际开发项目源码);最完整、最全面、最实用的函数、
 控件和基础技术大全;上千个编程技巧和几百个典型实例;同时还提供了编程中所需的各
 种素材和资源。价值无限,服务无限。技术服务及升级请访问www.cccxy.com

 ★★《Delphi编程词典》是各级编程人员不可缺少的编程技术资源管理软件。如果您是初
 学者,本软件提供了大量实例、项目的源码及其详尽、完整的开发过程文档和技术说明文
 件,同时还配有各方面的学习录像,让您快速入门,快速精通;如果您是编程设计高手,
 本软件提供了大量编程技巧、源码速查和全方位的技术资源,让您轻松编程、轻松赚钱。

 ★★《Delphi编程词典》软件是软件开发商和软件服务商的资源宝库,它提供了几十个实
 际项目案例的项目源码、软件升级和有限服务支持,同时每月还提供新的行业软件,让您
 用最好、最多的软件资源开拓您的软件市场,创造更多的利润空间。价值无限,服务无限。
 技术服务及升级请访问www.cccxy.com

 ★★《Delphi编程词典》对所有源码项目的实例的开发过程和代码功能都作了详细说明,
 让您真正融会贯通,迅速提高编程本领。

 ★★如果您在使用《Delphi编程词典》中有疑问或好的建议,请访问我公司"编程词典"技
 术服务网站www.cccxy.com或拨打我公司电话(0431-4978981,4978982),我们愿为广大
 编程者提供最好的产品和最佳的服务。对于提出好的建议的读者,我们将给与奖励,
 详情请访问www.cccxy.com。

 ★★吉林省明日科技有限公司 www.mingrisoft.com  www.cccxy.com  价值无限,服务无
 限(0431)4978981,4978982

※-------------※--------------※-------------※--------------※--------------※}


{※-------------※--------------※维修信息编辑窗体※--------------※------------※

实现目标: 以维修信息的录入
设计思路: 根据车辆受损情况及维修费用进行数据录入

※-------------※--------------※维修信息编辑窗体※--------------※------------※}
unit UWXXX_ED;

interface

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

type
  TWXXX_ED = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label19: TLabel;
    Edit1: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    Edit13: TEdit;
    Memo1: TMemo;
    DateTimePicker1: TDateTimePicker;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    Edit9: TEdit;
    DateTimePicker2: TDateTimePicker;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    procedure SpeedButton5Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure Edit4Change(Sender: TObject);
    procedure Edit5Change(Sender: TObject);
    procedure Edit6Change(Sender: TObject);
    procedure Edit7Change(Sender: TObject);
    procedure Edit10Change(Sender: TObject);
    procedure Edit11Change(Sender: TObject);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    procedure Edit6KeyPress(Sender: TObject; var Key: Char);
    procedure Edit10KeyPress(Sender: TObject; var Key: Char);
    procedure Edit11KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5Exit(Sender: TObject);
    procedure Edit6Exit(Sender: TObject);
    procedure Edit4Exit(Sender: TObject);
    procedure ComboBox1DropDown(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure DateTimePicker1Change(Sender: TObject);
    procedure DateTimePicker2Change(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox2DropDown(Sender: TObject);
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox2Change(Sender: TObject);
  private
    { Private declarations }
  public
    procedure BH;
    function cansave:boolean;
    procedure GetAll;
    procedure Posting;
    procedure ENA;
    procedure DIS;
    procedure CLS;
    procedure tr;
    { Public declarations }
  end;

var
  WXXX_ED: TWXXX_ED;

implementation

uses UMain, UDM, UWXXX;

{$R *.dfm}
{※--------※--------※--------※--------※--------※--------※--------※--------※

 ★★《Delphi编程词典》软件是由吉林省明日科技有限公司开发的面向程序员和编程爱好者
 的技术最全、案例最多和使用最方便的Delphi编程技术词典。它包含30个实际项目的开发过
 程和源码(每月新增加一个实际开发项目);最完整、最全面、最实用的函数、控件和基础
 技术大全;上千个编程技巧和几百个典型实例;同时还提供了编程中所需的各种素材和资源。
 价值无限,服务无限。技术服务及升级请访问www.cccxy.com , 电话:(0431)4978981,49
 78982

 ★★《Delphi编程词典》软件源码项目部分对所有代码都作了详细的注释和说明,同时提供
 了所有源码项目详尽、完整的开发过程文档和录像。技术支持及升级请访问www.cccxy.com
 电话:(0431)4978981,4978982

 ★★《Delphi编程词典》对所有实例的开发过程和设计思路都作了详细的介绍。技术支持及
 升级请访问www.cccxy.com   电话:(0431)4978981,4978982

 ★★如果您在使用《Delphi编程词典》中有疑问或好的建议,请访问我公司"编程词典"技术
 服务网站www.cccxy.com或拨打我公司电话(0431-4978981,4978982),我们愿为广大编程
 者提供最好的产品和最佳的服务。对于提出好的建议的读者,我们将给与奖励,详情请访问
 www.cccxy.com。电话:(0431)4978981,4978982

※--------※--------※--------※--------※--------※--------※--------※--------※}
procedure TWXXX_ED.tr;
var
i:integer;
begin
  for i:=ComponentCount - 1 downto 0 do
    if(Components[i] is TEdit) then
    TEdit(Components[i]).Text:=trim(TEdit(Components[i]).Text);
end;
procedure TWXXX_ED.BH;
var
  s,m:string;
begin
  with DM.QWXXX do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Select max(bh) as 编号 From WXXX');
    Open;
  end;
  if DM.ADODSWXXX.FieldByName('bh').Value=null then
    s:=s+'1'
  else
  begin
    DM.ADODSWXXX.Last;
    m:=Trim(DM.ADODSWXXX.Fieldbyname('bh').Value);
    s:=inttostr(strtoint(m)+1);
  end;
  edit1.Text:=s;
end;
{※--------※--------※--------※--------※--------※--------※--------※--------※

 ★★关于本函数的详细说明或实例参见《Delphi编程词典》软件函数应用部分,该部分对所
 有函数都有详细语法说明和最实用的应用实例。

 ★★吉林省明日科技有限公司愿为您提供最实用、最全面、最完整和最方便的编程技术和开
 发资源,同时为您提供最周到的技术支持和服务。

 ★★技术支持及升级请访问www.cccxy.com   www.mingrisoft.com   价值无限,服务无限

※--------※--------※--------※--------※--------※--------※--------※--------※}
function TWXXX_ED.CanSave: Boolean;
begin
  if (Edit1.Text='') then
  begin
   Result:=False;
   Application.MessageBox('编号不能为空!','提示信息',0+MB_ICONINFORMATION);
   exit;
  end;
  if (ComboBox1.Text='') then
  begin
   Result:=False;
   Application.MessageBox('车牌号不能为空!','提示信息',0+MB_ICONINFORMATION);
   exit;
  end;
  if (Edit3.Text='') then
  begin
    Result:=False;
    Application.MessageBox('车辆名称不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if (Edit4.Text='') then
  begin
    Result:=False;
    Application.MessageBox('材料费不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if (Edit5.Text='') then
  begin
    Result:=False;
    Application.MessageBox('人工费不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if (Edit6.Text='') then
  begin
    Result:=False;
    Application.MessageBox('其它费用不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if (Edit7.Text='') then
  begin
    Result:=False;
    Application.MessageBox('总费用不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if (Edit8.Text='') then
  begin
    Result:=False;
    Application.MessageBox('请选择维修日期!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if (Edit9.Text='') then
  begin
    Result:=False;
    Application.MessageBox('请选择登记日期!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if (Edit10.Text='') then
  begin
    Result:=False;
    Application.MessageBox('经手人不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if (Edit11.Text='') then
  begin
    Result:=False;
    Application.MessageBox('维修内容不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if (ComboBox2.Text='') then
  begin
    Result:=False;
    Application.MessageBox('修配厂不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
end;

procedure TWXXX_ED.GetAll;
begin
    Edit1.Text:=DM.ADODSWXXX.FieldByName('bh').AsString;
    ComboBox1.Text:=DM.ADODSWXXX.FieldByName('cph').AsString;
    Edit3.Text:=DM.ADODSWXXX.FieldByName('clmc').AsString;
    Edit4.Text:=DM.ADODSWXXX.FieldByName('clf').AsString;
    Edit5.Text:=DM.ADODSWXXX.fieldByName('rgf').AsString;
    Edit6.Text:=DM.ADODSWXXX.FieldByName('qtfy').AsString;
    Edit7.Text:=DM.ADODSWXXX.FieldByName('zfy').AsString;
    Edit8.Text:=DM.ADODSWXXX.FieldByName('wxrq').AsString;
    Edit9.Text:=DM.ADODSWXXX.FieldByName('djsj').AsString;
    Edit10.Text:=DM.ADODSWXXX.FieldByName('jsr').AsString;
    Edit11.Text:=DM.ADODSWXXX.FieldByName('wxnr').AsString;
    ComboBox2.Text:=DM.ADODSWXXX.FieldByName('xpc').AsString;
    Edit13.Text:=DM.ADODSWXXX.FieldByName('dz').AsString;
    Memo1.Text:=DM.ADODSWXXX.FieldByName('bz').AsString;
end;
{※--------※--------※--------※--------※--------※--------※--------※--------※

 ★★关于本函数的详细说明或实例参见《Delphi编程词典》基础知识部分,该部分对所有对
 象都有详细语法说明和最实用的应用实例。

 ★★吉林省明日科技有限公司愿为您提供最实用、最全面、最完整和最方便的编程技术和开
 发资源,同时为您提供最周到的技术支持和服务。

 ★★技术支持及升级请访问www.cccxy.com   www.mingrisoft.com   价值无限,服务无限

※--------※--------※--------※--------※--------※--------※--------※--------※}
procedure TWXXX_ED.Posting;
begin
  if ActionCD='N' then
  BEGIN
  with DM.QWXXX do
  begin
    Close;
    SQL.Clear;
    SQL.Add('INSERT INTO WXXX(cph,clmc,clf,rgf,qtfy,zfy,wxrq,djsj,jsr,wxnr,xpc,dz,bz,bh)');
    SQL.Add('Values(:车牌号,:车辆名称,:材料费,:人工费,:其它费用,:总费用,:维修日期,:登记日期,:经手人,:维修内容,:修配厂,:地址,:备注,:编号)');
    Parameters.Items[0].Value:=ComboBox1.Text;
    Parameters.Items[1].Value:=Edit3.Text;
    Parameters.Items[2].Value:=Edit4.Text;
    Parameters.Items[3].Value:=Edit5.Text;
    Parameters.Items[4].Value:=Edit6.Text;
    Parameters.Items[5].Value:=Edit7.Text;
    Parameters.Items[6].Value:=Edit8.Text;
    Parameters.Items[7].Value:=Edit9.Text;
    Parameters.Items[8].Value:=Edit10.Text;
    Parameters.Items[9].Value:=Edit11.Text;
    Parameters.Items[10].Value:=ComboBox2.Text;
    Parameters.Items[11].Value:=Edit13.Text;
    Parameters.Items[12].Value:=Memo1.Text;
    Parameters.Items[13].Value:=Edit1.Text;
    Prepared:=True;
    ExecSQL;
  end;
  END else
  if ActionCD='M' then
  begin
    With DM.QWXXX DO
    begin
      Close;
      SQL.Clear;
      SQL.Add('update WXXX Set cph=:车牌号,');
      SQL.Add('clmc=:车辆名称,clf=:材料费,rgf=:人工费,qtfy=:其它费用,');   //bh=:,   id
      SQL.Add('zfy=:总费用,wxrq=:维修日期,djsj=:登记时间,jsr=:经手人,');
      SQL.Add('wxnr=:维修内容,xpc=:修配厂,dz=:地址,');
      SQL.Add('bz=:备注 Where bh=:编号');
      Parameters.Items[0].Value:=ComboBox1.Text;
      Parameters.Items[1].Value:=Edit3.Text;
      Parameters.Items[2].Value:=Edit4.Text;
      Parameters.Items[3].Value:=Edit5.Text;
      Parameters.Items[4].Value:=Edit6.Text;
      Parameters.Items[5].Value:=Edit7.Text;
      Parameters.Items[6].Value:=Edit8.Text;
      Parameters.Items[7].Value:=Edit8.Text;
      Parameters.Items[8].Value:=Edit10.Text;
      Parameters.Items[9].Value:=Edit11.Text;
      Parameters.Items[10].Value:=ComboBox2.Text;
      Parameters.Items[11].Value:=Edit13.Text;
      Parameters.Items[12].Value:=Memo1.Text;
      Parameters.Items[13].Value:=DM.ADODSWXXX.FieldByName('bh').AsString;
      Prepared:=true;
      ExecSQL;
    end;
  end;
end;

procedure TWXXX_ED.ENA;
var
  i:integer;
begin
  for i:=ComponentCount-1 downto 0 do
  begin
    if (Components[i] is TEdit) then
    begin
      TEdit(Components[i]).Color:=clWindow;
      TEdit(Components[i]).ReadOnly:=False;
    end;
  end;
  DateTimePicker1.Color:=clWindow;
  DateTimePicker1.Enabled:=true;
  DateTimePicker2.Color:=clWindow;
  DateTimePicker2.Enabled:=True;
  ComboBox1.Color:=clWindow;
  ComboBox1.Enabled:=true;
  ComboBox2.Color:=clWindow;
  ComboBox2.Enabled:=true;
  Memo1.Color := clWindow;
  Memo1.ReadOnly := False;
  SpeedButton1.Enabled:=False;
  SpeedButton2.Enabled:=False;
  SpeedButton3.Enabled:=True;
  SpeedButton4.Enabled:=True;
  Panel1.Enabled:=True;
end;

procedure TWXXX_ED.DIS;
var
  i:integer;
begin
  for i:=ComponentCount-1 downto 0 do
  begin
    if (Components[i] is Tedit) then
    begin
      TEdit(Components[i]).Color:=$00d8d8d8;
      TEdit(Components[i]).ReadOnly:=true;

⌨️ 快捷键说明

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