📄 ubasedata.pas
字号:
unit uBaseData;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnList, StdCtrls, LBCtrls, LBDBCtrls, ExtCtrls, Grids,
LBDBGrid, LBDBScrollBar, jpeg;
type
TfrmBaseData = class(TForm)
Panel1: TPanel;
Panel4: TPanel;
Panel2: TPanel;
Panel8: TPanel;
Shape1: TShape;
SLLabel1: TLBLabel;
SLLabel2: TLBLabel;
SLLabel7: TLBLabel;
SLLabel11: TLBLabel;
SLLabel12: TLBLabel;
SLLabel15: TLBLabel;
SLLabel16: TLBLabel;
ActionList1: TActionList;
Action1: TAction;
Action2: TAction;
Action3: TAction;
Action7: TAction;
Action8: TAction;
Panel7: TPanel;
Image2: TImage;
Shape22: TShape;
Shape23: TShape;
Shape24: TShape;
Shape25: TShape;
Panel3: TPanel;
DataDBGrid: TLBDBGrid;
Panel5: TPanel;
Panel9: TPanel;
Panel11: TPanel;
plData: TPanel;
Shape2: TShape;
Shape3: TShape;
Label6: TLabel;
LBDBEdit1: TLBDBEdit;
EnterButton: TLBButton;
CancelButton: TLBButton;
Label2: TLabel;
LBDBScrollBar1: TLBDBScrollBar;
LBSpeecButton2: TLBSpeecButton;
LBSpeecButton1: TLBSpeecButton;
LBSpeecButton3: TLBSpeecButton;
Image1: TImage;
Image3: TImage;
Image8: TImage;
Image12: TImage;
Image13: TImage;
Image4: TImage;
Image5: TImage;
SLLabel4: TLBLabel;
Image7: TImage;
procedure FormShow(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure Action3Execute(Sender: TObject);
procedure Action7Execute(Sender: TObject);
procedure Action8Execute(Sender: TObject);
procedure SLLabel1Click(Sender: TObject);
procedure SLLabel2Click(Sender: TObject);
procedure SLLabel11Click(Sender: TObject);
procedure SLLabel7Click(Sender: TObject);
procedure SLLabel15Click(Sender: TObject);
procedure SLLabel12Click(Sender: TObject);
procedure SLLabel16Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure SLLabel4Click(Sender: TObject);
procedure LBDBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
procedure SetView;
procedure ListData(index : integer; Value : string);
public
{ Public declarations }
end;
var
frmBaseData: TfrmBaseData;
lIndex: Integer;
isStateEdit, isEdit: Boolean;
OldName: string;
implementation
uses uDataMo, uMain, uConst, uPublicvar;
{$R *.dfm}
procedure TfrmBaseData.SetView;
begin
DataDBGrid.Enabled:=not DataDBGrid.Enabled;
plData.Enabled:=not plData.Enabled;
Action1.Enabled:=not Action1.Enabled;
Action2.Enabled:=not Action2.Enabled;
Action3.Enabled:=not Action3.Enabled;
Action7.Enabled:=not Action7.Enabled;
Action8.Enabled:=not Action8.Enabled;
EnterButton.Visible:=not EnterButton.Visible;
CancelButton.Visible:=not CancelButton.Visible;
end;
procedure TfrmBaseData.ListData(index : integer; Value : string);
begin
OpenData('Select * from Elseinfo where Code='+#39+IntToStr(index)+#39, dmData.sdsBaseData);
lIndex:=index;
Label2.Caption:=Value;
Panel5.Caption:=' '+Value;
end;
procedure TfrmBaseData.FormShow(Sender: TObject);
begin
SetView;
OpenData('Select * from Elseinfo where Code='''+'1''', dmData.sdsBaseData);
isStateEdit:=False;
Label2.Caption:='客户类别';
Panel5.Caption:=' 客户类别';
lIndex:=1;//客户类别
end;
procedure TfrmBaseData.FormActivate(Sender: TObject);
begin
GetWindowsItem(Caption, Self);
end;
procedure TfrmBaseData.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
frmBaseData:=Nil;
end;
procedure TfrmBaseData.Action1Execute(Sender: TObject);
begin
SetView;
LBDBEdit1.SetFocus;
dmData.sdsBaseData.Append;
OldName:='';
isEdit:=False;
end;
procedure TfrmBaseData.Action2Execute(Sender: TObject);
begin
if (lIndex=5) and (dmData.sdsBaseData.FieldByName('Name').asstring='精品') then
begin
Application.MessageBox('不可修改“精品”类别。',Hintinfo,$30);
Exit;
end;
SetView;
LBDBEdit1.SetFocus;
dmData.sdsBaseData.Edit;
OldName:=dmData.sdsBaseData.Fieldbyname('Name').asstring ;
isEdit:=True;
end;
procedure TfrmBaseData.Action3Execute(Sender: TObject);
begin
if (lIndex=5) and (dmData.sdsBaseData.FieldByName('Name').asstring='精品') then
begin
Application.MessageBox('不可删除“精品”类别。',Hintinfo,$30);
Exit;
end;
DeleteData(dmData.sdsBaseData, False);
end;
procedure TfrmBaseData.Action7Execute(Sender: TObject);
begin
if Trim(LBDBEdit1.Text)='' then
begin
Application.MessageBox(Pchar('请输入'+Label2.Caption+'。'),Hintinfo,$30);
LBDBEdit1.SetFocus;
Exit;
end;
if isExist('ElseInfo', 'Name', Trim(LBDBEdit1.Text), OldName, ' and Code='+#39+Inttostr(lIndex)+#39) then
begin
Application.MessageBox(Pchar('此'+Label2.Caption+'已存在,请重新输入。'),Hintinfo,$30);
LBDBEdit1.SetFocus;
Exit;
end;
dmData.sdsBaseData.FieldByName('Code').AsInteger:=lIndex;
dmData.sdsBaseData.ApplyUpdates(-1);
if isEdit then
SetView
else
begin
dmData.sdsBaseData.Append;
end;
end;
procedure TfrmBaseData.Action8Execute(Sender: TObject);
begin
if dmData.sdsBaseData.Modified then
begin
if Application.MessageBox('确定要取消当前编辑的数据吗?',Hintinfo,$24)=idYes then
begin
dmData.sdsBaseData.CancelUpdates;
SetView;
end;
end
else
begin
dmData.sdsBaseData.CancelUpdates;
SetView;
end;
end;
procedure TfrmBaseData.SLLabel1Click(Sender: TObject);
begin
ListData(1, '客户类别');
end;
procedure TfrmBaseData.SLLabel2Click(Sender: TObject);
begin
ListData(2, '会员类别');
end;
procedure TfrmBaseData.SLLabel11Click(Sender: TObject);
begin
ListData(3, '商品产地');
end;
procedure TfrmBaseData.SLLabel7Click(Sender: TObject);
begin
ListData(4, '计量单位');
end;
procedure TfrmBaseData.SLLabel15Click(Sender: TObject);
begin
ListData(5, '商品类别');
end;
procedure TfrmBaseData.SLLabel12Click(Sender: TObject);
begin
ListData(7, '职务');
end;
procedure TfrmBaseData.SLLabel16Click(Sender: TObject);
begin
ListData(8, '结算币种');
end;
procedure TfrmBaseData.SLLabel4Click(Sender: TObject);
begin
ListData(9, '供应商类别');
end;
procedure TfrmBaseData.FormDestroy(Sender: TObject);
begin
WindowItem.Delete(WindowItem.IndexOfObject(Self));
end;
procedure TfrmBaseData.LBDBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then Action7Execute(Sender);
end;
procedure TfrmBaseData.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=27 then Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -