📄 f_specenter.pas
字号:
unit f_specenter;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Db, DBTables, Mask,
DBCtrls, ADODB, TFlatButtonUnit;
type
Tdfmspecenter = class(TForm)
StatusBar1: TStatusBar;
GroupBox1: TGroupBox;
Panel1: TPanel;
GroupBox2: TGroupBox;
Panel3: TPanel;
DBGrid2: TDBGrid;
GroupBox3: TGroupBox;
Panel4: TPanel;
DBGrid3: TDBGrid;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DataSource2: TDataSource;
DataSource3: TDataSource;
ATblspec: TADOTable;
ATbleware: TADOTable;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label5: TLabel;
SpeedButton3: TSpeedButton;
ADOTable1: TADOTable;
DataSource1: TDataSource;
ADOTable1cclass: TWideStringField;
ADOTable1cname: TWideStringField;
DBGrid1: TDBGrid;
Label9: TLabel;
Label10: TLabel;
DBEdit5: TDBEdit;
ATblspeccstyle: TWideStringField;
ATblspeccname: TWideStringField;
ATblspeccclass: TWideStringField;
ATblspeccprice: TFloatField;
ATblewarespbh: TWideStringField;
ATblewarejldw: TWideStringField;
ATblewareflh: TWideStringField;
ATblewarelsj: TFloatField;
ATblewarejj: TFloatField;
MaskEdit3: TMaskEdit;
Label11: TLabel;
ADOTable1clabel: TWideStringField;
ATblspecclabel: TWideStringField;
ATblewareclabel: TWideStringField;
Label12: TLabel;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
Label13: TLabel;
DBComboBox4: TDBComboBox;
DSindlabel: TDataSource;
Aindlabel: TADOTable;
Aindlabelclabel: TWideStringField;
Aindlabelcfactory: TWideStringField;
dsclass: TDataSource;
Atclass: TADOTable;
atspec: TADOTable;
dsspec: TDataSource;
FlatButton1: TFlatButton;
FlatButton2: TFlatButton;
FlatButton3: TFlatButton;
FlatButton4: TFlatButton;
FlatButton5: TFlatButton;
FlatButton6: TFlatButton;
FlatButton7: TFlatButton;
FlatButton8: TFlatButton;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
SpeedButton1: TSpeedButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure quitbtnClick(Sender: TObject);
procedure addbtnClick(Sender: TObject);
procedure delbtnClick(Sender: TObject);
procedure cancelbtnClick(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure DBLookupComboBox2Exit(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBComboBox4Enter(Sender: TObject);
procedure DBComboBox2Enter(Sender: TObject);
procedure DBComboBox1Enter(Sender: TObject);
procedure FlatButton3Click(Sender: TObject);
procedure FlatButton1Click(Sender: TObject);
procedure DBEdit2Exit(Sender: TObject);
procedure FlatButton2Click(Sender: TObject);
procedure FlatButton4Click(Sender: TObject);
procedure FlatButton5Click(Sender: TObject);
procedure FlatButton6Click(Sender: TObject);
procedure FlatButton7Click(Sender: TObject);
procedure FlatButton8Click(Sender: TObject);
procedure ATblewarePostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
procedure DBLookupComboBox2Enter(Sender: TObject);
procedure DataSource1StateChange(Sender: TObject);
procedure DataSource2StateChange(Sender: TObject);
procedure ADOTable1PostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
procedure ATblspecPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
dfmspecenter: Tdfmspecenter;
vlab,vcla,vsty: string;
implementation
uses dbmRainbowMis, chHeadUnit;
{$R *.DFM}
procedure Tdfmspecenter.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ATblspec.Active :=false;
ATbleware.Active :=false;
ADOTable1.Active :=false;
Aindlabel.active :=false;
Atclass.Active :=false;
atspec.Active :=false;
action:=cafree;
end;
procedure Tdfmspecenter.quitbtnClick(Sender: TObject);
begin
close;
end;
procedure Tdfmspecenter.addbtnClick(Sender: TObject);
begin
// tbltmanrec.Append;
end;
procedure Tdfmspecenter.delbtnClick(Sender: TObject);
begin
// tbltmanrec.delete;
end;
procedure Tdfmspecenter.cancelbtnClick(Sender: TObject);
begin
// tbltmanrec.Cancel;
end;
procedure Tdfmspecenter.SpeedButton3Click(Sender: TObject);
var
m,n:integer;
begin
n:=1;
while n<=21 do
begin
if trim(copy(maskedit1.Text ,n,3))<>'' then
begin
m:=1;
while m<=21 do
begin
if trim(copy(maskedit2.Text,m,4))<>'' then
begin
ATbleware.Append ;
ATbleware['clabel']:=DBLookupComboBox1.text;
ATbleware['flh']:=DBLookupComboBox2.Text;
ATbleware['spbh']:=DBLookupComboBox2.Text +trim(copy(maskedit1.Text ,n,3))+trim(copy(maskedit2.Text ,m,4));
ATbleware['lsj']:=maskedit3.Text;
ATbleware.Post ;
end;
m:=m+5;
end;
n:=n+4;
end else
n:=n+4;
end;
end;
procedure Tdfmspecenter.SpeedButton8Click(Sender: TObject);
begin
ATblspec.Append ;
end;
procedure Tdfmspecenter.SpeedButton6Click(Sender: TObject);
begin
ATblspec.Post ;
end;
procedure Tdfmspecenter.SpeedButton7Click(Sender: TObject);
begin
ATblspec.cancel;
end;
procedure Tdfmspecenter.SpeedButton9Click(Sender: TObject);
begin
adotable1.Append ;
end;
procedure Tdfmspecenter.SpeedButton1Click(Sender: TObject);
begin
ATbleware.delete ;
end;
procedure Tdfmspecenter.SpeedButton2Click(Sender: TObject);
begin
adotable1.cancel ;
end;
procedure Tdfmspecenter.DBLookupComboBox2Exit(Sender: TObject);
begin
maskedit3.Text := atspec['cprice'];
end;
procedure Tdfmspecenter.FormCreate(Sender: TObject);
begin
ATblspec.Active :=true;
ATbleware.Active :=true;
ADOTable1.Active :=true;
Aindlabel.active :=true;
Atclass.Active :=true;
atspec.Active :=true;
end;
procedure Tdfmspecenter.DBComboBox4Enter(Sender: TObject);
begin
chHeadUnit.dblist(dbcombobox4,Aindlabel,'clabel','cfactory',1);
end;
procedure Tdfmspecenter.DBComboBox2Enter(Sender: TObject);
begin
atclass.Filtered := false;
Atclass.Filter :='clabel='+''''+dbcombobox1.text+'''';
atclass.Filtered := true;
chHeadUnit.dblist(dbcombobox2,Atclass,'cclass','clabel',1);
end;
procedure Tdfmspecenter.DBComboBox1Enter(Sender: TObject);
begin
chHeadUnit.dblist(dbcombobox1,Aindlabel,'clabel','cclass',1);
end;
procedure Tdfmspecenter.FlatButton3Click(Sender: TObject);
begin
ADOTable1.Post;
vlab:=trim(adotable1['clabel']);
end;
procedure Tdfmspecenter.FlatButton1Click(Sender: TObject);
begin
ADOTable1.Append ;
dbcombobox4.Text := vlab;
dbcombobox4.SetFocus ;
end;
procedure Tdfmspecenter.DBEdit2Exit(Sender: TObject);
begin
FlatButton3.SetFocus;
end;
procedure Tdfmspecenter.FlatButton2Click(Sender: TObject);
begin
ADOTable1.Delete ;
end;
procedure Tdfmspecenter.FlatButton4Click(Sender: TObject);
begin
ADOTable1.Cancel;
end;
procedure Tdfmspecenter.FlatButton5Click(Sender: TObject);
begin
ATblspec.Append ;
dbcombobox1.Text := vlab;
dbcombobox2.Text := vcla;
dbcombobox1.SetFocus;
end;
procedure Tdfmspecenter.FlatButton6Click(Sender: TObject);
begin
ATblspec.Delete;
end;
procedure Tdfmspecenter.FlatButton7Click(Sender: TObject);
begin
ATblspec.Post;
atspec.Close;
atspec.Open;
vlab:=ATblspec['clabel'];
vcla:=ATblspec['cclass'];
end;
procedure Tdfmspecenter.FlatButton8Click(Sender: TObject);
begin
ATblspec.Cancel;
end;
procedure Tdfmspecenter.ATblewarePostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
begin
Application.MessageBox('不允许空纪录或重复部门号,请检查后重新保存?',
'提示信息', MB_OK);
abort;
ATbleware.Cancel;
end;
procedure Tdfmspecenter.DBLookupComboBox2Enter(Sender: TObject);
begin
atspec.Filtered := false;
atspec.Filter :='clabel='+''''+trim(DBLookupComboBox1.text)+'''';
atspec.Filtered := true;
end;
procedure Tdfmspecenter.DataSource1StateChange(Sender: TObject);
begin
case ADOTable1.State of
dsbrowse:
begin
FlatButton1.Enabled :=true;
FlatButton2.Enabled :=true;
FlatButton3.Enabled :=false;
FlatButton4.Enabled :=false;
end;
dsinsert:
begin
FlatButton1.Enabled :=false;
FlatButton2.Enabled :=false;
FlatButton3.Enabled :=true;
FlatButton4.Enabled :=true;
end;
dsedit:
begin
FlatButton1.Enabled :=false;
FlatButton2.Enabled :=false;
FlatButton3.Enabled :=true;
FlatButton4.Enabled :=true;
end;
end;
end;
procedure Tdfmspecenter.DataSource2StateChange(Sender: TObject);
begin
case ATblspec.State of
dsbrowse:
begin
FlatButton5.Enabled :=true;
FlatButton6.Enabled :=true;
FlatButton7.Enabled :=false;
FlatButton8.Enabled :=false;
end;
dsinsert:
begin
FlatButton5.Enabled :=false;
FlatButton6.Enabled :=false;
FlatButton7.Enabled :=true;
FlatButton8.Enabled :=true;
end;
dsedit:
begin
FlatButton5.Enabled :=false;
FlatButton6.Enabled :=false;
FlatButton7.Enabled :=true;
FlatButton8.Enabled :=true;
end;
end;
end;
procedure Tdfmspecenter.ADOTable1PostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
begin
Application.MessageBox('不允许空纪录或重复的记录,请取消或检查后重新保存?',
'提示信息', MB_OK);
abort;
end;
procedure Tdfmspecenter.ATblspecPostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
begin
Application.MessageBox('不允许空纪录或重复的记录,请取消或检查后重新保存?',
'提示信息', MB_OK);
abort;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -