📄 editghs1.pas
字号:
unit editghs1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
dxExEdtr, dxEdLib, dxDBELib, wwSpeedButton, wwDBNavigator, ExtCtrls,
wwclearpanel, dxEditor, dxCntner, ImgList, Db, StdCtrls, ADODB;
type
Teditghs = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DataSource1: TDataSource;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
ImageList1: TImageList;
Label19: TLabel;
Label20: TLabel;
dxDBEdit1: TdxDBEdit;
dxDBEdit2: TdxDBEdit;
dxDBButtonEdit1: TdxDBButtonEdit;
dxDBEdit3: TdxDBEdit;
dxDBEdit4: TdxDBEdit;
dxDBEdit5: TdxDBEdit;
dxDBEdit6: TdxDBEdit;
dxDBEdit7: TdxDBEdit;
wwDBNavigator1: TwwDBNavigator;
wwDBNavigator1Insert: TwwNavButton;
wwDBNavigator1Edit: TwwNavButton;
wwDBNavigator1Post: TwwNavButton;
wwDBNavigator1Cancel: TwwNavButton;
wwDBNavigator1RestoreBookmark: TwwNavButton;
wwDBNavigator1Button: TwwNavButton;
dxDBCurrencyEdit1: TdxDBCurrencyEdit;
wwDBNavigator1Button2: TwwNavButton;
wwDBNavigator1Button3: TwwNavButton;
wwDBNavigator1Button4: TwwNavButton;
wwDBNavigator1Button5: TwwNavButton;
Query1: TADOQuery;
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 dxDBButtonEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dxDBButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure NewCode(Sender: integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
editghs: Teditghs;
implementation
uses MainForm1, xzdq1, ghsda1;
{$R *.DFM}
procedure Teditghs.dxDBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
begin
key := 0;
perform(WM_NEXTDLGCTL, 0, 0); {移动到下一个控件}
end;
end;
procedure Teditghs.wwDBNavigator1ButtonClick(Sender: TObject);
begin
close;
end;
procedure Teditghs.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ghsdawh.Table1.Cancel;
Action := cafree;
end;
procedure Teditghs.wwDBNavigator1PostClick(Sender: TObject);
begin
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;
if Trim(dxDBEdit1.Text) = '' then
begin
NewCode(0);
end;
try
ghsdawh.Table1.Edit;
ghsdawh.Table1.Post;
except
Application.MessageBox('供货商代号和名称不能有重复.', '提示', MB_OK + MB_ICONWARNING);
dxDBEdit1.SetFocus;
end;
dxDBEdit1.ReadOnly := true;
end;
procedure Teditghs.NewCode(Sender: integer);
var code: string;
begin
Query1.Close;
Query1.sql.text := 'select count(*) from ghsda';
Query1.open;
code := floattostr(10000 + Query1.Fields[0].asfloat + Sender);
Query1.Close;
Query1.sql.text := 'select count(*) from ghsda where code=:code';
Query1.Parameters[0].Value := code;
Query1.open;
if Query1.Fields[0].Value > 0 then
begin
Sender := sender + 1;
Newcode(sender);
end
else
begin
ghsdawh.Table1.FieldByName('code').value := code;
end;
end;
procedure Teditghs.wwDBNavigator1InsertClick(Sender: TObject);
begin
ghsdawh.Table1.Insert;
dxDBEdit1.ReadOnly := false;
wwDBNavigator1Insert.Enabled := false;
wwDBNavigator1Post.Enabled := true;
end;
procedure Teditghs.dxDBButtonEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = 13) and (Shift = [ssCtrl]) then
begin
Application.CreateForm(Txzdq, xzdq);
xzdq.Table1.close;
xzdq.Table1.open;
xzdq.dxDBTreeList1.FullExpand;
xzdq.Table1.Locate('dqname', ghsdawh.Table1.fieldbyname('dq').asstring, [loPartialKey]);
if xzdq.ShowModal = 1 then
begin
ghsdawh.Table1.Edit;
ghsdawh.Table1.fieldbyname('dq').asstring := xzdq.Table1.fieldbyname('dqname').asstring;
end;
end;
if key = 13 then perform(WM_NEXTDLGCTL, 0, 0); {移动到下一个控件}
end;
procedure Teditghs.dxDBButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
Application.CreateForm(Txzdq, xzdq);
xzdq.Table1.close;
xzdq.Table1.open;
xzdq.dxDBTreeList1.FullExpand;
xzdq.Table1.Locate('dqname', ghsdawh.Table1.fieldbyname('dq').asstring, [loPartialKey]);
if xzdq.ShowModal = 1 then
begin
ghsdawh.Table1.Edit;
ghsdawh.Table1.fieldbyname('dq').asstring := xzdq.Table1.fieldbyname('dqname').asstring;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -