📄 proseriseman.pas
字号:
unit ProSeriseMan;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, infoBase, Grids, DBGrids, DB, StdCtrls, Mask, DBCtrls, wwDialog,
wwidlg, ADODB, ActnList, ComCtrls, ExtCtrls, ToolWin;
type
TfrmBProSeriseMan = class(TfrmInfoBase)
GroupBox1: TGroupBox;
Label1: TLabel;
Label10: TLabel;
Label11: TLabel;
LabelDate: TLabel;
DBMemoDetail: TDBMemo;
DBEdtOptSNum: TDBEdit;
DBEdtOptSName: TDBEdit;
EditDate: TEdit;
GroupBox2: TGroupBox;
QBaseInfoProNumber: TIntegerField;
QBaseInfoSerise: TWideStringField;
QBaseInfoDetail: TWideStringField;
QBaseInfoUpdateDate: TDateTimeField;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
ToolButton1: TToolButton;
QToday: TADOQuery;
procedure QBaseInfoBeforePost(DataSet: TDataSet);
procedure QBaseInfoSeriseValidate(Sender: TField);
procedure dsBaseInfoStateChange(Sender: TObject);
procedure dsBaseInfoDataChange(Sender: TObject; Field: TField);
procedure DBGrid1CellClick(Column: TColumn);
procedure acNewExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmBProSeriseMan: TfrmBProSeriseMan;
implementation
uses StockDataModel, PublicFunction;
{$R *.dfm}
procedure TfrmBProSeriseMan.QBaseInfoBeforePost(DataSet: TDataSet);
begin
inherited;
if (DBEdtOptSName.Text = '') then // (EDTOptsNum.Text = '') or
begin
messagedlg('请填入系列名称,谢谢!', mtinformation, [mbok, mbno], 0);
DBEdtOptSName.SetFocus;
Abort;
end;
if checkValue('ProSerise', 'ProNumber', DBEdtOptSNum.Text) then
begin
if QBaseInfo.State in [dsInsert] then DBEdtOptSName.Text := '';
end;
if trim(DBEdtOptsNum.Text) = '' then QBaseInfo.FieldByName('ProNumber').AsString := inttostr(GetNextRecNoMax(StockDM.ADOConn, 'ProSerise', 'ProNumber', '', '', 20)); //自动
QBaseInfo.FieldByName('UpDateDate').AsdateTime := date;
end;
procedure TfrmBProSeriseMan.QBaseInfoSeriseValidate(Sender: TField);
begin
inherited;
if not IsUnique('Serise', Sender.AsString) then
begin
showmessage('配置标题重复,请重新输入');
abort;
end;
end;
procedure TfrmBProSeriseMan.dsBaseInfoStateChange(Sender: TObject);
var
i: integer;
begin
inherited;
with GroupBox1 do
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TDBEdit then
(Controls[i] as TDBEdit).ReadOnly := not acSave.Enabled
else if Controls[i] is TDBMemo then
(Controls[i] as TDBMemo).ReadOnly := not acSave.Enabled;
end;
end;
procedure TfrmBProSeriseMan.dsBaseInfoDataChange(Sender: TObject;
Field: TField);
begin
inherited;
if not acSave.Enabled then
EditDate.Text := QBaseInfo.FieldByName('UpDateDate').Asstring;
end;
procedure TfrmBProSeriseMan.DBGrid1CellClick(Column: TColumn);
begin
inherited;
EditDate.Text := QBaseInfo.FieldByName('UpDateDate').Asstring;
end;
procedure TfrmBProSeriseMan.acNewExecute(Sender: TObject);
begin
DBEdtOptSNum.SetFocus;
inherited;
end;
procedure TfrmBProSeriseMan.FormShow(Sender: TObject);
begin
inherited;
DBEdtOptSNum.SetFocus;
end;
procedure TfrmBProSeriseMan.ToolButton1Click(Sender: TObject);
//var QToday: TADOQuery;
begin
inherited;
with QToday do
begin
close;
sql.Clear;
sql.Add('select a.ProNumber 编码,a.Serise 名称, a.Detail 描述 from ProSerise a ');
open;
if recordcount >= 1 then ExportToExcel(QToday);
end;
//ExportToExcel(QBaseInfo);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -