?? vcdedit.~pas
字號:
unit vcdedit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, Mask, DBCtrls;
type
TF_vcdedit = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
e_nzzj: TDBComboBox;
e_yzzj: TDBComboBox;
e_lzj: TDBComboBox;
Label12: TLabel;
e_jg: TDBEdit;
e_date: TDateTimePicker;
b_ok: TBitBtn;
b_exit: TBitBtn;
e_hw: TDBEdit;
e_zzdy: TDBEdit;
e_zy: TDBEdit;
e_id: TDBEdit;
e_name: TDBEdit;
e_lbd: TDBComboBox;
e_lbx: TDBComboBox;
Label13: TLabel;
procedure b_okClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure b_exitClick(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure e_hwKeyPress(Sender: TObject; var Key: Char);
procedure e_hwEnter(Sender: TObject);
procedure e_hwExit(Sender: TObject);
procedure e_lbdChange(Sender: TObject);
procedure e_lbxChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_vcdedit: TF_vcdedit;
i,count:integer;//生成序號
dlbm:string;
xlbm:variant;//大小類別編號
implementation
uses datam, vcdgl;
{$R *.dfm}
procedure TF_vcdedit.b_okClick(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 b_ok.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 TF_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 TF_vcdedit.FormShow(Sender: TObject);
begin
//生成8位序號
if b_ok.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 TF_vcdedit.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
dm.ADO_vcd.Cancel;
release;
end;
procedure TF_vcdedit.b_exitClick(Sender: TObject);
begin
close;
end;
procedure TF_vcdedit.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(wm_nextdlgctl,0,0);
end;
end;
procedure TF_vcdedit.e_hwKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
b_ok.OnClick(b_ok);
end;
end;
procedure TF_vcdedit.e_hwEnter(Sender: TObject);
begin
F_vcdedit.KeyPreview:=false;
end;
procedure TF_vcdedit.e_hwExit(Sender: TObject);
begin
F_vcdedit.KeyPreview:=true;
end;
procedure TF_vcdedit.e_lbdChange(Sender: TObject);
begin
case e_lbd.ItemIndex of
0: dlbm:='10';
1: dlbm:='20';
2: dlbm:='30';
end;
e_id.Text:=dlbm+xlbm+inttostr(i);
end;
procedure TF_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;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -