📄 category.pas
字号:
unit Category;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, StdCtrls, ExtCtrls, Buttons;
type
TfrmCategory = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
txtCode: TEdit;
GroupBox1: TGroupBox;
dgCategory: TDBGrid;
cmdAdd: TBitBtn;
cmdModify: TBitBtn;
cmdSave: TBitBtn;
cmdDel: TButton;
cmdQuery: TButton;
cmdExit: TButton;
txtName: TEdit;
procedure cmdQueryClick(Sender: TObject);
procedure cmdExitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure txtCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cmdAddClick(Sender: TObject);
procedure cmdModifyClick(Sender: TObject);
procedure cmdSaveClick(Sender: TObject);
procedure cmdDelClick(Sender: TObject);
procedure dgCategoryCellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmCategory: TfrmCategory;
implementation
uses dmPawn, Msg;
{$R *.DFM}
var
QueryOpenMark:Boolean;
procedure TfrmCategory.cmdQueryClick(Sender: TObject);
var
Sql:string;
begin
if cmdSave.Enabled=True then
cmdSave.Enabled:=False;
if cmdAdd.Enabled=False then
cmdAdd.Enabled:=True;
if cmdModify.Enabled=False then
cmdModify.Enabled:=True;
if txtCode.ReadOnly=True then
txtCode.ReadOnly:=False;
dgCategory.DataSource:=dmPawnFrm.dsQCategory;
Sql:='select * from Category_Tbl where True ';
if txtCode.Text<>'' then
begin
Sql:=Sql+ 'and Code=:Code ';
end;
with dmPawnFrm do
begin
dqCategory.Close;
dqCategory.SQL.Clear;
dqCategory.SQL.Add(Sql);
if txtCode.Text<>'' then
begin
dqCategory.ParamByName('Code').asstring:=trim(txtCode.text);
end;
dqCategory.Open;
if QueryOpenMark=False then
begin
QueryOpenMark:=True;
end;
end;
end;
procedure TfrmCategory.cmdExitClick(Sender: TObject);
begin
close;
end;
procedure TfrmCategory.FormShow(Sender: TObject);
begin
dmPawnFrm.dqCategory.Close;
if QueryOpenMark=True then
begin
QueryOpenMark:=False;
end;
end;
procedure TfrmCategory.txtCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
txtName.SetFocus ;
end;
procedure TfrmCategory.txtNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
cmdSave.SetFocus ;
end;
procedure TfrmCategory.cmdAddClick(Sender: TObject);
begin
txtCode.Text:='';
txtName.Text:='';
if txtCode.ReadOnly=True then
txtCode.ReadOnly:=False;
if cmdModify.Enabled=True then
self.cmdModify.Enabled:=False;
if cmdSave.Enabled=False then
cmdSave.Enabled:=True;
txtCode.SetFocus ;
end;
procedure TfrmCategory.cmdModifyClick(Sender: TObject);
begin
if txtCode.ReadOnly=False then
txtCode.ReadOnly:=True;
if cmdAdd.Enabled=True then
cmdAdd.Enabled:=False;
if cmdSave.Enabled=False then
cmdSave.Enabled:=True;
txtName.SetFocus ;
end;
procedure TfrmCategory.cmdSaveClick(Sender: TObject);
begin
if txtCode.Text='' then
begin
messagedlg(Msg.MsgCategoryCode,mtWarning,[mbYes],0);
exit;
end;
if txtName.Text='' then
begin
messagedlg(Msg.MsgCategoryName,mtWarning,[mbYes],0);
exit;
end;
if cmdAdd.Enabled=False then //是修改
begin
with dmPawnFrm do
begin
tblCategory.Open;
tblCategory.IndexFieldNames:='Code';
tblCategory.SetKey;
tblCategory.FieldByName('Code').Asstring:=trim(txtCode.Text);
if tblCategory.GotoKey then
begin
tblCategory.DisableControls ;
tblCategory.Edit;
tblCategoryName.Value:=trim(txtName.text);
tblCategoryCode.Value:=trim(txtCode.text);
tblCategory.Post;
tblCategory.EnableControls ;
end;
tblCategory.Close;
end;
cmdAdd.Enabled:=True;
end;
if cmdModify.Enabled=False then //是新增
begin
with dmPawnFrm do
begin
tblCategory.Open;
tblCategory.Insert;
tblCategory.DisableControls ;
tblCategoryCode.Value:=trim(txtCode.Text);
tblCategoryName.Value:=trim(txtName.text);
tblCategory.Post;
tblCategory.EnableControls ;
tblCategory.Close;
end;
cmdModify.Enabled:=True;
end;
dgCategory.DataSource:=dmPawnFrm.dsCategory;
dmPawnFrm.tblCategory.Open;
cmdSave.Enabled:=False;
end;
procedure TfrmCategory.cmdDelClick(Sender: TObject);
begin
if cmdAdd.Enabled=False then
cmdAdd.Enabled:=True;
if txtCode.Text='' then
begin
messagedlg(Msg.MsgCategory,mtWarning,[mbYes],0);
exit;
end;
with dmPawnFrm do
begin
tblCategory.Open;
tblCategory.IndexFieldNames:='Code';
tblCategory.SetKey;
tblCategory.FieldByName('Code').Asstring:=trim(txtCode.Text);
if tblCategory.GotoKey then
begin
tblCategory.Delete;
end;
tblCategory.Close;
end;
dgCategory.DataSource:=dmPawnFrm.dsCategory;
dmPawnFrm.tblCategory.Open;
end;
procedure TfrmCategory.dgCategoryCellClick(Column: TColumn);
begin
if QueryOpenMark=True then
begin
if dgCategory.Columns[0].Field.IsNull then
txtCode.Text:=''
else
txtCode.Text:=dgCategory.Columns[0].Field.AsString;
if dgCategory.Columns[1].Field.IsNull then
txtName.Text:=''
else
txtName.Text:=dgCategory.Columns[1].Field.AsString;
end
else
begin
txtCode.Text:='';
txtName.Text:='';
txtCode.SetFocus;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -