📄 editry1.pas
字号:
unit editry1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
dxExEdtr, dxEdLib, dxDBELib, wwSpeedButton, wwDBNavigator, ExtCtrls,
wwclearpanel, dxEditor, dxCntner, ImgList, Db, StdCtrls;
type
Teditry = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label17: TLabel;
ImageList1: TImageList;
wwDBNavigator1: TwwDBNavigator;
wwDBNavigator1Insert: TwwNavButton;
wwDBNavigator1Edit: TwwNavButton;
wwDBNavigator1Post: TwwNavButton;
wwDBNavigator1Cancel: TwwNavButton;
wwDBNavigator1RestoreBookmark: TwwNavButton;
wwDBNavigator1Button: TwwNavButton;
Label21: TLabel;
Label23: TLabel;
Label24: TLabel;
Label5: TLabel;
Label19: TLabel;
wwDBNavigator1Button1: TwwNavButton;
Label27: TLabel;
dxDBEdit1: TdxDBEdit;
dxDBEdit2: TdxDBEdit;
dxDBPickEdit1: TdxDBPickEdit;
dxDBButtonEdit1: TdxDBButtonEdit;
dxDBPickEdit2: TdxDBPickEdit;
dxDBDateEdit1: TdxDBDateEdit;
dxDBPickEdit3: TdxDBPickEdit;
dxDBDateEdit2: TdxDBDateEdit;
dxDBEdit3: TdxDBEdit;
dxDBEdit5: TdxDBEdit;
dxDBEdit4: TdxDBEdit;
dxDBCheckEdit1: TdxDBCheckEdit;
dxDBCheckEdit2: TdxDBCheckEdit;
dxDBCheckEdit3: TdxDBCheckEdit;
dxDBCalcEdit1: TdxDBCalcEdit;
dxDBEdit7: TdxDBEdit;
wwDBNavigator1Button2: TwwNavButton;
wwDBNavigator1Button3: TwwNavButton;
wwDBNavigator1Button4: TwwNavButton;
wwDBNavigator1Button5: TwwNavButton;
procedure dxDBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure wwDBNavigator1ButtonClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure wwDBNavigator1PostClick(Sender: TObject);
procedure wwDBNavigator1InsertClick(Sender: TObject);
procedure wwDBNavigator1Button1Click(Sender: TObject);
procedure dxDBButtonEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dxDBButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
editry: Teditry;
implementation
uses MainForm1, ryda1, xzbm1;
{$R *.DFM}
procedure Teditry.dxDBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
begin
key := 0;
perform(WM_NEXTDLGCTL, 0, 0); {移动到下一个控件}
end;
end;
procedure Teditry.wwDBNavigator1ButtonClick(Sender: TObject);
begin
close;
end;
procedure Teditry.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ryda.Table1.Cancel;
Action := cafree;
end;
procedure Teditry.wwDBNavigator1PostClick(Sender: TObject);
begin
if Trim(dxDBEdit1.Text) = '' then
begin
Application.MessageBox('请输入人员代号.', '提示', MB_OK + MB_ICONWARNING);
dxDBEdit1.SetFocus; ;
exit;
end;
if Trim(dxDBEdit2.Text) = '' then
begin
Application.MessageBox('请输入人员名称.', '提示', MB_OK + MB_ICONWARNING);
dxDBEdit2.SetFocus;
exit;
end;
if Trim(dxDBButtonEdit1.Text) = '' then
begin
Application.MessageBox('请输入人员所属部门.', '提示', MB_OK + MB_ICONWARNING);
dxDBButtonEdit1.SetFocus; ;
exit;
end;
try
ryda.Table1.Edit;
ryda.Table1.Post;
except
Application.MessageBox('人员编码和名称不能有重复.', '提示', MB_OK + MB_ICONWARNING);
dxDBEdit1.SetFocus;
end;
end;
procedure Teditry.wwDBNavigator1InsertClick(Sender: TObject);
begin
ryda.Table1.Insert;
wwDBNavigator1Insert.Enabled := false;
editry.wwDBNavigator1Button1.Enabled := false;
end;
procedure Teditry.wwDBNavigator1Button1Click(Sender: TObject);
var xb, bm, xl, zw, zz, dh, sfz, bz: string;
csrq, rzrq: Tdatetime;
ywy, zzbz, fgz: string;
jbgz: real;
begin
xb := ryda.Table1.FieldByName('xb').asstring;
bm := ryda.Table1.FieldByName('bm').asstring;
xl := ryda.Table1.FieldByName('xl').asstring;
zw := ryda.Table1.FieldByName('zw').asstring;
zz := ryda.Table1.FieldByName('zz').asstring;
dh := ryda.Table1.FieldByName('dh').asstring;
sfz := ryda.Table1.FieldByName('sfzhm').asstring;
bz := ryda.Table1.FieldByName('bz').asstring;
csrq := ryda.Table1.FieldByName('csrq').asdatetime;
rzrq := ryda.Table1.FieldByName('rzrq').asdatetime;
ywy := ryda.Table1.FieldByName('ywybz').asstring;
zzbz := ryda.Table1.FieldByName('zzbz').asstring;
fgz := ryda.Table1.FieldByName('fgzbz').asstring;
jbgz := ryda.Table1.FieldByName('jbgz').asfloat;
ryda.Table1.Insert;
editry.wwDBNavigator1Button1.Enabled := false;
wwDBNavigator1Insert.Enabled := false;
editry.wwDBNavigator1Post.Enabled := true;
ryda.Table1.FieldByName('xb').asstring := xb;
ryda.Table1.FieldByName('bm').asstring := bm;
ryda.Table1.FieldByName('xl').asstring := xl;
ryda.Table1.FieldByName('zw').asstring := zw;
ryda.Table1.FieldByName('zz').asstring := zz;
ryda.Table1.FieldByName('dh').asstring := dh;
ryda.Table1.FieldByName('sfzhm').asstring := sfz;
ryda.Table1.FieldByName('bz').asstring := bz;
ryda.Table1.FieldByName('csrq').asdatetime := csrq;
ryda.Table1.FieldByName('rzrq').asdatetime := rzrq;
ryda.Table1.FieldByName('ywybz').asstring := ywy;
ryda.Table1.FieldByName('zzbz').asstring := zzbz;
ryda.Table1.FieldByName('fgzbz').asstring := fgz;
ryda.Table1.FieldByName('jbgz').asfloat := jbgz;
end;
procedure Teditry.dxDBButtonEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = 13) and (Shift = [ssCtrl]) then
begin
Application.CreateForm(Txzbm, xzbm);
xzbm.Table1.close;
xzbm.Table1.open;
xzbm.Table1.Locate('bmname', ryda.Table1.fieldbyname('bm').asstring, [loPartialKey]);
if xzbm.ShowModal = 1 then
begin
ryda.Table1.Edit;
ryda.Table1.fieldbyname('bm').asstring := xzbm.Table1.fieldbyname('bmname').asstring;
end;
end;
if key = 13 then perform(WM_NEXTDLGCTL, 0, 0); {移动到下一个控件}
end;
procedure Teditry.dxDBButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
Application.CreateForm(Txzbm, xzbm);
xzbm.Table1.close;
xzbm.Table1.open;
xzbm.Table1.Locate('bmname', ryda.Table1.fieldbyname('bm').asstring, [loPartialKey]);
if xzbm.ShowModal = 1 then
begin
ryda.Table1.Edit;
ryda.Table1.fieldbyname('bm').asstring := xzbm.Table1.fieldbyname('bmname').asstring;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -