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

📄 c_vcdedit.pas

📁 《delphi数据库设计与实例开发》随书光盘
💻 PAS
字号:
unit c_vcdedit;

interface

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

type
  Tcfrm_vcdedit = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    e_id: TDBEdit;
    Label2: TLabel;
    e_lbd: TDBComboBox;
    e_lbx: TDBComboBox;
    Label3: TLabel;
    e_name: TDBEdit;
    Label4: TLabel;
    e_date: TDateTimePicker;
    Label6: TLabel;
    e_zzdy: TDBEdit;
    Label7: TLabel;
    e_zy: TDBEdit;
    Label8: TLabel;
    e_nzzj: TDBComboBox;
    Label11: TLabel;
    e_yzzj: TDBComboBox;
    Label9: TLabel;
    e_lzj: TDBComboBox;
    e_hw: TDBEdit;
    Label10: TLabel;
    Label13: TLabel;
    e_jg: TDBEdit;
    Label5: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn2KeyPress(Sender: TObject; var Key: Char);
    procedure e_hwKeyPress(Sender: TObject; var Key: Char);
    procedure e_lbdChange(Sender: TObject);
    procedure e_lbxChange(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cfrm_vcdedit: Tcfrm_vcdedit;
  i,count:integer;//生成序号
  dlbm:string;
  xlbm:variant;//大小类别编号

implementation
uses datam,c_vcdmgn, CommonRoutines;

{$R *.dfm}

procedure Tcfrm_vcdedit.FormCreate(Sender: TObject);
begin
 dm.ado_lb.open;
  dm.ADO_lb.Sort:='编号';
  while not dm.ado_lb.Eof do
    begin
     e_lbx.items.add(dm.ADO_lb.fieldbyname('类别').AsString);
     dm.ADO_lb.Next;
    end;
    dm.ado_lb.close;
end;

procedure Tcfrm_vcdedit.FormShow(Sender: TObject);
begin
if BitBtn1.Tag=0 then
   begin
    e_date.Date:=date();
    count := GetTickCount();
    Randomize;
    i := random(99999999);
    while (i < 10000000)  do
      i := random(99999999);
   //
    e_lbd.ItemIndex:=0;
    case e_lbd.ItemIndex of
     0:  dlbm:='10';
     1:  dlbm:='20';
     2:  dlbm:='30';
    end;
    e_lbd.Enabled:=true;
    e_lbx.Enabled:=true;
    e_lbx.Style:=csDropDownList;
    e_lbd.ItemIndex:=0;
    e_lbx.ItemIndex:=0;
    dm.ADO_lb.Open;
    xlbm:=dm.ado_lb.lookup('类别',e_lbx.Text,'编号');
    e_id.Text:=dlbm+xlbm+inttostr(i);
    dm.ADO_lb.Close;
   end
   else
    begin
     e_date.Date:=dm.ADO_vcd.fieldbyname('购入日期').AsDateTime;
     e_lbx.Text:=dm.ADO_vcd.fieldbyname('小类').AsString;
    end;
    e_name.SetFocus();
end;

procedure Tcfrm_vcdedit.BitBtn1Click(Sender: TObject);
begin
 if e_name.Text='' then
    begin
      Application.MessageBox(PChar('影碟的名称不能为空,请重新录入!')
      , PChar('提示'),MB_ICONEXCLAMATION);
      e_name.SetFocus();
      exit;
     end;
  if e_nzzj.Text=''  then
    begin
      Application.MessageBox(PChar('年证租金不能为空,请重新录入!')
      , PChar('提示'),MB_ICONEXCLAMATION);
      e_nzzj.SetFocus();
      exit;
     end;
  if e_yzzj.Text=''  then
    begin
      Application.MessageBox(PChar('月证租金不能为空,请重新录入!')
      , PChar('提示'),MB_ICONEXCLAMATION);
      e_yzzj.SetFocus();
      exit;
     end;
  if e_lzj.Text=''  then
    begin
      Application.MessageBox(PChar('零租租金不能为空,请重新录入!')
      , PChar('提示'),MB_ICONEXCLAMATION);
      e_lzj.SetFocus();
      exit;
     end;

  if Bitbtn1.Tag=1 then dm.ADO_vcd.Edit
  else
    dm.ADO_vcd.FieldByName('状态').AsString:='未租';
    dm.ADO_vcd.fieldbyname('购入日期').AsDateTime:=strtodate(datetostr(e_date.Date));
    dm.ADO_vcd.fieldbyname('大类').Asstring:=e_lbd.Text;
    dm.ADO_vcd.fieldbyname('小类').Asstring:=e_lbx.Text;
    dm.ADO_vcd.fieldbyname('年证租金').AsVariant:=e_nzzj.Text;
    dm.ADO_vcd.fieldbyname('月证租金').AsVariant:=e_yzzj.Text;
    dm.ADO_vcd.fieldbyname('零租租金').AsVariant:=e_lzj.Text;
  try
   dm.ADO_vcd.Post;
  except
   Application.MessageBox(PChar('编号重复,请退出后重新增加!'), PChar('提示'),
      MB_ICONEXCLAMATION);
    e_name.SetFocus();
    exit;
  end;
  close;
end;

procedure Tcfrm_vcdedit.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  dm.ADO_vcd.Cancel;
  release;
end;

procedure Tcfrm_vcdedit.BitBtn2Click(Sender: TObject);
begin
 close;
end;

procedure Tcfrm_vcdedit.BitBtn2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
   begin
    key:=#0;
    perform(wm_nextdlgctl,0,0);
   end;
end;

procedure Tcfrm_vcdedit.e_hwKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
   begin
   Bitbtn1.OnClick(Bitbtn1);
   end;
end;

procedure Tcfrm_vcdedit.e_lbdChange(Sender: TObject);
begin
case e_lbd.ItemIndex of
     0:  dlbm:='10';
     1:  dlbm:='20';
    end;
    //dm.ADO_lb.Open;
    //xlbm:=dm.ado_lb.lookup('类别',e_lbx.Text,'编号');
    e_id.Text:=dlbm+xlbm+inttostr(i);
    //dm.ADO_lb.Close;
end;

procedure Tcfrm_vcdedit.e_lbxChange(Sender: TObject);
begin
dm.ADO_lb.Open;
    xlbm:=dm.ado_lb.lookup('类别',e_lbx.Text,'编号');
    e_id.Text:=dlbm+xlbm+inttostr(i);
    dm.ADO_lb.Close;
end;

procedure Tcfrm_vcdedit.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  EnterToTab(Self, Key, Shift);
end;

end.

⌨️ 快捷键说明

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