改了些小问题
This commit is contained in:
parent
88e76133e3
commit
551a1d77a0
|
|
@ -3,13 +3,13 @@ inherited frmCustInput: TfrmCustInput
|
||||||
Top = 149
|
Top = 149
|
||||||
Caption = #23458#25143#36164#26009#24405#20837
|
Caption = #23458#25143#36164#26009#24405#20837
|
||||||
ClientHeight = 673
|
ClientHeight = 673
|
||||||
ClientWidth = 1210
|
ClientWidth = 1600
|
||||||
Font.Charset = GB2312_CHARSET
|
Font.Charset = GB2312_CHARSET
|
||||||
Font.Height = -16
|
Font.Height = -16
|
||||||
OldCreateOrder = True
|
OldCreateOrder = True
|
||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
ExplicitWidth = 1226
|
ExplicitWidth = 1616
|
||||||
ExplicitHeight = 712
|
ExplicitHeight = 712
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 21
|
TextHeight = 21
|
||||||
|
|
@ -17,7 +17,7 @@ inherited frmCustInput: TfrmCustInput
|
||||||
Tag = 1
|
Tag = 1
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 1210
|
Width = 1600
|
||||||
Height = 30
|
Height = 30
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
ButtonHeight = 30
|
ButtonHeight = 30
|
||||||
|
|
@ -30,6 +30,7 @@ inherited frmCustInput: TfrmCustInput
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
ShowCaptions = True
|
ShowCaptions = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
ExplicitWidth = 1210
|
||||||
object ToolButton3: TToolButton
|
object ToolButton3: TToolButton
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
|
|
@ -58,7 +59,7 @@ inherited frmCustInput: TfrmCustInput
|
||||||
object ScrollBox1: TScrollBox [1]
|
object ScrollBox1: TScrollBox [1]
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 30
|
Top = 30
|
||||||
Width = 1210
|
Width = 1600
|
||||||
Height = 255
|
Height = 255
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BevelInner = bvNone
|
BevelInner = bvNone
|
||||||
|
|
@ -67,7 +68,7 @@ inherited frmCustInput: TfrmCustInput
|
||||||
Ctl3D = False
|
Ctl3D = False
|
||||||
ParentCtl3D = False
|
ParentCtl3D = False
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
ExplicitTop = 31
|
ExplicitWidth = 1210
|
||||||
object Label2: TLabel
|
object Label2: TLabel
|
||||||
Left = 40
|
Left = 40
|
||||||
Top = 12
|
Top = 12
|
||||||
|
|
@ -374,24 +375,26 @@ inherited frmCustInput: TfrmCustInput
|
||||||
object Panel1: TPanel [2]
|
object Panel1: TPanel [2]
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 285
|
Top = 285
|
||||||
Width = 1210
|
Width = 1600
|
||||||
Height = 388
|
Height = 388
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Caption = 'Panel1'
|
Caption = 'Panel1'
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
|
ExplicitWidth = 1210
|
||||||
object Panel3: TPanel
|
object Panel3: TPanel
|
||||||
Left = 1
|
Left = 1
|
||||||
Top = 1
|
Top = 1
|
||||||
Width = 748
|
Width = 1138
|
||||||
Height = 386
|
Height = 386
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Caption = 'Panel1'
|
Caption = 'Panel1'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
ExplicitWidth = 748
|
||||||
object ToolBar3: TToolBar
|
object ToolBar3: TToolBar
|
||||||
Tag = 1
|
Tag = 1
|
||||||
Left = 1
|
Left = 1
|
||||||
Top = 1
|
Top = 1
|
||||||
Width = 746
|
Width = 1136
|
||||||
Height = 30
|
Height = 30
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
ButtonHeight = 30
|
ButtonHeight = 30
|
||||||
|
|
@ -404,6 +407,7 @@ inherited frmCustInput: TfrmCustInput
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
ShowCaptions = True
|
ShowCaptions = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
ExplicitWidth = 746
|
||||||
object ToolButton2: TToolButton
|
object ToolButton2: TToolButton
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
|
|
@ -432,11 +436,12 @@ inherited frmCustInput: TfrmCustInput
|
||||||
object cxGrid2: TcxGrid
|
object cxGrid2: TcxGrid
|
||||||
Left = 1
|
Left = 1
|
||||||
Top = 31
|
Top = 31
|
||||||
Width = 746
|
Width = 1136
|
||||||
Height = 354
|
Height = 354
|
||||||
Align = alClient
|
Align = alClient
|
||||||
BorderStyle = cxcbsNone
|
BorderStyle = cxcbsNone
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
|
ExplicitWidth = 746
|
||||||
object TV2: TcxGridDBTableView
|
object TV2: TcxGridDBTableView
|
||||||
Navigator.Buttons.CustomButtons = <>
|
Navigator.Buttons.CustomButtons = <>
|
||||||
Navigator.Buttons.Delete.Enabled = False
|
Navigator.Buttons.Delete.Enabled = False
|
||||||
|
|
@ -543,13 +548,14 @@ inherited frmCustInput: TfrmCustInput
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object Panel2: TPanel
|
object Panel2: TPanel
|
||||||
Left = 749
|
Left = 1139
|
||||||
Top = 1
|
Top = 1
|
||||||
Width = 460
|
Width = 460
|
||||||
Height = 386
|
Height = 386
|
||||||
Align = alRight
|
Align = alRight
|
||||||
Caption = 'Panel1'
|
Caption = 'Panel1'
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
|
ExplicitLeft = 749
|
||||||
object cxGrid1: TcxGrid
|
object cxGrid1: TcxGrid
|
||||||
Left = 1
|
Left = 1
|
||||||
Top = 31
|
Top = 31
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,13 @@ inherited frmCustomer: TfrmCustomer
|
||||||
Top = 169
|
Top = 169
|
||||||
Caption = #23458#25143#36164#26009#31649#29702
|
Caption = #23458#25143#36164#26009#31649#29702
|
||||||
ClientHeight = 537
|
ClientHeight = 537
|
||||||
ClientWidth = 1167
|
ClientWidth = 1583
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Font.Height = -16
|
Font.Height = -16
|
||||||
FormStyle = fsMDIChild
|
FormStyle = fsMDIChild
|
||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
Visible = True
|
Visible = True
|
||||||
ExplicitWidth = 1183
|
ExplicitWidth = 1599
|
||||||
ExplicitHeight = 576
|
ExplicitHeight = 576
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 21
|
TextHeight = 21
|
||||||
|
|
@ -17,7 +17,7 @@ inherited frmCustomer: TfrmCustomer
|
||||||
Tag = 1
|
Tag = 1
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 1167
|
Width = 1583
|
||||||
Height = 30
|
Height = 30
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
ButtonHeight = 30
|
ButtonHeight = 30
|
||||||
|
|
@ -31,6 +31,7 @@ inherited frmCustomer: TfrmCustomer
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
ShowCaptions = True
|
ShowCaptions = True
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
|
ExplicitWidth = 1167
|
||||||
object TBRafresh: TToolButton
|
object TBRafresh: TToolButton
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
|
|
@ -131,7 +132,7 @@ inherited frmCustomer: TfrmCustomer
|
||||||
object Panel1: TPanel [1]
|
object Panel1: TPanel [1]
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 30
|
Top = 30
|
||||||
Width = 1167
|
Width = 1583
|
||||||
Height = 62
|
Height = 62
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BevelInner = bvRaised
|
BevelInner = bvRaised
|
||||||
|
|
@ -139,6 +140,7 @@ inherited frmCustomer: TfrmCustomer
|
||||||
ParentBackground = False
|
ParentBackground = False
|
||||||
ParentColor = True
|
ParentColor = True
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
|
ExplicitWidth = 1167
|
||||||
object Label3: TLabel
|
object Label3: TLabel
|
||||||
Left = 182
|
Left = 182
|
||||||
Top = 20
|
Top = 20
|
||||||
|
|
@ -223,11 +225,12 @@ inherited frmCustomer: TfrmCustomer
|
||||||
object cxGrid1: TcxGrid [2]
|
object cxGrid1: TcxGrid [2]
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 120
|
Top = 120
|
||||||
Width = 1167
|
Width = 1583
|
||||||
Height = 214
|
Height = 214
|
||||||
Align = alClient
|
Align = alClient
|
||||||
PopupMenu = PopupMenu1
|
PopupMenu = PopupMenu1
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
|
ExplicitWidth = 1167
|
||||||
object Tv1: TcxGridDBTableView
|
object Tv1: TcxGridDBTableView
|
||||||
PopupMenu = PopupMenu1
|
PopupMenu = PopupMenu1
|
||||||
Navigator.Buttons.CustomButtons = <>
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
|
@ -392,18 +395,20 @@ inherited frmCustomer: TfrmCustomer
|
||||||
object Panel2: TPanel [3]
|
object Panel2: TPanel [3]
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 334
|
Top = 334
|
||||||
Width = 1167
|
Width = 1583
|
||||||
Height = 203
|
Height = 203
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
Caption = 'Panel2'
|
Caption = 'Panel2'
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
|
ExplicitWidth = 1167
|
||||||
object cxGrid2: TcxGrid
|
object cxGrid2: TcxGrid
|
||||||
Left = 1
|
Left = 1
|
||||||
Top = 1
|
Top = 1
|
||||||
Width = 598
|
Width = 1014
|
||||||
Height = 201
|
Height = 201
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
ExplicitWidth = 598
|
||||||
object Tv2: TcxGridDBTableView
|
object Tv2: TcxGridDBTableView
|
||||||
Navigator.Buttons.CustomButtons = <>
|
Navigator.Buttons.CustomButtons = <>
|
||||||
Navigator.Buttons.Delete.Enabled = False
|
Navigator.Buttons.Delete.Enabled = False
|
||||||
|
|
@ -436,6 +441,20 @@ inherited frmCustomer: TfrmCustomer
|
||||||
Options.Editing = False
|
Options.Editing = False
|
||||||
Width = 76
|
Width = 76
|
||||||
end
|
end
|
||||||
|
object Tv2Column2: TcxGridDBColumn
|
||||||
|
Caption = #22320#22336
|
||||||
|
DataBinding.FieldName = 'mxaddress'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv2Column3: TcxGridDBColumn
|
||||||
|
Caption = #21306#22495
|
||||||
|
DataBinding.FieldName = 'mxarea'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 112
|
||||||
|
end
|
||||||
object cxGridDBColumn1: TcxGridDBColumn
|
object cxGridDBColumn1: TcxGridDBColumn
|
||||||
Caption = #32852#31995#20154
|
Caption = #32852#31995#20154
|
||||||
DataBinding.FieldName = 'Contacts'
|
DataBinding.FieldName = 'Contacts'
|
||||||
|
|
@ -493,32 +512,19 @@ inherited frmCustomer: TfrmCustomer
|
||||||
Options.Editing = False
|
Options.Editing = False
|
||||||
Width = 169
|
Width = 169
|
||||||
end
|
end
|
||||||
object Tv2Column2: TcxGridDBColumn
|
|
||||||
Caption = #22320#22336
|
|
||||||
DataBinding.FieldName = 'mxaddress'
|
|
||||||
DataBinding.IsNullValueType = True
|
|
||||||
HeaderAlignmentHorz = taCenter
|
|
||||||
Width = 77
|
|
||||||
end
|
|
||||||
object Tv2Column3: TcxGridDBColumn
|
|
||||||
Caption = #21306#22495
|
|
||||||
DataBinding.FieldName = 'mxarea'
|
|
||||||
DataBinding.IsNullValueType = True
|
|
||||||
HeaderAlignmentHorz = taCenter
|
|
||||||
Width = 74
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
object cxGridLevel2: TcxGridLevel
|
object cxGridLevel2: TcxGridLevel
|
||||||
GridView = Tv2
|
GridView = Tv2
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object cxGrid3: TcxGrid
|
object cxGrid3: TcxGrid
|
||||||
Left = 599
|
Left = 1015
|
||||||
Top = 1
|
Top = 1
|
||||||
Width = 567
|
Width = 567
|
||||||
Height = 201
|
Height = 201
|
||||||
Align = alRight
|
Align = alRight
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
|
ExplicitLeft = 599
|
||||||
object Tv3: TcxGridDBTableView
|
object Tv3: TcxGridDBTableView
|
||||||
Navigator.Buttons.CustomButtons = <>
|
Navigator.Buttons.CustomButtons = <>
|
||||||
Navigator.Buttons.Delete.Enabled = False
|
Navigator.Buttons.Delete.Enabled = False
|
||||||
|
|
@ -559,7 +565,7 @@ inherited frmCustomer: TfrmCustomer
|
||||||
object cxTabControl1: TcxTabControl [4]
|
object cxTabControl1: TcxTabControl [4]
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 92
|
Top = 92
|
||||||
Width = 1167
|
Width = 1583
|
||||||
Height = 28
|
Height = 28
|
||||||
Align = alTop
|
Align = alTop
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
|
|
@ -572,6 +578,7 @@ inherited frmCustomer: TfrmCustomer
|
||||||
#20840#37096)
|
#20840#37096)
|
||||||
LookAndFeel.Kind = lfUltraFlat
|
LookAndFeel.Kind = lfUltraFlat
|
||||||
OnChange = cxTabControl1Change
|
OnChange = cxTabControl1Change
|
||||||
|
ExplicitWidth = 1167
|
||||||
ClientRectRight = 0
|
ClientRectRight = 0
|
||||||
ClientRectTop = 0
|
ClientRectTop = 0
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,8 @@ uses
|
||||||
U_globalVar in '..\..\..\public10\design\U_globalVar.pas',
|
U_globalVar in '..\..\..\public10\design\U_globalVar.pas',
|
||||||
U_WindowFormdesign in '..\..\..\public10\design\U_WindowFormdesign.pas',
|
U_WindowFormdesign in '..\..\..\public10\design\U_WindowFormdesign.pas',
|
||||||
uSZHN_JSON in '..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas',
|
uSZHN_JSON in '..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas',
|
||||||
U_printPdf in '..\..\..\public10\ThreeFun\Fun\U_printPdf.pas';
|
U_printPdf in '..\..\..\public10\ThreeFun\Fun\U_printPdf.pas',
|
||||||
|
U_EmployeeSel in '..\A00通用窗体\U_EmployeeSel.pas' {frmEmployeeSel};
|
||||||
|
|
||||||
{$R *.res}
|
{$R *.res}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -198,6 +198,10 @@
|
||||||
<DCCReference Include="..\..\..\public10\design\U_WindowFormdesign.pas"/>
|
<DCCReference Include="..\..\..\public10\design\U_WindowFormdesign.pas"/>
|
||||||
<DCCReference Include="..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas"/>
|
<DCCReference Include="..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas"/>
|
||||||
<DCCReference Include="..\..\..\public10\ThreeFun\Fun\U_printPdf.pas"/>
|
<DCCReference Include="..\..\..\public10\ThreeFun\Fun\U_printPdf.pas"/>
|
||||||
|
<DCCReference Include="..\A00通用窗体\U_EmployeeSel.pas">
|
||||||
|
<Form>frmEmployeeSel</Form>
|
||||||
|
<FormType>dfm</FormType>
|
||||||
|
</DCCReference>
|
||||||
<BuildConfiguration Include="Debug">
|
<BuildConfiguration Include="Debug">
|
||||||
<Key>Cfg_2</Key>
|
<Key>Cfg_2</Key>
|
||||||
<CfgParent>Base</CfgParent>
|
<CfgParent>Base</CfgParent>
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,6 @@ inherited frmMachineInPut: TfrmMachineInPut
|
||||||
Height = 303
|
Height = 303
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ExplicitLeft = -8
|
|
||||||
ExplicitTop = 71
|
|
||||||
ExplicitHeight = 262
|
|
||||||
object Tv1: TcxGridDBTableView
|
object Tv1: TcxGridDBTableView
|
||||||
Navigator.Buttons.CustomButtons = <>
|
Navigator.Buttons.CustomButtons = <>
|
||||||
ScrollbarAnnotations.CustomAnnotations = <>
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
|
@ -63,6 +60,13 @@ inherited frmMachineInPut: TfrmMachineInPut
|
||||||
Caption = #21496#26426
|
Caption = #21496#26426
|
||||||
DataBinding.FieldName = 'Driver'
|
DataBinding.FieldName = 'Driver'
|
||||||
DataBinding.IsNullValueType = True
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxButtonEditProperties'
|
||||||
|
Properties.Buttons = <
|
||||||
|
item
|
||||||
|
Default = True
|
||||||
|
Kind = bkEllipsis
|
||||||
|
end>
|
||||||
|
Properties.OnButtonClick = Tv1Column2PropertiesButtonClick
|
||||||
HeaderAlignmentHorz = taCenter
|
HeaderAlignmentHorz = taCenter
|
||||||
Width = 226
|
Width = 226
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ type
|
||||||
procedure TBSaveClick(Sender: TObject);
|
procedure TBSaveClick(Sender: TObject);
|
||||||
procedure ToolButton1Click(Sender: TObject);
|
procedure ToolButton1Click(Sender: TObject);
|
||||||
procedure TBAddClick(Sender: TObject);
|
procedure TBAddClick(Sender: TObject);
|
||||||
|
procedure Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
function SaveCKData(): Boolean;
|
function SaveCKData(): Boolean;
|
||||||
|
|
@ -54,7 +55,7 @@ var
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
U_DataLink, U_RTFun, U_ZDYHelp;
|
U_DataLink, U_RTFun, U_ZDYHelp, U_EmployeeSel;
|
||||||
|
|
||||||
{$R *.dfm}
|
{$R *.dfm}
|
||||||
|
|
||||||
|
|
@ -231,5 +232,33 @@ begin
|
||||||
WriteCxGrid(trim(self.Caption), Tv1, 'ȾɫÅ÷²¼²Ö¿â');
|
WriteCxGrid(trim(self.Caption), Tv1, 'ȾɫÅ÷²¼²Ö¿â');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfrmMachineInPut.Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
try
|
||||||
|
frmEmployeeSel := TfrmEmployeeSel.Create(Application);
|
||||||
|
with frmEmployeeSel do
|
||||||
|
begin
|
||||||
|
FPost := '˾»ú';
|
||||||
|
if ShowModal = 1 then
|
||||||
|
begin
|
||||||
|
|
||||||
|
// FRCode := Trim(TSpeedButton(Sender).Hint);
|
||||||
|
// FRName := Trim(TSpeedButton(Sender).Caption);
|
||||||
|
with self.CDS_Sub do
|
||||||
|
begin
|
||||||
|
Edit;
|
||||||
|
FieldByName('Driver').Value := FRName;
|
||||||
|
Post;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
frmEmployeeSel.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ inherited frmMachineManage: TfrmMachineManage
|
||||||
Height = 30
|
Height = 30
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
ButtonHeight = 30
|
ButtonHeight = 30
|
||||||
ButtonWidth = 67
|
ButtonWidth = 59
|
||||||
Caption = 'ToolBar1'
|
Caption = 'ToolBar1'
|
||||||
Color = clSkyBlue
|
Color = clSkyBlue
|
||||||
DisabledImages = DataLink_BaseInfo.cxImageList_bar
|
DisabledImages = DataLink_BaseInfo.cxImageList_bar
|
||||||
|
|
@ -36,7 +36,7 @@ inherited frmMachineManage: TfrmMachineManage
|
||||||
OnClick = TBRafreshClick
|
OnClick = TBRafreshClick
|
||||||
end
|
end
|
||||||
object ToolButton2: TToolButton
|
object ToolButton2: TToolButton
|
||||||
Left = 71
|
Left = 63
|
||||||
Top = 0
|
Top = 0
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
Caption = #36807#28388
|
Caption = #36807#28388
|
||||||
|
|
@ -44,15 +44,15 @@ inherited frmMachineManage: TfrmMachineManage
|
||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object ToolButton4: TToolButton
|
object ToolButton4: TToolButton
|
||||||
Left = 142
|
Left = 126
|
||||||
Top = 0
|
Top = 0
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
Caption = #22686#34892
|
Caption = #26032#22686
|
||||||
ImageIndex = 9
|
ImageIndex = 9
|
||||||
OnClick = ToolButton4Click
|
OnClick = ToolButton4Click
|
||||||
end
|
end
|
||||||
object ToolButton6: TToolButton
|
object ToolButton6: TToolButton
|
||||||
Left = 213
|
Left = 189
|
||||||
Top = 0
|
Top = 0
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
Caption = #20462#25913
|
Caption = #20462#25913
|
||||||
|
|
@ -60,7 +60,7 @@ inherited frmMachineManage: TfrmMachineManage
|
||||||
OnClick = ToolButton6Click
|
OnClick = ToolButton6Click
|
||||||
end
|
end
|
||||||
object ToolButton5: TToolButton
|
object ToolButton5: TToolButton
|
||||||
Left = 284
|
Left = 252
|
||||||
Top = 0
|
Top = 0
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
Caption = #21024#34892
|
Caption = #21024#34892
|
||||||
|
|
@ -68,7 +68,7 @@ inherited frmMachineManage: TfrmMachineManage
|
||||||
OnClick = ToolButton5Click
|
OnClick = ToolButton5Click
|
||||||
end
|
end
|
||||||
object ToolButton3: TToolButton
|
object ToolButton3: TToolButton
|
||||||
Left = 355
|
Left = 315
|
||||||
Top = 0
|
Top = 0
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
Caption = #25171#21360
|
Caption = #25171#21360
|
||||||
|
|
@ -76,7 +76,7 @@ inherited frmMachineManage: TfrmMachineManage
|
||||||
OnClick = ToolButton3Click
|
OnClick = ToolButton3Click
|
||||||
end
|
end
|
||||||
object ToolButton1: TToolButton
|
object ToolButton1: TToolButton
|
||||||
Left = 426
|
Left = 378
|
||||||
Top = 0
|
Top = 0
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
Caption = #23548#20986
|
Caption = #23548#20986
|
||||||
|
|
@ -84,7 +84,7 @@ inherited frmMachineManage: TfrmMachineManage
|
||||||
OnClick = ToolButton1Click
|
OnClick = ToolButton1Click
|
||||||
end
|
end
|
||||||
object TBClose: TToolButton
|
object TBClose: TToolButton
|
||||||
Left = 497
|
Left = 441
|
||||||
Top = 0
|
Top = 0
|
||||||
AutoSize = True
|
AutoSize = True
|
||||||
Caption = #20851#38381
|
Caption = #20851#38381
|
||||||
|
|
@ -167,6 +167,7 @@ inherited frmMachineManage: TfrmMachineManage
|
||||||
Caption = #21496#26426
|
Caption = #21496#26426
|
||||||
DataBinding.FieldName = 'Driver'
|
DataBinding.FieldName = 'Driver'
|
||||||
DataBinding.IsNullValueType = True
|
DataBinding.IsNullValueType = True
|
||||||
|
Options.Editing = False
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object cxGridLevel1: TcxGridLevel
|
object cxGridLevel1: TcxGridLevel
|
||||||
|
|
@ -202,6 +203,9 @@ inherited frmMachineManage: TfrmMachineManage
|
||||||
Width = 158
|
Width = 158
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
inherited cxProgressBar2: TcxProgressBar
|
||||||
|
ExplicitHeight = 29
|
||||||
|
end
|
||||||
inherited ADOQueryBaseCmd: TADOQuery
|
inherited ADOQueryBaseCmd: TADOQuery
|
||||||
Connection = DataLink_BaseInfo.ADOLink
|
Connection = DataLink_BaseInfo.ADOLink
|
||||||
Left = 113
|
Left = 113
|
||||||
|
|
|
||||||
|
|
@ -233,20 +233,7 @@ begin
|
||||||
finally
|
finally
|
||||||
frmMachineInPut.Free;
|
frmMachineInPut.Free;
|
||||||
end;
|
end;
|
||||||
// VNO.SetFocus;
|
|
||||||
// if GetLSNo(ADOQueryCmd, maxId, 'M', 'Bs_Vehicle', 4, 1) = False then
|
|
||||||
// begin
|
|
||||||
// Application.MessageBox('取最大号失败!', '提示', 0);
|
|
||||||
// Exit;
|
|
||||||
// end;
|
|
||||||
// with ADOQueryCmd do
|
|
||||||
// begin
|
|
||||||
// Close;
|
|
||||||
// sql.Clear;
|
|
||||||
// sql.Add('insert into Bs_Vehicle(Filler) values(' + quotedstr(Trim(dname)) + ')');
|
|
||||||
// ExecSQL;
|
|
||||||
// end;
|
|
||||||
// InitGrid();
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrmMachineManage.ToolButton5Click(Sender: TObject);
|
procedure TfrmMachineManage.ToolButton5Click(Sender: TObject);
|
||||||
|
|
|
||||||
317
T03贸易布匹检验/AES.pas
Normal file
317
T03贸易布匹检验/AES.pas
Normal file
|
|
@ -0,0 +1,317 @@
|
||||||
|
(**************************************************)
|
||||||
|
|
||||||
|
unit AES;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils, Classes, Math, ElAES;
|
||||||
|
|
||||||
|
type
|
||||||
|
TKeyBit = (kb128, kb192, kb256);
|
||||||
|
|
||||||
|
function StrToHex(Value: string): string;
|
||||||
|
function HexToStr(Value: string): string;
|
||||||
|
function EncryptString(Value: string; Key: string;
|
||||||
|
KeyBit: TKeyBit = kb128): string;
|
||||||
|
function DecryptString(Value: string; Key: string;
|
||||||
|
KeyBit: TKeyBit = kb128): string;
|
||||||
|
function EncryptStream(Stream: TStream; Key: string;
|
||||||
|
KeyBit: TKeyBit = kb128): TStream;
|
||||||
|
function DecryptStream(Stream: TStream; Key: string;
|
||||||
|
KeyBit: TKeyBit = kb128): TStream;
|
||||||
|
procedure EncryptFile(SourceFile, DestFile: string;
|
||||||
|
Key: string; KeyBit: TKeyBit = kb128);
|
||||||
|
procedure DecryptFile(SourceFile, DestFile: string;
|
||||||
|
Key: string; KeyBit: TKeyBit = kb128);
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
function StrToHex(Value: string): string;
|
||||||
|
var
|
||||||
|
I: Integer;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
for I := 1 to Length(Value) do
|
||||||
|
Result := Result + IntToHex(Ord(Value[I]), 2);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function HexToStr(Value: string): string;
|
||||||
|
var
|
||||||
|
I: Integer;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
for I := 1 to Length(Value) do
|
||||||
|
begin
|
||||||
|
if ((I mod 2) = 1) then
|
||||||
|
Result := Result + Chr(StrToInt('0x'+ Copy(Value, I, 2)));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ -- 字符串加密函数 默认按照 128 位密匙加密 -- }
|
||||||
|
function EncryptString(Value: string; Key: string;
|
||||||
|
KeyBit: TKeyBit = kb128): string;
|
||||||
|
var
|
||||||
|
SS, DS: TStringStream;
|
||||||
|
Size: Int64;
|
||||||
|
AESKey128: TAESKey128;
|
||||||
|
AESKey192: TAESKey192;
|
||||||
|
AESKey256: TAESKey256;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
SS := TStringStream.Create(Value);
|
||||||
|
DS := TStringStream.Create('');
|
||||||
|
try
|
||||||
|
Size := SS.Size;
|
||||||
|
DS.WriteBuffer(Size, SizeOf(Size));
|
||||||
|
{ -- 128 位密匙最大长度为 16 个字符 -- }
|
||||||
|
if KeyBit = kb128 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey128, SizeOf(AESKey128), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key)));
|
||||||
|
EncryptAESStreamECB(SS, 0, AESKey128, DS);
|
||||||
|
end;
|
||||||
|
{ -- 192 位密匙最大长度为 24 个字符 -- }
|
||||||
|
if KeyBit = kb192 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey192, SizeOf(AESKey192), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key)));
|
||||||
|
EncryptAESStreamECB(SS, 0, AESKey192, DS);
|
||||||
|
end;
|
||||||
|
{ -- 256 位密匙最大长度为 32 个字符 -- }
|
||||||
|
if KeyBit = kb256 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey256, SizeOf(AESKey256), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key)));
|
||||||
|
EncryptAESStreamECB(SS, 0, AESKey256, DS);
|
||||||
|
end;
|
||||||
|
Result := StrToHex(DS.DataString);
|
||||||
|
finally
|
||||||
|
SS.Free;
|
||||||
|
DS.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ -- 字符串解密函数 默认按照 128 位密匙解密 -- }
|
||||||
|
function DecryptString(Value: string; Key: string;
|
||||||
|
KeyBit: TKeyBit = kb128): string;
|
||||||
|
var
|
||||||
|
SS, DS: TStringStream;
|
||||||
|
Size: Int64;
|
||||||
|
AESKey128: TAESKey128;
|
||||||
|
AESKey192: TAESKey192;
|
||||||
|
AESKey256: TAESKey256;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
SS := TStringStream.Create(HexToStr(Value));
|
||||||
|
DS := TStringStream.Create('');
|
||||||
|
try
|
||||||
|
Size := SS.Size;
|
||||||
|
SS.ReadBuffer(Size, SizeOf(Size));
|
||||||
|
{ -- 128 位密匙最大长度为 16 个字符 -- }
|
||||||
|
if KeyBit = kb128 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey128, SizeOf(AESKey128), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key)));
|
||||||
|
DecryptAESStreamECB(SS, SS.Size - SS.Position, AESKey128, DS);
|
||||||
|
end;
|
||||||
|
{ -- 192 位密匙最大长度为 24 个字符 -- }
|
||||||
|
if KeyBit = kb192 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey192, SizeOf(AESKey192), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key)));
|
||||||
|
DecryptAESStreamECB(SS, SS.Size - SS.Position, AESKey192, DS);
|
||||||
|
end;
|
||||||
|
{ -- 256 位密匙最大长度为 32 个字符 -- }
|
||||||
|
if KeyBit = kb256 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey256, SizeOf(AESKey256), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key)));
|
||||||
|
DecryptAESStreamECB(SS, SS.Size - SS.Position, AESKey256, DS);
|
||||||
|
end;
|
||||||
|
Result := DS.DataString;
|
||||||
|
finally
|
||||||
|
SS.Free;
|
||||||
|
DS.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ -- 流加密函数 默认按照 128 位密匙解密 -- }
|
||||||
|
function EncryptStream(Stream: TStream; Key: string;
|
||||||
|
KeyBit: TKeyBit = kb128): TStream;
|
||||||
|
var
|
||||||
|
Count: Int64;
|
||||||
|
OutStrm: TStream;
|
||||||
|
AESKey128: TAESKey128;
|
||||||
|
AESKey192: TAESKey192;
|
||||||
|
AESKey256: TAESKey256;
|
||||||
|
begin
|
||||||
|
OutStrm := TStream.Create;
|
||||||
|
Stream.Position := 0;
|
||||||
|
Count := Stream.Size;
|
||||||
|
OutStrm.Write(Count, SizeOf(Count));
|
||||||
|
try
|
||||||
|
{ -- 128 位密匙最大长度为 16 个字符 -- }
|
||||||
|
if KeyBit = kb128 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey128, SizeOf(AESKey128), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key)));
|
||||||
|
EncryptAESStreamECB(Stream, 0, AESKey128, OutStrm);
|
||||||
|
end;
|
||||||
|
{ -- 192 位密匙最大长度为 24 个字符 -- }
|
||||||
|
if KeyBit = kb192 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey192, SizeOf(AESKey192), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key)));
|
||||||
|
EncryptAESStreamECB(Stream, 0, AESKey192, OutStrm);
|
||||||
|
end;
|
||||||
|
{ -- 256 位密匙最大长度为 32 个字符 -- }
|
||||||
|
if KeyBit = kb256 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey256, SizeOf(AESKey256), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key)));
|
||||||
|
EncryptAESStreamECB(Stream, 0, AESKey256, OutStrm);
|
||||||
|
end;
|
||||||
|
Result := OutStrm;
|
||||||
|
finally
|
||||||
|
OutStrm.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ -- 流解密函数 默认按照 128 位密匙解密 -- }
|
||||||
|
function DecryptStream(Stream: TStream; Key: string;
|
||||||
|
KeyBit: TKeyBit = kb128): TStream;
|
||||||
|
var
|
||||||
|
Count, OutPos: Int64;
|
||||||
|
OutStrm: TStream;
|
||||||
|
AESKey128: TAESKey128;
|
||||||
|
AESKey192: TAESKey192;
|
||||||
|
AESKey256: TAESKey256;
|
||||||
|
begin
|
||||||
|
OutStrm := TStream.Create;
|
||||||
|
Stream.Position := 0;
|
||||||
|
OutPos :=OutStrm.Position;
|
||||||
|
Stream.ReadBuffer(Count, SizeOf(Count));
|
||||||
|
try
|
||||||
|
{ -- 128 位密匙最大长度为 16 个字符 -- }
|
||||||
|
if KeyBit = kb128 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey128, SizeOf(AESKey128), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key)));
|
||||||
|
DecryptAESStreamECB(Stream, Stream.Size - Stream.Position,
|
||||||
|
AESKey128, OutStrm);
|
||||||
|
end;
|
||||||
|
{ -- 192 位密匙最大长度为 24 个字符 -- }
|
||||||
|
if KeyBit = kb192 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey192, SizeOf(AESKey192), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key)));
|
||||||
|
DecryptAESStreamECB(Stream, Stream.Size - Stream.Position,
|
||||||
|
AESKey192, OutStrm);
|
||||||
|
end;
|
||||||
|
{ -- 256 位密匙最大长度为 32 个字符 -- }
|
||||||
|
if KeyBit = kb256 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey256, SizeOf(AESKey256), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key)));
|
||||||
|
DecryptAESStreamECB(Stream, Stream.Size - Stream.Position,
|
||||||
|
AESKey256, OutStrm);
|
||||||
|
end;
|
||||||
|
OutStrm.Size := OutPos + Count;
|
||||||
|
OutStrm.Position := OutPos;
|
||||||
|
Result := OutStrm;
|
||||||
|
finally
|
||||||
|
OutStrm.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ -- 文件加密函数 默认按照 128 位密匙解密 -- }
|
||||||
|
procedure EncryptFile(SourceFile, DestFile: string;
|
||||||
|
Key: string; KeyBit: TKeyBit = kb128);
|
||||||
|
var
|
||||||
|
SFS, DFS: TFileStream;
|
||||||
|
Size: Int64;
|
||||||
|
AESKey128: TAESKey128;
|
||||||
|
AESKey192: TAESKey192;
|
||||||
|
AESKey256: TAESKey256;
|
||||||
|
begin
|
||||||
|
SFS := TFileStream.Create(SourceFile, fmOpenRead);
|
||||||
|
try
|
||||||
|
DFS := TFileStream.Create(DestFile, fmCreate);
|
||||||
|
try
|
||||||
|
Size := SFS.Size;
|
||||||
|
DFS.WriteBuffer(Size, SizeOf(Size));
|
||||||
|
{ -- 128 位密匙最大长度为 16 个字符 -- }
|
||||||
|
if KeyBit = kb128 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey128, SizeOf(AESKey128), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key)));
|
||||||
|
EncryptAESStreamECB(SFS, 0, AESKey128, DFS);
|
||||||
|
end;
|
||||||
|
{ -- 192 位密匙最大长度为 24 个字符 -- }
|
||||||
|
if KeyBit = kb192 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey192, SizeOf(AESKey192), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key)));
|
||||||
|
EncryptAESStreamECB(SFS, 0, AESKey192, DFS);
|
||||||
|
end;
|
||||||
|
{ -- 256 位密匙最大长度为 32 个字符 -- }
|
||||||
|
if KeyBit = kb256 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey256, SizeOf(AESKey256), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key)));
|
||||||
|
EncryptAESStreamECB(SFS, 0, AESKey256, DFS);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
DFS.Free;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
SFS.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ -- 文件解密函数 默认按照 128 位密匙解密 -- }
|
||||||
|
procedure DecryptFile(SourceFile, DestFile: string;
|
||||||
|
Key: string; KeyBit: TKeyBit = kb128);
|
||||||
|
var
|
||||||
|
SFS, DFS: TFileStream;
|
||||||
|
Size: Int64;
|
||||||
|
AESKey128: TAESKey128;
|
||||||
|
AESKey192: TAESKey192;
|
||||||
|
AESKey256: TAESKey256;
|
||||||
|
begin
|
||||||
|
SFS := TFileStream.Create(SourceFile, fmOpenRead);
|
||||||
|
try
|
||||||
|
SFS.ReadBuffer(Size, SizeOf(Size));
|
||||||
|
DFS := TFileStream.Create(DestFile, fmCreate);
|
||||||
|
try
|
||||||
|
{ -- 128 位密匙最大长度为 16 个字符 -- }
|
||||||
|
if KeyBit = kb128 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey128, SizeOf(AESKey128), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key)));
|
||||||
|
DecryptAESStreamECB(SFS, SFS.Size - SFS.Position, AESKey128, DFS);
|
||||||
|
end;
|
||||||
|
{ -- 192 位密匙最大长度为 24 个字符 -- }
|
||||||
|
if KeyBit = kb192 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey192, SizeOf(AESKey192), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key)));
|
||||||
|
DecryptAESStreamECB(SFS, SFS.Size - SFS.Position, AESKey192, DFS);
|
||||||
|
end;
|
||||||
|
{ -- 256 位密匙最大长度为 32 个字符 -- }
|
||||||
|
if KeyBit = kb256 then
|
||||||
|
begin
|
||||||
|
FillChar(AESKey256, SizeOf(AESKey256), 0 );
|
||||||
|
Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key)));
|
||||||
|
DecryptAESStreamECB(SFS, SFS.Size - SFS.Position, AESKey256, DFS);
|
||||||
|
end;
|
||||||
|
DFS.Size := Size;
|
||||||
|
finally
|
||||||
|
DFS.Free;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
SFS.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end.
|
||||||
BIN
T03贸易布匹检验/AllSkins.skinres
Normal file
BIN
T03贸易布匹检验/AllSkins.skinres
Normal file
Binary file not shown.
538
T03贸易布匹检验/DbPanel/.svn/entries
Normal file
538
T03贸易布匹检验/DbPanel/.svn/entries
Normal file
|
|
@ -0,0 +1,538 @@
|
||||||
|
10
|
||||||
|
|
||||||
|
dir
|
||||||
|
4312
|
||||||
|
svn://192.168.71.68/ftsource/mgg/%E9%A9%AC%E5%9B%BD%E9%92%A2%E5%BC%80%E5%8F%91%E4%BB%A3%E7%A0%81/%E9%A1%B9%E7%9B%AE%E4%BB%A3%E7%A0%81/%E5%AF%8C%E5%BC%BA%E7%9A%AE%E5%A1%91/%E4%BA%BA%E4%BA%8B/KQEnter(%E8%80%83%E5%8B%A4EXE)/DbPanel
|
||||||
|
svn://192.168.71.68/ftsource
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ef2f1445-a04c-0b43-b547-5002d5acc4ff
|
||||||
|
|
||||||
|
dbpanel.dcu
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2005-06-29T10:14:56.000000Z
|
||||||
|
8b826c9850c49392add3d17d2a732535
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
17512
|
||||||
|
|
||||||
|
L_DBDateTime.dcr
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1999-12-04T03:57:56.000000Z
|
||||||
|
8e404868006b2df037d388cd91c03f5b
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2164
|
||||||
|
|
||||||
|
JKFootpanel.dcu
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2006-02-07T01:38:42.000000Z
|
||||||
|
3dfed577d2b0cbe7a26ce0543bb78500
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
12497
|
||||||
|
|
||||||
|
Dbpanel.pas
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2005-06-29T10:14:26.000000Z
|
||||||
|
f90d83413145b739d30cdf376104bf2d
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
12415
|
||||||
|
|
||||||
|
L_DBDateTime.dcu
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2006-07-20T13:00:32.000000Z
|
||||||
|
209b4061eeeb5526ddf939cdde0f62c0
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6578
|
||||||
|
|
||||||
|
JKFootpanel.pas
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2005-12-31T09:01:50.000000Z
|
||||||
|
3cedd12399fd69e1f190208ae53a85e8
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
10303
|
||||||
|
|
||||||
|
JkPanel.dcu
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2006-02-07T01:38:42.000000Z
|
||||||
|
31c43b5168a7049bf83acd8bd7f45548
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
42037
|
||||||
|
|
||||||
|
L_DBDateTime.pas
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2000-02-16T08:06:06.000000Z
|
||||||
|
d74c282fada89437bf2713438c9d511a
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3629
|
||||||
|
|
||||||
|
MovePanel.dcu
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2006-07-20T13:00:32.000000Z
|
||||||
|
24189494b4f07ee2147946e7a732a8e8
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4292
|
||||||
|
|
||||||
|
AutoPanel.dcu
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2006-07-19T07:05:22.000000Z
|
||||||
|
f2a4b17861f738dd07402899b1fba98b
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
33997
|
||||||
|
|
||||||
|
dsr.dcu
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2011-01-10T08:00:04.700500Z
|
||||||
|
7dc76d775b292ca12e4e18bd2cf82a62
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
has-props
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6467
|
||||||
|
|
||||||
|
JkPanel.pas
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2006-02-07T01:35:12.000000Z
|
||||||
|
895ae606414168977b3a1d3fb99a0a87
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
39429
|
||||||
|
|
||||||
|
MovePanel.pas
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2005-07-01T01:00:14.000000Z
|
||||||
|
a7c721193dc82acd02386489752554fd
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1998
|
||||||
|
|
||||||
|
AutoPanel.pas
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2005-10-19T01:47:14.000000Z
|
||||||
|
ccea78917a93c0ff2f549dd98ae9e101
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
24603
|
||||||
|
|
||||||
|
dsr.pas
|
||||||
|
file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2006-02-06T07:55:00.000000Z
|
||||||
|
a2af085bce0f5fd3cbf187eb65d5e17d
|
||||||
|
2011-09-05T04:33:21.203125Z
|
||||||
|
4312
|
||||||
|
mgg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
9279
|
||||||
|
|
||||||
5
T03贸易布匹检验/DbPanel/.svn/prop-base/AutoPanel.dcu.svn-base
Normal file
5
T03贸易布匹检验/DbPanel/.svn/prop-base/AutoPanel.dcu.svn-base
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
5
T03贸易布匹检验/DbPanel/.svn/prop-base/JkPanel.dcu.svn-base
Normal file
5
T03贸易布匹检验/DbPanel/.svn/prop-base/JkPanel.dcu.svn-base
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
5
T03贸易布匹检验/DbPanel/.svn/prop-base/MovePanel.dcu.svn-base
Normal file
5
T03贸易布匹检验/DbPanel/.svn/prop-base/MovePanel.dcu.svn-base
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
5
T03贸易布匹检验/DbPanel/.svn/prop-base/dbpanel.dcu.svn-base
Normal file
5
T03贸易布匹检验/DbPanel/.svn/prop-base/dbpanel.dcu.svn-base
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
5
T03贸易布匹检验/DbPanel/.svn/prop-base/dsr.dcu.svn-base
Normal file
5
T03贸易布匹检验/DbPanel/.svn/prop-base/dsr.dcu.svn-base
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 24
|
||||||
|
application/octet-stream
|
||||||
|
END
|
||||||
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/AutoPanel.dcu.svn-base
Normal file
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/AutoPanel.dcu.svn-base
Normal file
Binary file not shown.
707
T03贸易布匹检验/DbPanel/.svn/text-base/AutoPanel.pas.svn-base
Normal file
707
T03贸易布匹检验/DbPanel/.svn/text-base/AutoPanel.pas.svn-base
Normal file
|
|
@ -0,0 +1,707 @@
|
||||||
|
unit AutoPanel;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,
|
||||||
|
ExtCtrls,dbctrls,stdctrls,db,ADODB,ComCtrls,Variants,Gauges,
|
||||||
|
SqlExpr,DBGrids,MovePanel;
|
||||||
|
|
||||||
|
type
|
||||||
|
TEditorstyle = (TsMemo,Tscombox,Tsedit);
|
||||||
|
|
||||||
|
type
|
||||||
|
TAutoPanel = class(TPanel)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FEditorstyle:Teditorstyle;
|
||||||
|
FLeft :Integer;
|
||||||
|
FTop :Integer;
|
||||||
|
maxTextLen :Integer;
|
||||||
|
maxLabelLen :Integer;
|
||||||
|
FTitleVisible :Boolean;
|
||||||
|
FDataReadOnly :Boolean;
|
||||||
|
FPageCount :Integer;
|
||||||
|
|
||||||
|
FPass_Grid :TDBGrid;
|
||||||
|
FP_Move :TMovePanel;
|
||||||
|
FP_Parent :TPanel;
|
||||||
|
|
||||||
|
FPageControl: TPageControl; {分页控件}
|
||||||
|
FTabSheets :array of TTabSheet;
|
||||||
|
FScrollBox :array of TScrollBox; {滚动控件}
|
||||||
|
FLineHeight :Integer;
|
||||||
|
|
||||||
|
//数据数组控件,动态生成
|
||||||
|
MemoEditors :array of TMemo;
|
||||||
|
comEditors :array of TCombobox;
|
||||||
|
edEditors :array of Tedit;
|
||||||
|
ProgressEditor :array of Tedit;
|
||||||
|
Labels :array of TLabel; //字段标题,动态生成
|
||||||
|
ProgressBars :array of TGauge;
|
||||||
|
Shapes :array of TShape;
|
||||||
|
FDataSource :TDataSource; // 数据源
|
||||||
|
FDataField_A :String; // DataField
|
||||||
|
FDataField_B :String; // DataField
|
||||||
|
FDataField_C :String; // DataField
|
||||||
|
FDataField_D :String; // DataField
|
||||||
|
FDataField_E :String; // DataField
|
||||||
|
FDataField_F :String; // DataField
|
||||||
|
FStore :String;
|
||||||
|
Fcnnstr :String;
|
||||||
|
FListSql :String;
|
||||||
|
FBerthFieldName :String;
|
||||||
|
FStoreFieldName :String;
|
||||||
|
FBerthTableName :String;
|
||||||
|
|
||||||
|
FColumns :Integer; //显示列数
|
||||||
|
tmpado :TadoDataset;
|
||||||
|
tmpDs :TDataSource;
|
||||||
|
procedure FreeEditors; //释放数据输入控件的内存
|
||||||
|
procedure AKeyDown(Sender:TObject; var Key :Word; Shift:TShiftState);
|
||||||
|
procedure AKeyPress(Sender:TObject; var Key :Char);
|
||||||
|
procedure AProgressEditorChange(Sender :TObject);
|
||||||
|
procedure inti_Grid(sender :TObject);
|
||||||
|
procedure LabelsClick(Sender: TObject);
|
||||||
|
procedure FP_MovePanelDblClick(Sender: TObject);
|
||||||
|
function comEditor(Index :Integer):TComboBox;
|
||||||
|
function edEditor(Index :Integer):Tedit;
|
||||||
|
function MemoEditor(Index :Integer) :TMemo;
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
|
||||||
|
public
|
||||||
|
constructor Create(AOwner:TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
procedure Setedit(Value :TEditorstyle);
|
||||||
|
procedure CreateEditors(var DS :TDataSource; cnnstr :String); //创建各字段的数据输入控件
|
||||||
|
procedure ClearHits(ItemIndex :Integer);
|
||||||
|
procedure AddHits(ItemIndex:Integer; Hits :array of string);
|
||||||
|
|
||||||
|
{ Public declarations }
|
||||||
|
published
|
||||||
|
|
||||||
|
property LimitLeft :Integer read FLeft write FLeft default 10;
|
||||||
|
property LimitTop :Integer read FTop write FTop default 10;
|
||||||
|
property Editorstyle :TEditorstyle read FEditorstyle write Setedit default TsMemo;
|
||||||
|
|
||||||
|
property EditorWidth :Integer read maxTextLen write maxTextLen default 100;
|
||||||
|
property TitleWidth :Integer read maxLabelLen write maxLabelLen default 100;
|
||||||
|
property TitleVisible :Boolean read FTitleVisible write FTitleVisible default True;
|
||||||
|
property DataReadOnly :Boolean read FDataReadOnly write FDataReadOnly; //default True;
|
||||||
|
property LineHeight :Integer read FLineHeight write FLineHeight default 15;
|
||||||
|
property DataSource :TDataSource read FDataSource write FDataSource; //数据源
|
||||||
|
property DataField_Editor :String read FDataField_A write FDataField_A;
|
||||||
|
property DataField_Title :String read FDataField_B write FDataField_B;
|
||||||
|
property DataField_Progress :String read FDataField_C write FDataField_C;
|
||||||
|
property DataField_BerthArea :String read FDataField_D write FDataField_D;
|
||||||
|
property DataField_IconLeft :String read FDataField_E write FDataField_E;
|
||||||
|
property DataField_IconTop :String read FDataField_F write FDataField_F;
|
||||||
|
|
||||||
|
property Data_BerthListSql :String read FListSql write FListSql;
|
||||||
|
property Data_BerthField :String read FBerthFieldName write FBerthFieldName;
|
||||||
|
property Data_StoreField :String read FStoreFieldName write FStoreFieldName;
|
||||||
|
|
||||||
|
property Data_BerthTable :String read FBerthTableName write FBerthTableName;
|
||||||
|
property Store_Name :String read FStore write FStore;
|
||||||
|
property Columns :Integer read FColumns write FColumns default 4;//表列数
|
||||||
|
|
||||||
|
{ Published declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls', [TAutoPanel]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.Setedit(Value :TEditorstyle);
|
||||||
|
begin
|
||||||
|
if FEditorstyle <> Value then
|
||||||
|
begin
|
||||||
|
FEditorstyle := Value;
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 为第I字段增加提示信息的方法}
|
||||||
|
procedure TAutoPanel.AddHits(ItemIndex :Integer; Hits :array of string);
|
||||||
|
var
|
||||||
|
m,n,i :Integer;
|
||||||
|
begin
|
||||||
|
|
||||||
|
if FEditorstyle = Tscombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:= 0 to m - 1 do
|
||||||
|
comEditors[ItemIndex].Items.Add(Hits[i]);
|
||||||
|
end
|
||||||
|
else if FEditorstyle = Tsedit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
edEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsMemo then
|
||||||
|
begin
|
||||||
|
n := Length(memoEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
memoEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.AKeyDown(Sender :TObject; var Key :Word; Shift :TShiftState);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.AProgressEditorChange(Sender :TObject);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.AKeyPress(Sender :TObject; var Key :Char);
|
||||||
|
begin
|
||||||
|
if (Sender is TComboBox) or (Sender is Tedit) or (Sender is TMemo) then
|
||||||
|
if Key=#13 then
|
||||||
|
(Owner as TForm).Perform(WM_NEXTDLGCTL, 0, 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.ClearHits(ItemIndex :Integer);
|
||||||
|
var
|
||||||
|
n :Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = Tscombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
if ItemIndex< n then comEditors[ItemIndex].Items.Clear;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = Tsedit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
if ItemIndex< n then edEditors[ItemIndex].Hint:='';;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsMemo then
|
||||||
|
begin
|
||||||
|
n := Length(MemoEditors);
|
||||||
|
if ItemIndex< n then MemoEditors[ItemIndex].Hint:='';;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TAutoPanel.Create(AOwner :TComponent);
|
||||||
|
begin
|
||||||
|
Inherited Create(AOWner);
|
||||||
|
FLeft := 20;
|
||||||
|
FTop := 20;
|
||||||
|
maxTextLen := 100;
|
||||||
|
maxLabelLen := 100;
|
||||||
|
FLineHeight := 15;
|
||||||
|
FTitleVisible := True;
|
||||||
|
FDataReadOnly := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建各字段的数据输入控件的方法}
|
||||||
|
procedure TAutoPanel.CreateEditors(var DS :TDataSource; cnnstr :String);
|
||||||
|
|
||||||
|
var
|
||||||
|
i,j,n,This_Index,TextHeight :Integer;
|
||||||
|
tmp_col0,Tmp_Row0,tmp_col1,Tmp_Row1 :Integer;
|
||||||
|
XXX :TStringList;
|
||||||
|
tmpFlag :Boolean;
|
||||||
|
begin
|
||||||
|
if (Store_Name = '')
|
||||||
|
or (Data_BerthTable = '')
|
||||||
|
or (DataField_BerthArea = '') then
|
||||||
|
exit;
|
||||||
|
{ 释放全部控件内存}
|
||||||
|
FreeEditors;
|
||||||
|
|
||||||
|
if DS = nil then exit;
|
||||||
|
if DataSource = nil then FDataSource := Ds;
|
||||||
|
if not DataSource.DataSet.Active then exit;
|
||||||
|
if (DataSource.DataSet is TAdoDataSet) = False then exit;
|
||||||
|
FPageCount := 0;
|
||||||
|
tmp_col1 := -1;
|
||||||
|
Tmp_Row1 := 0;
|
||||||
|
|
||||||
|
n := DataSource.DataSet.RecordCount;
|
||||||
|
if n <= 0 then exit;
|
||||||
|
DataSource.DataSet.DisableControls;
|
||||||
|
if maxLabelLen < maxTextLen then
|
||||||
|
maxTextLen := maxLabelLen;
|
||||||
|
|
||||||
|
{ 计算最大的标题长度及显示长度}
|
||||||
|
DataSource.DataSet.First;
|
||||||
|
{ 计算高度}
|
||||||
|
TextHeight := Canvas.TextHeight(DataSource.DataSet.Fields[0].DisplayLabel) + FLineHeight; //10;
|
||||||
|
|
||||||
|
{ 分配内存}
|
||||||
|
SetLength(Labels,n);
|
||||||
|
SetLength(ProgressBars,n);
|
||||||
|
SetLength(ProgressEditor,n);
|
||||||
|
SetLength(Shapes,n);
|
||||||
|
if Columns = 0 then Columns := 6;
|
||||||
|
try
|
||||||
|
tmpado := TadoDataset.Create(Owner);
|
||||||
|
tmpDs := TDatasource.Create(Owner);
|
||||||
|
tmpDs.DataSet := tmpado;
|
||||||
|
with tmpado do
|
||||||
|
begin
|
||||||
|
Active := False;
|
||||||
|
Fcnnstr := cnnstr;
|
||||||
|
tmpado.ConnectionString := Fcnnstr;
|
||||||
|
//tmpado.Connection := (DataSource.DataSet as TAdoDataset).Connection;
|
||||||
|
tmpado.CommandText := ' Select '+DataField_BerthArea+' '
|
||||||
|
+ ' from '+Data_BerthTable+' where '+DataField_BerthArea+' is not null'
|
||||||
|
+ ' and '+Data_StoreField+' = '''+Store_Name+''''
|
||||||
|
+ ' Group by '+DataField_BerthArea+' order by '+DataField_BerthArea+'';
|
||||||
|
Active := True;
|
||||||
|
FPageCount := RecordCount;
|
||||||
|
if FPageCount = 0 then exit;
|
||||||
|
|
||||||
|
first;
|
||||||
|
// 创建PageControl
|
||||||
|
FPageControl := TPageControl.Create(Owner);
|
||||||
|
FPageControl.Parent := Self;
|
||||||
|
FPageControl.Font.Name := '宋体';
|
||||||
|
FPageControl.Font.Size := 9;
|
||||||
|
FPageControl.Align := alClient;
|
||||||
|
FPageControl.Visible := False;
|
||||||
|
|
||||||
|
{ 分配载体内存}
|
||||||
|
setlength(FTabSheets,FPageCount+1);
|
||||||
|
setlength(FScrollBox,FPageCount+1);
|
||||||
|
XXX := TStringList.Create();
|
||||||
|
for j := 0 to FPageCount do
|
||||||
|
begin
|
||||||
|
{ FPageControl分页}
|
||||||
|
FTabSheets[j] := TTabSheet.Create(Owner);
|
||||||
|
FTabSheets[j].Parent := FPageControl;
|
||||||
|
FTabSheets[j].ParentFont := True;
|
||||||
|
FTabSheets[j].PageControl := FPageControl;
|
||||||
|
FTabSheets[j].Visible := True;
|
||||||
|
FTabSheets[j].PageIndex := j;
|
||||||
|
|
||||||
|
if j < FPageCount then
|
||||||
|
begin
|
||||||
|
FTabSheets[j].Caption := '库区:' + trim(fieldByName(DataField_BerthArea).AsString);
|
||||||
|
FTabSheets[j].Hint := trim(fieldByName(DataField_BerthArea).AsString);
|
||||||
|
XXX.Append(trim(fieldByName(DataField_BerthArea).AsString));
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
FTabSheets[j].Caption := '未指定库区';
|
||||||
|
FTabSheets[j].Hint := '';
|
||||||
|
XXX.Append('未指定库区');
|
||||||
|
end;
|
||||||
|
FTabSheets[j].ShowHint := False;
|
||||||
|
FTabSheets[j].Visible := True;
|
||||||
|
FTabSheets[j].Align := alClient;
|
||||||
|
|
||||||
|
//创建滚动盒
|
||||||
|
FScrollBox[j] := TScrollBox.Create(Owner);
|
||||||
|
FScrollBox[j].Visible := True;
|
||||||
|
FScrollBox[j].Parent := FTabSheets[j];
|
||||||
|
FScrollBox[j].Color := ClBlack;//clTeal;
|
||||||
|
FScrollBox[j].Align := alClient;
|
||||||
|
FScrollBox[j].Hint := FTabSheets[j].Hint;
|
||||||
|
FScrollBox[j].ShowHint := False;
|
||||||
|
|
||||||
|
next;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
if FEditorstyle = Tscombox then
|
||||||
|
SetLength(comEditors,n)
|
||||||
|
else if FEditorstyle = Tsedit then
|
||||||
|
SetLength(edEditors,n)
|
||||||
|
else
|
||||||
|
SetLength(MemoEditors,n);
|
||||||
|
|
||||||
|
|
||||||
|
{ 创建编辑}
|
||||||
|
for i := 0 to n - 1 do
|
||||||
|
begin
|
||||||
|
//DataField_BerthArea
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_BerthArea).AsVariant = null then
|
||||||
|
This_Index := FPageCount
|
||||||
|
else
|
||||||
|
This_Index := XXX.IndexOf(trim(DataSource.DataSet.Fieldbyname(DataField_BerthArea).Asstring));
|
||||||
|
|
||||||
|
tmpFlag := False;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_IconLeft).AsVariant <> null then
|
||||||
|
tmp_col0 := DataSource.DataSet.Fieldbyname(DataField_IconLeft).Asinteger -1
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
tmpFlag := True;
|
||||||
|
if tmp_col1 = Columns -1 then
|
||||||
|
begin
|
||||||
|
tmp_col1 := 0;
|
||||||
|
tmp_Row1 := tmp_Row1 +1;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
tmp_col1 := tmp_col1 + 1;
|
||||||
|
tmp_col0 := tmp_col1;
|
||||||
|
This_Index := FPageCount;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_IconTop).AsVariant <> null then
|
||||||
|
tmp_Row0 := DataSource.DataSet.Fieldbyname(DataField_IconTop).Asinteger - 1
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if not tmpFlag then
|
||||||
|
begin
|
||||||
|
if tmp_col1 = Columns - 1 then
|
||||||
|
begin
|
||||||
|
tmp_col1 := 0;
|
||||||
|
tmp_Row1 := tmp_Row1 +1;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
tmp_col1 := tmp_col1 + 1;
|
||||||
|
end;
|
||||||
|
tmp_Row0 := tmp_Row1;
|
||||||
|
This_Index := FPageCount;
|
||||||
|
end;
|
||||||
|
{ 创建标题}
|
||||||
|
Labels[i] := TLabel.Create(owner);
|
||||||
|
Labels[i].visible := FTitleVisible;
|
||||||
|
Labels[i].Parent := (FScrollBox[This_Index] as TScrollBox); // FScrollBox[This_Index];
|
||||||
|
Labels[i].Font.Name := '宋体';
|
||||||
|
Labels[i].Font.Size := 9;
|
||||||
|
Labels[i].Font.Color := ClBlue;
|
||||||
|
Labels[i].OnClick := LabelsClick;
|
||||||
|
//Labels[i].Font.Style := [FsBold];
|
||||||
|
Labels[i].Transparent := True;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Title).AsVariant <> null then
|
||||||
|
Labels[i].caption := DataSource.DataSet.Fieldbyname(DataField_Title).AsString
|
||||||
|
else
|
||||||
|
Labels[i].caption := '';
|
||||||
|
Labels[i].Hint := '库位:[' + Labels[i].caption + ']';
|
||||||
|
Labels[i].ShowHint := True;
|
||||||
|
if FEditorstyle = TsMemo then
|
||||||
|
begin
|
||||||
|
Labels[i].Top := FTop + tmp_Row0 * (TextHeight*3+30) + 2;
|
||||||
|
Labels[i].Left := FLeft + (maxLabelLen + 40) * tmp_Col0 + 10;
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Labels[i].Top := FTop + tmp_Row0 * (TextHeight*2+30) + 2;
|
||||||
|
Labels[i].Left := FLeft + (maxLabelLen + 30) * tmp_Col0 + 10;
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建进度条数据对象}
|
||||||
|
ProgressEditor[i] := Tedit.Create(Owner);
|
||||||
|
ProgressEditor[i].visible := False;
|
||||||
|
ProgressEditor[i].Parent := FScrollBox[This_Index];
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Progress).AsVariant <> null then
|
||||||
|
ProgressEditor[i].Text := DataSource.DataSet.Fieldbyname(DataField_Progress).AsString
|
||||||
|
else
|
||||||
|
ProgressEditor[i].Text := '0';
|
||||||
|
ProgressEditor[i].OnChange := AProgressEditorChange;
|
||||||
|
|
||||||
|
{ 创建信息显示数据对象}
|
||||||
|
if FEditorstyle = Tscombox then
|
||||||
|
begin
|
||||||
|
comEditors[i] := TComboBox.Create(Owner);
|
||||||
|
comEditors[i].Parent := FScrollBox[This_Index]; //Self;
|
||||||
|
comEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
comEditors[i].Width := maxTextLen;
|
||||||
|
comEditors[i].Top := Labels[i].Top+20;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Editor).AsVariant <> null then
|
||||||
|
comEditors[i].Text := DataSource.DataSet.Fieldbyname(DataField_Editor).AsString;
|
||||||
|
comEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
comEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TGauge.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox[This_Index];
|
||||||
|
ProgressBars[i].Font.name := '宋体';
|
||||||
|
ProgressBars[i].Font.Size := 9;
|
||||||
|
ProgressBars[i].ShowText := True;
|
||||||
|
ProgressBars[i].Font.Color := ClWindow;
|
||||||
|
ProgressBars[i].Kind := gkHorizontalBar;
|
||||||
|
ProgressBars[i].Left := comEditors[i].Left;
|
||||||
|
ProgressBars[i].Width := comEditors[i].Width;
|
||||||
|
ProgressBars[i].Height := 10;
|
||||||
|
ProgressBars[i].Top := comEditors[i].Top+comEditors[i].height+2;
|
||||||
|
ProgressBars[i].Progress := Round((DataSource.DataSet
|
||||||
|
.Fieldbyname(DataField_Progress).Ascurrency)*100);
|
||||||
|
end
|
||||||
|
else if FEditorstyle = Tsedit then
|
||||||
|
begin
|
||||||
|
edEditors[i] := Tedit.Create(Owner);
|
||||||
|
edEditors[i].Parent := FScrollBox[This_Index];
|
||||||
|
edEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
edEditors[i].Width := maxTextLen;
|
||||||
|
edEditors[i].Top := Labels[i].Top+20;
|
||||||
|
edEditors[i].ReadOnly := DataReadOnly;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Editor).AsVariant <> null then
|
||||||
|
edEditors[i].Text := DataSource.DataSet.Fieldbyname(DataField_Editor).AsString;
|
||||||
|
edEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
edEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TGauge.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox[This_Index];
|
||||||
|
ProgressBars[i].Font.name := '宋体';
|
||||||
|
ProgressBars[i].Font.Size := 9;
|
||||||
|
ProgressBars[i].ShowText := True;
|
||||||
|
ProgressBars[i].Font.Color := ClWindow;
|
||||||
|
ProgressBars[i].Kind := gkHorizontalBar;
|
||||||
|
ProgressBars[i].Left := edEditors[i].Left;
|
||||||
|
ProgressBars[i].Width := edEditors[i].Width;
|
||||||
|
ProgressBars[i].Height := 10;
|
||||||
|
ProgressBars[i].Top := edEditors[i].Top+edEditors[i].height+2;;
|
||||||
|
ProgressBars[i].Progress := Round((DataSource.DataSet
|
||||||
|
.Fieldbyname(DataField_Progress).Ascurrency)*100);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
MemoEditors[i] := Tmemo.Create(Owner);
|
||||||
|
MemoEditors[i].Parent := FScrollBox[This_Index];
|
||||||
|
MemoEditors[i].Left := Labels[i].Left;
|
||||||
|
MemoEditors[i].Width := maxTextLen;
|
||||||
|
MemoEditors[i].Top := Labels[i].Top+20;
|
||||||
|
MemoEditors[i].Height := 60;
|
||||||
|
MemoEditors[i].ReadOnly := DataReadOnly;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Editor).AsVariant <> null then
|
||||||
|
MemoEditors[i].Lines.Add(DataSource.DataSet.Fieldbyname(DataField_Editor).AsString);
|
||||||
|
MemoEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
MemoEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TGauge.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox[This_Index];
|
||||||
|
ProgressBars[i].Font.name := '宋体';
|
||||||
|
ProgressBars[i].Font.Size := 9;
|
||||||
|
ProgressBars[i].ShowText := False;
|
||||||
|
ProgressBars[i].Font.Color := ClWindow;
|
||||||
|
ProgressBars[i].Kind := gkVerticalBar;
|
||||||
|
ProgressBars[i].Left := MemoEditors[i].Left + MemoEditors[i].Width +1;
|
||||||
|
ProgressBars[i].Width := 10;
|
||||||
|
ProgressBars[i].Height := MemoEditors[i].Height;
|
||||||
|
ProgressBars[i].Top := MemoEditors[i].Top;
|
||||||
|
ProgressBars[i].Progress := Round((DataSource.DataSet
|
||||||
|
.Fieldbyname(DataField_Progress).Ascurrency)*100);
|
||||||
|
end;
|
||||||
|
if ProgressBars[i].Progress <= 20 then
|
||||||
|
ProgressBars[i].ForeColor := RGB(48,48,96)
|
||||||
|
else if (ProgressBars[i].Progress > 20) and (ProgressBars[i].Progress <= 40) then
|
||||||
|
ProgressBars[i].ForeColor := RGB(48,48,144)
|
||||||
|
else if (ProgressBars[i].Progress > 40) and (ProgressBars[i].Progress <= 60) then
|
||||||
|
ProgressBars[i].ForeColor := RGB(96,48,144)
|
||||||
|
else if (ProgressBars[i].Progress > 60) and (ProgressBars[i].Progress <= 80) then
|
||||||
|
ProgressBars[i].ForeColor := RGB(144,48,144)
|
||||||
|
else if ProgressBars[i].Progress > 80 then
|
||||||
|
ProgressBars[i].ForeColor := RGB(200,48,48);
|
||||||
|
|
||||||
|
Shapes[i] := TShape.Create(Owner);
|
||||||
|
Shapes[i].Parent := FScrollBox[This_Index];
|
||||||
|
Shapes[i].Left := Labels[i].Left - 10;
|
||||||
|
Shapes[i].top := Labels[i].Top - 10;
|
||||||
|
if FEditorstyle = TsMemo then
|
||||||
|
begin
|
||||||
|
Shapes[i].height := ProgressBars[i].height + Labels[i].height +20 +10;
|
||||||
|
Shapes[i].Width := (ProgressBars[i].left - Labels[i].left) + ProgressBars[i].Width + 20;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Shapes[i].height := (ProgressBars[i].Top - Labels[i].Top) + ProgressBars[i].Height + 20;
|
||||||
|
Shapes[i].Width := Labels[i].Width +20;
|
||||||
|
end;
|
||||||
|
Shapes[i].Brush.Color := clSkyBlue;
|
||||||
|
Shapes[i].Visible := True;
|
||||||
|
Shapes[i].SendToBack;
|
||||||
|
if not DataSource.DataSet.Eof then
|
||||||
|
DataSource.DataSet.next;
|
||||||
|
end;
|
||||||
|
DataSource.DataSet.EnableControls;
|
||||||
|
tmpado.Close;
|
||||||
|
XXX.Free;
|
||||||
|
if FPageControl.PageCount > 0 then
|
||||||
|
begin
|
||||||
|
FPageControl.ActivePageIndex := FPageControl.PageCount-1;
|
||||||
|
FPageControl.ActivePageIndex := 0;
|
||||||
|
end;
|
||||||
|
Finally
|
||||||
|
FPageControl.Visible := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TAutoPanel.Destroy;
|
||||||
|
begin
|
||||||
|
FreeEditors;
|
||||||
|
Inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAutoPanel.comEditor(Index :Integer) :TComboBox;
|
||||||
|
begin
|
||||||
|
if Index< Length(comEditors) then Result := comEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAutoPanel.edEditor(Index :Integer) :Tedit;
|
||||||
|
begin
|
||||||
|
if Index < Length(edEditors) then Result := edEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
function TAutoPanel.MemoEditor(Index :Integer) :TMemo;
|
||||||
|
begin
|
||||||
|
if Index< Length(MemoEditors) then Result := MemoEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.inti_Grid(sender :TObject);
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
// 创建FP_Parent
|
||||||
|
FP_Parent := TPanel.Create(Owner);
|
||||||
|
with FP_Parent Do
|
||||||
|
begin
|
||||||
|
Parent := Self;
|
||||||
|
Visible := False;
|
||||||
|
Font.Name := '宋体';
|
||||||
|
Font.Size := 9;
|
||||||
|
Font.Style:= [fsBold];
|
||||||
|
Align := AlNone;
|
||||||
|
BevelInner := bvLowered;
|
||||||
|
BevelOuter := bvRaised;
|
||||||
|
Width := 380;
|
||||||
|
Height := 250;
|
||||||
|
try
|
||||||
|
Left := round(((Sender as Tlabel).Parent.Width-380)/2);
|
||||||
|
Top := round(((Sender as Tlabel).Parent.height-250)/2);
|
||||||
|
except
|
||||||
|
Left := 0;
|
||||||
|
Top := 0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FP_Move := TMovePanel.Create(Owner);
|
||||||
|
with FP_Move do
|
||||||
|
begin
|
||||||
|
Parent := FP_Parent;
|
||||||
|
ParentFont := true;
|
||||||
|
BevelInner := bvLowered;
|
||||||
|
BevelOuter := bvRaised;
|
||||||
|
Height := 26;
|
||||||
|
Align := AlTop;
|
||||||
|
Color := clSkyBlue;
|
||||||
|
Caption := '';
|
||||||
|
OnDblClick := FP_MovePanelDblClick;
|
||||||
|
Visible := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FPass_Grid := TDBGrid.Create(Owner);
|
||||||
|
with FPass_Grid do
|
||||||
|
begin
|
||||||
|
Parent := FP_Parent;
|
||||||
|
ParentFont := true;
|
||||||
|
Font.Style:= [];
|
||||||
|
Align := AlClient;
|
||||||
|
Visible := True;
|
||||||
|
DataSource := TmpDs;
|
||||||
|
end;
|
||||||
|
except
|
||||||
|
FPass_Grid := Nil;
|
||||||
|
FP_Move := Nil;
|
||||||
|
FP_Parent := Nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//响应Labels[i]的Click事件
|
||||||
|
procedure TAutoPanel.LabelsClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
i :integer;
|
||||||
|
Tmp_Area,Tmp_Berth :String;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
if FP_Parent = nil then inti_Grid(Sender);
|
||||||
|
if FP_Parent = nil then exit;
|
||||||
|
Tmp_Berth := trim((Sender as Tlabel).Caption);
|
||||||
|
Tmp_Area := trim(((Sender as Tlabel).Parent as TScrollBox).Hint);
|
||||||
|
if tmpado.Active then
|
||||||
|
begin
|
||||||
|
if tmpado.FieldValues['库位'] <> null then
|
||||||
|
if tmpado.FieldByName('库位').AsString = Tmp_Berth then
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
screen.Cursor := crSQLWait;
|
||||||
|
//FP_Parent.Visible := False;
|
||||||
|
//FP_Parent.Left := FPageControl.Left + (Sender as Tlabel).Left + (Sender as Tlabel).Width + 28;
|
||||||
|
//FP_Parent.Top := FPageControl.Top + (Sender as Tlabel).top + (Sender as Tlabel).Height +4;
|
||||||
|
FP_Move.Caption := trim((Sender as Tlabel).Hint) + '明细列表';
|
||||||
|
with tmpado do
|
||||||
|
begin
|
||||||
|
DisableConTrols;
|
||||||
|
Active := False;
|
||||||
|
ConnectionString := Fcnnstr;
|
||||||
|
tmpado.CursorType := ctStatic;
|
||||||
|
tmpado.LockType := ltReadOnly;
|
||||||
|
CommandText := 'Exec '+Data_BerthListSql+' '''+Store_Name+''','''+Tmp_Area+''','''+Tmp_Berth+'''';
|
||||||
|
Active := True;
|
||||||
|
First;
|
||||||
|
EnableConTrols;
|
||||||
|
for i := 0 to Fields.Count -1 do
|
||||||
|
begin
|
||||||
|
Fields[i].Alignment := taCenter;
|
||||||
|
if i = 0 then
|
||||||
|
fields[i].DisplayWidth := 20
|
||||||
|
else
|
||||||
|
fields[i].DisplayWidth := 8;
|
||||||
|
|
||||||
|
Fpass_Grid.Columns[i].Title.Alignment := taCenter;
|
||||||
|
Fpass_Grid.Columns[i].Title.Font.Style:= [];
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
screen.Cursor := crDefault;
|
||||||
|
FP_Parent.Visible := True;
|
||||||
|
except
|
||||||
|
screen.Cursor := crDefault;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.FP_MovePanelDblClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FP_Parent.Visible := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// 内存的释放是要有顺序的!必须以创建的相反的顺序进行!尤其是当组件之间有父子关系时
|
||||||
|
procedure TAutoPanel.FreeEditors;
|
||||||
|
begin
|
||||||
|
if FPageControl <> nil then
|
||||||
|
begin
|
||||||
|
if FP_Parent <> nil then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
FPass_Grid.Free;
|
||||||
|
FP_Move.Free;
|
||||||
|
FP_Parent.Free;
|
||||||
|
except
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
FPass_Grid := nil;
|
||||||
|
FP_Move := nil;
|
||||||
|
FP_Parent := nil;
|
||||||
|
Shapes := nil;
|
||||||
|
ProgressBars := nil;
|
||||||
|
comEditors := nil;
|
||||||
|
edEditors := nil;
|
||||||
|
MemoEditors := nil;
|
||||||
|
FScrollBox := nil;
|
||||||
|
tmpDs.Free;
|
||||||
|
tmpado.Free;
|
||||||
|
FPageControl.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
380
T03贸易布匹检验/DbPanel/.svn/text-base/Dbpanel.pas.svn-base
Normal file
380
T03贸易布匹检验/DbPanel/.svn/text-base/Dbpanel.pas.svn-base
Normal file
|
|
@ -0,0 +1,380 @@
|
||||||
|
unit Dbpanel;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes,Graphics, Controls, Forms, Dialogs,
|
||||||
|
ExtCtrls, dbctrls, stdctrls, db, ADODB, ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TEditorstyle = (TsDbMemo,TsDBcombox,Tsdbedit);
|
||||||
|
|
||||||
|
type
|
||||||
|
TDBPanel = class(TPanel)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FEditorstyle:Teditorstyle;
|
||||||
|
FLeft: Integer;
|
||||||
|
FTop: Integer;
|
||||||
|
maxTextLen: Integer;
|
||||||
|
maxLabelLen: Integer;
|
||||||
|
FTitleVisible :Boolean;
|
||||||
|
FScrollBox: TScrollBox; {滚动控件}
|
||||||
|
FLineHeight: Integer;
|
||||||
|
|
||||||
|
//数据数组控件,动态生成
|
||||||
|
MemoEditors: array of TDBMemo;
|
||||||
|
comEditors: array of TDBCombobox;
|
||||||
|
edEditors: array of TDBedit;
|
||||||
|
ProgressEditor :array of TDBedit;
|
||||||
|
Labels: array of TDBText; //字段标题,动态生成
|
||||||
|
ProgressBars: array of TProgressBar;
|
||||||
|
|
||||||
|
FDataSource: TDataSource; // 数据源
|
||||||
|
FDataField_A: String; // DataField
|
||||||
|
FDataField_B: String; // DataField
|
||||||
|
FDataField_C: String; // DataField
|
||||||
|
FColumns: Integer; //显示列数
|
||||||
|
procedure FreeEditors; //释放数据输入控件的内存
|
||||||
|
procedure AKeyDown(Sender:TObject; var Key: Word; Shift:TShiftState);
|
||||||
|
procedure AKeyPress(Sender:TObject; var Key: Char);
|
||||||
|
procedure AProgressEditorChange(Sender: TObject);
|
||||||
|
function comEditor(Index: Integer):TDBComboBox;
|
||||||
|
function edEditor(Index: Integer):TDBedit;
|
||||||
|
function MemoEditor(Index: Integer): TDBMemo;
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
|
||||||
|
public
|
||||||
|
constructor Create(AOwner:TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
function Get_TitleVisible() :Boolean;
|
||||||
|
procedure Set_TitleVisible(Value : Boolean);
|
||||||
|
procedure Setedit(Value : TEditorstyle);
|
||||||
|
procedure CreateEditors(DS: TDataSource; ColCount: Integer); //创建各字段的数据输入控件
|
||||||
|
procedure ClearHits(ItemIndex: Integer);
|
||||||
|
procedure AddHits(ItemIndex:Integer; Hits: array of string);
|
||||||
|
|
||||||
|
{ Public declarations }
|
||||||
|
published
|
||||||
|
|
||||||
|
property LimitLeft: Integer read FLeft write FLeft default 10;
|
||||||
|
property LimitTop: Integer read FTop write FTop default 10;
|
||||||
|
property Editorstyle : TEditorstyle read FEditorstyle write Setedit default tsdbMemo;
|
||||||
|
property EditorWidth: Integer read maxTextLen write maxTextLen default 100;
|
||||||
|
property TitleWidth: Integer read maxLabelLen write maxLabelLen default 100;
|
||||||
|
property TitleVisible : Boolean read Get_TitleVisible write Set_TitleVisible default True;
|
||||||
|
property LineHeight: Integer read FLineHeight write FLineHeight default 15;
|
||||||
|
//property OnOkClick: TNotifyEvent read FClick write FClick;
|
||||||
|
property DataSource: TDataSource read FDataSource write FDataSource; //数据源
|
||||||
|
property DataField_Editor: String read FDataField_A write FDataField_A;
|
||||||
|
property DataField_Title: String read FDataField_B write FDataField_B;
|
||||||
|
property DataField_Progress: String read FDataField_C write FDataField_C;
|
||||||
|
property Columns: Integer read FColumns write FColumns default 4;//表列数
|
||||||
|
|
||||||
|
{ Published declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls', [TDBPanel]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBPanel.Get_TitleVisible() :Boolean;
|
||||||
|
begin
|
||||||
|
Result := FTitleVisible;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.Set_TitleVisible(Value : Boolean);
|
||||||
|
begin
|
||||||
|
FTitleVisible := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.Setedit(Value : TEditorstyle);
|
||||||
|
begin
|
||||||
|
if FEditorstyle <> Value then
|
||||||
|
begin
|
||||||
|
FEditorstyle := Value;
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 为第I字段增加提示信息的方法}
|
||||||
|
procedure TDBPanel.AddHits(ItemIndex:
|
||||||
|
Integer; Hits: array of string);
|
||||||
|
var
|
||||||
|
m,n,i: Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
comEditors[ItemIndex].Items.Add(Hits[i]);
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
edEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
n := Length(memoEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
memoEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.AKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
|
begin
|
||||||
|
if (Sender is TDBComboBox) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBComboBox).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBComboBox).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else if (Sender is TDBedit) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBedit).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBedit).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else if (Sender is TDBMemo) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBMemo).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBMemo).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.AProgressEditorChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.AKeyPress(Sender: TObject; var Key: Char);
|
||||||
|
begin
|
||||||
|
if (Sender is TDBComboBox) or (Sender is TDBedit) or (Sender is TDBMemo) then
|
||||||
|
if Key=#13 then
|
||||||
|
(Owner as TForm).Perform(WM_NEXTDLGCTL, 0, 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.ClearHits(ItemIndex: Integer);
|
||||||
|
var
|
||||||
|
n: Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
if ItemIndex< n then comEditors[ItemIndex].Items.Clear;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
if ItemIndex< n then edEditors[ItemIndex].Hint:='';;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
n := Length(MemoEditors);
|
||||||
|
if ItemIndex< n then MemoEditors[ItemIndex].Hint:='';;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TDBPanel.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
Inherited Create(AOWner);
|
||||||
|
FLeft :=10;
|
||||||
|
FTop := 10;
|
||||||
|
maxTextLen := 100;
|
||||||
|
maxLabelLen := 100;
|
||||||
|
FLineHeight := 15;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建各字段的数据输入控件的方法}
|
||||||
|
procedure TDBPanel.CreateEditors(DS: TDataSource; ColCount: Integer);
|
||||||
|
var
|
||||||
|
i, n, RowCount: Integer;
|
||||||
|
TextHeight: Integer;
|
||||||
|
begin
|
||||||
|
if DataSource = nil then exit;
|
||||||
|
if not DataSource.DataSet.Active then exit;
|
||||||
|
n := DataSource.DataSet.RecordCount;
|
||||||
|
if n > 0 then
|
||||||
|
begin
|
||||||
|
DataSource.DataSet.DisableControls;
|
||||||
|
if maxLabelLen < maxTextLen then
|
||||||
|
maxTextLen := maxLabelLen;
|
||||||
|
|
||||||
|
{ 计算最大的标题长度及显示长度}
|
||||||
|
DataSource.DataSet.First;
|
||||||
|
{ 计算高度}
|
||||||
|
TextHeight := Canvas.TextHeight(DataSource.DataSet.Fields[0].DisplayLabel) + FLineHeight; //10;
|
||||||
|
{ 计算行列数}
|
||||||
|
if (FColumns = 0) or (FColumns <> ColCount) then FColumns := ColCount;
|
||||||
|
RowCount := n div Columns;
|
||||||
|
if n mod Columns <> 0 then inc(RowCount);
|
||||||
|
{ 分配内存}
|
||||||
|
FreeEditors;
|
||||||
|
SetLength(Labels,n);
|
||||||
|
SetLength(ProgressBars,n);
|
||||||
|
SetLength(ProgressEditor,n);
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
SetLength(comEditors,n)
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
SetLength(edEditors,n)
|
||||||
|
else
|
||||||
|
SetLength(MemoEditors,n);
|
||||||
|
|
||||||
|
{ 创建滚动盒}
|
||||||
|
FScrollBox := TScrollBox.Create(Owner);
|
||||||
|
FScrollBox.Visible := False;
|
||||||
|
FScrollBox.Parent := Self;
|
||||||
|
FScrollBox.Align := alClient;
|
||||||
|
{ 创建编辑}
|
||||||
|
for i := 0 to n - 1 do
|
||||||
|
begin
|
||||||
|
{ 创建标题}
|
||||||
|
Labels[i] := TDBText.Create(Owner);
|
||||||
|
Labels[i].visible := FTitleVisible;
|
||||||
|
Labels[i].Parent := FScrollBox;
|
||||||
|
Labels[i].DataField := DataField_Title;
|
||||||
|
Labels[i].DataSource := DataSource;
|
||||||
|
Labels[i].Left := FLeft + (maxLabelLen + 36) * (i div RowCount)+16; //+maxTextLen
|
||||||
|
if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
Labels[i].Top := FTop + (i mod RowCount) * (TextHeight*4+10) + 2;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Labels[i].Top := FTop + (i mod RowCount) * (TextHeight*2+10) + 2;
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
end;
|
||||||
|
{ 创建进度条数据对象}
|
||||||
|
ProgressEditor[i] := TDBedit.Create(Owner);
|
||||||
|
ProgressEditor[i].visible := False;
|
||||||
|
ProgressEditor[i].Parent := FScrollBox;
|
||||||
|
ProgressEditor[i].DataField := DataField_Progress;
|
||||||
|
ProgressEditor[i].DataSource := DataSource;
|
||||||
|
ProgressEditor[i].OnChange := AProgressEditorChange;
|
||||||
|
|
||||||
|
{ 创建信息显示数据对象}
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
comEditors[i] := TDBComboBox.Create(Owner);
|
||||||
|
comEditors[i].Parent := FScrollBox; //Self;
|
||||||
|
comEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
comEditors[i].Width := maxTextLen;
|
||||||
|
comEditors[i].Top := Labels[i].Top+20;
|
||||||
|
comEditors[i].DataSource := DataSource;
|
||||||
|
comEditors[i].DataField := DataField_Editor;
|
||||||
|
comEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
comEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TProgressBar.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox;
|
||||||
|
ProgressBars[i].Orientation := pbHorizontal;
|
||||||
|
ProgressBars[i].Left := comEditors[i].Left;
|
||||||
|
ProgressBars[i].Width := comEditors[i].Width;
|
||||||
|
ProgressBars[i].Height := 10;
|
||||||
|
ProgressBars[i].Top := comEditors[i].Top+comEditors[i].height+2;
|
||||||
|
ProgressBars[i].Position := i*4
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
edEditors[i] := TDBedit.Create(Owner);
|
||||||
|
edEditors[i].Parent := FScrollBox;
|
||||||
|
edEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
edEditors[i].Width := maxTextLen;
|
||||||
|
edEditors[i].Top := Labels[i].Top+20;
|
||||||
|
edEditors[i].DataSource := DataSource;
|
||||||
|
edEditors[i].DataField := DataField_Editor;
|
||||||
|
edEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
edEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TProgressBar.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox;
|
||||||
|
ProgressBars[i].Orientation := pbHorizontal;
|
||||||
|
ProgressBars[i].Left := edEditors[i].Left;
|
||||||
|
ProgressBars[i].Width := edEditors[i].Width;
|
||||||
|
ProgressBars[i].Height := 10;
|
||||||
|
ProgressBars[i].Top := edEditors[i].Top+edEditors[i].height+2;;
|
||||||
|
ProgressBars[i].Position := i*4
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
MemoEditors[i] := TDBmemo.Create(Owner);
|
||||||
|
MemoEditors[i].Parent := FScrollBox;
|
||||||
|
MemoEditors[i].Left := Labels[i].Left;
|
||||||
|
MemoEditors[i].Width := maxTextLen;
|
||||||
|
MemoEditors[i].Top := Labels[i].Top+20;
|
||||||
|
MemoEditors[i].DataSource := DataSource;
|
||||||
|
MemoEditors[i].DataField := DataField_Editor;
|
||||||
|
MemoEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
MemoEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TProgressBar.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox;
|
||||||
|
ProgressBars[i].Orientation := pbVertical;
|
||||||
|
ProgressBars[i].Left := MemoEditors[i].Left + MemoEditors[i].Width +1;
|
||||||
|
ProgressBars[i].Width := 10;
|
||||||
|
ProgressBars[i].Height := MemoEditors[i].Height;
|
||||||
|
ProgressBars[i].Top := MemoEditors[i].Top;
|
||||||
|
ProgressBars[i].Position := i*4
|
||||||
|
end;
|
||||||
|
if not DataSource.DataSet.Eof then
|
||||||
|
DataSource.DataSet.next;
|
||||||
|
end;
|
||||||
|
DataSource.DataSet.EnableControls;
|
||||||
|
FScrollBox.Visible := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TDBPanel.Destroy;
|
||||||
|
begin
|
||||||
|
FreeEditors;
|
||||||
|
Inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBPanel.comEditor(Index: Integer): TDBComboBox;
|
||||||
|
begin
|
||||||
|
if Index< Length(comEditors) then Result := comEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBPanel.edEditor(Index: Integer): TDBedit;
|
||||||
|
begin
|
||||||
|
if Index < Length(edEditors) then Result := edEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
function TDBPanel.MemoEditor(Index: Integer): TDBMemo;
|
||||||
|
begin
|
||||||
|
if Index< Length(MemoEditors) then Result := MemoEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// 内存的释放是要有顺序的!必须以创建的相反的顺序进行!尤其是当组件之间有父子关系时
|
||||||
|
procedure TDBPanel.FreeEditors;
|
||||||
|
begin
|
||||||
|
if FScrollBox <> nil then
|
||||||
|
begin
|
||||||
|
comEditors := nil;
|
||||||
|
edEditors := nil;
|
||||||
|
MemoEditors := nil;
|
||||||
|
FScrollBox.Free;
|
||||||
|
FScrollBox := nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/JKFootpanel.dcu.svn-base
Normal file
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/JKFootpanel.dcu.svn-base
Normal file
Binary file not shown.
339
T03贸易布匹检验/DbPanel/.svn/text-base/JKFootpanel.pas.svn-base
Normal file
339
T03贸易布匹检验/DbPanel/.svn/text-base/JKFootpanel.pas.svn-base
Normal file
|
|
@ -0,0 +1,339 @@
|
||||||
|
unit JKFootpanel;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes,Graphics, Controls, Forms, Dialogs,
|
||||||
|
ExtCtrls, dbctrls, stdctrls, db, ADODB, ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TEditorstyle = (TsDbMemo,TsDBcombox,Tsdbedit);
|
||||||
|
|
||||||
|
type
|
||||||
|
TJKFootpanel = class(TPanel)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FLeft: Integer;
|
||||||
|
FTop: Integer;
|
||||||
|
maxTextLen: Integer;
|
||||||
|
maxLabelLen: Integer;
|
||||||
|
FScrollBox: TScrollBox; {滚动控件}
|
||||||
|
FLineHeight: Integer;
|
||||||
|
FEditorstyle:Teditorstyle;
|
||||||
|
FTitleVisible :Boolean;
|
||||||
|
//数据数组控件,动态生成
|
||||||
|
MemoEditors :array of TDBMemo;
|
||||||
|
comEditors :array of TDBCombobox;
|
||||||
|
edEditors :array of TDBedit;
|
||||||
|
Labels :array of TLAbel; //字段标题,动态生成
|
||||||
|
FDataSource :TDataSource; // 数据源
|
||||||
|
FColumns :Integer; //显示列数
|
||||||
|
procedure FreeEditors; //释放数据输入控件的内存
|
||||||
|
procedure AKeyDown(Sender :TObject; var Key: Word; Shift:TShiftState);
|
||||||
|
procedure AKeyPress(Sender :TObject; var Key: Char);
|
||||||
|
function comEditor(Index :Integer):TDBComboBox;
|
||||||
|
function edEditor(Index :Integer):TDBedit;
|
||||||
|
function MemoEditor(Index :Integer): TDBMemo;
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
|
||||||
|
public
|
||||||
|
constructor Create(AOwner :TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
procedure Setedit(Value :TEditorstyle);
|
||||||
|
procedure ClearHits(ItemIndex :Integer);
|
||||||
|
procedure AddHits(ItemIndex :Integer; Hits :array of string);
|
||||||
|
Function CreateEditors(DS :TDataSource; ColCount :Integer) :integer; //创建各字段的数据输入控件
|
||||||
|
|
||||||
|
{ Public declarations }
|
||||||
|
published
|
||||||
|
|
||||||
|
property LimitLeft :Integer read FLeft write FLeft default 10;
|
||||||
|
property LimitTop :Integer read FTop write FTop default 10;
|
||||||
|
property Editorstyle :TEditorstyle read FEditorstyle write FEditorstyle default Tsdbedit;
|
||||||
|
property EditorWidth :Integer read maxTextLen write maxTextLen default 100;
|
||||||
|
property TitleWidth :Integer read maxLabelLen write maxLabelLen default 100;
|
||||||
|
property LineHeight :Integer read FLineHeight write FLineHeight default 15;
|
||||||
|
property TitleVisible :Boolean read FTitleVisible write FTitleVisible default True;
|
||||||
|
property DataSource :TDataSource read FDataSource write FDataSource; //数据源
|
||||||
|
property Columns :Integer read FColumns write FColumns default 4;//表列数
|
||||||
|
|
||||||
|
{ Published declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
constructor TJKFootpanel.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
Inherited Create(AOWner);
|
||||||
|
FLeft :=16;
|
||||||
|
FTop := 10;
|
||||||
|
maxTextLen := 100;
|
||||||
|
maxLabelLen := 100;
|
||||||
|
FLineHeight := 15;
|
||||||
|
FTitleVisible := True;
|
||||||
|
Editorstyle := Tsdbedit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls', [TJKFootpanel]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TJKFootpanel.Setedit(Value : TEditorstyle);
|
||||||
|
begin
|
||||||
|
if FEditorstyle <> Value then
|
||||||
|
begin
|
||||||
|
FEditorstyle := Value;
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 为第I字段增加提示信息的方法}
|
||||||
|
procedure TJKFootpanel.AddHits(ItemIndex:
|
||||||
|
Integer; Hits: array of string);
|
||||||
|
var
|
||||||
|
m,n,i: Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
comEditors[ItemIndex].Items.Add(Hits[i]);
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
edEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
n := Length(memoEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
memoEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJKFootpanel.AKeyPress(Sender: TObject; var Key: Char);
|
||||||
|
begin
|
||||||
|
if (Sender is TDBComboBox) or (Sender is TDBedit) or (Sender is TDBMemo) then
|
||||||
|
if Key=#13 then
|
||||||
|
(Owner as TForm).Perform(WM_NEXTDLGCTL, 0, 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJKFootpanel.ClearHits(ItemIndex: Integer);
|
||||||
|
var
|
||||||
|
n: Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
if ItemIndex< n then comEditors[ItemIndex].Items.Clear;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
if ItemIndex< n then edEditors[ItemIndex].Hint:='';;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
n := Length(MemoEditors);
|
||||||
|
if ItemIndex< n then MemoEditors[ItemIndex].Hint:='';;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建各字段的数据输入控件的方法}
|
||||||
|
Function TJKFootpanel.CreateEditors(DS: TDataSource; ColCount: Integer):Integer ;
|
||||||
|
var
|
||||||
|
i, n, RowCount: Integer;
|
||||||
|
TextHeight: Integer;
|
||||||
|
begin
|
||||||
|
result := 120;
|
||||||
|
if DataSource = nil then exit;
|
||||||
|
if not DataSource.DataSet.Active then exit;
|
||||||
|
Columns := ColCount;
|
||||||
|
if Columns = 0 then exit;
|
||||||
|
n := DataSource.DataSet.fieldCount;
|
||||||
|
if n > 0 then
|
||||||
|
begin
|
||||||
|
DataSource.DataSet.DisableControls;
|
||||||
|
if maxLabelLen < maxTextLen then
|
||||||
|
maxTextLen := maxLabelLen;
|
||||||
|
|
||||||
|
{ 计算最大的标题长度及显示长度}
|
||||||
|
DataSource.DataSet.First;
|
||||||
|
{ 计算高度}
|
||||||
|
TextHeight := Canvas.TextHeight(DataSource.DataSet.Fields[0].DisplayLabel) + FLineHeight; //10;
|
||||||
|
{ 计算行列数}
|
||||||
|
if Columns > n then
|
||||||
|
Columns := n
|
||||||
|
else
|
||||||
|
Columns := ColCount;
|
||||||
|
|
||||||
|
RowCount := n div Columns;
|
||||||
|
if n mod Columns <> 0 then inc(RowCount);
|
||||||
|
{ 分配内存}
|
||||||
|
FreeEditors;
|
||||||
|
SetLength(Labels,n);
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
SetLength(comEditors,n)
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
SetLength(edEditors,n)
|
||||||
|
else
|
||||||
|
SetLength(MemoEditors,n);
|
||||||
|
|
||||||
|
{ 创建滚动盒}
|
||||||
|
FScrollBox := TScrollBox.Create(Owner);
|
||||||
|
FScrollBox.Visible := False;
|
||||||
|
FScrollBox.Parent := Self;
|
||||||
|
FScrollBox.Align := alClient;
|
||||||
|
//FScrollBox.Color := clSkyBlue;
|
||||||
|
FScrollBox.OnDblClick := OnDblClick;
|
||||||
|
{ 创建编辑}
|
||||||
|
for i := 0 to n - 1 do
|
||||||
|
begin
|
||||||
|
{ 创建标题}
|
||||||
|
Labels[i] := TLabel.Create(Owner);
|
||||||
|
Labels[i].visible := TitleVisible;
|
||||||
|
Labels[i].Parent := FScrollBox;
|
||||||
|
Labels[i].Caption := DataSource.DataSet.Fields[i].FieldName;
|
||||||
|
Labels[i].Left := FLeft + (maxLabelLen + 16) * (i div RowCount)+ 2; //+maxTextLen
|
||||||
|
if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
Labels[i].Top := FTop + (i mod RowCount) * (TextHeight*2+4) + 12;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
Labels[i].Top := FTop + (i mod RowCount) * (TextHeight*1 +12)
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建信息显示数据对象}
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
comEditors[i] := TDBComboBox.Create(Owner);
|
||||||
|
comEditors[i].Parent := FScrollBox; //Self;
|
||||||
|
comEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
comEditors[i].Width := maxTextLen;
|
||||||
|
comEditors[i].Top := Labels[i].Top+15;
|
||||||
|
comEditors[i].DataSource := DataSource;
|
||||||
|
comEditors[i].DataField := DataSource.DataSet.Fields[i].FieldName;
|
||||||
|
comEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
comEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
comEditors[i].Font.Color := ClBlue;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
edEditors[i] := TDBedit.Create(Owner);
|
||||||
|
edEditors[i].Parent := FScrollBox;
|
||||||
|
edEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
edEditors[i].Width := maxTextLen;
|
||||||
|
edEditors[i].Top := Labels[i].Top+15;
|
||||||
|
edEditors[i].DataSource := DataSource;
|
||||||
|
edEditors[i].DataField := DataSource.DataSet.Fields[i].FieldName;
|
||||||
|
edEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
edEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
edEditors[i].Font.Color := ClBlue;
|
||||||
|
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
MemoEditors[i] := TDBmemo.Create(Owner);
|
||||||
|
MemoEditors[i].Parent := FScrollBox;
|
||||||
|
MemoEditors[i].Left := Labels[i].Left;
|
||||||
|
MemoEditors[i].Width := maxTextLen;
|
||||||
|
MemoEditors[i].Top := Labels[i].Top+15;
|
||||||
|
MemoEditors[i].DataSource := DataSource;
|
||||||
|
MemoEditors[i].DataField := DataSource.DataSet.Fields[i].FieldName;
|
||||||
|
MemoEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
MemoEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
MemoEditors[i].Font.Color := ClBlue;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if FEditorstyle = TsDBMemo then
|
||||||
|
result := RowCount*TextHeight*4 +20
|
||||||
|
else
|
||||||
|
result := RowCount*TextHeight*2 +20;
|
||||||
|
DataSource.DataSet.EnableControls;
|
||||||
|
FScrollBox.Visible := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TJKFootpanel.Destroy;
|
||||||
|
begin
|
||||||
|
FreeEditors;
|
||||||
|
Inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TJKFootpanel.comEditor(Index: Integer): TDBComboBox;
|
||||||
|
begin
|
||||||
|
if Index< Length(comEditors) then Result := comEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TJKFootpanel.edEditor(Index: Integer): TDBedit;
|
||||||
|
begin
|
||||||
|
if Index < Length(edEditors) then Result := edEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
function TJKFootpanel.MemoEditor(Index: Integer): TDBMemo;
|
||||||
|
begin
|
||||||
|
if Index< Length(MemoEditors) then Result := MemoEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// 内存的释放是要有顺序的!必须以创建的相反的顺序进行!尤其是当组件之间有父子关系时
|
||||||
|
procedure TJKFootpanel.FreeEditors;
|
||||||
|
begin
|
||||||
|
if FScrollBox <> nil then
|
||||||
|
begin
|
||||||
|
comEditors := nil;
|
||||||
|
edEditors := nil;
|
||||||
|
MemoEditors := nil;
|
||||||
|
FScrollBox.Free;
|
||||||
|
FScrollBox := nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TJKFootpanel.AKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
|
begin
|
||||||
|
{
|
||||||
|
if (Sender is TDBComboBox) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBComboBox).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBComboBox).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else if (Sender is TDBedit) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBedit).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBedit).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else if (Sender is TDBMemo) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBMemo).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBMemo).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/JkPanel.dcu.svn-base
Normal file
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/JkPanel.dcu.svn-base
Normal file
Binary file not shown.
1123
T03贸易布匹检验/DbPanel/.svn/text-base/JkPanel.pas.svn-base
Normal file
1123
T03贸易布匹检验/DbPanel/.svn/text-base/JkPanel.pas.svn-base
Normal file
File diff suppressed because it is too large
Load Diff
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/L_DBDateTime.dcr.svn-base
Normal file
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/L_DBDateTime.dcr.svn-base
Normal file
Binary file not shown.
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/L_DBDateTime.dcu.svn-base
Normal file
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/L_DBDateTime.dcu.svn-base
Normal file
Binary file not shown.
143
T03贸易布匹检验/DbPanel/.svn/text-base/L_DBDateTime.pas.svn-base
Normal file
143
T03贸易布匹检验/DbPanel/.svn/text-base/L_DBDateTime.pas.svn-base
Normal file
|
|
@ -0,0 +1,143 @@
|
||||||
|
unit L_DBDateTime;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,db,dbtables,dbctrls,Dialogs,
|
||||||
|
ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TDBDateTime = class(TDateTimePicker)
|
||||||
|
private
|
||||||
|
FDataLink:TFieldDataLink;
|
||||||
|
//TFieldDataLink是TDataLink的派生类,
|
||||||
|
// 处理单个字段与DataSource的交互
|
||||||
|
procedure DataChange(sender:Tobject);
|
||||||
|
//当DataSet的记录改变(如浏览记录)
|
||||||
|
// 时触发OnDataChange
|
||||||
|
// 事件,DataChange将作为该事件的事件处理句柄
|
||||||
|
procedure UpdateData(sender:Tobject);
|
||||||
|
//更新DataSet前触发OnUpdateData事件,
|
||||||
|
// UpdateData将作为该事件的事件处理句柄
|
||||||
|
function GetDataSource:TDataSource;
|
||||||
|
procedure SetdataSource(value:TDataSource);
|
||||||
|
Function GetDataField:String;
|
||||||
|
procedure SetdataField(Value:String);
|
||||||
|
procedure CMexit(var Message:TCMExit);
|
||||||
|
message CM_EXIT;//当控件失去焦点时触发CM_EXIT消息
|
||||||
|
protected
|
||||||
|
procedure Change;override;//控件中日期、
|
||||||
|
// 时间改变时触发OnChange事件
|
||||||
|
procedure Notification(AComponent:TComponent;
|
||||||
|
Operation:Toperation);override;
|
||||||
|
//当某一控件从FORM上移走时DELPHI的
|
||||||
|
// IDE调用该方法通知其它控件
|
||||||
|
public
|
||||||
|
constructor Create(AOwner:Tcomponent);override;
|
||||||
|
destructor Destroy;override;
|
||||||
|
published
|
||||||
|
property DataSource:TDataSource read GetDataSource
|
||||||
|
write SetDataSource;//为控件增加DataSource属性,
|
||||||
|
// 使它能与DataSource构件连接
|
||||||
|
property DataField:String read GetDataField
|
||||||
|
write SetDataField;
|
||||||
|
end;//为控件增加DataField属性,
|
||||||
|
// 使它指向代表某一字段的TField对象
|
||||||
|
|
||||||
|
procedure Register;//注册构件
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure TDBDateTime.CMExit;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
FDataLink.UpdateRecord;
|
||||||
|
//控件失去焦点时更新DataSet,
|
||||||
|
// 这将触发OnUpdateData事件
|
||||||
|
except
|
||||||
|
Setfocus;
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
DoExit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TDBDateTime.Create(Aowner:Tcomponent);
|
||||||
|
begin
|
||||||
|
inherited Create(Aowner);
|
||||||
|
//创建DataLink对象,挂接OnDataChange、
|
||||||
|
//OnUpdateData事件处理句柄
|
||||||
|
FDataLink:=TFieldDataLInk.Create;
|
||||||
|
FDataLink.OnDataChange:=DataChange;
|
||||||
|
FDataLink.OnUpdateData:=Updatedata;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Destructor TDBDateTime.Destroy;
|
||||||
|
begin
|
||||||
|
FDataLink.OnDataChange:=nil;
|
||||||
|
FDataLink.OnUpdateData:=nil;
|
||||||
|
FDataLink.Free;
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBDateTime.GetdataSource:TdataSource;
|
||||||
|
begin
|
||||||
|
result:=FDataLink.DataSource;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Procedure TDBDateTime.SetDataSource
|
||||||
|
(Value:TDataSource);
|
||||||
|
begin
|
||||||
|
FDataLink.DataSource:=Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBDateTime.GetDatafield:String;
|
||||||
|
begin
|
||||||
|
result:=FDataLink.FieldName;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBDateTime.SetDataField(value:String);
|
||||||
|
begin
|
||||||
|
FdataLink.FieldName:=value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBDateTime.DataChange(Sender:Tobject);
|
||||||
|
begin
|
||||||
|
DateTime:=now;
|
||||||
|
//若控件连了活动的DataSet则数据集变动时
|
||||||
|
//控件显示当前记录的相应字段值
|
||||||
|
if FDataLink.Field<>nil then
|
||||||
|
if FDataLink.Field.Text<>'' then
|
||||||
|
DateTime:=FDatalink.Field.AsDateTime;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Procedure TDBDateTime.UpdateData(sender:Tobject);
|
||||||
|
begin
|
||||||
|
FDatalink.Field.AsDateTime:=DateTime;
|
||||||
|
//用控件中的日期、时间更新相应字段
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBDateTime.Change;
|
||||||
|
begin
|
||||||
|
//当用户改变了控件中的内容时将DataSet置为编辑状态
|
||||||
|
FDataLink.Modified;
|
||||||
|
if not FDataLink.Editing then
|
||||||
|
FdataLink.Edit;
|
||||||
|
inherited Change;
|
||||||
|
end;
|
||||||
|
procedure TDBDateTime.Notification
|
||||||
|
(AComponent:TComponent;Operation:TOperation);
|
||||||
|
begin
|
||||||
|
inherited Notification(Acomponent,Operation);
|
||||||
|
//当与控件相连的TdataSource
|
||||||
|
// 被删除时将控件的DataSource属性置为空
|
||||||
|
if (Operation=opRemove) and (FDataLink<>nil)
|
||||||
|
and (AComponent=Datasource) then
|
||||||
|
DataSource:=nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls',[TDBDateTime]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/MovePanel.dcu.svn-base
Normal file
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/MovePanel.dcu.svn-base
Normal file
Binary file not shown.
84
T03贸易布匹检验/DbPanel/.svn/text-base/MovePanel.pas.svn-base
Normal file
84
T03贸易布匹检验/DbPanel/.svn/text-base/MovePanel.pas.svn-base
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
unit MovePanel;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Windows, Classes, Controls,ExtCtrls;
|
||||||
|
type
|
||||||
|
TMovePanel = class(TPanel) //这个控件是继承Tpanel类的
|
||||||
|
private
|
||||||
|
PrePoint:TPoint;
|
||||||
|
Down:Boolean;
|
||||||
|
{ Private declarations }
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
public
|
||||||
|
constructor Create(AOwner:TComponent);
|
||||||
|
override;
|
||||||
|
//重载鼠标事件,抢先处理消息
|
||||||
|
procedure MouseDown(Button: TMouseButton;
|
||||||
|
Shift: TShiftState; X, Y: Integer);override;
|
||||||
|
procedure MouseUp(Button: TMouseButton;
|
||||||
|
Shift: TShiftState; X, Y: Integer);override;
|
||||||
|
procedure MouseMove(Shift: TShiftState;
|
||||||
|
X, Y: Integer);override;
|
||||||
|
{ Public declarations }
|
||||||
|
published
|
||||||
|
{ Published declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
constructor TMovePanel.Create(AOwner:TComponent);
|
||||||
|
begin
|
||||||
|
inherited Create(AOwner); //继承父类的Create方法
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMovePanel.MouseDown(Button:
|
||||||
|
TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
|
begin
|
||||||
|
if (Button=MBLeft) then
|
||||||
|
begin
|
||||||
|
Down:=true;
|
||||||
|
GetCursorPos(PrePoint);
|
||||||
|
end;
|
||||||
|
//如果方法已存在,就触发相应事件去调用它,若不加此语句会造成访存异常
|
||||||
|
if assigned(OnMouseDown) then
|
||||||
|
OnMouseDown(self,Button,shift,x,y);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMovePanel.MouseUp(Button:
|
||||||
|
TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
|
begin
|
||||||
|
if (Button=MBLeft) and Down then
|
||||||
|
Down:=False;
|
||||||
|
if assigned(OnMouseUp) then
|
||||||
|
OnMouseUp(Self,Button,shift,X,y);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMovePanel.MouseMove(Shift:
|
||||||
|
TShiftState; X, Y: Integer);
|
||||||
|
Var
|
||||||
|
NowPoint:TPoint;
|
||||||
|
begin
|
||||||
|
if down then
|
||||||
|
begin
|
||||||
|
GetCursorPos(nowPoint);
|
||||||
|
//self.Parent在Form中就是MovePanel所在的窗体,或是MovePanel所在的容器像Panel
|
||||||
|
self.Parent.Left:=self.Parent.left
|
||||||
|
+NowPoint.x-PrePoint.x;
|
||||||
|
self.parent.Top:=self.Parent.Top
|
||||||
|
+NowPoint.y-PrePoint.y;
|
||||||
|
PrePoint:=NowPoint;
|
||||||
|
end;
|
||||||
|
if Assigned(OnMouseMove) then
|
||||||
|
OnMouseMove(self,Shift,X,y);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls', [TMovePanel]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/dbpanel.dcu.svn-base
Normal file
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/dbpanel.dcu.svn-base
Normal file
Binary file not shown.
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/dsr.dcu.svn-base
Normal file
BIN
T03贸易布匹检验/DbPanel/.svn/text-base/dsr.dcu.svn-base
Normal file
Binary file not shown.
330
T03贸易布匹检验/DbPanel/.svn/text-base/dsr.pas.svn-base
Normal file
330
T03贸易布匹检验/DbPanel/.svn/text-base/dsr.pas.svn-base
Normal file
|
|
@ -0,0 +1,330 @@
|
||||||
|
unit dsr;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
SysUtils, StrUtils, Forms, Classes, DB, ADODB, Grids, DBGrids, Messages;
|
||||||
|
|
||||||
|
var
|
||||||
|
CanLCCL :Boolean;
|
||||||
|
V_User,V_UserID :string;
|
||||||
|
TmpHandle :THandle;
|
||||||
|
cnn_Base :TAdoConnection;
|
||||||
|
|
||||||
|
function SplitString(STR_Source :string; STR_Split:string):TStringList;
|
||||||
|
|
||||||
|
procedure DoAbnormalC(H: THandle;AConn: TADOConnection;UID: String;
|
||||||
|
UName: String;TRCarNo: String);stdcall;external 'frabnml.dll';
|
||||||
|
{
|
||||||
|
procedure DoRinseprt(H: THandle;//调用窗口句柄
|
||||||
|
AConn: TADOConnection;//ADO连接
|
||||||
|
UID: String;//操作员号
|
||||||
|
UName: String;//操作员名
|
||||||
|
Machine: String;//机台编号
|
||||||
|
Task: String//任务序次
|
||||||
|
);stdcall;
|
||||||
|
}
|
||||||
|
procedure DoRinseprt(H: THandle;AConn: TADOConnection;UID:String;
|
||||||
|
UName :String; Machine:String; Task:String); stdcall; external 'rinsepf.dll';
|
||||||
|
|
||||||
|
|
||||||
|
procedure Set_NextControl( Pass_Form: TCustomForm;var Key:Char);
|
||||||
|
|
||||||
|
function checkfunc(handle: Integer; DogFlag: String): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//检查硬件狗函数
|
||||||
|
// handle为主窗口句柄
|
||||||
|
// DogFlag为从数据库中查询到的硬件狗信息
|
||||||
|
// DLL自动检查硬件狗和DogFlag的信息是否相符,不符时将在3分钟左右自动重启计算机
|
||||||
|
|
||||||
|
function GetParm(flag: Integer; out len: Integer; outHex: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//硬件狗中获取特定信息,如IP地址,数据库名称,用户名、口令等
|
||||||
|
//自定义参数flag取值范围为0--4,存储空间一共为20个字节,为连续的地址空间
|
||||||
|
//也即:参数0,最大可用长度为20,这时其他参数,将覆盖这个区域
|
||||||
|
// 参数4,最大可用长度为4
|
||||||
|
//DogFlag为字符串信息
|
||||||
|
|
||||||
|
function SetParm(flag, len: Integer; inHex: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//flag=5IP,=6User,=7Pass,=8DB
|
||||||
|
//硬件狗中设置参数,传入IP时,须设置为 “C8A00164”等形式传入(192.168.1.100)
|
||||||
|
//自定义参数用法同上
|
||||||
|
|
||||||
|
function InfoFunc(order: Integer; info: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//读取本机硬件信息,返回值为机器网卡个数
|
||||||
|
//考虑到某些可移动的网卡,要查询固定的网卡信息
|
||||||
|
//软件安装时要求移除可移动网卡
|
||||||
|
//order为第几块网卡,从0开始
|
||||||
|
|
||||||
|
function GetHostIpAddr(DogParm, HostName, IPAddr: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//获取硬件狗标识,本机IP地址(仅参考,因为机器有多个IP地址,获取的只是其中之一)
|
||||||
|
//以及机器名称
|
||||||
|
|
||||||
|
function PBEncode(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
function PBEncode1(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
function PBDecode(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
|
||||||
|
function SplitString(STR_Source :string; STR_Split:string):TStringList;
|
||||||
|
var
|
||||||
|
temp:String;
|
||||||
|
i:Integer;
|
||||||
|
begin
|
||||||
|
Result:=TStringList.Create;
|
||||||
|
//如果是空自符串则返回空列表
|
||||||
|
if trim(STR_Source) = '' then exit;
|
||||||
|
temp:=STR_Source;
|
||||||
|
i:=pos(STR_Split,STR_Source);
|
||||||
|
while i <> 0 do
|
||||||
|
begin
|
||||||
|
Result.add(copy(temp,0,i-1));
|
||||||
|
Delete(temp,1,i+length(STR_Split)-1); //如果STR_Split长度大于1的话,原来的只删除STR_Split字符的第一个.
|
||||||
|
i:=pos(STR_Split,temp);
|
||||||
|
end;
|
||||||
|
Result.add(temp);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Set_NextControl( Pass_Form: TCustomForm;var Key:Char);
|
||||||
|
label
|
||||||
|
labe_A;
|
||||||
|
begin
|
||||||
|
if key=#13 then
|
||||||
|
if not (Pass_Form.ActiveControl is TDbgrid) Then
|
||||||
|
Begin
|
||||||
|
key:=#0;
|
||||||
|
Pass_Form.perform(WM_NEXTDLGCTL,0,0);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if (Pass_Form.ActiveControl is TDbgrid) Then
|
||||||
|
begin
|
||||||
|
With TDbgrid(Pass_Form.ActiveControl) Do
|
||||||
|
begin
|
||||||
|
labe_A:
|
||||||
|
if Selectedindex<(FieldCount-1) then
|
||||||
|
Selectedindex:=Selectedindex+1
|
||||||
|
else Selectedindex:=0;
|
||||||
|
if not Columns[Selectedindex].Visible then
|
||||||
|
goto labe_A;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function PBEncode(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
var
|
||||||
|
table: array[0..63] of AnsiChar;
|
||||||
|
c80, c81, c82, c6: AnsiChar;
|
||||||
|
i, k, len: Integer;
|
||||||
|
Tmpbuf: array[0..255] of AnsiChar;
|
||||||
|
begin
|
||||||
|
table := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||||
|
|
||||||
|
if (nInLen*4)>(nOutLen*3+3) then Result := 1;
|
||||||
|
|
||||||
|
k := nInLen div 3;
|
||||||
|
len := k*4;
|
||||||
|
|
||||||
|
for i:=0 to k-1 do
|
||||||
|
begin
|
||||||
|
c80 := Inbuf[i*3];
|
||||||
|
c6 := Char(Integer(c80) shr 2);
|
||||||
|
Tmpbuf[i*4] := table[Integer(c6) and $3f];
|
||||||
|
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
c81 := Inbuf[i*3+1];
|
||||||
|
c6 := Char((Integer(c81) shr 4) and $0f);
|
||||||
|
Tmpbuf[i*4+1] := table[Integer(c80) or Integer(c6)];
|
||||||
|
|
||||||
|
c81 := Char((Integer(c81) shl 2) and $3c);
|
||||||
|
c82 := Inbuf[i*3+2];
|
||||||
|
c6 := Char((Integer(c82) shr 6) and $03);
|
||||||
|
Tmpbuf[i*4+2] := table[Integer(c81) or Integer(c6)];
|
||||||
|
|
||||||
|
Tmpbuf[i*4+3] := table[Integer(c82) and $3f];
|
||||||
|
end;
|
||||||
|
|
||||||
|
i := nInLen mod 3;
|
||||||
|
k := nInLen div 3;
|
||||||
|
|
||||||
|
if i<>0 then
|
||||||
|
begin
|
||||||
|
len := len+4;
|
||||||
|
|
||||||
|
c80 := Inbuf[k*3];
|
||||||
|
c6 := Char(Integer(c80) shr 2);
|
||||||
|
Tmpbuf[k*4] := table[Integer(c6) and $3f];
|
||||||
|
|
||||||
|
if k=1 then
|
||||||
|
begin
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
Tmpbuf[k*4+1] := table[Integer(c80)];
|
||||||
|
|
||||||
|
Tmpbuf[k*4+2] := '=';
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
c81 := Inbuf[k*3+1];
|
||||||
|
c6 := Char((Integer(c81) shr 4) and $0f);
|
||||||
|
Tmpbuf[k*4+1] := table[Integer(c80) or Integer(c6)];
|
||||||
|
|
||||||
|
c81 := Char((Integer(c81) shl 2) and $3c);
|
||||||
|
Tmpbuf[k*4+2] := table[Integer(c81)];
|
||||||
|
end;
|
||||||
|
Tmpbuf[k*4+3] := '=';
|
||||||
|
end;
|
||||||
|
Tmpbuf[len] := #0;
|
||||||
|
Outbuf := Tmpbuf;
|
||||||
|
Result := len;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function PBEncode1(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
var
|
||||||
|
table: array[0..63] of AnsiChar;
|
||||||
|
c80, c81, c82, c6: AnsiChar;
|
||||||
|
i, k, len: Integer;
|
||||||
|
Tmpbuf: array[0..255] of AnsiChar;
|
||||||
|
begin
|
||||||
|
table := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||||
|
|
||||||
|
if (nInLen*4)>(nOutLen*3+3) then Result := 1;
|
||||||
|
|
||||||
|
k := nInLen div 3;
|
||||||
|
len := k*4;
|
||||||
|
|
||||||
|
for i:=0 to k-1 do
|
||||||
|
begin
|
||||||
|
c80 := Inbuf[i*3];
|
||||||
|
c6 := Char(Integer(c80) shr 2);
|
||||||
|
Tmpbuf[i*4] := table[Integer(c6) and $3f];
|
||||||
|
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
c81 := Inbuf[i*3+1];
|
||||||
|
c6 := Char((Integer(c81) shr 4) and $0f);
|
||||||
|
Tmpbuf[i*4+1] := table[Integer(c80) or Integer(c6)];
|
||||||
|
|
||||||
|
c81 := Char((Integer(c81) shl 2) and $3c);
|
||||||
|
c82 := Inbuf[i*3+2];
|
||||||
|
c6 := Char((Integer(c82) shr 6) and $03);
|
||||||
|
Tmpbuf[i*4+2] := table[Integer(c81) or Integer(c6)];
|
||||||
|
|
||||||
|
Tmpbuf[i*4+3] := table[Integer(c82) and $3f];
|
||||||
|
end;
|
||||||
|
|
||||||
|
i := nInLen mod 3;
|
||||||
|
k := nInLen div 3;
|
||||||
|
|
||||||
|
if i<>0 then
|
||||||
|
begin
|
||||||
|
len := len+4;
|
||||||
|
|
||||||
|
c80 := Inbuf[k*3];
|
||||||
|
c6 := Char(Integer(c80) shr 2);
|
||||||
|
Tmpbuf[k*4] := table[Integer(c6) and $3f];
|
||||||
|
|
||||||
|
if i=1 then
|
||||||
|
begin
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
Tmpbuf[k*4+1] := table[Integer(c80)];
|
||||||
|
|
||||||
|
Tmpbuf[k*4+2] := '=';
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
c81 := Inbuf[k*3+1];
|
||||||
|
c6 := Char((Integer(c81) shr 4) and $0f);
|
||||||
|
Tmpbuf[k*4+1] := table[Integer(c80) or Integer(c6)];
|
||||||
|
|
||||||
|
c81 := Char((Integer(c81) shl 2) and $3c);
|
||||||
|
Tmpbuf[k*4+2] := table[Integer(c81)];
|
||||||
|
end;
|
||||||
|
Tmpbuf[k*4+3] := '=';
|
||||||
|
end;
|
||||||
|
Tmpbuf[len] := #0;
|
||||||
|
Outbuf := Tmpbuf;
|
||||||
|
Result := len;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function PBDecode(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
var
|
||||||
|
pBufIn: PAnsiChar;
|
||||||
|
szBufTmp: array[0..255] of AnsiChar;
|
||||||
|
i, dwCoded, nprbytes, nbytesdecoded: Integer;
|
||||||
|
pszCoded: PAnsiChar;
|
||||||
|
szBufout: array[0..255] of AnsiChar;
|
||||||
|
pszBufout: PAnsiChar;
|
||||||
|
pr2six: array[0..255] of Word;
|
||||||
|
begin
|
||||||
|
for i := 0 to 42 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
pr2six[43] := 62;
|
||||||
|
for i := 44 to 46 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
pr2six[47] := 63;
|
||||||
|
for i := 48 to 57 do
|
||||||
|
pr2six[i] := i+4;
|
||||||
|
for i := 58 to 64 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
for i := 65 to 90 do
|
||||||
|
pr2six[i] := i-65;
|
||||||
|
for i := 91 to 96 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
for i := 97 to 122 do
|
||||||
|
pr2six[i] := i-71;
|
||||||
|
for i := 123 to 255 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
|
||||||
|
dwCoded := nInlen;
|
||||||
|
pszCoded := Inbuf;
|
||||||
|
|
||||||
|
while (dwCoded>0) and (pszCoded=' ') do
|
||||||
|
begin
|
||||||
|
Inc(pszCoded);
|
||||||
|
Dec(dwCoded);
|
||||||
|
end;
|
||||||
|
|
||||||
|
if dwCoded>(350-4) then result := 1;
|
||||||
|
|
||||||
|
StrLCopy(szBufTmp, pszCoded, dwCoded);
|
||||||
|
szBufTmp[dwCoded] := #0;
|
||||||
|
szBufTmp[dwCoded+1] := #0;
|
||||||
|
szBufTmp[dwCoded+2] := #0;
|
||||||
|
szBufTmp[dwCoded+3] := #0;
|
||||||
|
|
||||||
|
pBufIn := szBufTmp;
|
||||||
|
|
||||||
|
repeat
|
||||||
|
i := pr2six[Integer(pBufIn^)];
|
||||||
|
Inc(pBufIn);
|
||||||
|
until i>63;
|
||||||
|
nprbytes := pBufin-szBufTmp-1;
|
||||||
|
nbytesdecoded := ((nprbytes+3) div 4)*3;
|
||||||
|
if nOutLen<nbytesdecoded then result := 2;
|
||||||
|
if nbytesdecoded>(256-4) then result := 2;
|
||||||
|
|
||||||
|
pszBufout := szBufout;
|
||||||
|
pBufin := szBufTmp;
|
||||||
|
|
||||||
|
while nprbytes>0 do
|
||||||
|
begin
|
||||||
|
pszBufout^ := Char((pr2six[Integer(pBufin[0])] shl 2) or ((pr2six[Integer(pBufin[1])] shr 4)));
|
||||||
|
Inc(pszBufout);
|
||||||
|
pszBufout^ := Char((pr2six[Integer(pBufin[1])] shl 4) or ((pr2six[Integer(pBufin[2])] shr 2)));
|
||||||
|
Inc(pszBufout);
|
||||||
|
pszBufout^ := Char((pr2six[Integer(pBufin[2])] shl 6) or (pr2six[Integer(pBufin[3])]));
|
||||||
|
Inc(pszBufout);
|
||||||
|
Inc(pBufin, 4);
|
||||||
|
Dec(nprbytes, 4);
|
||||||
|
end;
|
||||||
|
if (nprbytes and $03) <> 0 then
|
||||||
|
begin
|
||||||
|
if pr2six[Integer(pBufin[-2])]>63 then Dec(nbytesdecoded, 2)
|
||||||
|
else Dec(nbytesdecoded);
|
||||||
|
end;
|
||||||
|
szBufout[nbytesdecoded] := #0;
|
||||||
|
Outbuf := szBufout;
|
||||||
|
result := nbytesdecoded;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
707
T03贸易布匹检验/DbPanel/AutoPanel.pas
Normal file
707
T03贸易布匹检验/DbPanel/AutoPanel.pas
Normal file
|
|
@ -0,0 +1,707 @@
|
||||||
|
unit AutoPanel;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,
|
||||||
|
ExtCtrls,dbctrls,stdctrls,db,ADODB,ComCtrls,Variants,Gauges,
|
||||||
|
SqlExpr,DBGrids,MovePanel;
|
||||||
|
|
||||||
|
type
|
||||||
|
TEditorstyle = (TsMemo,Tscombox,Tsedit);
|
||||||
|
|
||||||
|
type
|
||||||
|
TAutoPanel = class(TPanel)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FEditorstyle:Teditorstyle;
|
||||||
|
FLeft :Integer;
|
||||||
|
FTop :Integer;
|
||||||
|
maxTextLen :Integer;
|
||||||
|
maxLabelLen :Integer;
|
||||||
|
FTitleVisible :Boolean;
|
||||||
|
FDataReadOnly :Boolean;
|
||||||
|
FPageCount :Integer;
|
||||||
|
|
||||||
|
FPass_Grid :TDBGrid;
|
||||||
|
FP_Move :TMovePanel;
|
||||||
|
FP_Parent :TPanel;
|
||||||
|
|
||||||
|
FPageControl: TPageControl; {分页控件}
|
||||||
|
FTabSheets :array of TTabSheet;
|
||||||
|
FScrollBox :array of TScrollBox; {滚动控件}
|
||||||
|
FLineHeight :Integer;
|
||||||
|
|
||||||
|
//数据数组控件,动态生成
|
||||||
|
MemoEditors :array of TMemo;
|
||||||
|
comEditors :array of TCombobox;
|
||||||
|
edEditors :array of Tedit;
|
||||||
|
ProgressEditor :array of Tedit;
|
||||||
|
Labels :array of TLabel; //字段标题,动态生成
|
||||||
|
ProgressBars :array of TGauge;
|
||||||
|
Shapes :array of TShape;
|
||||||
|
FDataSource :TDataSource; // 数据源
|
||||||
|
FDataField_A :String; // DataField
|
||||||
|
FDataField_B :String; // DataField
|
||||||
|
FDataField_C :String; // DataField
|
||||||
|
FDataField_D :String; // DataField
|
||||||
|
FDataField_E :String; // DataField
|
||||||
|
FDataField_F :String; // DataField
|
||||||
|
FStore :String;
|
||||||
|
Fcnnstr :String;
|
||||||
|
FListSql :String;
|
||||||
|
FBerthFieldName :String;
|
||||||
|
FStoreFieldName :String;
|
||||||
|
FBerthTableName :String;
|
||||||
|
|
||||||
|
FColumns :Integer; //显示列数
|
||||||
|
tmpado :TadoDataset;
|
||||||
|
tmpDs :TDataSource;
|
||||||
|
procedure FreeEditors; //释放数据输入控件的内存
|
||||||
|
procedure AKeyDown(Sender:TObject; var Key :Word; Shift:TShiftState);
|
||||||
|
procedure AKeyPress(Sender:TObject; var Key :Char);
|
||||||
|
procedure AProgressEditorChange(Sender :TObject);
|
||||||
|
procedure inti_Grid(sender :TObject);
|
||||||
|
procedure LabelsClick(Sender: TObject);
|
||||||
|
procedure FP_MovePanelDblClick(Sender: TObject);
|
||||||
|
function comEditor(Index :Integer):TComboBox;
|
||||||
|
function edEditor(Index :Integer):Tedit;
|
||||||
|
function MemoEditor(Index :Integer) :TMemo;
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
|
||||||
|
public
|
||||||
|
constructor Create(AOwner:TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
procedure Setedit(Value :TEditorstyle);
|
||||||
|
procedure CreateEditors(var DS :TDataSource; cnnstr :String); //创建各字段的数据输入控件
|
||||||
|
procedure ClearHits(ItemIndex :Integer);
|
||||||
|
procedure AddHits(ItemIndex:Integer; Hits :array of string);
|
||||||
|
|
||||||
|
{ Public declarations }
|
||||||
|
published
|
||||||
|
|
||||||
|
property LimitLeft :Integer read FLeft write FLeft default 10;
|
||||||
|
property LimitTop :Integer read FTop write FTop default 10;
|
||||||
|
property Editorstyle :TEditorstyle read FEditorstyle write Setedit default TsMemo;
|
||||||
|
|
||||||
|
property EditorWidth :Integer read maxTextLen write maxTextLen default 100;
|
||||||
|
property TitleWidth :Integer read maxLabelLen write maxLabelLen default 100;
|
||||||
|
property TitleVisible :Boolean read FTitleVisible write FTitleVisible default True;
|
||||||
|
property DataReadOnly :Boolean read FDataReadOnly write FDataReadOnly; //default True;
|
||||||
|
property LineHeight :Integer read FLineHeight write FLineHeight default 15;
|
||||||
|
property DataSource :TDataSource read FDataSource write FDataSource; //数据源
|
||||||
|
property DataField_Editor :String read FDataField_A write FDataField_A;
|
||||||
|
property DataField_Title :String read FDataField_B write FDataField_B;
|
||||||
|
property DataField_Progress :String read FDataField_C write FDataField_C;
|
||||||
|
property DataField_BerthArea :String read FDataField_D write FDataField_D;
|
||||||
|
property DataField_IconLeft :String read FDataField_E write FDataField_E;
|
||||||
|
property DataField_IconTop :String read FDataField_F write FDataField_F;
|
||||||
|
|
||||||
|
property Data_BerthListSql :String read FListSql write FListSql;
|
||||||
|
property Data_BerthField :String read FBerthFieldName write FBerthFieldName;
|
||||||
|
property Data_StoreField :String read FStoreFieldName write FStoreFieldName;
|
||||||
|
|
||||||
|
property Data_BerthTable :String read FBerthTableName write FBerthTableName;
|
||||||
|
property Store_Name :String read FStore write FStore;
|
||||||
|
property Columns :Integer read FColumns write FColumns default 4;//表列数
|
||||||
|
|
||||||
|
{ Published declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls', [TAutoPanel]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.Setedit(Value :TEditorstyle);
|
||||||
|
begin
|
||||||
|
if FEditorstyle <> Value then
|
||||||
|
begin
|
||||||
|
FEditorstyle := Value;
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 为第I字段增加提示信息的方法}
|
||||||
|
procedure TAutoPanel.AddHits(ItemIndex :Integer; Hits :array of string);
|
||||||
|
var
|
||||||
|
m,n,i :Integer;
|
||||||
|
begin
|
||||||
|
|
||||||
|
if FEditorstyle = Tscombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:= 0 to m - 1 do
|
||||||
|
comEditors[ItemIndex].Items.Add(Hits[i]);
|
||||||
|
end
|
||||||
|
else if FEditorstyle = Tsedit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
edEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsMemo then
|
||||||
|
begin
|
||||||
|
n := Length(memoEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
memoEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.AKeyDown(Sender :TObject; var Key :Word; Shift :TShiftState);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.AProgressEditorChange(Sender :TObject);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.AKeyPress(Sender :TObject; var Key :Char);
|
||||||
|
begin
|
||||||
|
if (Sender is TComboBox) or (Sender is Tedit) or (Sender is TMemo) then
|
||||||
|
if Key=#13 then
|
||||||
|
(Owner as TForm).Perform(WM_NEXTDLGCTL, 0, 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.ClearHits(ItemIndex :Integer);
|
||||||
|
var
|
||||||
|
n :Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = Tscombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
if ItemIndex< n then comEditors[ItemIndex].Items.Clear;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = Tsedit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
if ItemIndex< n then edEditors[ItemIndex].Hint:='';;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsMemo then
|
||||||
|
begin
|
||||||
|
n := Length(MemoEditors);
|
||||||
|
if ItemIndex< n then MemoEditors[ItemIndex].Hint:='';;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TAutoPanel.Create(AOwner :TComponent);
|
||||||
|
begin
|
||||||
|
Inherited Create(AOWner);
|
||||||
|
FLeft := 20;
|
||||||
|
FTop := 20;
|
||||||
|
maxTextLen := 100;
|
||||||
|
maxLabelLen := 100;
|
||||||
|
FLineHeight := 15;
|
||||||
|
FTitleVisible := True;
|
||||||
|
FDataReadOnly := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建各字段的数据输入控件的方法}
|
||||||
|
procedure TAutoPanel.CreateEditors(var DS :TDataSource; cnnstr :String);
|
||||||
|
|
||||||
|
var
|
||||||
|
i,j,n,This_Index,TextHeight :Integer;
|
||||||
|
tmp_col0,Tmp_Row0,tmp_col1,Tmp_Row1 :Integer;
|
||||||
|
XXX :TStringList;
|
||||||
|
tmpFlag :Boolean;
|
||||||
|
begin
|
||||||
|
if (Store_Name = '')
|
||||||
|
or (Data_BerthTable = '')
|
||||||
|
or (DataField_BerthArea = '') then
|
||||||
|
exit;
|
||||||
|
{ 释放全部控件内存}
|
||||||
|
FreeEditors;
|
||||||
|
|
||||||
|
if DS = nil then exit;
|
||||||
|
if DataSource = nil then FDataSource := Ds;
|
||||||
|
if not DataSource.DataSet.Active then exit;
|
||||||
|
if (DataSource.DataSet is TAdoDataSet) = False then exit;
|
||||||
|
FPageCount := 0;
|
||||||
|
tmp_col1 := -1;
|
||||||
|
Tmp_Row1 := 0;
|
||||||
|
|
||||||
|
n := DataSource.DataSet.RecordCount;
|
||||||
|
if n <= 0 then exit;
|
||||||
|
DataSource.DataSet.DisableControls;
|
||||||
|
if maxLabelLen < maxTextLen then
|
||||||
|
maxTextLen := maxLabelLen;
|
||||||
|
|
||||||
|
{ 计算最大的标题长度及显示长度}
|
||||||
|
DataSource.DataSet.First;
|
||||||
|
{ 计算高度}
|
||||||
|
TextHeight := Canvas.TextHeight(DataSource.DataSet.Fields[0].DisplayLabel) + FLineHeight; //10;
|
||||||
|
|
||||||
|
{ 分配内存}
|
||||||
|
SetLength(Labels,n);
|
||||||
|
SetLength(ProgressBars,n);
|
||||||
|
SetLength(ProgressEditor,n);
|
||||||
|
SetLength(Shapes,n);
|
||||||
|
if Columns = 0 then Columns := 6;
|
||||||
|
try
|
||||||
|
tmpado := TadoDataset.Create(Owner);
|
||||||
|
tmpDs := TDatasource.Create(Owner);
|
||||||
|
tmpDs.DataSet := tmpado;
|
||||||
|
with tmpado do
|
||||||
|
begin
|
||||||
|
Active := False;
|
||||||
|
Fcnnstr := cnnstr;
|
||||||
|
tmpado.ConnectionString := Fcnnstr;
|
||||||
|
//tmpado.Connection := (DataSource.DataSet as TAdoDataset).Connection;
|
||||||
|
tmpado.CommandText := ' Select '+DataField_BerthArea+' '
|
||||||
|
+ ' from '+Data_BerthTable+' where '+DataField_BerthArea+' is not null'
|
||||||
|
+ ' and '+Data_StoreField+' = '''+Store_Name+''''
|
||||||
|
+ ' Group by '+DataField_BerthArea+' order by '+DataField_BerthArea+'';
|
||||||
|
Active := True;
|
||||||
|
FPageCount := RecordCount;
|
||||||
|
if FPageCount = 0 then exit;
|
||||||
|
|
||||||
|
first;
|
||||||
|
// 创建PageControl
|
||||||
|
FPageControl := TPageControl.Create(Owner);
|
||||||
|
FPageControl.Parent := Self;
|
||||||
|
FPageControl.Font.Name := '宋体';
|
||||||
|
FPageControl.Font.Size := 9;
|
||||||
|
FPageControl.Align := alClient;
|
||||||
|
FPageControl.Visible := False;
|
||||||
|
|
||||||
|
{ 分配载体内存}
|
||||||
|
setlength(FTabSheets,FPageCount+1);
|
||||||
|
setlength(FScrollBox,FPageCount+1);
|
||||||
|
XXX := TStringList.Create();
|
||||||
|
for j := 0 to FPageCount do
|
||||||
|
begin
|
||||||
|
{ FPageControl分页}
|
||||||
|
FTabSheets[j] := TTabSheet.Create(Owner);
|
||||||
|
FTabSheets[j].Parent := FPageControl;
|
||||||
|
FTabSheets[j].ParentFont := True;
|
||||||
|
FTabSheets[j].PageControl := FPageControl;
|
||||||
|
FTabSheets[j].Visible := True;
|
||||||
|
FTabSheets[j].PageIndex := j;
|
||||||
|
|
||||||
|
if j < FPageCount then
|
||||||
|
begin
|
||||||
|
FTabSheets[j].Caption := '库区:' + trim(fieldByName(DataField_BerthArea).AsString);
|
||||||
|
FTabSheets[j].Hint := trim(fieldByName(DataField_BerthArea).AsString);
|
||||||
|
XXX.Append(trim(fieldByName(DataField_BerthArea).AsString));
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
FTabSheets[j].Caption := '未指定库区';
|
||||||
|
FTabSheets[j].Hint := '';
|
||||||
|
XXX.Append('未指定库区');
|
||||||
|
end;
|
||||||
|
FTabSheets[j].ShowHint := False;
|
||||||
|
FTabSheets[j].Visible := True;
|
||||||
|
FTabSheets[j].Align := alClient;
|
||||||
|
|
||||||
|
//创建滚动盒
|
||||||
|
FScrollBox[j] := TScrollBox.Create(Owner);
|
||||||
|
FScrollBox[j].Visible := True;
|
||||||
|
FScrollBox[j].Parent := FTabSheets[j];
|
||||||
|
FScrollBox[j].Color := ClBlack;//clTeal;
|
||||||
|
FScrollBox[j].Align := alClient;
|
||||||
|
FScrollBox[j].Hint := FTabSheets[j].Hint;
|
||||||
|
FScrollBox[j].ShowHint := False;
|
||||||
|
|
||||||
|
next;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
if FEditorstyle = Tscombox then
|
||||||
|
SetLength(comEditors,n)
|
||||||
|
else if FEditorstyle = Tsedit then
|
||||||
|
SetLength(edEditors,n)
|
||||||
|
else
|
||||||
|
SetLength(MemoEditors,n);
|
||||||
|
|
||||||
|
|
||||||
|
{ 创建编辑}
|
||||||
|
for i := 0 to n - 1 do
|
||||||
|
begin
|
||||||
|
//DataField_BerthArea
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_BerthArea).AsVariant = null then
|
||||||
|
This_Index := FPageCount
|
||||||
|
else
|
||||||
|
This_Index := XXX.IndexOf(trim(DataSource.DataSet.Fieldbyname(DataField_BerthArea).Asstring));
|
||||||
|
|
||||||
|
tmpFlag := False;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_IconLeft).AsVariant <> null then
|
||||||
|
tmp_col0 := DataSource.DataSet.Fieldbyname(DataField_IconLeft).Asinteger -1
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
tmpFlag := True;
|
||||||
|
if tmp_col1 = Columns -1 then
|
||||||
|
begin
|
||||||
|
tmp_col1 := 0;
|
||||||
|
tmp_Row1 := tmp_Row1 +1;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
tmp_col1 := tmp_col1 + 1;
|
||||||
|
tmp_col0 := tmp_col1;
|
||||||
|
This_Index := FPageCount;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_IconTop).AsVariant <> null then
|
||||||
|
tmp_Row0 := DataSource.DataSet.Fieldbyname(DataField_IconTop).Asinteger - 1
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if not tmpFlag then
|
||||||
|
begin
|
||||||
|
if tmp_col1 = Columns - 1 then
|
||||||
|
begin
|
||||||
|
tmp_col1 := 0;
|
||||||
|
tmp_Row1 := tmp_Row1 +1;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
tmp_col1 := tmp_col1 + 1;
|
||||||
|
end;
|
||||||
|
tmp_Row0 := tmp_Row1;
|
||||||
|
This_Index := FPageCount;
|
||||||
|
end;
|
||||||
|
{ 创建标题}
|
||||||
|
Labels[i] := TLabel.Create(owner);
|
||||||
|
Labels[i].visible := FTitleVisible;
|
||||||
|
Labels[i].Parent := (FScrollBox[This_Index] as TScrollBox); // FScrollBox[This_Index];
|
||||||
|
Labels[i].Font.Name := '宋体';
|
||||||
|
Labels[i].Font.Size := 9;
|
||||||
|
Labels[i].Font.Color := ClBlue;
|
||||||
|
Labels[i].OnClick := LabelsClick;
|
||||||
|
//Labels[i].Font.Style := [FsBold];
|
||||||
|
Labels[i].Transparent := True;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Title).AsVariant <> null then
|
||||||
|
Labels[i].caption := DataSource.DataSet.Fieldbyname(DataField_Title).AsString
|
||||||
|
else
|
||||||
|
Labels[i].caption := '';
|
||||||
|
Labels[i].Hint := '库位:[' + Labels[i].caption + ']';
|
||||||
|
Labels[i].ShowHint := True;
|
||||||
|
if FEditorstyle = TsMemo then
|
||||||
|
begin
|
||||||
|
Labels[i].Top := FTop + tmp_Row0 * (TextHeight*3+30) + 2;
|
||||||
|
Labels[i].Left := FLeft + (maxLabelLen + 40) * tmp_Col0 + 10;
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Labels[i].Top := FTop + tmp_Row0 * (TextHeight*2+30) + 2;
|
||||||
|
Labels[i].Left := FLeft + (maxLabelLen + 30) * tmp_Col0 + 10;
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建进度条数据对象}
|
||||||
|
ProgressEditor[i] := Tedit.Create(Owner);
|
||||||
|
ProgressEditor[i].visible := False;
|
||||||
|
ProgressEditor[i].Parent := FScrollBox[This_Index];
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Progress).AsVariant <> null then
|
||||||
|
ProgressEditor[i].Text := DataSource.DataSet.Fieldbyname(DataField_Progress).AsString
|
||||||
|
else
|
||||||
|
ProgressEditor[i].Text := '0';
|
||||||
|
ProgressEditor[i].OnChange := AProgressEditorChange;
|
||||||
|
|
||||||
|
{ 创建信息显示数据对象}
|
||||||
|
if FEditorstyle = Tscombox then
|
||||||
|
begin
|
||||||
|
comEditors[i] := TComboBox.Create(Owner);
|
||||||
|
comEditors[i].Parent := FScrollBox[This_Index]; //Self;
|
||||||
|
comEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
comEditors[i].Width := maxTextLen;
|
||||||
|
comEditors[i].Top := Labels[i].Top+20;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Editor).AsVariant <> null then
|
||||||
|
comEditors[i].Text := DataSource.DataSet.Fieldbyname(DataField_Editor).AsString;
|
||||||
|
comEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
comEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TGauge.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox[This_Index];
|
||||||
|
ProgressBars[i].Font.name := '宋体';
|
||||||
|
ProgressBars[i].Font.Size := 9;
|
||||||
|
ProgressBars[i].ShowText := True;
|
||||||
|
ProgressBars[i].Font.Color := ClWindow;
|
||||||
|
ProgressBars[i].Kind := gkHorizontalBar;
|
||||||
|
ProgressBars[i].Left := comEditors[i].Left;
|
||||||
|
ProgressBars[i].Width := comEditors[i].Width;
|
||||||
|
ProgressBars[i].Height := 10;
|
||||||
|
ProgressBars[i].Top := comEditors[i].Top+comEditors[i].height+2;
|
||||||
|
ProgressBars[i].Progress := Round((DataSource.DataSet
|
||||||
|
.Fieldbyname(DataField_Progress).Ascurrency)*100);
|
||||||
|
end
|
||||||
|
else if FEditorstyle = Tsedit then
|
||||||
|
begin
|
||||||
|
edEditors[i] := Tedit.Create(Owner);
|
||||||
|
edEditors[i].Parent := FScrollBox[This_Index];
|
||||||
|
edEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
edEditors[i].Width := maxTextLen;
|
||||||
|
edEditors[i].Top := Labels[i].Top+20;
|
||||||
|
edEditors[i].ReadOnly := DataReadOnly;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Editor).AsVariant <> null then
|
||||||
|
edEditors[i].Text := DataSource.DataSet.Fieldbyname(DataField_Editor).AsString;
|
||||||
|
edEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
edEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TGauge.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox[This_Index];
|
||||||
|
ProgressBars[i].Font.name := '宋体';
|
||||||
|
ProgressBars[i].Font.Size := 9;
|
||||||
|
ProgressBars[i].ShowText := True;
|
||||||
|
ProgressBars[i].Font.Color := ClWindow;
|
||||||
|
ProgressBars[i].Kind := gkHorizontalBar;
|
||||||
|
ProgressBars[i].Left := edEditors[i].Left;
|
||||||
|
ProgressBars[i].Width := edEditors[i].Width;
|
||||||
|
ProgressBars[i].Height := 10;
|
||||||
|
ProgressBars[i].Top := edEditors[i].Top+edEditors[i].height+2;;
|
||||||
|
ProgressBars[i].Progress := Round((DataSource.DataSet
|
||||||
|
.Fieldbyname(DataField_Progress).Ascurrency)*100);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
MemoEditors[i] := Tmemo.Create(Owner);
|
||||||
|
MemoEditors[i].Parent := FScrollBox[This_Index];
|
||||||
|
MemoEditors[i].Left := Labels[i].Left;
|
||||||
|
MemoEditors[i].Width := maxTextLen;
|
||||||
|
MemoEditors[i].Top := Labels[i].Top+20;
|
||||||
|
MemoEditors[i].Height := 60;
|
||||||
|
MemoEditors[i].ReadOnly := DataReadOnly;
|
||||||
|
if DataSource.DataSet.Fieldbyname(DataField_Editor).AsVariant <> null then
|
||||||
|
MemoEditors[i].Lines.Add(DataSource.DataSet.Fieldbyname(DataField_Editor).AsString);
|
||||||
|
MemoEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
MemoEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TGauge.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox[This_Index];
|
||||||
|
ProgressBars[i].Font.name := '宋体';
|
||||||
|
ProgressBars[i].Font.Size := 9;
|
||||||
|
ProgressBars[i].ShowText := False;
|
||||||
|
ProgressBars[i].Font.Color := ClWindow;
|
||||||
|
ProgressBars[i].Kind := gkVerticalBar;
|
||||||
|
ProgressBars[i].Left := MemoEditors[i].Left + MemoEditors[i].Width +1;
|
||||||
|
ProgressBars[i].Width := 10;
|
||||||
|
ProgressBars[i].Height := MemoEditors[i].Height;
|
||||||
|
ProgressBars[i].Top := MemoEditors[i].Top;
|
||||||
|
ProgressBars[i].Progress := Round((DataSource.DataSet
|
||||||
|
.Fieldbyname(DataField_Progress).Ascurrency)*100);
|
||||||
|
end;
|
||||||
|
if ProgressBars[i].Progress <= 20 then
|
||||||
|
ProgressBars[i].ForeColor := RGB(48,48,96)
|
||||||
|
else if (ProgressBars[i].Progress > 20) and (ProgressBars[i].Progress <= 40) then
|
||||||
|
ProgressBars[i].ForeColor := RGB(48,48,144)
|
||||||
|
else if (ProgressBars[i].Progress > 40) and (ProgressBars[i].Progress <= 60) then
|
||||||
|
ProgressBars[i].ForeColor := RGB(96,48,144)
|
||||||
|
else if (ProgressBars[i].Progress > 60) and (ProgressBars[i].Progress <= 80) then
|
||||||
|
ProgressBars[i].ForeColor := RGB(144,48,144)
|
||||||
|
else if ProgressBars[i].Progress > 80 then
|
||||||
|
ProgressBars[i].ForeColor := RGB(200,48,48);
|
||||||
|
|
||||||
|
Shapes[i] := TShape.Create(Owner);
|
||||||
|
Shapes[i].Parent := FScrollBox[This_Index];
|
||||||
|
Shapes[i].Left := Labels[i].Left - 10;
|
||||||
|
Shapes[i].top := Labels[i].Top - 10;
|
||||||
|
if FEditorstyle = TsMemo then
|
||||||
|
begin
|
||||||
|
Shapes[i].height := ProgressBars[i].height + Labels[i].height +20 +10;
|
||||||
|
Shapes[i].Width := (ProgressBars[i].left - Labels[i].left) + ProgressBars[i].Width + 20;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Shapes[i].height := (ProgressBars[i].Top - Labels[i].Top) + ProgressBars[i].Height + 20;
|
||||||
|
Shapes[i].Width := Labels[i].Width +20;
|
||||||
|
end;
|
||||||
|
Shapes[i].Brush.Color := clSkyBlue;
|
||||||
|
Shapes[i].Visible := True;
|
||||||
|
Shapes[i].SendToBack;
|
||||||
|
if not DataSource.DataSet.Eof then
|
||||||
|
DataSource.DataSet.next;
|
||||||
|
end;
|
||||||
|
DataSource.DataSet.EnableControls;
|
||||||
|
tmpado.Close;
|
||||||
|
XXX.Free;
|
||||||
|
if FPageControl.PageCount > 0 then
|
||||||
|
begin
|
||||||
|
FPageControl.ActivePageIndex := FPageControl.PageCount-1;
|
||||||
|
FPageControl.ActivePageIndex := 0;
|
||||||
|
end;
|
||||||
|
Finally
|
||||||
|
FPageControl.Visible := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TAutoPanel.Destroy;
|
||||||
|
begin
|
||||||
|
FreeEditors;
|
||||||
|
Inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAutoPanel.comEditor(Index :Integer) :TComboBox;
|
||||||
|
begin
|
||||||
|
if Index< Length(comEditors) then Result := comEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAutoPanel.edEditor(Index :Integer) :Tedit;
|
||||||
|
begin
|
||||||
|
if Index < Length(edEditors) then Result := edEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
function TAutoPanel.MemoEditor(Index :Integer) :TMemo;
|
||||||
|
begin
|
||||||
|
if Index< Length(MemoEditors) then Result := MemoEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.inti_Grid(sender :TObject);
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
// 创建FP_Parent
|
||||||
|
FP_Parent := TPanel.Create(Owner);
|
||||||
|
with FP_Parent Do
|
||||||
|
begin
|
||||||
|
Parent := Self;
|
||||||
|
Visible := False;
|
||||||
|
Font.Name := '宋体';
|
||||||
|
Font.Size := 9;
|
||||||
|
Font.Style:= [fsBold];
|
||||||
|
Align := AlNone;
|
||||||
|
BevelInner := bvLowered;
|
||||||
|
BevelOuter := bvRaised;
|
||||||
|
Width := 380;
|
||||||
|
Height := 250;
|
||||||
|
try
|
||||||
|
Left := round(((Sender as Tlabel).Parent.Width-380)/2);
|
||||||
|
Top := round(((Sender as Tlabel).Parent.height-250)/2);
|
||||||
|
except
|
||||||
|
Left := 0;
|
||||||
|
Top := 0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FP_Move := TMovePanel.Create(Owner);
|
||||||
|
with FP_Move do
|
||||||
|
begin
|
||||||
|
Parent := FP_Parent;
|
||||||
|
ParentFont := true;
|
||||||
|
BevelInner := bvLowered;
|
||||||
|
BevelOuter := bvRaised;
|
||||||
|
Height := 26;
|
||||||
|
Align := AlTop;
|
||||||
|
Color := clSkyBlue;
|
||||||
|
Caption := '';
|
||||||
|
OnDblClick := FP_MovePanelDblClick;
|
||||||
|
Visible := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FPass_Grid := TDBGrid.Create(Owner);
|
||||||
|
with FPass_Grid do
|
||||||
|
begin
|
||||||
|
Parent := FP_Parent;
|
||||||
|
ParentFont := true;
|
||||||
|
Font.Style:= [];
|
||||||
|
Align := AlClient;
|
||||||
|
Visible := True;
|
||||||
|
DataSource := TmpDs;
|
||||||
|
end;
|
||||||
|
except
|
||||||
|
FPass_Grid := Nil;
|
||||||
|
FP_Move := Nil;
|
||||||
|
FP_Parent := Nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//响应Labels[i]的Click事件
|
||||||
|
procedure TAutoPanel.LabelsClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
i :integer;
|
||||||
|
Tmp_Area,Tmp_Berth :String;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
if FP_Parent = nil then inti_Grid(Sender);
|
||||||
|
if FP_Parent = nil then exit;
|
||||||
|
Tmp_Berth := trim((Sender as Tlabel).Caption);
|
||||||
|
Tmp_Area := trim(((Sender as Tlabel).Parent as TScrollBox).Hint);
|
||||||
|
if tmpado.Active then
|
||||||
|
begin
|
||||||
|
if tmpado.FieldValues['库位'] <> null then
|
||||||
|
if tmpado.FieldByName('库位').AsString = Tmp_Berth then
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
screen.Cursor := crSQLWait;
|
||||||
|
//FP_Parent.Visible := False;
|
||||||
|
//FP_Parent.Left := FPageControl.Left + (Sender as Tlabel).Left + (Sender as Tlabel).Width + 28;
|
||||||
|
//FP_Parent.Top := FPageControl.Top + (Sender as Tlabel).top + (Sender as Tlabel).Height +4;
|
||||||
|
FP_Move.Caption := trim((Sender as Tlabel).Hint) + '明细列表';
|
||||||
|
with tmpado do
|
||||||
|
begin
|
||||||
|
DisableConTrols;
|
||||||
|
Active := False;
|
||||||
|
ConnectionString := Fcnnstr;
|
||||||
|
tmpado.CursorType := ctStatic;
|
||||||
|
tmpado.LockType := ltReadOnly;
|
||||||
|
CommandText := 'Exec '+Data_BerthListSql+' '''+Store_Name+''','''+Tmp_Area+''','''+Tmp_Berth+'''';
|
||||||
|
Active := True;
|
||||||
|
First;
|
||||||
|
EnableConTrols;
|
||||||
|
for i := 0 to Fields.Count -1 do
|
||||||
|
begin
|
||||||
|
Fields[i].Alignment := taCenter;
|
||||||
|
if i = 0 then
|
||||||
|
fields[i].DisplayWidth := 20
|
||||||
|
else
|
||||||
|
fields[i].DisplayWidth := 8;
|
||||||
|
|
||||||
|
Fpass_Grid.Columns[i].Title.Alignment := taCenter;
|
||||||
|
Fpass_Grid.Columns[i].Title.Font.Style:= [];
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
screen.Cursor := crDefault;
|
||||||
|
FP_Parent.Visible := True;
|
||||||
|
except
|
||||||
|
screen.Cursor := crDefault;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAutoPanel.FP_MovePanelDblClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FP_Parent.Visible := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// 内存的释放是要有顺序的!必须以创建的相反的顺序进行!尤其是当组件之间有父子关系时
|
||||||
|
procedure TAutoPanel.FreeEditors;
|
||||||
|
begin
|
||||||
|
if FPageControl <> nil then
|
||||||
|
begin
|
||||||
|
if FP_Parent <> nil then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
FPass_Grid.Free;
|
||||||
|
FP_Move.Free;
|
||||||
|
FP_Parent.Free;
|
||||||
|
except
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
FPass_Grid := nil;
|
||||||
|
FP_Move := nil;
|
||||||
|
FP_Parent := nil;
|
||||||
|
Shapes := nil;
|
||||||
|
ProgressBars := nil;
|
||||||
|
comEditors := nil;
|
||||||
|
edEditors := nil;
|
||||||
|
MemoEditors := nil;
|
||||||
|
FScrollBox := nil;
|
||||||
|
tmpDs.Free;
|
||||||
|
tmpado.Free;
|
||||||
|
FPageControl.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
380
T03贸易布匹检验/DbPanel/Dbpanel.pas
Normal file
380
T03贸易布匹检验/DbPanel/Dbpanel.pas
Normal file
|
|
@ -0,0 +1,380 @@
|
||||||
|
unit Dbpanel;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes,Graphics, Controls, Forms, Dialogs,
|
||||||
|
ExtCtrls, dbctrls, stdctrls, db, ADODB, ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TEditorstyle = (TsDbMemo,TsDBcombox,Tsdbedit);
|
||||||
|
|
||||||
|
type
|
||||||
|
TDBPanel = class(TPanel)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FEditorstyle:Teditorstyle;
|
||||||
|
FLeft: Integer;
|
||||||
|
FTop: Integer;
|
||||||
|
maxTextLen: Integer;
|
||||||
|
maxLabelLen: Integer;
|
||||||
|
FTitleVisible :Boolean;
|
||||||
|
FScrollBox: TScrollBox; {滚动控件}
|
||||||
|
FLineHeight: Integer;
|
||||||
|
|
||||||
|
//数据数组控件,动态生成
|
||||||
|
MemoEditors: array of TDBMemo;
|
||||||
|
comEditors: array of TDBCombobox;
|
||||||
|
edEditors: array of TDBedit;
|
||||||
|
ProgressEditor :array of TDBedit;
|
||||||
|
Labels: array of TDBText; //字段标题,动态生成
|
||||||
|
ProgressBars: array of TProgressBar;
|
||||||
|
|
||||||
|
FDataSource: TDataSource; // 数据源
|
||||||
|
FDataField_A: String; // DataField
|
||||||
|
FDataField_B: String; // DataField
|
||||||
|
FDataField_C: String; // DataField
|
||||||
|
FColumns: Integer; //显示列数
|
||||||
|
procedure FreeEditors; //释放数据输入控件的内存
|
||||||
|
procedure AKeyDown(Sender:TObject; var Key: Word; Shift:TShiftState);
|
||||||
|
procedure AKeyPress(Sender:TObject; var Key: Char);
|
||||||
|
procedure AProgressEditorChange(Sender: TObject);
|
||||||
|
function comEditor(Index: Integer):TDBComboBox;
|
||||||
|
function edEditor(Index: Integer):TDBedit;
|
||||||
|
function MemoEditor(Index: Integer): TDBMemo;
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
|
||||||
|
public
|
||||||
|
constructor Create(AOwner:TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
function Get_TitleVisible() :Boolean;
|
||||||
|
procedure Set_TitleVisible(Value : Boolean);
|
||||||
|
procedure Setedit(Value : TEditorstyle);
|
||||||
|
procedure CreateEditors(DS: TDataSource; ColCount: Integer); //创建各字段的数据输入控件
|
||||||
|
procedure ClearHits(ItemIndex: Integer);
|
||||||
|
procedure AddHits(ItemIndex:Integer; Hits: array of string);
|
||||||
|
|
||||||
|
{ Public declarations }
|
||||||
|
published
|
||||||
|
|
||||||
|
property LimitLeft: Integer read FLeft write FLeft default 10;
|
||||||
|
property LimitTop: Integer read FTop write FTop default 10;
|
||||||
|
property Editorstyle : TEditorstyle read FEditorstyle write Setedit default tsdbMemo;
|
||||||
|
property EditorWidth: Integer read maxTextLen write maxTextLen default 100;
|
||||||
|
property TitleWidth: Integer read maxLabelLen write maxLabelLen default 100;
|
||||||
|
property TitleVisible : Boolean read Get_TitleVisible write Set_TitleVisible default True;
|
||||||
|
property LineHeight: Integer read FLineHeight write FLineHeight default 15;
|
||||||
|
//property OnOkClick: TNotifyEvent read FClick write FClick;
|
||||||
|
property DataSource: TDataSource read FDataSource write FDataSource; //数据源
|
||||||
|
property DataField_Editor: String read FDataField_A write FDataField_A;
|
||||||
|
property DataField_Title: String read FDataField_B write FDataField_B;
|
||||||
|
property DataField_Progress: String read FDataField_C write FDataField_C;
|
||||||
|
property Columns: Integer read FColumns write FColumns default 4;//表列数
|
||||||
|
|
||||||
|
{ Published declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls', [TDBPanel]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBPanel.Get_TitleVisible() :Boolean;
|
||||||
|
begin
|
||||||
|
Result := FTitleVisible;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.Set_TitleVisible(Value : Boolean);
|
||||||
|
begin
|
||||||
|
FTitleVisible := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.Setedit(Value : TEditorstyle);
|
||||||
|
begin
|
||||||
|
if FEditorstyle <> Value then
|
||||||
|
begin
|
||||||
|
FEditorstyle := Value;
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 为第I字段增加提示信息的方法}
|
||||||
|
procedure TDBPanel.AddHits(ItemIndex:
|
||||||
|
Integer; Hits: array of string);
|
||||||
|
var
|
||||||
|
m,n,i: Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
comEditors[ItemIndex].Items.Add(Hits[i]);
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
edEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
n := Length(memoEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
memoEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.AKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
|
begin
|
||||||
|
if (Sender is TDBComboBox) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBComboBox).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBComboBox).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else if (Sender is TDBedit) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBedit).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBedit).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else if (Sender is TDBMemo) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBMemo).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBMemo).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.AProgressEditorChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.AKeyPress(Sender: TObject; var Key: Char);
|
||||||
|
begin
|
||||||
|
if (Sender is TDBComboBox) or (Sender is TDBedit) or (Sender is TDBMemo) then
|
||||||
|
if Key=#13 then
|
||||||
|
(Owner as TForm).Perform(WM_NEXTDLGCTL, 0, 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBPanel.ClearHits(ItemIndex: Integer);
|
||||||
|
var
|
||||||
|
n: Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
if ItemIndex< n then comEditors[ItemIndex].Items.Clear;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
if ItemIndex< n then edEditors[ItemIndex].Hint:='';;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
n := Length(MemoEditors);
|
||||||
|
if ItemIndex< n then MemoEditors[ItemIndex].Hint:='';;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TDBPanel.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
Inherited Create(AOWner);
|
||||||
|
FLeft :=10;
|
||||||
|
FTop := 10;
|
||||||
|
maxTextLen := 100;
|
||||||
|
maxLabelLen := 100;
|
||||||
|
FLineHeight := 15;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建各字段的数据输入控件的方法}
|
||||||
|
procedure TDBPanel.CreateEditors(DS: TDataSource; ColCount: Integer);
|
||||||
|
var
|
||||||
|
i, n, RowCount: Integer;
|
||||||
|
TextHeight: Integer;
|
||||||
|
begin
|
||||||
|
if DataSource = nil then exit;
|
||||||
|
if not DataSource.DataSet.Active then exit;
|
||||||
|
n := DataSource.DataSet.RecordCount;
|
||||||
|
if n > 0 then
|
||||||
|
begin
|
||||||
|
DataSource.DataSet.DisableControls;
|
||||||
|
if maxLabelLen < maxTextLen then
|
||||||
|
maxTextLen := maxLabelLen;
|
||||||
|
|
||||||
|
{ 计算最大的标题长度及显示长度}
|
||||||
|
DataSource.DataSet.First;
|
||||||
|
{ 计算高度}
|
||||||
|
TextHeight := Canvas.TextHeight(DataSource.DataSet.Fields[0].DisplayLabel) + FLineHeight; //10;
|
||||||
|
{ 计算行列数}
|
||||||
|
if (FColumns = 0) or (FColumns <> ColCount) then FColumns := ColCount;
|
||||||
|
RowCount := n div Columns;
|
||||||
|
if n mod Columns <> 0 then inc(RowCount);
|
||||||
|
{ 分配内存}
|
||||||
|
FreeEditors;
|
||||||
|
SetLength(Labels,n);
|
||||||
|
SetLength(ProgressBars,n);
|
||||||
|
SetLength(ProgressEditor,n);
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
SetLength(comEditors,n)
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
SetLength(edEditors,n)
|
||||||
|
else
|
||||||
|
SetLength(MemoEditors,n);
|
||||||
|
|
||||||
|
{ 创建滚动盒}
|
||||||
|
FScrollBox := TScrollBox.Create(Owner);
|
||||||
|
FScrollBox.Visible := False;
|
||||||
|
FScrollBox.Parent := Self;
|
||||||
|
FScrollBox.Align := alClient;
|
||||||
|
{ 创建编辑}
|
||||||
|
for i := 0 to n - 1 do
|
||||||
|
begin
|
||||||
|
{ 创建标题}
|
||||||
|
Labels[i] := TDBText.Create(Owner);
|
||||||
|
Labels[i].visible := FTitleVisible;
|
||||||
|
Labels[i].Parent := FScrollBox;
|
||||||
|
Labels[i].DataField := DataField_Title;
|
||||||
|
Labels[i].DataSource := DataSource;
|
||||||
|
Labels[i].Left := FLeft + (maxLabelLen + 36) * (i div RowCount)+16; //+maxTextLen
|
||||||
|
if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
Labels[i].Top := FTop + (i mod RowCount) * (TextHeight*4+10) + 2;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Labels[i].Top := FTop + (i mod RowCount) * (TextHeight*2+10) + 2;
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
end;
|
||||||
|
{ 创建进度条数据对象}
|
||||||
|
ProgressEditor[i] := TDBedit.Create(Owner);
|
||||||
|
ProgressEditor[i].visible := False;
|
||||||
|
ProgressEditor[i].Parent := FScrollBox;
|
||||||
|
ProgressEditor[i].DataField := DataField_Progress;
|
||||||
|
ProgressEditor[i].DataSource := DataSource;
|
||||||
|
ProgressEditor[i].OnChange := AProgressEditorChange;
|
||||||
|
|
||||||
|
{ 创建信息显示数据对象}
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
comEditors[i] := TDBComboBox.Create(Owner);
|
||||||
|
comEditors[i].Parent := FScrollBox; //Self;
|
||||||
|
comEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
comEditors[i].Width := maxTextLen;
|
||||||
|
comEditors[i].Top := Labels[i].Top+20;
|
||||||
|
comEditors[i].DataSource := DataSource;
|
||||||
|
comEditors[i].DataField := DataField_Editor;
|
||||||
|
comEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
comEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TProgressBar.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox;
|
||||||
|
ProgressBars[i].Orientation := pbHorizontal;
|
||||||
|
ProgressBars[i].Left := comEditors[i].Left;
|
||||||
|
ProgressBars[i].Width := comEditors[i].Width;
|
||||||
|
ProgressBars[i].Height := 10;
|
||||||
|
ProgressBars[i].Top := comEditors[i].Top+comEditors[i].height+2;
|
||||||
|
ProgressBars[i].Position := i*4
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
edEditors[i] := TDBedit.Create(Owner);
|
||||||
|
edEditors[i].Parent := FScrollBox;
|
||||||
|
edEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
edEditors[i].Width := maxTextLen;
|
||||||
|
edEditors[i].Top := Labels[i].Top+20;
|
||||||
|
edEditors[i].DataSource := DataSource;
|
||||||
|
edEditors[i].DataField := DataField_Editor;
|
||||||
|
edEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
edEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TProgressBar.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox;
|
||||||
|
ProgressBars[i].Orientation := pbHorizontal;
|
||||||
|
ProgressBars[i].Left := edEditors[i].Left;
|
||||||
|
ProgressBars[i].Width := edEditors[i].Width;
|
||||||
|
ProgressBars[i].Height := 10;
|
||||||
|
ProgressBars[i].Top := edEditors[i].Top+edEditors[i].height+2;;
|
||||||
|
ProgressBars[i].Position := i*4
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
MemoEditors[i] := TDBmemo.Create(Owner);
|
||||||
|
MemoEditors[i].Parent := FScrollBox;
|
||||||
|
MemoEditors[i].Left := Labels[i].Left;
|
||||||
|
MemoEditors[i].Width := maxTextLen;
|
||||||
|
MemoEditors[i].Top := Labels[i].Top+20;
|
||||||
|
MemoEditors[i].DataSource := DataSource;
|
||||||
|
MemoEditors[i].DataField := DataField_Editor;
|
||||||
|
MemoEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
MemoEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
ProgressBars[i] := TProgressBar.Create(Owner);
|
||||||
|
ProgressBars[i].Parent := FScrollBox;
|
||||||
|
ProgressBars[i].Orientation := pbVertical;
|
||||||
|
ProgressBars[i].Left := MemoEditors[i].Left + MemoEditors[i].Width +1;
|
||||||
|
ProgressBars[i].Width := 10;
|
||||||
|
ProgressBars[i].Height := MemoEditors[i].Height;
|
||||||
|
ProgressBars[i].Top := MemoEditors[i].Top;
|
||||||
|
ProgressBars[i].Position := i*4
|
||||||
|
end;
|
||||||
|
if not DataSource.DataSet.Eof then
|
||||||
|
DataSource.DataSet.next;
|
||||||
|
end;
|
||||||
|
DataSource.DataSet.EnableControls;
|
||||||
|
FScrollBox.Visible := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TDBPanel.Destroy;
|
||||||
|
begin
|
||||||
|
FreeEditors;
|
||||||
|
Inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBPanel.comEditor(Index: Integer): TDBComboBox;
|
||||||
|
begin
|
||||||
|
if Index< Length(comEditors) then Result := comEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBPanel.edEditor(Index: Integer): TDBedit;
|
||||||
|
begin
|
||||||
|
if Index < Length(edEditors) then Result := edEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
function TDBPanel.MemoEditor(Index: Integer): TDBMemo;
|
||||||
|
begin
|
||||||
|
if Index< Length(MemoEditors) then Result := MemoEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// 内存的释放是要有顺序的!必须以创建的相反的顺序进行!尤其是当组件之间有父子关系时
|
||||||
|
procedure TDBPanel.FreeEditors;
|
||||||
|
begin
|
||||||
|
if FScrollBox <> nil then
|
||||||
|
begin
|
||||||
|
comEditors := nil;
|
||||||
|
edEditors := nil;
|
||||||
|
MemoEditors := nil;
|
||||||
|
FScrollBox.Free;
|
||||||
|
FScrollBox := nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
339
T03贸易布匹检验/DbPanel/JKFootpanel.pas
Normal file
339
T03贸易布匹检验/DbPanel/JKFootpanel.pas
Normal file
|
|
@ -0,0 +1,339 @@
|
||||||
|
unit JKFootpanel;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes,Graphics, Controls, Forms, Dialogs,
|
||||||
|
ExtCtrls, dbctrls, stdctrls, db, ADODB, ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TEditorstyle = (TsDbMemo,TsDBcombox,Tsdbedit);
|
||||||
|
|
||||||
|
type
|
||||||
|
TJKFootpanel = class(TPanel)
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
FLeft: Integer;
|
||||||
|
FTop: Integer;
|
||||||
|
maxTextLen: Integer;
|
||||||
|
maxLabelLen: Integer;
|
||||||
|
FScrollBox: TScrollBox; {滚动控件}
|
||||||
|
FLineHeight: Integer;
|
||||||
|
FEditorstyle:Teditorstyle;
|
||||||
|
FTitleVisible :Boolean;
|
||||||
|
//数据数组控件,动态生成
|
||||||
|
MemoEditors :array of TDBMemo;
|
||||||
|
comEditors :array of TDBCombobox;
|
||||||
|
edEditors :array of TDBedit;
|
||||||
|
Labels :array of TLAbel; //字段标题,动态生成
|
||||||
|
FDataSource :TDataSource; // 数据源
|
||||||
|
FColumns :Integer; //显示列数
|
||||||
|
procedure FreeEditors; //释放数据输入控件的内存
|
||||||
|
procedure AKeyDown(Sender :TObject; var Key: Word; Shift:TShiftState);
|
||||||
|
procedure AKeyPress(Sender :TObject; var Key: Char);
|
||||||
|
function comEditor(Index :Integer):TDBComboBox;
|
||||||
|
function edEditor(Index :Integer):TDBedit;
|
||||||
|
function MemoEditor(Index :Integer): TDBMemo;
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
|
||||||
|
public
|
||||||
|
constructor Create(AOwner :TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
procedure Setedit(Value :TEditorstyle);
|
||||||
|
procedure ClearHits(ItemIndex :Integer);
|
||||||
|
procedure AddHits(ItemIndex :Integer; Hits :array of string);
|
||||||
|
Function CreateEditors(DS :TDataSource; ColCount :Integer) :integer; //创建各字段的数据输入控件
|
||||||
|
|
||||||
|
{ Public declarations }
|
||||||
|
published
|
||||||
|
|
||||||
|
property LimitLeft :Integer read FLeft write FLeft default 10;
|
||||||
|
property LimitTop :Integer read FTop write FTop default 10;
|
||||||
|
property Editorstyle :TEditorstyle read FEditorstyle write FEditorstyle default Tsdbedit;
|
||||||
|
property EditorWidth :Integer read maxTextLen write maxTextLen default 100;
|
||||||
|
property TitleWidth :Integer read maxLabelLen write maxLabelLen default 100;
|
||||||
|
property LineHeight :Integer read FLineHeight write FLineHeight default 15;
|
||||||
|
property TitleVisible :Boolean read FTitleVisible write FTitleVisible default True;
|
||||||
|
property DataSource :TDataSource read FDataSource write FDataSource; //数据源
|
||||||
|
property Columns :Integer read FColumns write FColumns default 4;//表列数
|
||||||
|
|
||||||
|
{ Published declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
constructor TJKFootpanel.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
Inherited Create(AOWner);
|
||||||
|
FLeft :=16;
|
||||||
|
FTop := 10;
|
||||||
|
maxTextLen := 100;
|
||||||
|
maxLabelLen := 100;
|
||||||
|
FLineHeight := 15;
|
||||||
|
FTitleVisible := True;
|
||||||
|
Editorstyle := Tsdbedit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls', [TJKFootpanel]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TJKFootpanel.Setedit(Value : TEditorstyle);
|
||||||
|
begin
|
||||||
|
if FEditorstyle <> Value then
|
||||||
|
begin
|
||||||
|
FEditorstyle := Value;
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 为第I字段增加提示信息的方法}
|
||||||
|
procedure TJKFootpanel.AddHits(ItemIndex:
|
||||||
|
Integer; Hits: array of string);
|
||||||
|
var
|
||||||
|
m,n,i: Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
comEditors[ItemIndex].Items.Add(Hits[i]);
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
edEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
n := Length(memoEditors);
|
||||||
|
m := Length(Hits);
|
||||||
|
if ItemIndex< n then
|
||||||
|
for i:=0 to m-1 do
|
||||||
|
memoEditors[ItemIndex].Hint:= Hits[i];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJKFootpanel.AKeyPress(Sender: TObject; var Key: Char);
|
||||||
|
begin
|
||||||
|
if (Sender is TDBComboBox) or (Sender is TDBedit) or (Sender is TDBMemo) then
|
||||||
|
if Key=#13 then
|
||||||
|
(Owner as TForm).Perform(WM_NEXTDLGCTL, 0, 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TJKFootpanel.ClearHits(ItemIndex: Integer);
|
||||||
|
var
|
||||||
|
n: Integer;
|
||||||
|
begin
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
n := Length(comEditors);
|
||||||
|
if ItemIndex< n then comEditors[ItemIndex].Items.Clear;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
n := Length(edEditors);
|
||||||
|
if ItemIndex< n then edEditors[ItemIndex].Hint:='';;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
n := Length(MemoEditors);
|
||||||
|
if ItemIndex< n then MemoEditors[ItemIndex].Hint:='';;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建各字段的数据输入控件的方法}
|
||||||
|
Function TJKFootpanel.CreateEditors(DS: TDataSource; ColCount: Integer):Integer ;
|
||||||
|
var
|
||||||
|
i, n, RowCount: Integer;
|
||||||
|
TextHeight: Integer;
|
||||||
|
begin
|
||||||
|
result := 120;
|
||||||
|
if DataSource = nil then exit;
|
||||||
|
if not DataSource.DataSet.Active then exit;
|
||||||
|
Columns := ColCount;
|
||||||
|
if Columns = 0 then exit;
|
||||||
|
n := DataSource.DataSet.fieldCount;
|
||||||
|
if n > 0 then
|
||||||
|
begin
|
||||||
|
DataSource.DataSet.DisableControls;
|
||||||
|
if maxLabelLen < maxTextLen then
|
||||||
|
maxTextLen := maxLabelLen;
|
||||||
|
|
||||||
|
{ 计算最大的标题长度及显示长度}
|
||||||
|
DataSource.DataSet.First;
|
||||||
|
{ 计算高度}
|
||||||
|
TextHeight := Canvas.TextHeight(DataSource.DataSet.Fields[0].DisplayLabel) + FLineHeight; //10;
|
||||||
|
{ 计算行列数}
|
||||||
|
if Columns > n then
|
||||||
|
Columns := n
|
||||||
|
else
|
||||||
|
Columns := ColCount;
|
||||||
|
|
||||||
|
RowCount := n div Columns;
|
||||||
|
if n mod Columns <> 0 then inc(RowCount);
|
||||||
|
{ 分配内存}
|
||||||
|
FreeEditors;
|
||||||
|
SetLength(Labels,n);
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
SetLength(comEditors,n)
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
SetLength(edEditors,n)
|
||||||
|
else
|
||||||
|
SetLength(MemoEditors,n);
|
||||||
|
|
||||||
|
{ 创建滚动盒}
|
||||||
|
FScrollBox := TScrollBox.Create(Owner);
|
||||||
|
FScrollBox.Visible := False;
|
||||||
|
FScrollBox.Parent := Self;
|
||||||
|
FScrollBox.Align := alClient;
|
||||||
|
//FScrollBox.Color := clSkyBlue;
|
||||||
|
FScrollBox.OnDblClick := OnDblClick;
|
||||||
|
{ 创建编辑}
|
||||||
|
for i := 0 to n - 1 do
|
||||||
|
begin
|
||||||
|
{ 创建标题}
|
||||||
|
Labels[i] := TLabel.Create(Owner);
|
||||||
|
Labels[i].visible := TitleVisible;
|
||||||
|
Labels[i].Parent := FScrollBox;
|
||||||
|
Labels[i].Caption := DataSource.DataSet.Fields[i].FieldName;
|
||||||
|
Labels[i].Left := FLeft + (maxLabelLen + 16) * (i div RowCount)+ 2; //+maxTextLen
|
||||||
|
if FEditorstyle = TsDBMemo then
|
||||||
|
begin
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
Labels[i].Top := FTop + (i mod RowCount) * (TextHeight*2+4) + 12;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Labels[i].Width := maxLabelLen;
|
||||||
|
Labels[i].Top := FTop + (i mod RowCount) * (TextHeight*1 +12)
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ 创建信息显示数据对象}
|
||||||
|
if FEditorstyle = TsDBcombox then
|
||||||
|
begin
|
||||||
|
comEditors[i] := TDBComboBox.Create(Owner);
|
||||||
|
comEditors[i].Parent := FScrollBox; //Self;
|
||||||
|
comEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
comEditors[i].Width := maxTextLen;
|
||||||
|
comEditors[i].Top := Labels[i].Top+15;
|
||||||
|
comEditors[i].DataSource := DataSource;
|
||||||
|
comEditors[i].DataField := DataSource.DataSet.Fields[i].FieldName;
|
||||||
|
comEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
comEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
comEditors[i].Font.Color := ClBlue;
|
||||||
|
end
|
||||||
|
else if FEditorstyle = TsDBEdit then
|
||||||
|
begin
|
||||||
|
edEditors[i] := TDBedit.Create(Owner);
|
||||||
|
edEditors[i].Parent := FScrollBox;
|
||||||
|
edEditors[i].Left := Labels[i].Left; //+ Labels[i].Width;
|
||||||
|
edEditors[i].Width := maxTextLen;
|
||||||
|
edEditors[i].Top := Labels[i].Top+15;
|
||||||
|
edEditors[i].DataSource := DataSource;
|
||||||
|
edEditors[i].DataField := DataSource.DataSet.Fields[i].FieldName;
|
||||||
|
edEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
edEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
edEditors[i].Font.Color := ClBlue;
|
||||||
|
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
MemoEditors[i] := TDBmemo.Create(Owner);
|
||||||
|
MemoEditors[i].Parent := FScrollBox;
|
||||||
|
MemoEditors[i].Left := Labels[i].Left;
|
||||||
|
MemoEditors[i].Width := maxTextLen;
|
||||||
|
MemoEditors[i].Top := Labels[i].Top+15;
|
||||||
|
MemoEditors[i].DataSource := DataSource;
|
||||||
|
MemoEditors[i].DataField := DataSource.DataSet.Fields[i].FieldName;
|
||||||
|
MemoEditors[i].OnKeyPress := AKeyPress;
|
||||||
|
MemoEditors[i].OnKeyDown := AKeyDown;
|
||||||
|
MemoEditors[i].Font.Color := ClBlue;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if FEditorstyle = TsDBMemo then
|
||||||
|
result := RowCount*TextHeight*4 +20
|
||||||
|
else
|
||||||
|
result := RowCount*TextHeight*2 +20;
|
||||||
|
DataSource.DataSet.EnableControls;
|
||||||
|
FScrollBox.Visible := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TJKFootpanel.Destroy;
|
||||||
|
begin
|
||||||
|
FreeEditors;
|
||||||
|
Inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TJKFootpanel.comEditor(Index: Integer): TDBComboBox;
|
||||||
|
begin
|
||||||
|
if Index< Length(comEditors) then Result := comEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TJKFootpanel.edEditor(Index: Integer): TDBedit;
|
||||||
|
begin
|
||||||
|
if Index < Length(edEditors) then Result := edEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
function TJKFootpanel.MemoEditor(Index: Integer): TDBMemo;
|
||||||
|
begin
|
||||||
|
if Index< Length(MemoEditors) then Result := MemoEditors[Index]
|
||||||
|
else Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// 内存的释放是要有顺序的!必须以创建的相反的顺序进行!尤其是当组件之间有父子关系时
|
||||||
|
procedure TJKFootpanel.FreeEditors;
|
||||||
|
begin
|
||||||
|
if FScrollBox <> nil then
|
||||||
|
begin
|
||||||
|
comEditors := nil;
|
||||||
|
edEditors := nil;
|
||||||
|
MemoEditors := nil;
|
||||||
|
FScrollBox.Free;
|
||||||
|
FScrollBox := nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TJKFootpanel.AKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
|
begin
|
||||||
|
{
|
||||||
|
if (Sender is TDBComboBox) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBComboBox).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBComboBox).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else if (Sender is TDBedit) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBedit).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBedit).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else if (Sender is TDBMemo) then
|
||||||
|
begin
|
||||||
|
case Key of
|
||||||
|
VK_Next: (Sender as TDBMemo).DataSource.DataSet.Next;
|
||||||
|
VK_PRIOR: (Sender as TDBMemo).DataSource.DataSet.Prior;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
1123
T03贸易布匹检验/DbPanel/JkPanel.pas
Normal file
1123
T03贸易布匹检验/DbPanel/JkPanel.pas
Normal file
File diff suppressed because it is too large
Load Diff
BIN
T03贸易布匹检验/DbPanel/L_DBDateTime.dcr
Normal file
BIN
T03贸易布匹检验/DbPanel/L_DBDateTime.dcr
Normal file
Binary file not shown.
143
T03贸易布匹检验/DbPanel/L_DBDateTime.pas
Normal file
143
T03贸易布匹检验/DbPanel/L_DBDateTime.pas
Normal file
|
|
@ -0,0 +1,143 @@
|
||||||
|
unit L_DBDateTime;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,db,dbtables,dbctrls,Dialogs,
|
||||||
|
ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TDBDateTime = class(TDateTimePicker)
|
||||||
|
private
|
||||||
|
FDataLink:TFieldDataLink;
|
||||||
|
//TFieldDataLink是TDataLink的派生类,
|
||||||
|
// 处理单个字段与DataSource的交互
|
||||||
|
procedure DataChange(sender:Tobject);
|
||||||
|
//当DataSet的记录改变(如浏览记录)
|
||||||
|
// 时触发OnDataChange
|
||||||
|
// 事件,DataChange将作为该事件的事件处理句柄
|
||||||
|
procedure UpdateData(sender:Tobject);
|
||||||
|
//更新DataSet前触发OnUpdateData事件,
|
||||||
|
// UpdateData将作为该事件的事件处理句柄
|
||||||
|
function GetDataSource:TDataSource;
|
||||||
|
procedure SetdataSource(value:TDataSource);
|
||||||
|
Function GetDataField:String;
|
||||||
|
procedure SetdataField(Value:String);
|
||||||
|
procedure CMexit(var Message:TCMExit);
|
||||||
|
message CM_EXIT;//当控件失去焦点时触发CM_EXIT消息
|
||||||
|
protected
|
||||||
|
procedure Change;override;//控件中日期、
|
||||||
|
// 时间改变时触发OnChange事件
|
||||||
|
procedure Notification(AComponent:TComponent;
|
||||||
|
Operation:Toperation);override;
|
||||||
|
//当某一控件从FORM上移走时DELPHI的
|
||||||
|
// IDE调用该方法通知其它控件
|
||||||
|
public
|
||||||
|
constructor Create(AOwner:Tcomponent);override;
|
||||||
|
destructor Destroy;override;
|
||||||
|
published
|
||||||
|
property DataSource:TDataSource read GetDataSource
|
||||||
|
write SetDataSource;//为控件增加DataSource属性,
|
||||||
|
// 使它能与DataSource构件连接
|
||||||
|
property DataField:String read GetDataField
|
||||||
|
write SetDataField;
|
||||||
|
end;//为控件增加DataField属性,
|
||||||
|
// 使它指向代表某一字段的TField对象
|
||||||
|
|
||||||
|
procedure Register;//注册构件
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
procedure TDBDateTime.CMExit;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
FDataLink.UpdateRecord;
|
||||||
|
//控件失去焦点时更新DataSet,
|
||||||
|
// 这将触发OnUpdateData事件
|
||||||
|
except
|
||||||
|
Setfocus;
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
DoExit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TDBDateTime.Create(Aowner:Tcomponent);
|
||||||
|
begin
|
||||||
|
inherited Create(Aowner);
|
||||||
|
//创建DataLink对象,挂接OnDataChange、
|
||||||
|
//OnUpdateData事件处理句柄
|
||||||
|
FDataLink:=TFieldDataLInk.Create;
|
||||||
|
FDataLink.OnDataChange:=DataChange;
|
||||||
|
FDataLink.OnUpdateData:=Updatedata;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Destructor TDBDateTime.Destroy;
|
||||||
|
begin
|
||||||
|
FDataLink.OnDataChange:=nil;
|
||||||
|
FDataLink.OnUpdateData:=nil;
|
||||||
|
FDataLink.Free;
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBDateTime.GetdataSource:TdataSource;
|
||||||
|
begin
|
||||||
|
result:=FDataLink.DataSource;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Procedure TDBDateTime.SetDataSource
|
||||||
|
(Value:TDataSource);
|
||||||
|
begin
|
||||||
|
FDataLink.DataSource:=Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDBDateTime.GetDatafield:String;
|
||||||
|
begin
|
||||||
|
result:=FDataLink.FieldName;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBDateTime.SetDataField(value:String);
|
||||||
|
begin
|
||||||
|
FdataLink.FieldName:=value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBDateTime.DataChange(Sender:Tobject);
|
||||||
|
begin
|
||||||
|
DateTime:=now;
|
||||||
|
//若控件连了活动的DataSet则数据集变动时
|
||||||
|
//控件显示当前记录的相应字段值
|
||||||
|
if FDataLink.Field<>nil then
|
||||||
|
if FDataLink.Field.Text<>'' then
|
||||||
|
DateTime:=FDatalink.Field.AsDateTime;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Procedure TDBDateTime.UpdateData(sender:Tobject);
|
||||||
|
begin
|
||||||
|
FDatalink.Field.AsDateTime:=DateTime;
|
||||||
|
//用控件中的日期、时间更新相应字段
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDBDateTime.Change;
|
||||||
|
begin
|
||||||
|
//当用户改变了控件中的内容时将DataSet置为编辑状态
|
||||||
|
FDataLink.Modified;
|
||||||
|
if not FDataLink.Editing then
|
||||||
|
FdataLink.Edit;
|
||||||
|
inherited Change;
|
||||||
|
end;
|
||||||
|
procedure TDBDateTime.Notification
|
||||||
|
(AComponent:TComponent;Operation:TOperation);
|
||||||
|
begin
|
||||||
|
inherited Notification(Acomponent,Operation);
|
||||||
|
//当与控件相连的TdataSource
|
||||||
|
// 被删除时将控件的DataSource属性置为空
|
||||||
|
if (Operation=opRemove) and (FDataLink<>nil)
|
||||||
|
and (AComponent=Datasource) then
|
||||||
|
DataSource:=nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls',[TDBDateTime]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
84
T03贸易布匹检验/DbPanel/MovePanel.pas
Normal file
84
T03贸易布匹检验/DbPanel/MovePanel.pas
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
unit MovePanel;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Windows, Classes, Controls,ExtCtrls;
|
||||||
|
type
|
||||||
|
TMovePanel = class(TPanel) //这个控件是继承Tpanel类的
|
||||||
|
private
|
||||||
|
PrePoint:TPoint;
|
||||||
|
Down:Boolean;
|
||||||
|
{ Private declarations }
|
||||||
|
protected
|
||||||
|
{ Protected declarations }
|
||||||
|
public
|
||||||
|
constructor Create(AOwner:TComponent);
|
||||||
|
override;
|
||||||
|
//重载鼠标事件,抢先处理消息
|
||||||
|
procedure MouseDown(Button: TMouseButton;
|
||||||
|
Shift: TShiftState; X, Y: Integer);override;
|
||||||
|
procedure MouseUp(Button: TMouseButton;
|
||||||
|
Shift: TShiftState; X, Y: Integer);override;
|
||||||
|
procedure MouseMove(Shift: TShiftState;
|
||||||
|
X, Y: Integer);override;
|
||||||
|
{ Public declarations }
|
||||||
|
published
|
||||||
|
{ Published declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
constructor TMovePanel.Create(AOwner:TComponent);
|
||||||
|
begin
|
||||||
|
inherited Create(AOwner); //继承父类的Create方法
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMovePanel.MouseDown(Button:
|
||||||
|
TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
|
begin
|
||||||
|
if (Button=MBLeft) then
|
||||||
|
begin
|
||||||
|
Down:=true;
|
||||||
|
GetCursorPos(PrePoint);
|
||||||
|
end;
|
||||||
|
//如果方法已存在,就触发相应事件去调用它,若不加此语句会造成访存异常
|
||||||
|
if assigned(OnMouseDown) then
|
||||||
|
OnMouseDown(self,Button,shift,x,y);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMovePanel.MouseUp(Button:
|
||||||
|
TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
|
begin
|
||||||
|
if (Button=MBLeft) and Down then
|
||||||
|
Down:=False;
|
||||||
|
if assigned(OnMouseUp) then
|
||||||
|
OnMouseUp(Self,Button,shift,X,y);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMovePanel.MouseMove(Shift:
|
||||||
|
TShiftState; X, Y: Integer);
|
||||||
|
Var
|
||||||
|
NowPoint:TPoint;
|
||||||
|
begin
|
||||||
|
if down then
|
||||||
|
begin
|
||||||
|
GetCursorPos(nowPoint);
|
||||||
|
//self.Parent在Form中就是MovePanel所在的窗体,或是MovePanel所在的容器像Panel
|
||||||
|
self.Parent.Left:=self.Parent.left
|
||||||
|
+NowPoint.x-PrePoint.x;
|
||||||
|
self.parent.Top:=self.Parent.Top
|
||||||
|
+NowPoint.y-PrePoint.y;
|
||||||
|
PrePoint:=NowPoint;
|
||||||
|
end;
|
||||||
|
if Assigned(OnMouseMove) then
|
||||||
|
OnMouseMove(self,Shift,X,y);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Register;
|
||||||
|
begin
|
||||||
|
RegisterComponents('Data Controls', [TMovePanel]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
330
T03贸易布匹检验/DbPanel/dsr.pas
Normal file
330
T03贸易布匹检验/DbPanel/dsr.pas
Normal file
|
|
@ -0,0 +1,330 @@
|
||||||
|
unit dsr;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
SysUtils, StrUtils, Forms, Classes, DB, ADODB, Grids, DBGrids, Messages;
|
||||||
|
|
||||||
|
var
|
||||||
|
CanLCCL :Boolean;
|
||||||
|
V_User,V_UserID :string;
|
||||||
|
TmpHandle :THandle;
|
||||||
|
cnn_Base :TAdoConnection;
|
||||||
|
|
||||||
|
function SplitString(STR_Source :string; STR_Split:string):TStringList;
|
||||||
|
|
||||||
|
procedure DoAbnormalC(H: THandle;AConn: TADOConnection;UID: String;
|
||||||
|
UName: String;TRCarNo: String);stdcall;external 'frabnml.dll';
|
||||||
|
{
|
||||||
|
procedure DoRinseprt(H: THandle;//调用窗口句柄
|
||||||
|
AConn: TADOConnection;//ADO连接
|
||||||
|
UID: String;//操作员号
|
||||||
|
UName: String;//操作员名
|
||||||
|
Machine: String;//机台编号
|
||||||
|
Task: String//任务序次
|
||||||
|
);stdcall;
|
||||||
|
}
|
||||||
|
procedure DoRinseprt(H: THandle;AConn: TADOConnection;UID:String;
|
||||||
|
UName :String; Machine:String; Task:String); stdcall; external 'rinsepf.dll';
|
||||||
|
|
||||||
|
|
||||||
|
procedure Set_NextControl( Pass_Form: TCustomForm;var Key:Char);
|
||||||
|
|
||||||
|
function checkfunc(handle: Integer; DogFlag: String): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//检查硬件狗函数
|
||||||
|
// handle为主窗口句柄
|
||||||
|
// DogFlag为从数据库中查询到的硬件狗信息
|
||||||
|
// DLL自动检查硬件狗和DogFlag的信息是否相符,不符时将在3分钟左右自动重启计算机
|
||||||
|
|
||||||
|
function GetParm(flag: Integer; out len: Integer; outHex: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//硬件狗中获取特定信息,如IP地址,数据库名称,用户名、口令等
|
||||||
|
//自定义参数flag取值范围为0--4,存储空间一共为20个字节,为连续的地址空间
|
||||||
|
//也即:参数0,最大可用长度为20,这时其他参数,将覆盖这个区域
|
||||||
|
// 参数4,最大可用长度为4
|
||||||
|
//DogFlag为字符串信息
|
||||||
|
|
||||||
|
function SetParm(flag, len: Integer; inHex: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//flag=5IP,=6User,=7Pass,=8DB
|
||||||
|
//硬件狗中设置参数,传入IP时,须设置为 “C8A00164”等形式传入(192.168.1.100)
|
||||||
|
//自定义参数用法同上
|
||||||
|
|
||||||
|
function InfoFunc(order: Integer; info: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//读取本机硬件信息,返回值为机器网卡个数
|
||||||
|
//考虑到某些可移动的网卡,要查询固定的网卡信息
|
||||||
|
//软件安装时要求移除可移动网卡
|
||||||
|
//order为第几块网卡,从0开始
|
||||||
|
|
||||||
|
function GetHostIpAddr(DogParm, HostName, IPAddr: PAnsiChar): Integer; stdcall; external 'FUTONG.DLL';
|
||||||
|
//获取硬件狗标识,本机IP地址(仅参考,因为机器有多个IP地址,获取的只是其中之一)
|
||||||
|
//以及机器名称
|
||||||
|
|
||||||
|
function PBEncode(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
function PBEncode1(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
function PBDecode(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
|
||||||
|
function SplitString(STR_Source :string; STR_Split:string):TStringList;
|
||||||
|
var
|
||||||
|
temp:String;
|
||||||
|
i:Integer;
|
||||||
|
begin
|
||||||
|
Result:=TStringList.Create;
|
||||||
|
//如果是空自符串则返回空列表
|
||||||
|
if trim(STR_Source) = '' then exit;
|
||||||
|
temp:=STR_Source;
|
||||||
|
i:=pos(STR_Split,STR_Source);
|
||||||
|
while i <> 0 do
|
||||||
|
begin
|
||||||
|
Result.add(copy(temp,0,i-1));
|
||||||
|
Delete(temp,1,i+length(STR_Split)-1); //如果STR_Split长度大于1的话,原来的只删除STR_Split字符的第一个.
|
||||||
|
i:=pos(STR_Split,temp);
|
||||||
|
end;
|
||||||
|
Result.add(temp);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Set_NextControl( Pass_Form: TCustomForm;var Key:Char);
|
||||||
|
label
|
||||||
|
labe_A;
|
||||||
|
begin
|
||||||
|
if key=#13 then
|
||||||
|
if not (Pass_Form.ActiveControl is TDbgrid) Then
|
||||||
|
Begin
|
||||||
|
key:=#0;
|
||||||
|
Pass_Form.perform(WM_NEXTDLGCTL,0,0);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if (Pass_Form.ActiveControl is TDbgrid) Then
|
||||||
|
begin
|
||||||
|
With TDbgrid(Pass_Form.ActiveControl) Do
|
||||||
|
begin
|
||||||
|
labe_A:
|
||||||
|
if Selectedindex<(FieldCount-1) then
|
||||||
|
Selectedindex:=Selectedindex+1
|
||||||
|
else Selectedindex:=0;
|
||||||
|
if not Columns[Selectedindex].Visible then
|
||||||
|
goto labe_A;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function PBEncode(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
var
|
||||||
|
table: array[0..63] of AnsiChar;
|
||||||
|
c80, c81, c82, c6: AnsiChar;
|
||||||
|
i, k, len: Integer;
|
||||||
|
Tmpbuf: array[0..255] of AnsiChar;
|
||||||
|
begin
|
||||||
|
table := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||||
|
|
||||||
|
if (nInLen*4)>(nOutLen*3+3) then Result := 1;
|
||||||
|
|
||||||
|
k := nInLen div 3;
|
||||||
|
len := k*4;
|
||||||
|
|
||||||
|
for i:=0 to k-1 do
|
||||||
|
begin
|
||||||
|
c80 := Inbuf[i*3];
|
||||||
|
c6 := Char(Integer(c80) shr 2);
|
||||||
|
Tmpbuf[i*4] := table[Integer(c6) and $3f];
|
||||||
|
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
c81 := Inbuf[i*3+1];
|
||||||
|
c6 := Char((Integer(c81) shr 4) and $0f);
|
||||||
|
Tmpbuf[i*4+1] := table[Integer(c80) or Integer(c6)];
|
||||||
|
|
||||||
|
c81 := Char((Integer(c81) shl 2) and $3c);
|
||||||
|
c82 := Inbuf[i*3+2];
|
||||||
|
c6 := Char((Integer(c82) shr 6) and $03);
|
||||||
|
Tmpbuf[i*4+2] := table[Integer(c81) or Integer(c6)];
|
||||||
|
|
||||||
|
Tmpbuf[i*4+3] := table[Integer(c82) and $3f];
|
||||||
|
end;
|
||||||
|
|
||||||
|
i := nInLen mod 3;
|
||||||
|
k := nInLen div 3;
|
||||||
|
|
||||||
|
if i<>0 then
|
||||||
|
begin
|
||||||
|
len := len+4;
|
||||||
|
|
||||||
|
c80 := Inbuf[k*3];
|
||||||
|
c6 := Char(Integer(c80) shr 2);
|
||||||
|
Tmpbuf[k*4] := table[Integer(c6) and $3f];
|
||||||
|
|
||||||
|
if k=1 then
|
||||||
|
begin
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
Tmpbuf[k*4+1] := table[Integer(c80)];
|
||||||
|
|
||||||
|
Tmpbuf[k*4+2] := '=';
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
c81 := Inbuf[k*3+1];
|
||||||
|
c6 := Char((Integer(c81) shr 4) and $0f);
|
||||||
|
Tmpbuf[k*4+1] := table[Integer(c80) or Integer(c6)];
|
||||||
|
|
||||||
|
c81 := Char((Integer(c81) shl 2) and $3c);
|
||||||
|
Tmpbuf[k*4+2] := table[Integer(c81)];
|
||||||
|
end;
|
||||||
|
Tmpbuf[k*4+3] := '=';
|
||||||
|
end;
|
||||||
|
Tmpbuf[len] := #0;
|
||||||
|
Outbuf := Tmpbuf;
|
||||||
|
Result := len;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function PBEncode1(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
var
|
||||||
|
table: array[0..63] of AnsiChar;
|
||||||
|
c80, c81, c82, c6: AnsiChar;
|
||||||
|
i, k, len: Integer;
|
||||||
|
Tmpbuf: array[0..255] of AnsiChar;
|
||||||
|
begin
|
||||||
|
table := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||||
|
|
||||||
|
if (nInLen*4)>(nOutLen*3+3) then Result := 1;
|
||||||
|
|
||||||
|
k := nInLen div 3;
|
||||||
|
len := k*4;
|
||||||
|
|
||||||
|
for i:=0 to k-1 do
|
||||||
|
begin
|
||||||
|
c80 := Inbuf[i*3];
|
||||||
|
c6 := Char(Integer(c80) shr 2);
|
||||||
|
Tmpbuf[i*4] := table[Integer(c6) and $3f];
|
||||||
|
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
c81 := Inbuf[i*3+1];
|
||||||
|
c6 := Char((Integer(c81) shr 4) and $0f);
|
||||||
|
Tmpbuf[i*4+1] := table[Integer(c80) or Integer(c6)];
|
||||||
|
|
||||||
|
c81 := Char((Integer(c81) shl 2) and $3c);
|
||||||
|
c82 := Inbuf[i*3+2];
|
||||||
|
c6 := Char((Integer(c82) shr 6) and $03);
|
||||||
|
Tmpbuf[i*4+2] := table[Integer(c81) or Integer(c6)];
|
||||||
|
|
||||||
|
Tmpbuf[i*4+3] := table[Integer(c82) and $3f];
|
||||||
|
end;
|
||||||
|
|
||||||
|
i := nInLen mod 3;
|
||||||
|
k := nInLen div 3;
|
||||||
|
|
||||||
|
if i<>0 then
|
||||||
|
begin
|
||||||
|
len := len+4;
|
||||||
|
|
||||||
|
c80 := Inbuf[k*3];
|
||||||
|
c6 := Char(Integer(c80) shr 2);
|
||||||
|
Tmpbuf[k*4] := table[Integer(c6) and $3f];
|
||||||
|
|
||||||
|
if i=1 then
|
||||||
|
begin
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
Tmpbuf[k*4+1] := table[Integer(c80)];
|
||||||
|
|
||||||
|
Tmpbuf[k*4+2] := '=';
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
c80 := Char((Integer(c80) shl 4) and $30);
|
||||||
|
c81 := Inbuf[k*3+1];
|
||||||
|
c6 := Char((Integer(c81) shr 4) and $0f);
|
||||||
|
Tmpbuf[k*4+1] := table[Integer(c80) or Integer(c6)];
|
||||||
|
|
||||||
|
c81 := Char((Integer(c81) shl 2) and $3c);
|
||||||
|
Tmpbuf[k*4+2] := table[Integer(c81)];
|
||||||
|
end;
|
||||||
|
Tmpbuf[k*4+3] := '=';
|
||||||
|
end;
|
||||||
|
Tmpbuf[len] := #0;
|
||||||
|
Outbuf := Tmpbuf;
|
||||||
|
Result := len;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function PBDecode(Inbuf: PAnsiChar; out Outbuf: AnsiString; nInLen: Word; nOutLen: Word): Integer;
|
||||||
|
var
|
||||||
|
pBufIn: PAnsiChar;
|
||||||
|
szBufTmp: array[0..255] of AnsiChar;
|
||||||
|
i, dwCoded, nprbytes, nbytesdecoded: Integer;
|
||||||
|
pszCoded: PAnsiChar;
|
||||||
|
szBufout: array[0..255] of AnsiChar;
|
||||||
|
pszBufout: PAnsiChar;
|
||||||
|
pr2six: array[0..255] of Word;
|
||||||
|
begin
|
||||||
|
for i := 0 to 42 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
pr2six[43] := 62;
|
||||||
|
for i := 44 to 46 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
pr2six[47] := 63;
|
||||||
|
for i := 48 to 57 do
|
||||||
|
pr2six[i] := i+4;
|
||||||
|
for i := 58 to 64 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
for i := 65 to 90 do
|
||||||
|
pr2six[i] := i-65;
|
||||||
|
for i := 91 to 96 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
for i := 97 to 122 do
|
||||||
|
pr2six[i] := i-71;
|
||||||
|
for i := 123 to 255 do
|
||||||
|
pr2six[i] := 64;
|
||||||
|
|
||||||
|
dwCoded := nInlen;
|
||||||
|
pszCoded := Inbuf;
|
||||||
|
|
||||||
|
while (dwCoded>0) and (pszCoded=' ') do
|
||||||
|
begin
|
||||||
|
Inc(pszCoded);
|
||||||
|
Dec(dwCoded);
|
||||||
|
end;
|
||||||
|
|
||||||
|
if dwCoded>(350-4) then result := 1;
|
||||||
|
|
||||||
|
StrLCopy(szBufTmp, pszCoded, dwCoded);
|
||||||
|
szBufTmp[dwCoded] := #0;
|
||||||
|
szBufTmp[dwCoded+1] := #0;
|
||||||
|
szBufTmp[dwCoded+2] := #0;
|
||||||
|
szBufTmp[dwCoded+3] := #0;
|
||||||
|
|
||||||
|
pBufIn := szBufTmp;
|
||||||
|
|
||||||
|
repeat
|
||||||
|
i := pr2six[Integer(pBufIn^)];
|
||||||
|
Inc(pBufIn);
|
||||||
|
until i>63;
|
||||||
|
nprbytes := pBufin-szBufTmp-1;
|
||||||
|
nbytesdecoded := ((nprbytes+3) div 4)*3;
|
||||||
|
if nOutLen<nbytesdecoded then result := 2;
|
||||||
|
if nbytesdecoded>(256-4) then result := 2;
|
||||||
|
|
||||||
|
pszBufout := szBufout;
|
||||||
|
pBufin := szBufTmp;
|
||||||
|
|
||||||
|
while nprbytes>0 do
|
||||||
|
begin
|
||||||
|
pszBufout^ := Char((pr2six[Integer(pBufin[0])] shl 2) or ((pr2six[Integer(pBufin[1])] shr 4)));
|
||||||
|
Inc(pszBufout);
|
||||||
|
pszBufout^ := Char((pr2six[Integer(pBufin[1])] shl 4) or ((pr2six[Integer(pBufin[2])] shr 2)));
|
||||||
|
Inc(pszBufout);
|
||||||
|
pszBufout^ := Char((pr2six[Integer(pBufin[2])] shl 6) or (pr2six[Integer(pBufin[3])]));
|
||||||
|
Inc(pszBufout);
|
||||||
|
Inc(pBufin, 4);
|
||||||
|
Dec(nprbytes, 4);
|
||||||
|
end;
|
||||||
|
if (nprbytes and $03) <> 0 then
|
||||||
|
begin
|
||||||
|
if pr2six[Integer(pBufin[-2])]>63 then Dec(nbytesdecoded, 2)
|
||||||
|
else Dec(nbytesdecoded);
|
||||||
|
end;
|
||||||
|
szBufout[nbytesdecoded] := #0;
|
||||||
|
Outbuf := szBufout;
|
||||||
|
result := nbytesdecoded;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
80
T03贸易布匹检验/DjdMachineInsp.dpr
Normal file
80
T03贸易布匹检验/DjdMachineInsp.dpr
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
library DjdMachineInsp;
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils,
|
||||||
|
classes,
|
||||||
|
forms,
|
||||||
|
WinTypes,
|
||||||
|
WinProcs,
|
||||||
|
midaslib,
|
||||||
|
U_GetDllForm in 'U_GetDllForm.pas',
|
||||||
|
U_DataLink in 'U_DataLink.pas' {DataLink_TradeInsp: TDataModule},
|
||||||
|
U_iniParam in 'U_iniParam.pas',
|
||||||
|
U_BaseHelp in '..\..\..\public10\design\U_BaseHelp.pas' {frmBaseHelp},
|
||||||
|
U_BaseInput in '..\..\..\public10\design\U_BaseInput.pas' {frmBaseInput},
|
||||||
|
U_BaseList in '..\..\..\public10\design\U_BaseList.pas' {frmBaseList},
|
||||||
|
U_cxGridCustomCss in '..\..\..\public10\design\U_cxGridCustomCss.pas',
|
||||||
|
U_globalVar in '..\..\..\public10\design\U_globalVar.pas',
|
||||||
|
U_WindowFormdesign in '..\..\..\public10\design\U_WindowFormdesign.pas',
|
||||||
|
U_CompressionFun in '..\..\..\public10\ThreeFun\Fun\U_CompressionFun.pas',
|
||||||
|
U_RTFun in '..\..\..\public10\ThreeFun\Fun\U_RTFun.pas',
|
||||||
|
U_ZDYHelp in '..\..\..\public10\ThreeFun\Form\U_ZDYHelp.pas' {frmZDYHelp},
|
||||||
|
U_AttachmentUpload in '..\A00通用窗体\U_AttachmentUpload.pas' {frmFjList_RZ},
|
||||||
|
U_CompanySel in '..\A00通用窗体\U_CompanySel.pas' {frmCompanySel},
|
||||||
|
U_EmployeeSel in '..\A00通用窗体\U_EmployeeSel.pas' {frmEmployeeSel},
|
||||||
|
U_TradeMachInsp in 'U_TradeMachInsp.pas' {frmTradeMachInsp},
|
||||||
|
U_FormLayOutDesign in '..\..\..\public10\design\U_FormLayOutDesign.pas',
|
||||||
|
U_cxGridCustomSet in '..\..\..\public10\design\U_cxGridCustomSet.pas',
|
||||||
|
U_LabelMapSet in '..\A00通用窗体\U_LabelMapSet.pas' {frmLabelMapSet},
|
||||||
|
U_BaseDataLink in '..\..\..\public10\design\U_BaseDataLink.pas' {BaseDataLink: TDataModule},
|
||||||
|
U_MachRollMain in 'U_MachRollMain.pas' {frmMachRollMain},
|
||||||
|
U_frameBads in 'U_frameBads.pas' {frameBads: TFrame},
|
||||||
|
U_frameParam in 'U_frameParam.pas' {FrameParam: TFrame},
|
||||||
|
U_ParamSet in 'U_ParamSet.pas' {frmParamSet},
|
||||||
|
U_SysLogList in 'U_SysLogList.pas' {frmSysLogList},
|
||||||
|
U_KeyBoard in 'U_KeyBoard.pas' {FrameKeyBoard: TFrame},
|
||||||
|
U_ProductListHelp in 'U_ProductListHelp.pas' {frmProductListHelp},
|
||||||
|
U_ProductJYHZList in 'U_ProductJYHZList.pas' {frmProductJYHZList},
|
||||||
|
U_TradePack in 'U_TradePack.pas' {frmTradePack},
|
||||||
|
U_TradeClothWaitPack in 'U_TradeClothWaitPack.pas' {frmTradeClothWaitPack},
|
||||||
|
U_TradeClothInspList in 'U_TradeClothInspList.pas' {frmTradeClothInspList},
|
||||||
|
U_DjdDjClList in 'U_DjdDjClList.pas' {frmDjdDjClList},
|
||||||
|
U_ControlData in '..\..\..\public10\ThreeFun\Fun\U_ControlData.pas',
|
||||||
|
U_LabelPrint in '..\A00通用窗体\U_LabelPrint.pas' {frmLabelPrint},
|
||||||
|
U_DeviceJkTest in 'U_DeviceJkTest.pas' {frmDeviceJkTest},
|
||||||
|
U_DeviceJkDll in 'U_DeviceJkDll.pas',
|
||||||
|
U_BatchMdyData in 'U_BatchMdyData.pas' {frmBatchMdyData},
|
||||||
|
U_AdoFunc in '..\..\..\public10\ThreeFun\Fun\U_AdoFunc.pas',
|
||||||
|
FrameDateSel in '..\A00通用组件\FrameDateSel.pas' {frmFrameDateSel: TFrame},
|
||||||
|
U_BillPrintList in 'U_BillPrintList.pas' {frmBillPrintList},
|
||||||
|
U_printPdf in '..\..\..\public10\ThreeFun\Fun\U_printPdf.pas',
|
||||||
|
U_TradeClothTotalOutSel in 'U_TradeClothTotalOutSel.pas' {frmTradeClothTotalOutSel},
|
||||||
|
U_CustomFun in '..\A00通用方法\U_CustomFun.pas',
|
||||||
|
uSZHN_JSON in '..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas';
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
|
||||||
|
procedure DllEnterPoint(dwReason: DWORD); far; stdcall;
|
||||||
|
begin
|
||||||
|
DLLProc := @DLLEnterPoint;
|
||||||
|
DllEnterPoint(DLL_PROCESS_ATTACH);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure DLLUnloadProc(Reason: Integer); register;
|
||||||
|
begin
|
||||||
|
// if (Reason = DLL_PROCESS_DETACH) or (Reason = DLL_THREAD_DETACH) then
|
||||||
|
// Application := NewDllApp;
|
||||||
|
end;
|
||||||
|
|
||||||
|
exports
|
||||||
|
GetDllForm;
|
||||||
|
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
NewDllApp := Application;
|
||||||
|
DLLProc := @DLLUnloadProc;
|
||||||
|
except
|
||||||
|
|
||||||
|
end;
|
||||||
|
end.
|
||||||
|
|
||||||
1042
T03贸易布匹检验/DjdMachineInsp.dproj
Normal file
1042
T03贸易布匹检验/DjdMachineInsp.dproj
Normal file
File diff suppressed because it is too large
Load Diff
BIN
T03贸易布匹检验/DjdMachineInsp.res
Normal file
BIN
T03贸易布匹检验/DjdMachineInsp.res
Normal file
Binary file not shown.
62
T03贸易布匹检验/DjdMachineInsp.skincfg
Normal file
62
T03贸易布匹检验/DjdMachineInsp.skincfg
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
[ExpressSkins]
|
||||||
|
Default=0
|
||||||
|
ShowNotifications=0
|
||||||
|
Enabled=1
|
||||||
|
dxSkinBasic=0
|
||||||
|
dxSkinBlack=0
|
||||||
|
dxSkinBlue=0
|
||||||
|
dxSkinBlueprint=0
|
||||||
|
dxSkinCaramel=0
|
||||||
|
dxSkinCoffee=0
|
||||||
|
dxSkinDarkroom=0
|
||||||
|
dxSkinDarkSide=0
|
||||||
|
dxSkinDevExpressDarkStyle=0
|
||||||
|
dxSkinDevExpressStyle=0
|
||||||
|
dxSkinFoggy=0
|
||||||
|
dxSkinGlassOceans=0
|
||||||
|
dxSkinHighContrast=0
|
||||||
|
dxSkiniMaginary=0
|
||||||
|
dxSkinLilian=0
|
||||||
|
dxSkinLiquidSky=0
|
||||||
|
dxSkinLondonLiquidSky=0
|
||||||
|
dxSkinMcSkin=0
|
||||||
|
dxSkinMetropolis=0
|
||||||
|
dxSkinMetropolisDark=0
|
||||||
|
dxSkinMoneyTwins=0
|
||||||
|
dxSkinOffice2007Black=0
|
||||||
|
dxSkinOffice2007Blue=0
|
||||||
|
dxSkinOffice2007Green=0
|
||||||
|
dxSkinOffice2007Pink=0
|
||||||
|
dxSkinOffice2007Silver=0
|
||||||
|
dxSkinOffice2010Black=0
|
||||||
|
dxSkinOffice2010Blue=0
|
||||||
|
dxSkinOffice2010Silver=0
|
||||||
|
dxSkinOffice2013DarkGray=0
|
||||||
|
dxSkinOffice2013LightGray=0
|
||||||
|
dxSkinOffice2013White=0
|
||||||
|
dxSkinOffice2016Colorful=0
|
||||||
|
dxSkinOffice2016Dark=0
|
||||||
|
dxSkinOffice2019Black=0
|
||||||
|
dxSkinOffice2019Colorful=0
|
||||||
|
dxSkinOffice2019DarkGray=0
|
||||||
|
dxSkinOffice2019White=0
|
||||||
|
dxSkinPumpkin=0
|
||||||
|
dxSkinSeven=0
|
||||||
|
dxSkinSevenClassic=0
|
||||||
|
dxSkinSharp=0
|
||||||
|
dxSkinSharpPlus=0
|
||||||
|
dxSkinSilver=0
|
||||||
|
dxSkinSpringtime=0
|
||||||
|
dxSkinStardust=0
|
||||||
|
dxSkinSummer2008=0
|
||||||
|
dxSkinTheAsphaltWorld=0
|
||||||
|
dxSkinTheBezier=0
|
||||||
|
dxSkinsDefaultPainters=0
|
||||||
|
dxSkinValentine=0
|
||||||
|
dxSkinVisualStudio2013Blue=0
|
||||||
|
dxSkinVisualStudio2013Dark=0
|
||||||
|
dxSkinVisualStudio2013Light=0
|
||||||
|
dxSkinVS2010=0
|
||||||
|
dxSkinWhiteprint=0
|
||||||
|
dxSkinWXI=1
|
||||||
|
dxSkinXmas2008Blue=0
|
||||||
2488
T03贸易布匹检验/ElAES.pas
Normal file
2488
T03贸易布匹检验/ElAES.pas
Normal file
File diff suppressed because it is too large
Load Diff
5
T03贸易布匹检验/File.INI
Normal file
5
T03贸易布匹检验/File.INI
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
[生产车间配置]
|
||||||
|
机台标志=1
|
||||||
|
成品DLL文件=TradeManagePB.dll
|
||||||
|
成品DLL调用号=3
|
||||||
|
员工编号=select distinct UserID from SY_Purview where ModuleId='15' and ModuleSubId='04'
|
||||||
15
T03贸易布匹检验/FileCar.INI
Normal file
15
T03贸易布匹检验/FileCar.INI
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
[生产车间配置]
|
||||||
|
DLL文件1=TradeManage.dll
|
||||||
|
|
||||||
|
卷条码机台标志=1
|
||||||
|
DLL调用号1=5
|
||||||
|
模块名称1=机台刷卡
|
||||||
|
模块显示1=1
|
||||||
|
DLL文件2=TradeManage.dll
|
||||||
|
模块显示2=1
|
||||||
|
DLL调用号2=51
|
||||||
|
模块名称2=员工上班
|
||||||
|
码表调用Dll文件=JCYData.dll
|
||||||
|
电子秤调用Dll文件=APORT232D.dll
|
||||||
|
|
||||||
|
员工编号=select distinct bzname as userid,bzid from OA_YG_BZ order by bzid
|
||||||
7
T03贸易布匹检验/FileHelp.ini
Normal file
7
T03贸易布匹检验/FileHelp.ini
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
[FILEPATH]
|
||||||
|
FileClass=YP,AA,BB,HT
|
||||||
|
YP=D:\YP
|
||||||
|
AA=D:\AA
|
||||||
|
BB=D:\BB
|
||||||
|
HT=D:\HT
|
||||||
|
OTHER=D:\OTHER
|
||||||
12
T03贸易布匹检验/FileKPZ.INI
Normal file
12
T03贸易布匹检验/FileKPZ.INI
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
[生产车间配置]
|
||||||
|
DLL文件1=TradeInsp.dll
|
||||||
|
DLL调用号1=112
|
||||||
|
DLL文件2=TradeInsp.dll
|
||||||
|
DLL调用号2=112
|
||||||
|
模块名称1=坯布称重
|
||||||
|
模块显示1=1
|
||||||
|
模块名称2=扫描检验
|
||||||
|
模块显示2=1
|
||||||
|
电子秤调用Dll文件=JZCRS232D.dll
|
||||||
|
码表调用Dll文件=
|
||||||
|
员工编号=select * from SY_PurView where ModuleId='19' and ModuleSubId in('04','21')
|
||||||
2
T03贸易布匹检验/FileUpdate.INI
Normal file
2
T03贸易布匹检验/FileUpdate.INI
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
[系统设置]
|
||||||
|
自动更新文件服务器=
|
||||||
BIN
T03贸易布匹检验/InformationBase_Icon.ico
Normal file
BIN
T03贸易布匹检验/InformationBase_Icon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 766 B |
7
T03贸易布匹检验/JCYData10.INI
Normal file
7
T03贸易布匹检验/JCYData10.INI
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
[系统配置]
|
||||||
|
串口号=com1
|
||||||
|
波特率=19200
|
||||||
|
校验位=0
|
||||||
|
数据位=8
|
||||||
|
停止位=1
|
||||||
|
频率=100
|
||||||
7
T03贸易布匹检验/JCYData_Ts.INI
Normal file
7
T03贸易布匹检验/JCYData_Ts.INI
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
[系统配置]
|
||||||
|
串口号=com3
|
||||||
|
波特率=9600
|
||||||
|
校验位=0
|
||||||
|
数据位=8
|
||||||
|
停止位=0
|
||||||
|
频率=100
|
||||||
295
T03贸易布匹检验/JDAESExtend.pas
Normal file
295
T03贸易布匹检验/JDAESExtend.pas
Normal file
|
|
@ -0,0 +1,295 @@
|
||||||
|
(**************************************************)
|
||||||
|
(* *)
|
||||||
|
(* Advanced Encryption Standard (AES) Extend *)
|
||||||
|
(* *)
|
||||||
|
(* Copyright (c) 2005-2016 *)
|
||||||
|
(* aisino, qiaobu@139.com qiaohaidong@aisino.com *)
|
||||||
|
(* *)
|
||||||
|
(**************************************************)
|
||||||
|
|
||||||
|
unit JDAESExtend;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
{$WARN IMPLICIT_STRING_CAST OFF} // 关闭警告
|
||||||
|
{$WARN IMPLICIT_STRING_CAST_LOSS OFF}
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils, Classes, Math, ElAES, System.Generics.Collections, Soap.EncdDecd;
|
||||||
|
|
||||||
|
type
|
||||||
|
TPaddingType = (PKCS5Padding { , PKCS7Padding } );
|
||||||
|
TKeyBit = (kb128, kb192, kb256);
|
||||||
|
TalgoMode = (amECB, amCBC { , amCFB, amOFB, amCTR } );
|
||||||
|
TCipherType = (ctBase64, ctHex);
|
||||||
|
|
||||||
|
TArrayPadding = array of Byte;
|
||||||
|
TArrayByte = array of Byte;
|
||||||
|
|
||||||
|
var
|
||||||
|
AESKey128: TAESKey128;
|
||||||
|
AESKey192: TAESKey192;
|
||||||
|
AESKey256: TAESKey256;
|
||||||
|
|
||||||
|
InitVector: TAESBuffer;
|
||||||
|
|
||||||
|
function EncryptString(Value: AnsiString; Key: AnsiString; KeyBit: TKeyBit = kb128; algoMode: TalgoMode = amECB; padding: TPaddingType = PKCS5Padding; sInitVector: AnsiString = '0000000000000000';
|
||||||
|
CipherType: TCipherType = ctHex): AnsiString;
|
||||||
|
function DecryptString(Value: AnsiString; Key: AnsiString; KeyBit: TKeyBit = kb128; algoMode: TalgoMode = amECB; padding: TPaddingType = PKCS5Padding; sInitVector: AnsiString = '0000000000000000';
|
||||||
|
CipherType: TCipherType = ctHex): AnsiString;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
//字符串转16进制(字符串)
|
||||||
|
function StrToHex(Value: AnsiString): string;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
for i := 1 to Length(Value) do
|
||||||
|
Result := Result + IntToHex(Ord(Value[i]), 2);
|
||||||
|
end;
|
||||||
|
//16进制(字符串)转字符串
|
||||||
|
function HexToStr(Value: AnsiString): AnsiString;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
for i := 1 to Length(Value) do
|
||||||
|
begin
|
||||||
|
if ((i mod 2) = 1) then
|
||||||
|
Result := Result + ansichar(StrToInt('0x' + Copy(Value, i, 2)));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//PKCS5规则补码
|
||||||
|
function PKCS5_Padding(Value: AnsiString; out arrayValue: TArrayByte): Int64;
|
||||||
|
var
|
||||||
|
Valueutf8: UTF8String;
|
||||||
|
BytesValue: array of Byte;
|
||||||
|
intMod: Byte;
|
||||||
|
valueLen: Integer;
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Valueutf8 := Value;
|
||||||
|
SetLength(BytesValue, Length(Valueutf8));
|
||||||
|
Move(Valueutf8[1], BytesValue[0], Length(Valueutf8));
|
||||||
|
intMod := 16 - Length(BytesValue) mod 16;
|
||||||
|
|
||||||
|
valueLen := Length(BytesValue);
|
||||||
|
SetLength(BytesValue, valueLen + intMod);
|
||||||
|
for i := 0 to intMod - 1 do
|
||||||
|
begin
|
||||||
|
BytesValue[valueLen + i] := intMod;
|
||||||
|
end;
|
||||||
|
SetLength(arrayValue, Length(BytesValue));
|
||||||
|
Move(BytesValue[0], arrayValue[0], Length(BytesValue));
|
||||||
|
Result := Length(BytesValue);
|
||||||
|
end;
|
||||||
|
|
||||||
|
//PKCS5规则去补码
|
||||||
|
function PKCS5_DePadding(bytes: TBytes): string;
|
||||||
|
var
|
||||||
|
Encoding: TEncoding;
|
||||||
|
size: Integer;
|
||||||
|
paddingByte: Byte;
|
||||||
|
tmpBytes: TBytes;
|
||||||
|
begin
|
||||||
|
paddingByte := bytes[Length(bytes) - 1];
|
||||||
|
|
||||||
|
SetLength(tmpBytes, Length(bytes) - paddingByte);
|
||||||
|
Move(bytes[0], tmpBytes[0], Length(tmpBytes));
|
||||||
|
Encoding := TEncoding.UTF8;
|
||||||
|
size := TEncoding.GetBufferEncoding(tmpBytes, Encoding);
|
||||||
|
Result := Encoding.GetString(tmpBytes, size, Length(tmpBytes) - size)
|
||||||
|
end;
|
||||||
|
|
||||||
|
//密钥不足位数0补码
|
||||||
|
procedure ZeroPadding(KeyBit: TKeyBit);
|
||||||
|
begin
|
||||||
|
case KeyBit of
|
||||||
|
kb128:
|
||||||
|
FillChar(AESKey128, SizeOf(AESKey128), 0);
|
||||||
|
kb192:
|
||||||
|
FillChar(AESKey192, SizeOf(AESKey192), 0);
|
||||||
|
kb256:
|
||||||
|
FillChar(AESKey256, SizeOf(AESKey256), 0);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EncryptString(Value: AnsiString; Key: AnsiString; KeyBit: TKeyBit = kb128; algoMode: TalgoMode = amECB; padding: TPaddingType = PKCS5Padding; sInitVector: AnsiString = '0000000000000000';
|
||||||
|
CipherType: TCipherType = ctHex): AnsiString;
|
||||||
|
var
|
||||||
|
SS, DS: TMemoryStream;
|
||||||
|
str: AnsiString;
|
||||||
|
byteContent: TArrayByte;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
PKCS5_Padding(Value, byteContent);
|
||||||
|
|
||||||
|
SS := TMemoryStream.Create;
|
||||||
|
SS.WriteBuffer(byteContent[0], Length(byteContent));
|
||||||
|
|
||||||
|
SS.Position := SS.size;
|
||||||
|
DS := TMemoryStream.Create;
|
||||||
|
|
||||||
|
try
|
||||||
|
case KeyBit of
|
||||||
|
kb128:
|
||||||
|
begin
|
||||||
|
ZeroPadding(kb128);
|
||||||
|
Move(PAnsiChar(Key)^, AESKey128, Length(Key));
|
||||||
|
case algoMode of
|
||||||
|
amECB:
|
||||||
|
begin
|
||||||
|
EncryptAESStreamECB(SS, 0, AESKey128, DS);
|
||||||
|
end;
|
||||||
|
amCBC:
|
||||||
|
begin
|
||||||
|
// 不足16位用0补齐
|
||||||
|
FillChar(InitVector, SizeOf(InitVector), 0);
|
||||||
|
Move(PAnsiChar(sInitVector)^, InitVector, Length(sInitVector));
|
||||||
|
EncryptAESStreamCBC(SS, 0, AESKey128, InitVector, DS);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
kb192:
|
||||||
|
begin
|
||||||
|
ZeroPadding(kb192);
|
||||||
|
Move(PAnsiChar(Key)^, AESKey192, Length(Key));
|
||||||
|
case algoMode of
|
||||||
|
amECB:
|
||||||
|
begin
|
||||||
|
EncryptAESStreamECB(SS, 0, AESKey192, DS);
|
||||||
|
end;
|
||||||
|
amCBC:
|
||||||
|
begin
|
||||||
|
FillChar(InitVector, SizeOf(InitVector), 0);
|
||||||
|
Move(PAnsiChar(sInitVector)^, InitVector, Length(sInitVector));
|
||||||
|
EncryptAESStreamCBC(SS, 0, AESKey192, InitVector, DS);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
kb256:
|
||||||
|
begin
|
||||||
|
ZeroPadding(kb256);
|
||||||
|
Move(PAnsiChar(Key)^, AESKey256, Length(Key));
|
||||||
|
case algoMode of
|
||||||
|
amECB:
|
||||||
|
begin
|
||||||
|
EncryptAESStreamECB(SS, 0, AESKey256, DS);
|
||||||
|
end;
|
||||||
|
amCBC:
|
||||||
|
begin
|
||||||
|
FillChar(InitVector, SizeOf(InitVector), 0);
|
||||||
|
Move(PAnsiChar(sInitVector)^, InitVector, Length(sInitVector));
|
||||||
|
EncryptAESStreamCBC(SS, 0, AESKey256, InitVector, DS);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
SetLength(str, DS.size);
|
||||||
|
DS.Position := 0;
|
||||||
|
DS.ReadBuffer(PAnsiChar(str)^, DS.size);
|
||||||
|
if CipherType = ctHex then
|
||||||
|
Result := StrToHex(str)
|
||||||
|
else
|
||||||
|
Result := EncodeBase64(PChar(str),Length(str));
|
||||||
|
finally
|
||||||
|
SS.Free;
|
||||||
|
DS.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DecryptString(Value: AnsiString; Key: AnsiString; KeyBit: TKeyBit = kb128; algoMode: TalgoMode = amECB; padding: TPaddingType = PKCS5Padding; sInitVector: AnsiString = '0000000000000000';
|
||||||
|
CipherType: TCipherType = ctHex): AnsiString;
|
||||||
|
var
|
||||||
|
SS,DS: TMemoryStream;
|
||||||
|
str: AnsiString;
|
||||||
|
byteContent: TBytes;
|
||||||
|
BytesValue: TBytes;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
|
||||||
|
// pcharValue := pchar(Value);
|
||||||
|
if CipherType = ctHex then
|
||||||
|
begin
|
||||||
|
str := HexToStr(Value);
|
||||||
|
SetLength(byteContent, Length(str));
|
||||||
|
Move(str[1], byteContent[0], Length(str));
|
||||||
|
end
|
||||||
|
else
|
||||||
|
byteContent:= DecodeBase64(Value);
|
||||||
|
|
||||||
|
SS := TMemoryStream.Create;
|
||||||
|
SS.WriteBuffer(byteContent[0], Length(byteContent));
|
||||||
|
|
||||||
|
DS := TMemoryStream.Create;
|
||||||
|
|
||||||
|
try
|
||||||
|
case KeyBit of
|
||||||
|
kb128:
|
||||||
|
begin
|
||||||
|
ZeroPadding(kb128);
|
||||||
|
Move(PAnsiChar(Key)^, AESKey128, Length(Key));
|
||||||
|
case algoMode of
|
||||||
|
amECB:
|
||||||
|
begin
|
||||||
|
DecryptAESStreamECB(SS, 0, AESKey128, DS);
|
||||||
|
end;
|
||||||
|
amCBC:
|
||||||
|
begin
|
||||||
|
// 不足16位用0补齐
|
||||||
|
FillChar(InitVector, SizeOf(InitVector), 0);
|
||||||
|
Move(PAnsiChar(sInitVector)^, InitVector, Length(sInitVector));
|
||||||
|
DecryptAESStreamCBC(SS, 0, AESKey128, InitVector, DS);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
kb192:
|
||||||
|
begin
|
||||||
|
ZeroPadding(kb192);
|
||||||
|
Move(PAnsiChar(Key)^, AESKey192, Length(Key));
|
||||||
|
case algoMode of
|
||||||
|
amECB:
|
||||||
|
begin
|
||||||
|
DecryptAESStreamECB(SS, 0, AESKey192, DS);
|
||||||
|
end;
|
||||||
|
amCBC:
|
||||||
|
begin
|
||||||
|
FillChar(InitVector, SizeOf(InitVector), 0);
|
||||||
|
Move(PAnsiChar(sInitVector)^, InitVector, Length(sInitVector));
|
||||||
|
DecryptAESStreamCBC(SS, 0, AESKey192, InitVector, DS);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
kb256:
|
||||||
|
begin
|
||||||
|
ZeroPadding(kb256);
|
||||||
|
Move(PAnsiChar(Key)^, AESKey256, Length(Key));
|
||||||
|
case algoMode of
|
||||||
|
amECB:
|
||||||
|
begin
|
||||||
|
DecryptAESStreamECB(SS, 0, AESKey256, DS);
|
||||||
|
end;
|
||||||
|
amCBC:
|
||||||
|
begin
|
||||||
|
FillChar(InitVector, SizeOf(InitVector), 0);
|
||||||
|
Move(PAnsiChar(sInitVector)^, InitVector, Length(sInitVector));
|
||||||
|
DecryptAESStreamCBC(SS, 0, AESKey256, InitVector, DS);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
DS.Position := 0;
|
||||||
|
SetLength(BytesValue, DS.size);
|
||||||
|
DS.ReadBuffer(BytesValue[0], DS.size);
|
||||||
|
Result := PKCS5_DePadding(BytesValue);
|
||||||
|
finally
|
||||||
|
SS.Free;
|
||||||
|
DS.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
END.
|
||||||
33
T03贸易布匹检验/NapInspFile.INI
Normal file
33
T03贸易布匹检验/NapInspFile.INI
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
[生产车间配置]
|
||||||
|
卷条码机台标志=1
|
||||||
|
机台个数=
|
||||||
|
端口号=
|
||||||
|
电子秤调用Dll文件=
|
||||||
|
启用电子秤Dll文件=0
|
||||||
|
码表调用Dll文件=
|
||||||
|
启用码表Dll文件=1
|
||||||
|
启用码表单位=1
|
||||||
|
|
||||||
|
DLL文件1=NappingInsp.dll
|
||||||
|
DLL调用号1=111
|
||||||
|
模块名称1=机台检验
|
||||||
|
模块显示1=1
|
||||||
|
|
||||||
|
|
||||||
|
DLL文件2=NapProcess.dll
|
||||||
|
模块显示2=1
|
||||||
|
DLL调用号2=211
|
||||||
|
模块名称2=员工刷卡
|
||||||
|
|
||||||
|
|
||||||
|
卷条码机台标志=1
|
||||||
|
|
||||||
|
员工编号=select userid='ADMIN'
|
||||||
|
标签份数=2
|
||||||
|
米数下限=0
|
||||||
|
米数上限=100
|
||||||
|
重量下限=0
|
||||||
|
重量上限=50
|
||||||
|
米数小数位=1
|
||||||
|
码数小数位=1
|
||||||
|
重量小数位=1
|
||||||
23
T03贸易布匹检验/ProjectGroup1.bpg
Normal file
23
T03贸易布匹检验/ProjectGroup1.bpg
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
VERSION = BWS.01
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
!ifndef ROOT
|
||||||
|
ROOT = $(MAKEDIR)\..
|
||||||
|
!endif
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
|
||||||
|
DCC = $(ROOT)\bin\dcc32.exe $**
|
||||||
|
BRCC = $(ROOT)\bin\brcc32.exe $**
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
PROJECTS = testDll.exe ProductPrice.dll
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
default: $(PROJECTS)
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
testDll.exe: testDll.dpr
|
||||||
|
$(DCC)
|
||||||
|
|
||||||
|
ProductPrice.dll: ProductPrice.dpr
|
||||||
|
$(DCC)
|
||||||
|
|
||||||
|
|
||||||
48
T03贸易布匹检验/ProjectGroup1.groupproj
Normal file
48
T03贸易布匹检验/ProjectGroup1.groupproj
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{4ACFE47E-6D57-4F14-B3CC-D7658A0D65E3}</ProjectGuid>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Projects Include="testDll.dproj">
|
||||||
|
<Dependencies/>
|
||||||
|
</Projects>
|
||||||
|
<Projects Include="DjdMachineInsp.dproj">
|
||||||
|
<Dependencies/>
|
||||||
|
</Projects>
|
||||||
|
</ItemGroup>
|
||||||
|
<ProjectExtensions>
|
||||||
|
<Borland.Personality>Default.Personality.12</Borland.Personality>
|
||||||
|
<Borland.ProjectType/>
|
||||||
|
<BorlandProject>
|
||||||
|
<Default.Personality/>
|
||||||
|
</BorlandProject>
|
||||||
|
</ProjectExtensions>
|
||||||
|
<Target Name="testDll">
|
||||||
|
<MSBuild Projects="testDll.dproj"/>
|
||||||
|
</Target>
|
||||||
|
<Target Name="testDll:Clean">
|
||||||
|
<MSBuild Projects="testDll.dproj" Targets="Clean"/>
|
||||||
|
</Target>
|
||||||
|
<Target Name="testDll:Make">
|
||||||
|
<MSBuild Projects="testDll.dproj" Targets="Make"/>
|
||||||
|
</Target>
|
||||||
|
<Target Name="DjdMachineInsp">
|
||||||
|
<MSBuild Projects="DjdMachineInsp.dproj"/>
|
||||||
|
</Target>
|
||||||
|
<Target Name="DjdMachineInsp:Clean">
|
||||||
|
<MSBuild Projects="DjdMachineInsp.dproj" Targets="Clean"/>
|
||||||
|
</Target>
|
||||||
|
<Target Name="DjdMachineInsp:Make">
|
||||||
|
<MSBuild Projects="DjdMachineInsp.dproj" Targets="Make"/>
|
||||||
|
</Target>
|
||||||
|
<Target Name="Build">
|
||||||
|
<CallTarget Targets="testDll;DjdMachineInsp"/>
|
||||||
|
</Target>
|
||||||
|
<Target Name="Clean">
|
||||||
|
<CallTarget Targets="testDll:Clean;DjdMachineInsp:Clean"/>
|
||||||
|
</Target>
|
||||||
|
<Target Name="Make">
|
||||||
|
<CallTarget Targets="testDll:Make;DjdMachineInsp:Make"/>
|
||||||
|
</Target>
|
||||||
|
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
|
||||||
|
</Project>
|
||||||
2
T03贸易布匹检验/ProjectGroup1_prjgroup.tvsconfig
Normal file
2
T03贸易布匹检验/ProjectGroup1_prjgroup.tvsconfig
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<TgConfig Version="3" SubLevelDisabled="False" />
|
||||||
10
T03贸易布匹检验/SYSTEMSET.ini
Normal file
10
T03贸易布匹检验/SYSTEMSET.ini
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
[SERVER]
|
||||||
|
服务器地址=101.132.143.144
|
||||||
|
服务器地址类型=2002
|
||||||
|
是否自动更新=1
|
||||||
|
软件名称=睿特版本库
|
||||||
|
登陆标题=sss
|
||||||
|
[窗口设置]
|
||||||
|
字体大小=9
|
||||||
|
design=1
|
||||||
|
skin=1
|
||||||
11
T03贸易布匹检验/TiShi.INI
Normal file
11
T03贸易布匹检验/TiShi.INI
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
[系统配置]
|
||||||
|
dllName=MessageAlert.dll
|
||||||
|
dllId=111
|
||||||
|
[Image1]
|
||||||
|
左边距离=1360
|
||||||
|
高度距离=365
|
||||||
|
[配置参数]
|
||||||
|
登陆用户=admin
|
||||||
|
显示主菜单=1
|
||||||
|
窗口模式=导航模式
|
||||||
|
登陆标题=傲唐软件
|
||||||
BIN
T03贸易布匹检验/TradeInsp.res
Normal file
BIN
T03贸易布匹检验/TradeInsp.res
Normal file
Binary file not shown.
62
T03贸易布匹检验/TradeInsp.skincfg
Normal file
62
T03贸易布匹检验/TradeInsp.skincfg
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
[ExpressSkins]
|
||||||
|
Default=0
|
||||||
|
ShowNotifications=0
|
||||||
|
Enabled=1
|
||||||
|
dxSkinBasic=0
|
||||||
|
dxSkinBlack=0
|
||||||
|
dxSkinBlue=0
|
||||||
|
dxSkinBlueprint=0
|
||||||
|
dxSkinCaramel=0
|
||||||
|
dxSkinCoffee=0
|
||||||
|
dxSkinDarkroom=0
|
||||||
|
dxSkinDarkSide=0
|
||||||
|
dxSkinDevExpressDarkStyle=0
|
||||||
|
dxSkinDevExpressStyle=0
|
||||||
|
dxSkinFoggy=0
|
||||||
|
dxSkinGlassOceans=0
|
||||||
|
dxSkinHighContrast=0
|
||||||
|
dxSkiniMaginary=0
|
||||||
|
dxSkinLilian=0
|
||||||
|
dxSkinLiquidSky=0
|
||||||
|
dxSkinLondonLiquidSky=0
|
||||||
|
dxSkinMcSkin=0
|
||||||
|
dxSkinMetropolis=0
|
||||||
|
dxSkinMetropolisDark=0
|
||||||
|
dxSkinMoneyTwins=0
|
||||||
|
dxSkinOffice2007Black=0
|
||||||
|
dxSkinOffice2007Blue=0
|
||||||
|
dxSkinOffice2007Green=0
|
||||||
|
dxSkinOffice2007Pink=0
|
||||||
|
dxSkinOffice2007Silver=0
|
||||||
|
dxSkinOffice2010Black=0
|
||||||
|
dxSkinOffice2010Blue=0
|
||||||
|
dxSkinOffice2010Silver=0
|
||||||
|
dxSkinOffice2013DarkGray=0
|
||||||
|
dxSkinOffice2013LightGray=0
|
||||||
|
dxSkinOffice2013White=0
|
||||||
|
dxSkinOffice2016Colorful=0
|
||||||
|
dxSkinOffice2016Dark=0
|
||||||
|
dxSkinOffice2019Black=0
|
||||||
|
dxSkinOffice2019Colorful=0
|
||||||
|
dxSkinOffice2019DarkGray=0
|
||||||
|
dxSkinOffice2019White=0
|
||||||
|
dxSkinPumpkin=0
|
||||||
|
dxSkinSeven=0
|
||||||
|
dxSkinSevenClassic=0
|
||||||
|
dxSkinSharp=0
|
||||||
|
dxSkinSharpPlus=0
|
||||||
|
dxSkinSilver=0
|
||||||
|
dxSkinSpringtime=0
|
||||||
|
dxSkinStardust=0
|
||||||
|
dxSkinSummer2008=0
|
||||||
|
dxSkinTheAsphaltWorld=0
|
||||||
|
dxSkinTheBezier=0
|
||||||
|
dxSkinsDefaultPainters=0
|
||||||
|
dxSkinValentine=0
|
||||||
|
dxSkinVisualStudio2013Blue=0
|
||||||
|
dxSkinVisualStudio2013Dark=0
|
||||||
|
dxSkinVisualStudio2013Light=0
|
||||||
|
dxSkinVS2010=0
|
||||||
|
dxSkinWhiteprint=0
|
||||||
|
dxSkinWXI=1
|
||||||
|
dxSkinXmas2008Blue=0
|
||||||
21
T03贸易布匹检验/TradeInspFile.INI
Normal file
21
T03贸易布匹检验/TradeInspFile.INI
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
[生产车间配置]
|
||||||
|
卷条码机台标志=
|
||||||
|
机台个数=
|
||||||
|
端口号=
|
||||||
|
电子秤调用Dll文件=
|
||||||
|
启用电子秤Dll文件=1
|
||||||
|
码表调用Dll文件=
|
||||||
|
启用码表Dll文件=1
|
||||||
|
启用码表单位=1
|
||||||
|
标签份数=2
|
||||||
|
米数下限=0
|
||||||
|
米数上限=100
|
||||||
|
重量下限=0
|
||||||
|
重量上限=222
|
||||||
|
米数小数位=1
|
||||||
|
码数小数位=1
|
||||||
|
重量小数位=1
|
||||||
|
自定义字母键1=A
|
||||||
|
自定义字母键2=B
|
||||||
|
|
||||||
|
赠送数计算规则=1
|
||||||
BIN
T03贸易布匹检验/TradeInspLogin.res
Normal file
BIN
T03贸易布匹检验/TradeInspLogin.res
Normal file
Binary file not shown.
BIN
T03贸易布匹检验/TradeMachineInsp.res
Normal file
BIN
T03贸易布匹检验/TradeMachineInsp.res
Normal file
Binary file not shown.
62
T03贸易布匹检验/TradeMachineInsp.skincfg
Normal file
62
T03贸易布匹检验/TradeMachineInsp.skincfg
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
[ExpressSkins]
|
||||||
|
Default=0
|
||||||
|
ShowNotifications=0
|
||||||
|
Enabled=1
|
||||||
|
dxSkinBasic=0
|
||||||
|
dxSkinBlack=0
|
||||||
|
dxSkinBlue=0
|
||||||
|
dxSkinBlueprint=0
|
||||||
|
dxSkinCaramel=0
|
||||||
|
dxSkinCoffee=0
|
||||||
|
dxSkinDarkroom=0
|
||||||
|
dxSkinDarkSide=0
|
||||||
|
dxSkinDevExpressDarkStyle=0
|
||||||
|
dxSkinDevExpressStyle=0
|
||||||
|
dxSkinFoggy=0
|
||||||
|
dxSkinGlassOceans=0
|
||||||
|
dxSkinHighContrast=0
|
||||||
|
dxSkiniMaginary=0
|
||||||
|
dxSkinLilian=0
|
||||||
|
dxSkinLiquidSky=0
|
||||||
|
dxSkinLondonLiquidSky=0
|
||||||
|
dxSkinMcSkin=0
|
||||||
|
dxSkinMetropolis=0
|
||||||
|
dxSkinMetropolisDark=0
|
||||||
|
dxSkinMoneyTwins=0
|
||||||
|
dxSkinOffice2007Black=0
|
||||||
|
dxSkinOffice2007Blue=0
|
||||||
|
dxSkinOffice2007Green=0
|
||||||
|
dxSkinOffice2007Pink=0
|
||||||
|
dxSkinOffice2007Silver=0
|
||||||
|
dxSkinOffice2010Black=0
|
||||||
|
dxSkinOffice2010Blue=0
|
||||||
|
dxSkinOffice2010Silver=0
|
||||||
|
dxSkinOffice2013DarkGray=0
|
||||||
|
dxSkinOffice2013LightGray=0
|
||||||
|
dxSkinOffice2013White=0
|
||||||
|
dxSkinOffice2016Colorful=0
|
||||||
|
dxSkinOffice2016Dark=0
|
||||||
|
dxSkinOffice2019Black=0
|
||||||
|
dxSkinOffice2019Colorful=0
|
||||||
|
dxSkinOffice2019DarkGray=0
|
||||||
|
dxSkinOffice2019White=0
|
||||||
|
dxSkinPumpkin=0
|
||||||
|
dxSkinSeven=0
|
||||||
|
dxSkinSevenClassic=0
|
||||||
|
dxSkinSharp=0
|
||||||
|
dxSkinSharpPlus=0
|
||||||
|
dxSkinSilver=0
|
||||||
|
dxSkinSpringtime=0
|
||||||
|
dxSkinStardust=0
|
||||||
|
dxSkinSummer2008=0
|
||||||
|
dxSkinTheAsphaltWorld=0
|
||||||
|
dxSkinTheBezier=0
|
||||||
|
dxSkinsDefaultPainters=0
|
||||||
|
dxSkinValentine=0
|
||||||
|
dxSkinVisualStudio2013Blue=0
|
||||||
|
dxSkinVisualStudio2013Dark=0
|
||||||
|
dxSkinVisualStudio2013Light=0
|
||||||
|
dxSkinVS2010=0
|
||||||
|
dxSkinWhiteprint=0
|
||||||
|
dxSkinWXI=1
|
||||||
|
dxSkinXmas2008Blue=0
|
||||||
193
T03贸易布匹检验/U_BatchMdyData.dfm
Normal file
193
T03贸易布匹检验/U_BatchMdyData.dfm
Normal file
|
|
@ -0,0 +1,193 @@
|
||||||
|
object frmBatchMdyData: TfrmBatchMdyData
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
BorderIcons = [biSystemMenu]
|
||||||
|
BorderStyle = bsSingle
|
||||||
|
Caption = #25209#37327#20462#25913#25968#25454
|
||||||
|
ClientHeight = 274
|
||||||
|
ClientWidth = 424
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = GB2312_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -13
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = False
|
||||||
|
Position = poDesktopCenter
|
||||||
|
OnCreate = FormCreate
|
||||||
|
OnShow = FormShow
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 19
|
||||||
|
object cxPageControl1: TcxPageControl
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 393
|
||||||
|
Height = 248
|
||||||
|
TabOrder = 0
|
||||||
|
Properties.ActivePage = cxTabSheet2
|
||||||
|
Properties.CustomButtons.Buttons = <>
|
||||||
|
ClientRectBottom = 247
|
||||||
|
ClientRectLeft = 1
|
||||||
|
ClientRectRight = 392
|
||||||
|
ClientRectTop = 27
|
||||||
|
object cxTabSheet1: TcxTabSheet
|
||||||
|
Caption = #35843#25972#31859#25968
|
||||||
|
ImageIndex = 0
|
||||||
|
object Label17: TLabel
|
||||||
|
Left = 24
|
||||||
|
Top = 20
|
||||||
|
Width = 52
|
||||||
|
Height = 19
|
||||||
|
Caption = #35843#25972#26041#24335
|
||||||
|
end
|
||||||
|
object Label18: TLabel
|
||||||
|
Left = 24
|
||||||
|
Top = 64
|
||||||
|
Width = 52
|
||||||
|
Height = 19
|
||||||
|
Caption = #35843#25972#25968#37327
|
||||||
|
end
|
||||||
|
object tzfs: TcxComboBox
|
||||||
|
Left = 96
|
||||||
|
Top = 15
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
''
|
||||||
|
#22686#21152
|
||||||
|
#20943#23569)
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 137
|
||||||
|
end
|
||||||
|
object tzsl: TcxTextEdit
|
||||||
|
Left = 96
|
||||||
|
Top = 59
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 137
|
||||||
|
end
|
||||||
|
object cxOk1: TcxButton
|
||||||
|
Left = 80
|
||||||
|
Top = 160
|
||||||
|
Width = 75
|
||||||
|
Height = 32
|
||||||
|
Caption = #30830#23450
|
||||||
|
TabOrder = 2
|
||||||
|
OnClick = cxOk1Click
|
||||||
|
end
|
||||||
|
object cxclose: TcxButton
|
||||||
|
Left = 248
|
||||||
|
Top = 160
|
||||||
|
Width = 75
|
||||||
|
Height = 30
|
||||||
|
Caption = #20851#38381
|
||||||
|
TabOrder = 3
|
||||||
|
OnClick = cxcloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxTabSheet2: TcxTabSheet
|
||||||
|
Caption = #20462#25913#38271#24230#21333#20301
|
||||||
|
ImageIndex = 1
|
||||||
|
ExplicitLeft = 0
|
||||||
|
object lenUnit: TcxComboBox
|
||||||
|
Left = 88
|
||||||
|
Top = 40
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
''
|
||||||
|
'M'
|
||||||
|
'Y')
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 161
|
||||||
|
end
|
||||||
|
object cxButton1: TcxButton
|
||||||
|
Left = 72
|
||||||
|
Top = 159
|
||||||
|
Width = 75
|
||||||
|
Height = 32
|
||||||
|
Caption = #30830#23450
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = cxButton1Click
|
||||||
|
end
|
||||||
|
object cxButton2: TcxButton
|
||||||
|
Left = 232
|
||||||
|
Top = 159
|
||||||
|
Width = 75
|
||||||
|
Height = 30
|
||||||
|
Caption = #20851#38381
|
||||||
|
TabOrder = 2
|
||||||
|
OnClick = cxcloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxTabSheet3: TcxTabSheet
|
||||||
|
Caption = #29420#31435#35843#25972#37325#37327
|
||||||
|
ImageIndex = 2
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 32
|
||||||
|
Top = 112
|
||||||
|
Width = 52
|
||||||
|
Height = 19
|
||||||
|
Caption = #35843#25972#25968#37327
|
||||||
|
end
|
||||||
|
object Label2: TLabel
|
||||||
|
Left = 32
|
||||||
|
Top = 63
|
||||||
|
Width = 52
|
||||||
|
Height = 19
|
||||||
|
Caption = #35843#25972#26041#24335
|
||||||
|
end
|
||||||
|
object Label3: TLabel
|
||||||
|
Left = 32
|
||||||
|
Top = 20
|
||||||
|
Width = 52
|
||||||
|
Height = 19
|
||||||
|
Caption = #35843#25972#23383#27573
|
||||||
|
end
|
||||||
|
object tzsl1: TcxTextEdit
|
||||||
|
Left = 104
|
||||||
|
Top = 107
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 196
|
||||||
|
end
|
||||||
|
object tzfs1: TcxComboBox
|
||||||
|
Left = 104
|
||||||
|
Top = 58
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
''
|
||||||
|
#22686#21152
|
||||||
|
#20943#23569)
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 196
|
||||||
|
end
|
||||||
|
object tzfield: TcxComboBox
|
||||||
|
Left = 104
|
||||||
|
Top = 15
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
''
|
||||||
|
#27611#37325
|
||||||
|
#20928#37325
|
||||||
|
#30382#37325)
|
||||||
|
TabOrder = 2
|
||||||
|
Width = 196
|
||||||
|
end
|
||||||
|
object cxButton3: TcxButton
|
||||||
|
Left = 88
|
||||||
|
Top = 168
|
||||||
|
Width = 75
|
||||||
|
Height = 32
|
||||||
|
Caption = #30830#23450
|
||||||
|
TabOrder = 3
|
||||||
|
OnClick = cxButton3Click
|
||||||
|
end
|
||||||
|
object cxButton4: TcxButton
|
||||||
|
Left = 256
|
||||||
|
Top = 168
|
||||||
|
Width = 75
|
||||||
|
Height = 30
|
||||||
|
Caption = #20851#38381
|
||||||
|
TabOrder = 4
|
||||||
|
OnClick = cxcloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
128
T03贸易布匹检验/U_BatchMdyData.pas
Normal file
128
T03贸易布匹检验/U_BatchMdyData.pas
Normal file
|
|
@ -0,0 +1,128 @@
|
||||||
|
unit U_BatchMdyData;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||||
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, dxBarBuiltInMenu, cxGraphics,
|
||||||
|
cxControls, cxLookAndFeels, cxLookAndFeelPainters,
|
||||||
|
cxPC, cxContainer, cxEdit, Vcl.Menus, Vcl.StdCtrls, cxButtons, cxTextEdit,
|
||||||
|
cxMaskEdit, cxDropDownEdit, dxSkinsCore;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmBatchMdyData = class(TForm)
|
||||||
|
cxPageControl1: TcxPageControl;
|
||||||
|
cxTabSheet1: TcxTabSheet;
|
||||||
|
Label17: TLabel;
|
||||||
|
Label18: TLabel;
|
||||||
|
tzfs: TcxComboBox;
|
||||||
|
tzsl: TcxTextEdit;
|
||||||
|
cxOk1: TcxButton;
|
||||||
|
cxclose: TcxButton;
|
||||||
|
cxTabSheet2: TcxTabSheet;
|
||||||
|
lenUnit: TcxComboBox;
|
||||||
|
cxButton1: TcxButton;
|
||||||
|
cxButton2: TcxButton;
|
||||||
|
cxTabSheet3: TcxTabSheet;
|
||||||
|
Label1: TLabel;
|
||||||
|
tzsl1: TcxTextEdit;
|
||||||
|
tzfs1: TcxComboBox;
|
||||||
|
Label2: TLabel;
|
||||||
|
Label3: TLabel;
|
||||||
|
tzfield: TcxComboBox;
|
||||||
|
cxButton3: TcxButton;
|
||||||
|
cxButton4: TcxButton;
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure cxcloseClick(Sender: TObject);
|
||||||
|
procedure cxOk1Click(Sender: TObject);
|
||||||
|
procedure cxButton1Click(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure cxButton3Click(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
fTabCaption:String;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmBatchMdyData: TfrmBatchMdyData;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmBatchMdyData.cxButton1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if trim(lenunit.Text) = '' then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('请先选择单位!', '提示', 0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
ModalResult:=1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBatchMdyData.cxButton3Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if trim(tzfield.Text) = '' then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('调整字段不能为空!', '提示', 0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
if trim(TZFS1.Text) = '' then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('调整方式不能为空!', '提示', 0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
if trim(TZSL1.Text) = '' then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('调整数量不能为空!', '提示', 0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
ModalResult:=1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBatchMdyData.cxcloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBatchMdyData.cxOk1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if trim(TZFS.Text) = '' then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('调整方式不能为空!', '提示', 0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
if trim(TZSL.Text) = '' then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('调整数量不能为空!', '提示', 0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
ModalResult:=1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBatchMdyData.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
cxPageControl1.Align:=alClient;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBatchMdyData.FormShow(Sender: TObject);
|
||||||
|
var
|
||||||
|
i:integer;
|
||||||
|
begin
|
||||||
|
for i:=0 to cxPageControl1.PageCount -1 do
|
||||||
|
begin
|
||||||
|
if fTabCaption= cxPageControl1.Pages[i].Caption then
|
||||||
|
begin
|
||||||
|
cxPageControl1.Pages[i].TabVisible:=True;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
cxPageControl1.Pages[i].TabVisible:=false;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
338
T03贸易布匹检验/U_BillPrintList.dfm
Normal file
338
T03贸易布匹检验/U_BillPrintList.dfm
Normal file
|
|
@ -0,0 +1,338 @@
|
||||||
|
inherited frmBillPrintList: TfrmBillPrintList
|
||||||
|
Caption = #30721#21333#26684#24335#31649#29702
|
||||||
|
ClientHeight = 572
|
||||||
|
ClientWidth = 999
|
||||||
|
Color = clBtnFace
|
||||||
|
ExplicitWidth = 1015
|
||||||
|
ExplicitHeight = 611
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 17
|
||||||
|
object ToolBar1: TToolBar [0]
|
||||||
|
Tag = 1
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 999
|
||||||
|
Height = 30
|
||||||
|
AutoSize = True
|
||||||
|
ButtonHeight = 30
|
||||||
|
ButtonWidth = 131
|
||||||
|
Caption = 'ToolBar1'
|
||||||
|
Color = clBtnFace
|
||||||
|
DisabledImages = DataLink_TradeInsp.cxImageList_bar
|
||||||
|
EdgeInner = esNone
|
||||||
|
EdgeOuter = esNone
|
||||||
|
Font.Charset = GB2312_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Font.Style = []
|
||||||
|
Images = DataLink_TradeInsp.cxImageList_bar
|
||||||
|
List = True
|
||||||
|
ParentColor = True
|
||||||
|
ParentFont = True
|
||||||
|
ShowCaptions = True
|
||||||
|
TabOrder = 4
|
||||||
|
object TBRafresh: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #21047#26032
|
||||||
|
ImageIndex = 1
|
||||||
|
OnClick = TBRafreshClick
|
||||||
|
end
|
||||||
|
object TgroupAdd: TToolButton
|
||||||
|
Left = 71
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #26032#22686
|
||||||
|
ImageIndex = 2
|
||||||
|
OnClick = TgroupAddClick
|
||||||
|
end
|
||||||
|
object TgroupMdy: TToolButton
|
||||||
|
Left = 142
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20462#25913
|
||||||
|
ImageIndex = 3
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object TBDel: TToolButton
|
||||||
|
Left = 213
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #21024#38500
|
||||||
|
ImageIndex = 5
|
||||||
|
Visible = False
|
||||||
|
OnClick = TBDelClick
|
||||||
|
end
|
||||||
|
object ToolButton1: TToolButton
|
||||||
|
Left = 284
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20445#23384
|
||||||
|
ImageIndex = 37
|
||||||
|
OnClick = ToolButton1Click
|
||||||
|
end
|
||||||
|
object Tgetresult: TToolButton
|
||||||
|
Left = 355
|
||||||
|
Top = 0
|
||||||
|
Caption = #33719#21462#26126#32454#32467#26524
|
||||||
|
ImageIndex = 9
|
||||||
|
OnClick = TgetresultClick
|
||||||
|
end
|
||||||
|
object ToolButton3: TToolButton
|
||||||
|
Left = 486
|
||||||
|
Top = 0
|
||||||
|
Caption = #33719#21462#27719#24635#32467#26524
|
||||||
|
ImageIndex = 13
|
||||||
|
OnClick = ToolButton3Click
|
||||||
|
end
|
||||||
|
object Tmdgs: TToolButton
|
||||||
|
Left = 617
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #30721#21333#26684#24335
|
||||||
|
ImageIndex = 8
|
||||||
|
OnClick = TmdgsClick
|
||||||
|
end
|
||||||
|
object ToolButton2: TToolButton
|
||||||
|
Left = 720
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20445#23384#26684#24335
|
||||||
|
ImageIndex = 16
|
||||||
|
OnClick = ToolButton2Click
|
||||||
|
end
|
||||||
|
object TBClose: TToolButton
|
||||||
|
Left = 823
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20851#38381
|
||||||
|
ImageIndex = 7
|
||||||
|
OnClick = TBCloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1: TcxGrid [1]
|
||||||
|
Left = 8
|
||||||
|
Top = 75
|
||||||
|
Width = 826
|
||||||
|
Height = 173
|
||||||
|
BorderStyle = cxcbsNone
|
||||||
|
TabOrder = 1
|
||||||
|
LookAndFeel.Kind = lfFlat
|
||||||
|
object Tv1: TcxGridDBTableView
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
Navigator.Buttons.Delete.Enabled = False
|
||||||
|
Navigator.Buttons.Delete.Visible = False
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
DataController.DataSource = DataSource1
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||||
|
DataController.Summary.FooterSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsBehavior.GoToNextCellOnEnter = True
|
||||||
|
OptionsCustomize.ColumnFiltering = False
|
||||||
|
OptionsData.Deleting = False
|
||||||
|
OptionsData.DeletingConfirmation = False
|
||||||
|
OptionsView.Footer = True
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
object Tv1billName: TcxGridDBColumn
|
||||||
|
Caption = #30721#21333#21517#31216
|
||||||
|
DataBinding.FieldName = 'billName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 101
|
||||||
|
end
|
||||||
|
object tv1direction: TcxGridDBColumn
|
||||||
|
Caption = #26041#21521
|
||||||
|
DataBinding.FieldName = 'direction'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxComboBoxProperties'
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
#27178
|
||||||
|
#31446)
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 49
|
||||||
|
end
|
||||||
|
object tv1billType: TcxGridDBColumn
|
||||||
|
Caption = #31867#22411
|
||||||
|
DataBinding.FieldName = 'billType'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxComboBoxProperties'
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
#20837#24211#30721#21333
|
||||||
|
#20986#24211#30721#21333)
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 59
|
||||||
|
end
|
||||||
|
object tv1pageRow: TcxGridDBColumn
|
||||||
|
Caption = #30721#21333#34892#25968
|
||||||
|
DataBinding.FieldName = 'pageRow'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Properties.CharCase = ecUpperCase
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 68
|
||||||
|
end
|
||||||
|
object Tv1PageCol: TcxGridDBColumn
|
||||||
|
Caption = #30721#21333#21015#25968
|
||||||
|
DataBinding.FieldName = 'PageCol'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Properties.CharCase = ecUpperCase
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 65
|
||||||
|
end
|
||||||
|
object tv1billLayoutPageField: TcxGridDBColumn
|
||||||
|
Caption = #30721#21333#20998#39029#23383#27573
|
||||||
|
DataBinding.FieldName = 'billLayoutPageField'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxComboBoxProperties'
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
#21697#21517','#38376#24133','#20811#37325
|
||||||
|
#21697#21517','#38376#24133','#20811#37325','#33457#22411','#27454#21495
|
||||||
|
#21697#21517','#38376#24133','#20811#37325','#33457#22411','#27454#21495','#39068#33394','#33394#21495
|
||||||
|
#21697#21517','#38376#24133','#20811#37325','#33457#22411','#27454#21495','#39068#33394','#33394#21495','#32568#21495)
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 121
|
||||||
|
end
|
||||||
|
object tv1procedureName: TcxGridDBColumn
|
||||||
|
Caption = #26126#32454#23384#20648#36807#31243
|
||||||
|
DataBinding.FieldName = 'procedureName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxComboBoxProperties'
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
'P_Trade_Cloth_in_djd_Prt1')
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1procedureName2: TcxGridDBColumn
|
||||||
|
Caption = #27719#24635#23384#20648#36807#31243
|
||||||
|
DataBinding.FieldName = 'procedureName2'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 105
|
||||||
|
end
|
||||||
|
object tv1isValid: TcxGridDBColumn
|
||||||
|
Caption = #21551#29992
|
||||||
|
DataBinding.FieldName = 'valid'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxCheckBoxProperties'
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.NullStyle = nssUnchecked
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 61
|
||||||
|
end
|
||||||
|
object Tv1note: TcxGridDBColumn
|
||||||
|
Caption = #35828#26126
|
||||||
|
DataBinding.FieldName = 'note'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGridLevel2: TcxGridLevel
|
||||||
|
GridView = Tv1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid2: TcxGrid [2]
|
||||||
|
Left = 0
|
||||||
|
Top = 372
|
||||||
|
Width = 999
|
||||||
|
Height = 200
|
||||||
|
Align = alBottom
|
||||||
|
TabOrder = 2
|
||||||
|
object tv2: TcxGridDBTableView
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
DataController.DataSource = DataSource2
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||||
|
DataController.Summary.FooterSummaryItems = <>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsBehavior.BestFitMaxRecordCount = 1
|
||||||
|
OptionsData.Deleting = False
|
||||||
|
OptionsData.Editing = False
|
||||||
|
OptionsData.Inserting = False
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
end
|
||||||
|
object cxGrid2Level1: TcxGridLevel
|
||||||
|
GridView = tv2
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object RzGroupBox1: TcxGroupBox [3]
|
||||||
|
Left = 0
|
||||||
|
Top = 30
|
||||||
|
Align = alTop
|
||||||
|
Alignment = alCenterCenter
|
||||||
|
ParentFont = True
|
||||||
|
TabOrder = 3
|
||||||
|
Height = 43
|
||||||
|
Width = 999
|
||||||
|
object cxRadioGroup1: TcxRadioGroup
|
||||||
|
Left = 4
|
||||||
|
Top = 4
|
||||||
|
Align = alLeft
|
||||||
|
Alignment = alLeftCenter
|
||||||
|
ParentFont = True
|
||||||
|
Properties.Columns = 3
|
||||||
|
Properties.Items = <
|
||||||
|
item
|
||||||
|
Caption = #24050#21551#29992
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = #26410#21551#29992
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = #20840#37096
|
||||||
|
end>
|
||||||
|
ItemIndex = 0
|
||||||
|
Style.LookAndFeel.SkinName = 'WXI'
|
||||||
|
StyleDisabled.LookAndFeel.SkinName = 'WXI'
|
||||||
|
TabOrder = 0
|
||||||
|
OnClick = cxRadioGroup1Click
|
||||||
|
Height = 35
|
||||||
|
Width = 290
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseCmd: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseTemp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
end
|
||||||
|
object ADOQueryMain: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltBatchOptimistic
|
||||||
|
Parameters = <>
|
||||||
|
Left = 157
|
||||||
|
Top = 241
|
||||||
|
end
|
||||||
|
object DataSource1: TDataSource
|
||||||
|
DataSet = ADOQueryMain
|
||||||
|
Left = 288
|
||||||
|
Top = 248
|
||||||
|
end
|
||||||
|
object DataSource2: TDataSource
|
||||||
|
DataSet = ADOQueryResult
|
||||||
|
Left = 472
|
||||||
|
Top = 224
|
||||||
|
end
|
||||||
|
object ADOQueryResult: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 405
|
||||||
|
Top = 225
|
||||||
|
end
|
||||||
|
end
|
||||||
330
T03贸易布匹检验/U_BillPrintList.pas
Normal file
330
T03贸易布匹检验/U_BillPrintList.pas
Normal file
|
|
@ -0,0 +1,330 @@
|
||||||
|
unit U_BillPrintList;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
|
||||||
|
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
|
||||||
|
Vcl.ComCtrls, Vcl.ToolWin, cxGraphics, cxControls, cxLookAndFeels,
|
||||||
|
cxLookAndFeelPainters,
|
||||||
|
cxStyles, cxCustomData, cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator,
|
||||||
|
dxDateRanges, dxScrollbarAnnotations, Data.DB, cxDBData, cxTextEdit,
|
||||||
|
cxCheckBox, cxGridLevel, cxGridCustomTableView, cxGridTableView,
|
||||||
|
cxGridDBTableView, cxClasses, cxGridCustomView, U_BaseList, cxGrid,
|
||||||
|
Data.Win.ADODB, cxDropDownEdit, Vcl.StdCtrls, Vcl.ExtCtrls, cxContainer,
|
||||||
|
cxGroupBox, cxRadioGroup, cxProgressBar;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmBillPrintList = class(TfrmBaseList)
|
||||||
|
ToolBar1: TToolBar;
|
||||||
|
TBRafresh: TToolButton;
|
||||||
|
TgroupAdd: TToolButton;
|
||||||
|
TgroupMdy: TToolButton;
|
||||||
|
TBDel: TToolButton;
|
||||||
|
TBClose: TToolButton;
|
||||||
|
cxGrid1: TcxGrid;
|
||||||
|
Tv1: TcxGridDBTableView;
|
||||||
|
tv1direction: TcxGridDBColumn;
|
||||||
|
tv1billType: TcxGridDBColumn;
|
||||||
|
tv1procedureName: TcxGridDBColumn;
|
||||||
|
tv1pageRow: TcxGridDBColumn;
|
||||||
|
Tv1PageCol: TcxGridDBColumn;
|
||||||
|
tv1billLayoutPageField: TcxGridDBColumn;
|
||||||
|
Tv1note: TcxGridDBColumn;
|
||||||
|
tv1isValid: TcxGridDBColumn;
|
||||||
|
cxGridLevel2: TcxGridLevel;
|
||||||
|
ToolButton1: TToolButton;
|
||||||
|
ADOQueryMain: TADOQuery;
|
||||||
|
DataSource1: TDataSource;
|
||||||
|
ToolButton2: TToolButton;
|
||||||
|
Tv1billName: TcxGridDBColumn;
|
||||||
|
Tgetresult: TToolButton;
|
||||||
|
tv2: TcxGridDBTableView;
|
||||||
|
cxGrid2Level1: TcxGridLevel;
|
||||||
|
cxGrid2: TcxGrid;
|
||||||
|
DataSource2: TDataSource;
|
||||||
|
ADOQueryResult: TADOQuery;
|
||||||
|
Tv1procedureName2: TcxGridDBColumn;
|
||||||
|
ToolButton3: TToolButton;
|
||||||
|
Tmdgs: TToolButton;
|
||||||
|
RzGroupBox1: TcxGroupBox;
|
||||||
|
cxRadioGroup1: TcxRadioGroup;
|
||||||
|
procedure TBCloseClick(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure TBRafreshClick(Sender: TObject);
|
||||||
|
procedure ToolButton2Click(Sender: TObject);
|
||||||
|
procedure ToolButton1Click(Sender: TObject);
|
||||||
|
procedure TgroupAddClick(Sender: TObject);
|
||||||
|
procedure TBDelClick(Sender: TObject);
|
||||||
|
procedure TgetresultClick(Sender: TObject);
|
||||||
|
procedure ToolButton3Click(Sender: TObject);
|
||||||
|
procedure TmdgsClick(Sender: TObject);
|
||||||
|
procedure RadioGroup1Click(Sender: TObject);
|
||||||
|
procedure cxRadioGroup1Click(Sender: TObject);
|
||||||
|
private
|
||||||
|
procedure DoQuery();
|
||||||
|
public
|
||||||
|
fuseSystem: string;
|
||||||
|
FLMType: string;
|
||||||
|
FFiltration1, FFiltration2, FFiltration3: string;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmBillPrintList: TfrmBillPrintList;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
U_DataLink, U_RTfun, U_globalVar, U_LabelPrint;
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
Action := caFree;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
cxGrid1.Align := alClient;
|
||||||
|
fuseSystem := fParameters1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
frmBillPrintList := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
DoQuery();
|
||||||
|
readCxGrid('码单格式管理列表T1', Tv1, gDllFileName);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.RadioGroup1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBRafresh.Click;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.TBCloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.TBDelClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ADOQueryMain.Delete;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.TBRafreshClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
DoQuery();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.TgetresultClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if trim(ADOQueryMain.FieldByName('procedureName').AsString) = '' then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('明细存储过程名称不能为空!', '提示信息', 0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
try
|
||||||
|
with ADOQueryBaseTemp do
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
Filtered := False;
|
||||||
|
Sql.Clear;
|
||||||
|
sql.Add('select max(ciid) as ciid from Trade_Cloth_Inspect');
|
||||||
|
// if Pos('<27><><EFBFBD>',trim(ADOQueryMain.FieldByName('billType').AsString),1)>=0 then
|
||||||
|
// sql.Add('where ioflag='+QuotedStr('<27><><EFBFBD>') )
|
||||||
|
// else
|
||||||
|
// sql.Add('where ioflag='+QuotedStr(' <20><><EFBFBD><EFBFBD>'));
|
||||||
|
open;
|
||||||
|
end;
|
||||||
|
TV2.BeginUpdate();
|
||||||
|
ADOQueryResult.DisableControls;
|
||||||
|
with ADOQueryResult do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
Filtered := False;
|
||||||
|
SQL.Clear;
|
||||||
|
sql.Add('exec ' + trim(ADOQueryMain.FieldByName('procedureName').AsString));
|
||||||
|
if not ADOQueryBaseTemp.IsEmpty then
|
||||||
|
sql.Add('@Filtration=' + quotedstr(Trim(ADOQueryBaseTemp.FieldByName('ciid').AsString)))
|
||||||
|
else
|
||||||
|
sql.Add('@Filtration=' + quotedstr('92405270001'));
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
TV2.ClearItems; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(TV2.DataController as IcxCustomGridDataController).DeleteAllItems; //ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(TV2.DataController as IcxCustomGridDataController).CreateAllItems(false); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
finally
|
||||||
|
ADOQueryResult.EnableControls;
|
||||||
|
TV2.EndUpdate;
|
||||||
|
TV2.BeginBestFitUpdate;
|
||||||
|
TV2.ApplyBestFit; //<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ .BestFitMaxWidth;
|
||||||
|
TV2.EndBestFitUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.TgroupAddClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ADOQueryMain.Append;
|
||||||
|
ADOQueryMain.FieldByName('billType').Value := '<27><><EFBFBD><EFBFBD>뵥';
|
||||||
|
ADOQueryMain.FieldByName('billName').Value := '';
|
||||||
|
ADOQueryMain.FieldByName('direction').Value := '<27><>';
|
||||||
|
ADOQueryMain.FieldByName('procedureName').Value := '';
|
||||||
|
ADOQueryMain.FieldByName('pageRow').Value := 10;
|
||||||
|
ADOQueryMain.FieldByName('PageCol').Value := 10;
|
||||||
|
ADOQueryMain.FieldByName('useSystem').Value := fuseSystem;
|
||||||
|
|
||||||
|
ADOQueryMain.FieldByName('valid').Value := 1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.TmdgsClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
with ADOQueryBaseTemp do
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
Filtered := False;
|
||||||
|
Sql.Clear;
|
||||||
|
sql.Add('select max(ciid) as ciid from Trade_Cloth_Inspect');
|
||||||
|
open;
|
||||||
|
end;
|
||||||
|
|
||||||
|
try
|
||||||
|
frmLabelPrint := TfrmLabelPrint.Create(Application);
|
||||||
|
with frmLabelPrint do
|
||||||
|
begin
|
||||||
|
FLMType := '入库码单';
|
||||||
|
FFiltration1 := Trim(self.ADOQueryBaseTemp.FieldByName('ciid').AsString);
|
||||||
|
FFiltration2 := Trim(self.ADOQueryBaseTemp.FieldByName('ciid').AsString);
|
||||||
|
if ShowModal = 1 then
|
||||||
|
begin
|
||||||
|
// Self.InitGrid();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
frmLabelPrint.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.ToolButton1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
try
|
||||||
|
if ADOQueryMain.Locate('billName', '', []) then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('码单名称不能为空!', '提示信息', 0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
if ADOQueryMain.Locate('procedureName', '', []) then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('存储过程名称不能为空!', '提示信息', 0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
ADOQueryMain.UpdateBatch();
|
||||||
|
Application.MessageBox('保存成功!', '提示信息', 0);
|
||||||
|
except
|
||||||
|
Application.MessageBox('保存失败!', '警告信息', 0);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.ToolButton2Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
WriteCxGrid('码单格式管理列表T1', Tv1, gDllFileName);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.ToolButton3Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if trim(ADOQueryMain.FieldByName('procedureName2').AsString) = '' then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('汇总存储过程名称不能为空!', '提示信息', 0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
try
|
||||||
|
with ADOQueryBaseTemp do
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
Filtered := False;
|
||||||
|
Sql.Clear;
|
||||||
|
sql.Add('select max(ciid) as ciid from Trade_Cloth_Inspect');
|
||||||
|
//if Pos('<27><><EFBFBD>',trim(ADOQueryMain.FieldByName('billType').AsString),1)>=0 then
|
||||||
|
// sql.Add('where ioflag='+QuotedStr('<27><><EFBFBD>') )
|
||||||
|
//else
|
||||||
|
//sql.Add('where ioflag='+QuotedStr(' <20><><EFBFBD><EFBFBD>'));
|
||||||
|
open;
|
||||||
|
end;
|
||||||
|
TV2.BeginUpdate();
|
||||||
|
ADOQueryResult.DisableControls;
|
||||||
|
with ADOQueryResult do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
Filtered := False;
|
||||||
|
SQL.Clear;
|
||||||
|
sql.Add('exec ' + trim(ADOQueryMain.FieldByName('procedureName2').AsString));
|
||||||
|
if not ADOQueryBaseTemp.IsEmpty then
|
||||||
|
sql.Add('@Filtration=' + quotedstr(Trim(ADOQueryBaseTemp.FieldByName('ciid').AsString)))
|
||||||
|
else
|
||||||
|
sql.Add('@Filtration=' + quotedstr('92405270001'));
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
TV2.ClearItems; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(TV2.DataController as IcxCustomGridDataController).DeleteAllItems; //ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
(TV2.DataController as IcxCustomGridDataController).CreateAllItems(false); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
finally
|
||||||
|
ADOQueryResult.EnableControls;
|
||||||
|
TV2.EndUpdate;
|
||||||
|
TV2.BeginBestFitUpdate;
|
||||||
|
TV2.ApplyBestFit; //<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ .BestFitMaxWidth;
|
||||||
|
TV2.EndBestFitUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.cxRadioGroup1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBRafresh.click;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmBillPrintList.DoQuery();
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
ADOQueryMain.DisableControls;
|
||||||
|
with ADOQueryMain do
|
||||||
|
begin
|
||||||
|
Filtered := False;
|
||||||
|
Close;
|
||||||
|
SQL.Clear;
|
||||||
|
sql.Add('select * from SD_BillPrint ');
|
||||||
|
if cxRadioGroup1.ItemIndex = 0 then
|
||||||
|
sql.Add('where valid=1 ')
|
||||||
|
else if cxRadioGroup1.ItemIndex = 1 then
|
||||||
|
sql.Add('where valid=0');
|
||||||
|
// if FLMType<>'' then
|
||||||
|
sql.Add('and billtype=' + QuotedStr(TRIM(FLMType)));
|
||||||
|
sql.Add('order by recid');
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
ADOQueryMain.EnableControls;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
10453
T03贸易布匹检验/U_DataLink.dfm
Normal file
10453
T03贸易布匹检验/U_DataLink.dfm
Normal file
File diff suppressed because it is too large
Load Diff
113
T03贸易布匹检验/U_DataLink.pas
Normal file
113
T03贸易布匹检验/U_DataLink.pas
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
unit U_DataLink;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils, Classes, DB, ADODB, ImgList, Controls, cxStyles, cxLookAndFeels,
|
||||||
|
Windows, Messages, forms, OleCtnrs, DateUtils, ExtCtrls, SyncObjs, cxClasses,
|
||||||
|
System.ImageList,U_BaseDataLink,
|
||||||
|
dxCore, cxLocalization, dxLayoutLookAndFeels, cxImageList, cxGraphics, cxEdit,
|
||||||
|
cxContainer, dxSkinsForm, dxSkinsCore;
|
||||||
|
|
||||||
|
type
|
||||||
|
TMyThread = class(TThread)
|
||||||
|
protected
|
||||||
|
procedure Execute; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
DConString: string; {全局连接字符串}
|
||||||
|
server, dtbase, user, pswd: string; {数据库连接参数}
|
||||||
|
DCurHandle: hwnd; //当前窗体句柄
|
||||||
|
DName: string; //#用户名#//
|
||||||
|
DCode: string; //#用户编号#//
|
||||||
|
Ddatabase: string; //#数据库名称#//
|
||||||
|
DTitCaption: string; //#主窗体名称#//
|
||||||
|
PicSvr: string;
|
||||||
|
fDllFileName:string;
|
||||||
|
DParameters1, DParameters2, DParameters3, DParameters4, DParameters5: string; // 外部参数;
|
||||||
|
DParameters6, DParameters7, DParameters8, DParameters9, DParameters10: string; //外部参数;
|
||||||
|
OldDllApp: Tapplication; //保存原有句柄
|
||||||
|
NewDllApp: Tapplication; //当前句柄
|
||||||
|
MainApplication: Tapplication;
|
||||||
|
DFormCode: integer; //当前窗口号
|
||||||
|
IsDelphiLanguage: integer;
|
||||||
|
DServerDate: TdateTime; //服务器时间
|
||||||
|
DCompany: string; //公司
|
||||||
|
IpCall: Integer;
|
||||||
|
IpWLDZStr: string;
|
||||||
|
UserDataFlag: string;
|
||||||
|
|
||||||
|
type
|
||||||
|
TDataLink_TradeInsp = class(TBaseDataLink)
|
||||||
|
AdoDataLink: TADOQuery;
|
||||||
|
ADOLink: TADOConnection;
|
||||||
|
ThreeImgList: TImageList;
|
||||||
|
Timer_link: TTimer;
|
||||||
|
procedure DataModuleDestroy(Sender: TObject);
|
||||||
|
procedure Timer_linkTimer(Sender: TObject);
|
||||||
|
procedure DataModuleCreate(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
TMakebar = procedure(ucData: pchar; nDataLen: integer; nErrLevel: integer; nMask: integer; nBarEdition: integer; szBmpFileName: pchar; nScale: integer); stdcall;
|
||||||
|
|
||||||
|
TMixtext = procedure(szSrcBmpFileName: PChar; szDstBmpFileName: PChar; sztext: PChar; fontsize, txtheight, hmargin, vmargin, txtcntoneline: integer); stdcall;
|
||||||
|
|
||||||
|
var
|
||||||
|
DataLink_TradeInsp: TDataLink_TradeInsp;
|
||||||
|
CriticalSection: TCriticalSection; {声明临界}
|
||||||
|
|
||||||
|
implementation
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TMyThread.Execute;
|
||||||
|
begin
|
||||||
|
FreeOnTerminate := True;
|
||||||
|
CriticalSection.Enter;
|
||||||
|
try
|
||||||
|
with DataLink_TradeInsp.AdoDataLink do
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
sql.Clear;
|
||||||
|
sql.Add('select getdate()');
|
||||||
|
open;
|
||||||
|
end;
|
||||||
|
except
|
||||||
|
try
|
||||||
|
with DataLink_TradeInsp.ADOLink do
|
||||||
|
begin
|
||||||
|
Connected := false;
|
||||||
|
ConnectionString := DConString;
|
||||||
|
LoginPrompt := false;
|
||||||
|
Connected := true;
|
||||||
|
end;
|
||||||
|
except
|
||||||
|
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
CriticalSection.Leave;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDataLink_TradeInsp.DataModuleDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
CriticalSection.Free;
|
||||||
|
DataLink_TradeInsp := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDataLink_TradeInsp.Timer_linkTimer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TMyThread.Create(False);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDataLink_TradeInsp.DataModuleCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited ;
|
||||||
|
CriticalSection := TCriticalSection.Create;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
100
T03贸易布匹检验/U_DeviceJkDll.pas
Normal file
100
T03贸易布匹检验/U_DeviceJkDll.pas
Normal file
|
|
@ -0,0 +1,100 @@
|
||||||
|
unit U_DeviceJkDll;
|
||||||
|
|
||||||
|
interface
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
|
||||||
|
System.Classes, Vcl.Graphics,
|
||||||
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
|
||||||
|
cxLookAndFeelPainters, cxClasses, dxLayoutContainer,
|
||||||
|
dxLayoutControl, dxLayoutcxEditAdapters, cxContainer, cxEdit, Vcl.StdCtrls,
|
||||||
|
cxTextEdit, Vcl.ExtCtrls, dxLayoutControlAdapters, U_BaseList, Data.DB,
|
||||||
|
Data.Win.ADODB, Vcl.Buttons, Vcl.ComCtrls, Vcl.ToolWin, cxImage, cxDBEdit,
|
||||||
|
cxStyles, cxCustomData, cxData, cxDataStorage, cxNavigator,
|
||||||
|
dxDateRanges, dxScrollbarAnnotations, cxDBData, dxBarBuiltInMenu, cxPC,
|
||||||
|
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
|
||||||
|
cxGridCustomView, cxGrid, cxMemo, cxRichEdit, U_frameBads,
|
||||||
|
Datasnap.DBClient, RM_Common, RM_Class, RM_GridReport,
|
||||||
|
cxCheckBox, cxMaskEdit, cxDropDownEdit, Vcl.Menus, cxButtonEdit, RM_Dataset,
|
||||||
|
cxGeometry, dxFramedControl, dxPanel, U_KeyBoard, cxGroupBox,
|
||||||
|
cxGridCustomPopupMenu, cxGridPopupMenu, MovePanel;
|
||||||
|
|
||||||
|
procedure OpenCom(mHandle:Thandle;DllName: string;var fIsCommopen:boolean);
|
||||||
|
procedure CloseCom(DllName: string);
|
||||||
|
implementation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
procedure OpenCom(mHandle:Thandle;DllName: string;var fIsCommopen:boolean);
|
||||||
|
type
|
||||||
|
TMyFunc = function(fhandle: hwnd; sCommName: PAnsiChar; IntTime: Integer;
|
||||||
|
IsMessage: Integer): hwnd; stdcall;
|
||||||
|
var
|
||||||
|
Tf: TMyFunc;
|
||||||
|
Tp: TFarProc;
|
||||||
|
Th: Thandle;
|
||||||
|
newh: hwnd;
|
||||||
|
begin
|
||||||
|
Th := LoadLibrary(pchar(trim(DllName)));
|
||||||
|
if Th > 0 then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
Tp := GetProcAddress(Th, 'CommOpen');
|
||||||
|
if Tp <> nil then
|
||||||
|
begin
|
||||||
|
Tf := TMyFunc(Tp);
|
||||||
|
newh := Tf(mHandle, 'Comm1', 500, 1);
|
||||||
|
if newh < 1 then
|
||||||
|
begin
|
||||||
|
Application.MessageBox(pchar('打开串口失败!'), '提示');
|
||||||
|
end
|
||||||
|
else
|
||||||
|
fIsCommopen := true;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
fIsCommopen := false;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
// FreeLibrary(Th);
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
fIsCommopen := false;
|
||||||
|
Application.MessageBox(pchar('找不到 ' + trim(DllName) + ' 文件!'), '提示');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure CloseCom(DllName: string);
|
||||||
|
type
|
||||||
|
TMyFunc = function(sCommName: PAnsiChar): hwnd; stdcall;
|
||||||
|
var
|
||||||
|
Tf1: TMyFunc;
|
||||||
|
Tp1: TFarProc;
|
||||||
|
Th1: Thandle;
|
||||||
|
newh1: hwnd;
|
||||||
|
begin
|
||||||
|
Th1 := LoadLibrary(pchar(trim(DllName)));
|
||||||
|
if Th1 > 0 then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
Tp1 := GetProcAddress(Th1, 'CommClose');
|
||||||
|
if Tp1 <> nil then
|
||||||
|
begin
|
||||||
|
Tf1 := TMyFunc(Tp1);
|
||||||
|
newh1 := Tf1('Comm1');
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
// FreeLibrary(Th1);
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Application.MessageBox(pchar('找不到 ' + trim(DllName) + ' 文件!'), '提示');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end.
|
||||||
255
T03贸易布匹检验/U_DeviceJkTest.dfm
Normal file
255
T03贸易布匹检验/U_DeviceJkTest.dfm
Normal file
|
|
@ -0,0 +1,255 @@
|
||||||
|
inherited frmDeviceJkTest: TfrmDeviceJkTest
|
||||||
|
Caption = #27979#35797#36890#35759#25509#21475
|
||||||
|
ClientHeight = 449
|
||||||
|
ClientWidth = 831
|
||||||
|
Color = clBtnFace
|
||||||
|
FormStyle = fsMDIChild
|
||||||
|
Visible = True
|
||||||
|
ExplicitWidth = 847
|
||||||
|
ExplicitHeight = 488
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 17
|
||||||
|
object SpeedButton1: TSpeedButton [0]
|
||||||
|
Left = 296
|
||||||
|
Top = 240
|
||||||
|
Width = 23
|
||||||
|
Height = 22
|
||||||
|
end
|
||||||
|
object cxGroupBox1: TcxGroupBox [1]
|
||||||
|
Left = 0
|
||||||
|
Top = 33
|
||||||
|
Align = alTop
|
||||||
|
Caption = #25509#25910#25968#25454
|
||||||
|
TabOrder = 4
|
||||||
|
Height = 87
|
||||||
|
Width = 831
|
||||||
|
object InputLen: TcxTextEdit
|
||||||
|
Tag = 999
|
||||||
|
Left = 280
|
||||||
|
Top = 23
|
||||||
|
AutoSize = False
|
||||||
|
Properties.ReadOnly = False
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 0
|
||||||
|
TextHint = #26174#31034#25509#25910#25968#25454
|
||||||
|
Height = 38
|
||||||
|
Width = 193
|
||||||
|
end
|
||||||
|
object cxButton1: TcxButton
|
||||||
|
Left = 528
|
||||||
|
Top = 23
|
||||||
|
Width = 89
|
||||||
|
Height = 42
|
||||||
|
Caption = #24320#22987#27979#35797
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = cxButton1Click
|
||||||
|
end
|
||||||
|
object cxButton2: TcxButton
|
||||||
|
Left = 639
|
||||||
|
Top = 23
|
||||||
|
Width = 89
|
||||||
|
Height = 42
|
||||||
|
Caption = #20572#27490#27979#35797
|
||||||
|
TabOrder = 2
|
||||||
|
OnClick = cxButton2Click
|
||||||
|
end
|
||||||
|
object fileType: TcxComboBox
|
||||||
|
Left = 3
|
||||||
|
Top = 25
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
#30721#34920
|
||||||
|
#30005#23376#31216)
|
||||||
|
Properties.OnChange = cxComboBox1PropertiesChange
|
||||||
|
TabOrder = 3
|
||||||
|
Width = 87
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1: TcxGrid [2]
|
||||||
|
Left = -8
|
||||||
|
Top = 144
|
||||||
|
Width = 793
|
||||||
|
Height = 207
|
||||||
|
TabOrder = 5
|
||||||
|
LookAndFeel.NativeStyle = False
|
||||||
|
LookAndFeel.SkinName = 'WXI'
|
||||||
|
object tv1: TcxGridDBTableView
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
DataController.DataSource = DataSource1
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||||
|
DataController.Summary.FooterSummaryItems = <>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsData.Deleting = False
|
||||||
|
OptionsData.Editing = False
|
||||||
|
OptionsData.Inserting = False
|
||||||
|
OptionsSelection.CellSelect = False
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
OptionsView.Indicator = True
|
||||||
|
object tv1FtFileName: TcxGridDBColumn
|
||||||
|
Caption = #25991#20214#21517#31216
|
||||||
|
DataBinding.FieldName = 'FileName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 123
|
||||||
|
end
|
||||||
|
object tv1FileType: TcxGridDBColumn
|
||||||
|
Caption = #25991#20214#31867#22411
|
||||||
|
DataBinding.FieldName = 'FileType'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxComboBoxProperties'
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
#19968#33324
|
||||||
|
#20844#29992)
|
||||||
|
Properties.ReadOnly = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 77
|
||||||
|
end
|
||||||
|
object tv1factory: TcxGridDBColumn
|
||||||
|
Caption = #29983#20135#21378#23478
|
||||||
|
DataBinding.FieldName = 'factory'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 100
|
||||||
|
end
|
||||||
|
object tv1remark: TcxGridDBColumn
|
||||||
|
Caption = #22791#27880
|
||||||
|
DataBinding.FieldName = 'remark'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 115
|
||||||
|
end
|
||||||
|
object tv1fileCreatedate: TcxGridDBColumn
|
||||||
|
Caption = #21019#24314#26085#26399
|
||||||
|
DataBinding.FieldName = 'fileCreatedate'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 105
|
||||||
|
end
|
||||||
|
object tv1FileEditDate: TcxGridDBColumn
|
||||||
|
Caption = #20462#25913#26085#26399
|
||||||
|
DataBinding.FieldName = 'FileEditDate'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 115
|
||||||
|
end
|
||||||
|
object tv1fillTime: TcxGridDBColumn
|
||||||
|
Caption = #19978#20256#26085#26399
|
||||||
|
DataBinding.FieldName = 'fillTime'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 91
|
||||||
|
end
|
||||||
|
object tv1FileSize: TcxGridDBColumn
|
||||||
|
Caption = #25991#20214#22823#23567
|
||||||
|
DataBinding.FieldName = 'FileSize'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 69
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1Level1: TcxGridLevel
|
||||||
|
GridView = tv1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object ToolBar1: TToolBar [3]
|
||||||
|
Tag = 1
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 831
|
||||||
|
Height = 33
|
||||||
|
ButtonHeight = 30
|
||||||
|
ButtonWidth = 96
|
||||||
|
Caption = 'ToolBar1'
|
||||||
|
Images = DataLink_TradeInsp.cxImageList_bar
|
||||||
|
List = True
|
||||||
|
ShowCaptions = True
|
||||||
|
TabOrder = 2
|
||||||
|
object TBRafresh: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #21047#26032
|
||||||
|
ImageIndex = 1
|
||||||
|
OnClick = TBRafreshClick
|
||||||
|
end
|
||||||
|
object ToolButton1: TToolButton
|
||||||
|
Left = 63
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #25171#24320'ini'#25991#20214
|
||||||
|
ImageIndex = 9
|
||||||
|
OnClick = ToolButton1Click
|
||||||
|
end
|
||||||
|
object ToolButton2: TToolButton
|
||||||
|
Left = 163
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20445#23384#26684#24335
|
||||||
|
ImageIndex = 16
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object TBClose: TToolButton
|
||||||
|
Left = 250
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20851#38381
|
||||||
|
ImageIndex = 7
|
||||||
|
OnClick = TBCloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object edt_dllName: TcxTextEdit [4]
|
||||||
|
Left = 96
|
||||||
|
Top = 69
|
||||||
|
AutoSize = False
|
||||||
|
Properties.ReadOnly = False
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 3
|
||||||
|
Height = 30
|
||||||
|
Width = 162
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseCmd: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseTemp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 577
|
||||||
|
Top = 241
|
||||||
|
end
|
||||||
|
object DataSource1: TDataSource
|
||||||
|
DataSet = cds_list
|
||||||
|
Left = 136
|
||||||
|
Top = 192
|
||||||
|
end
|
||||||
|
object ADOQueryList: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 208
|
||||||
|
Top = 200
|
||||||
|
end
|
||||||
|
object cds_list: TClientDataSet
|
||||||
|
Aggregates = <>
|
||||||
|
Params = <>
|
||||||
|
Left = 296
|
||||||
|
Top = 224
|
||||||
|
end
|
||||||
|
object ADOQueryTmp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 432
|
||||||
|
Top = 120
|
||||||
|
end
|
||||||
|
end
|
||||||
377
T03贸易布匹检验/U_DeviceJkTest.pas
Normal file
377
T03贸易布匹检验/U_DeviceJkTest.pas
Normal file
|
|
@ -0,0 +1,377 @@
|
||||||
|
unit U_DeviceJkTest;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||||
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
|
||||||
|
cxLookAndFeelPainters, cxContainer, cxEdit, Vcl.Menus,
|
||||||
|
Vcl.StdCtrls, cxButtons, cxTextEdit, cxGroupBox, cxStyles, cxCustomData,
|
||||||
|
cxFilter, cxData, cxDataStorage, cxNavigator, dxDateRanges, ShellAPI,
|
||||||
|
dxScrollbarAnnotations, Data.DB, cxDBData, Data.Win.ADODB, cxGridLevel,
|
||||||
|
cxClasses, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
|
||||||
|
cxGridDBTableView, cxGrid, cxDropDownEdit, Vcl.ComCtrls, Vcl.ToolWin,
|
||||||
|
Datasnap.DBClient, cxMaskEdit, Vcl.Buttons, U_BaseList, cxProgressBar,
|
||||||
|
dxSkinsCore, Vcl.ExtCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmDeviceJkTest = class(TfrmBaseList)
|
||||||
|
cxGroupBox1: TcxGroupBox;
|
||||||
|
InputLen: TcxTextEdit;
|
||||||
|
cxButton1: TcxButton;
|
||||||
|
DataSource1: TDataSource;
|
||||||
|
ADOQueryList: TADOQuery;
|
||||||
|
cxGrid1: TcxGrid;
|
||||||
|
tv1: TcxGridDBTableView;
|
||||||
|
tv1FtFileName: TcxGridDBColumn;
|
||||||
|
tv1FileType: TcxGridDBColumn;
|
||||||
|
tv1factory: TcxGridDBColumn;
|
||||||
|
tv1remark: TcxGridDBColumn;
|
||||||
|
tv1fileCreatedate: TcxGridDBColumn;
|
||||||
|
tv1FileEditDate: TcxGridDBColumn;
|
||||||
|
tv1fillTime: TcxGridDBColumn;
|
||||||
|
tv1FileSize: TcxGridDBColumn;
|
||||||
|
cxGrid1Level1: TcxGridLevel;
|
||||||
|
ToolBar1: TToolBar;
|
||||||
|
TBRafresh: TToolButton;
|
||||||
|
ToolButton2: TToolButton;
|
||||||
|
TBClose: TToolButton;
|
||||||
|
edt_dllName: TcxTextEdit;
|
||||||
|
cds_list: TClientDataSet;
|
||||||
|
cxButton2: TcxButton;
|
||||||
|
ADOQueryTmp: TADOQuery;
|
||||||
|
fileType: TcxComboBox;
|
||||||
|
ToolButton1: TToolButton;
|
||||||
|
SpeedButton1: TSpeedButton;
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure TBRafreshClick(Sender: TObject);
|
||||||
|
procedure TBCloseClick(Sender: TObject);
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure cxButton1Click(Sender: TObject);
|
||||||
|
procedure cxComboBox1PropertiesChange(Sender: TObject);
|
||||||
|
procedure cxButton2Click(Sender: TObject);
|
||||||
|
procedure ToolButton1Click(Sender: TObject);
|
||||||
|
private
|
||||||
|
fIsCommopen: Boolean;
|
||||||
|
fDllName:string;
|
||||||
|
procedure InitGrid();
|
||||||
|
procedure testCom();
|
||||||
|
function ExportFtErpFile(recid,mFileName:string;ADORead:TADOQuery):boolean;
|
||||||
|
procedure On1201(var Message: Tmessage); message 1201; // 电子称
|
||||||
|
procedure On1301(var Message: Tmessage); message 1301; // 码表
|
||||||
|
public
|
||||||
|
fFormID:Integer;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmDeviceJkTest: TfrmDeviceJkTest;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
uses
|
||||||
|
U_DataLink,U_globalVar,U_DeviceJkDll,U_RTFun;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.cxButton1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if cds_list.IsEmpty then
|
||||||
|
begin
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
testCom();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if fIsCommopen then
|
||||||
|
begin
|
||||||
|
CloseCom(fDllName);
|
||||||
|
end;
|
||||||
|
Action:=caFree;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
cxGrid1.Align:=alClient;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
frmDeviceJkTest:=nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
// inherited;
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.InitGrid();
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
ADOQueryList.DisableControls ;
|
||||||
|
with ADOQueryList do
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
sql.clear;
|
||||||
|
sql.Add('select recid, FileName,FileType,FileEditDate,fileCreateDate,FileSize,filltime,');
|
||||||
|
sql.Add('FilePath,remark,factory');
|
||||||
|
sql.Add('from RT_deviceDllFile');
|
||||||
|
if Trim(fileType.Text)<>'' then
|
||||||
|
sql.Add('where filetype='+QuotedStr(Trim(fileType.Text)));
|
||||||
|
sql.Add('order by fillTime desc');
|
||||||
|
Open;
|
||||||
|
|
||||||
|
SCreateCDS(ADOQueryList, cds_list);
|
||||||
|
SInitCDSData(ADOQueryList, cds_list);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
ADOQueryList.EnableControls ;
|
||||||
|
tv1.ApplyBestFit() ;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.TBCloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.TBRafreshClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.testCom();
|
||||||
|
var
|
||||||
|
iniFileName:string;
|
||||||
|
filePath:string;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
// while True do
|
||||||
|
// begin
|
||||||
|
fDllName:=Trim(cds_list.FieldByName('FileName').AsString) ;
|
||||||
|
edt_dllName.Text:=fDllName ;
|
||||||
|
if Trim(cds_list.FieldByName('FileType').AsString)<>'' then
|
||||||
|
ExportFtErpFile(Trim(cds_list.FieldByName('recid').AsString),fDllName,ADOQueryTmp);
|
||||||
|
iniFileName:= StringReplace(fDllName,'.dll','.ini',[rfIgnoreCase]);
|
||||||
|
filePath:= ExtractFilePath(Paramstr(0))+iniFileName ;
|
||||||
|
if not FileExists(filePath) then
|
||||||
|
begin
|
||||||
|
ExportFtErpFile('',iniFileName,ADOQueryTmp);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if not FileExists(ExtractFilePath(Paramstr(0))+iniFileName) then
|
||||||
|
begin
|
||||||
|
application.MessageBox(PChar(iniFileName+'文件不存在!'),'警告信息',0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
OpenCom(self.handle,fDllName,fIsCommopen);
|
||||||
|
// Close;
|
||||||
|
// end;
|
||||||
|
finally
|
||||||
|
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.ToolButton1Click(Sender: TObject);
|
||||||
|
var
|
||||||
|
iniFileName:String;
|
||||||
|
filePath:string;
|
||||||
|
begin
|
||||||
|
if cds_list.IsEmpty then exit;
|
||||||
|
iniFileName :=Trim( cds_list.FieldByName('fileName').AsString );
|
||||||
|
iniFileName:= StringReplace(iniFileName,'.dll','.ini',[rfIgnoreCase]);
|
||||||
|
filePath:= ExtractFilePath(Paramstr(0))+iniFileName ;
|
||||||
|
if not FileExists(filePath) then
|
||||||
|
begin
|
||||||
|
ExportFtErpFile('',iniFileName,ADOQueryTmp);
|
||||||
|
end;
|
||||||
|
|
||||||
|
if not FileExists(filePath) then
|
||||||
|
begin
|
||||||
|
application.MessageBox(PChar(iniFileName+'文件不存在!'),'警告信息',0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
//
|
||||||
|
ShellExecute(0, 'open', PChar('notepad.exe'), PChar(filePath), nil, SW_SHOWNORMAL);
|
||||||
|
end;
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////
|
||||||
|
//函数功能:从服务器下载文件;
|
||||||
|
///////////////////////////////////////////////////////
|
||||||
|
procedure TfrmDeviceJkTest.cxButton2Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if fDllName<>'' then
|
||||||
|
CloseCom(fDllName);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.cxComboBox1PropertiesChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBRafresh.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfrmDeviceJkTest.ExportFtErpFile(recid,mFileName:string;ADORead:TADOQuery):boolean;
|
||||||
|
var
|
||||||
|
Stream : TMemoryStream;
|
||||||
|
ff:TADOBlobstream;
|
||||||
|
mfileSize:integer;
|
||||||
|
mCreationTime:TdateTime;
|
||||||
|
mWriteTime:TdateTime;
|
||||||
|
IsFileHas:boolean;
|
||||||
|
mChildPath:string;
|
||||||
|
mFilePath:string;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
result:=false;
|
||||||
|
mChildPath:=''; //test\
|
||||||
|
///////////////////////////////////////////////
|
||||||
|
//如果产品存在
|
||||||
|
mFilePath:= ExtractFilePath(Paramstr(0))+mChildPath;
|
||||||
|
IsFileHas:= FileExists(mFilePath+fDllName);
|
||||||
|
if IsFileHas then
|
||||||
|
begin
|
||||||
|
//////////////////////////
|
||||||
|
//获取文件信息
|
||||||
|
GetFileInfo(mFilePath+mFileName,mfileSize,mCreationTime,mWriteTime);
|
||||||
|
//eleteFile(mFilePath+fDllName);
|
||||||
|
end;
|
||||||
|
//////////////////////////////////////////
|
||||||
|
//存在文件
|
||||||
|
if IsFileHas then
|
||||||
|
begin
|
||||||
|
with ADORead do
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
sql.Clear ;
|
||||||
|
sql.Add('select count(FileName) as cnt ');
|
||||||
|
sql.Add('from RT_deviceDllFile');
|
||||||
|
if recid<>'' then
|
||||||
|
sql.Add('where recid='+quotedStr(recid))
|
||||||
|
else
|
||||||
|
sql.Add('where FileName='+quotedStr(mFileName));
|
||||||
|
sql.Add(' and DATEDIFF(minute,'+ quotedStr(formatDateTime('yyyy-MM-dd hh:mm',mWriteTime))+',fileEditDate)>0');
|
||||||
|
Open;
|
||||||
|
|
||||||
|
|
||||||
|
//是否存在新的文件
|
||||||
|
if fieldByName('cnt').AsInteger>0 then
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
sql.Clear ;
|
||||||
|
sql.Add('select * ');
|
||||||
|
sql.Add('from RT_deviceDllFile');
|
||||||
|
if recid<>'' then
|
||||||
|
sql.Add('where recid='+quotedStr(recid))
|
||||||
|
else
|
||||||
|
sql.Add('where FileName='+quotedStr(mFileName));
|
||||||
|
|
||||||
|
Open;
|
||||||
|
|
||||||
|
ff := TADOBlobstream.Create(fieldByName('Files') as TblobField, bmRead);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if trim(fieldByName('FilePath').AsString)<>'' then
|
||||||
|
mChildPath:=trim(fieldByName('FilePath').AsString)+'\';
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
//////////////////////////////////////
|
||||||
|
//不存在
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
with ADORead do
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
sql.Clear ;
|
||||||
|
sql.Add('select * ');
|
||||||
|
sql.Add('from RT_deviceDllFile');
|
||||||
|
if recid<>'' then
|
||||||
|
sql.Add('where recid='+quotedStr(recid))
|
||||||
|
else
|
||||||
|
sql.Add('where FileName='+quotedStr(mFileName));
|
||||||
|
Open;
|
||||||
|
|
||||||
|
if recordCount>0 then
|
||||||
|
begin
|
||||||
|
ff := TADOBlobstream.Create(fieldByName('Files') as TblobField, bmRead);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
application.MessageBox(pchar('未找到文件'+mfileName+'!'),'提示信息',0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if trim(fieldByName('FilePath').AsString)<>'' then
|
||||||
|
mChildPath:=trim(fieldByName('FilePath').AsString)+'\';
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
if ff<>nil then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
mfileName:=trim(ADORead.fieldByName('FileName').asString);
|
||||||
|
if not DirectoryExists(ExtractFileDir(mFilePath+mfileName)) then
|
||||||
|
ForceDirectories(ExtractFileDir(mFilePath+mfileName));
|
||||||
|
Stream:= TMemoryStream.Create ;
|
||||||
|
ff.SaveToStream(Stream);
|
||||||
|
Stream.SaveToFile(mFilePath+mfileName); //+'\tmpFile\'
|
||||||
|
finally
|
||||||
|
Stream.Free ;
|
||||||
|
ff.free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
UpdateFileTime(mFilePath+mfileName,ADORead.fieldByName('FileCreateDate').AsDateTime,ADORead.fieldByName('FileEditDate').AsDateTime,ADORead.fieldByName('FileEditDate').AsDateTime);
|
||||||
|
Result:=true;
|
||||||
|
except
|
||||||
|
application.MessageBox(pchar('读取文件'+mfileName+'失败!'),'提示信息',0);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.On1301(var Message: Tmessage);
|
||||||
|
var
|
||||||
|
i1, i2: Integer;
|
||||||
|
unitname: string;
|
||||||
|
fdata: double;
|
||||||
|
begin
|
||||||
|
i1 := Message.WParam;
|
||||||
|
i2 := Message.LParam;
|
||||||
|
|
||||||
|
// if trim(cds_list.fieldbyName('filetype').AsString) = '码表' then
|
||||||
|
// begin
|
||||||
|
InputLen.Text := format('%.2f', [i1 / 100000]);
|
||||||
|
|
||||||
|
//end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDeviceJkTest.On1201(var Message: Tmessage);
|
||||||
|
var
|
||||||
|
i1, i2: Integer;
|
||||||
|
unitname: string;
|
||||||
|
fdata: double;
|
||||||
|
begin
|
||||||
|
i1 := Message.WParam;
|
||||||
|
i2 := Message.LParam;
|
||||||
|
|
||||||
|
// if trim(cds_list.fieldbyName('filetype').AsString) = '电子称' then
|
||||||
|
// begin
|
||||||
|
InputLen.Text := format('%.2f', [i1 / 100000]);
|
||||||
|
// end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
end.
|
||||||
474
T03贸易布匹检验/U_DjdDjClList.dfm
Normal file
474
T03贸易布匹检验/U_DjdDjClList.dfm
Normal file
|
|
@ -0,0 +1,474 @@
|
||||||
|
inherited frmDjdDjClList: TfrmDjdDjClList
|
||||||
|
Caption = #25171#21367#20135#37327#32479#35745#27719#24635
|
||||||
|
ClientHeight = 422
|
||||||
|
ClientWidth = 1061
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Height = -16
|
||||||
|
FormStyle = fsMDIChild
|
||||||
|
Visible = True
|
||||||
|
ExplicitWidth = 1077
|
||||||
|
ExplicitHeight = 461
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 21
|
||||||
|
object toolbar1: TToolBar [0]
|
||||||
|
Tag = 1
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 1061
|
||||||
|
Height = 33
|
||||||
|
ButtonHeight = 30
|
||||||
|
ButtonWidth = 99
|
||||||
|
Caption = 'toolbar1'
|
||||||
|
Color = clBtnFace
|
||||||
|
Images = DataLink_TradeInsp.cxImageList_bar
|
||||||
|
List = True
|
||||||
|
ParentColor = True
|
||||||
|
ShowCaptions = True
|
||||||
|
TabOrder = 3
|
||||||
|
object TBRafresh: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #21047#26032
|
||||||
|
ImageIndex = 1
|
||||||
|
OnClick = TBRafreshClick
|
||||||
|
end
|
||||||
|
object TBFind: TToolButton
|
||||||
|
Left = 71
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #36807#28388
|
||||||
|
ImageIndex = 0
|
||||||
|
Visible = False
|
||||||
|
OnClick = TBFindClick
|
||||||
|
end
|
||||||
|
object TBExport: TToolButton
|
||||||
|
Left = 142
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #23548#20986
|
||||||
|
ImageIndex = 28
|
||||||
|
OnClick = TBExportClick
|
||||||
|
end
|
||||||
|
object Tbcgs: TToolButton
|
||||||
|
Left = 213
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20445#23384#26684#24335
|
||||||
|
ImageIndex = 16
|
||||||
|
OnClick = TbcgsClick
|
||||||
|
end
|
||||||
|
object TBClose: TToolButton
|
||||||
|
Left = 316
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20851#38381
|
||||||
|
ImageIndex = 7
|
||||||
|
OnClick = TBCloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1: TcxGrid [1]
|
||||||
|
Left = 20
|
||||||
|
Top = 184
|
||||||
|
Width = 1005
|
||||||
|
Height = 230
|
||||||
|
BorderStyle = cxcbsNone
|
||||||
|
TabOrder = 1
|
||||||
|
object TV1: TcxGridDBTableView
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
DataController.DataSource = DataSource1
|
||||||
|
DataController.Filter.AutoDataSetFilter = True
|
||||||
|
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||||
|
DataController.Summary.FooterSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = cxGridDBColumn9
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skCount
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = cxGridDBColumn11
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = cxGridDBColumn10
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Format = #26816#39564#31995#25968'=#.##'
|
||||||
|
Kind = skAverage
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Format = #25442#31639#31995#25968'=#.##'
|
||||||
|
Kind = skAverage
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skCount
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = cxGridDBColumn12
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = cxGridDBColumn8
|
||||||
|
end>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsCustomize.ColumnFiltering = False
|
||||||
|
OptionsView.Footer = True
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
OptionsView.IndicatorWidth = 30
|
||||||
|
object cxGridDBColumn3: TcxGridDBColumn
|
||||||
|
Tag = 11
|
||||||
|
Caption = #35746#21333#21495
|
||||||
|
DataBinding.FieldName = 'OrderNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 112
|
||||||
|
end
|
||||||
|
object TV1ConNo: TcxGridDBColumn
|
||||||
|
Caption = #21512#21516#21495
|
||||||
|
DataBinding.FieldName = 'ConNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
end
|
||||||
|
object TV1CustName: TcxGridDBColumn
|
||||||
|
Caption = #23458#25143
|
||||||
|
DataBinding.FieldName = 'CustName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
end
|
||||||
|
object cxGridDBColumn4: TcxGridDBColumn
|
||||||
|
Caption = #20135#21697#21517#31216
|
||||||
|
DataBinding.FieldName = 'C_Name'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 101
|
||||||
|
end
|
||||||
|
object TV1Column1: TcxGridDBColumn
|
||||||
|
Caption = #25171#30721#20154
|
||||||
|
DataBinding.FieldName = 'Filler'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 70
|
||||||
|
end
|
||||||
|
object cxGridDBColumn7: TcxGridDBColumn
|
||||||
|
Caption = #25171#21367#26085#26399
|
||||||
|
DataBinding.FieldName = 'Filltime'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 84
|
||||||
|
end
|
||||||
|
object cxGridDBColumn8: TcxGridDBColumn
|
||||||
|
Caption = #21367#25968
|
||||||
|
DataBinding.FieldName = 'SumPieceNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 94
|
||||||
|
end
|
||||||
|
object cxGridDBColumn9: TcxGridDBColumn
|
||||||
|
Caption = #27611#37325
|
||||||
|
DataBinding.FieldName = 'GrossWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 88
|
||||||
|
end
|
||||||
|
object cxGridDBColumn10: TcxGridDBColumn
|
||||||
|
Caption = #20928#37325
|
||||||
|
DataBinding.FieldName = 'NetWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 93
|
||||||
|
end
|
||||||
|
object cxGridDBColumn11: TcxGridDBColumn
|
||||||
|
Caption = #31859#25968
|
||||||
|
DataBinding.FieldName = 'Meter'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 91
|
||||||
|
end
|
||||||
|
object cxGridDBColumn12: TcxGridDBColumn
|
||||||
|
Caption = #30721#25968
|
||||||
|
DataBinding.FieldName = 'Yardage'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 99
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGridLevel1: TcxGridLevel
|
||||||
|
GridView = TV1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object dxLayoutControl_query: TdxLayoutControl [2]
|
||||||
|
Left = 0
|
||||||
|
Top = 33
|
||||||
|
Width = 1061
|
||||||
|
Height = 83
|
||||||
|
Align = alTop
|
||||||
|
BorderWidth = 2
|
||||||
|
TabOrder = 2
|
||||||
|
LayoutLookAndFeel = DataLink_TradeInsp.dxLayoutSkinLookAndFeel1
|
||||||
|
OptionsItem.SizableHorz = True
|
||||||
|
OptionsItem.SizableVert = True
|
||||||
|
object Filler: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 306
|
||||||
|
Top = 33
|
||||||
|
Hint = 'Filler'
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 4
|
||||||
|
Width = 136
|
||||||
|
end
|
||||||
|
object begdate: TcxDateEdit
|
||||||
|
Left = 88
|
||||||
|
Top = 8
|
||||||
|
ParentFont = True
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.SaveTime = False
|
||||||
|
Properties.ShowTime = False
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 155
|
||||||
|
end
|
||||||
|
object enddate: TcxDateEdit
|
||||||
|
Left = 88
|
||||||
|
Top = 33
|
||||||
|
AutoSize = False
|
||||||
|
ParentFont = True
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.SaveTime = False
|
||||||
|
Properties.ShowTime = False
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 3
|
||||||
|
Height = 29
|
||||||
|
Width = 153
|
||||||
|
end
|
||||||
|
object C_name: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 523
|
||||||
|
Top = 33
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 5
|
||||||
|
Width = 160
|
||||||
|
end
|
||||||
|
object orderNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 308
|
||||||
|
Top = 8
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 134
|
||||||
|
end
|
||||||
|
object C_color: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 10000
|
||||||
|
Top = 10000
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 6
|
||||||
|
Visible = False
|
||||||
|
Width = 105
|
||||||
|
end
|
||||||
|
object conNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 523
|
||||||
|
Top = 8
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 2
|
||||||
|
Width = 161
|
||||||
|
end
|
||||||
|
object dxLayoutControl_queryGroup_Root: TdxLayoutGroup
|
||||||
|
AlignHorz = ahParentManaged
|
||||||
|
AlignVert = avParentManaged
|
||||||
|
CaptionOptions.AlignVert = tavCenter
|
||||||
|
CaptionOptions.Text = #26597#35810#32452
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
SizeOptions.AssignedValues = [sovSizableHorz, sovSizableVert]
|
||||||
|
SizeOptions.SizableHorz = True
|
||||||
|
SizeOptions.SizableVert = True
|
||||||
|
Hidden = True
|
||||||
|
ItemIndex = 1
|
||||||
|
Padding.Top = -8
|
||||||
|
Padding.AssignedValues = [lpavBottom, lpavTop]
|
||||||
|
ShowBorder = False
|
||||||
|
UseIndent = False
|
||||||
|
Index = -1
|
||||||
|
end
|
||||||
|
object dxLayoutItem2: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup1
|
||||||
|
SizeOptions.Width = 190
|
||||||
|
AllowRemove = False
|
||||||
|
CaptionOptions.Text = #35746#21333#21495
|
||||||
|
Control = orderNo
|
||||||
|
ControlOptions.OriginalHeight = 25
|
||||||
|
ControlOptions.OriginalWidth = 134
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object dxLayoutItem_color: TdxLayoutItem
|
||||||
|
SizeOptions.Width = 136
|
||||||
|
CaptionOptions.Text = #39068#33394
|
||||||
|
Control = C_color
|
||||||
|
ControlOptions.OriginalHeight = 25
|
||||||
|
ControlOptions.OriginalWidth = 105
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = -1
|
||||||
|
end
|
||||||
|
object dxLayoutItem_pm: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup2
|
||||||
|
SizeOptions.Width = 232
|
||||||
|
CaptionOptions.Text = #20013#25991#21517#31216
|
||||||
|
Control = C_name
|
||||||
|
ControlOptions.OriginalHeight = 25
|
||||||
|
ControlOptions.OriginalWidth = 160
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 2
|
||||||
|
end
|
||||||
|
object dxLayoutItem_hth: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup1
|
||||||
|
SizeOptions.Width = 233
|
||||||
|
CaptionOptions.Text = #21512#21516#21495
|
||||||
|
Control = conNo
|
||||||
|
ControlOptions.OriginalHeight = 25
|
||||||
|
ControlOptions.OriginalWidth = 161
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 2
|
||||||
|
end
|
||||||
|
object dxLayoutGroup1: TdxLayoutGroup
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
CaptionOptions.Text = #32452'1'
|
||||||
|
Hidden = True
|
||||||
|
LayoutDirection = ldHorizontal
|
||||||
|
ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object dxLayoutGroup2: TdxLayoutGroup
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
CaptionOptions.Text = #32452'2'
|
||||||
|
Hidden = True
|
||||||
|
ItemIndex = 2
|
||||||
|
LayoutDirection = ldHorizontal
|
||||||
|
ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object dxLayoutItem_beg: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup1
|
||||||
|
SizeOptions.Width = 227
|
||||||
|
CaptionOptions.Text = #26816#39564#26102#38388
|
||||||
|
Control = begdate
|
||||||
|
ControlOptions.OriginalHeight = 25
|
||||||
|
ControlOptions.OriginalWidth = 155
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object dxLayoutItem_end: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup2
|
||||||
|
AlignVert = avClient
|
||||||
|
SizeOptions.Width = 225
|
||||||
|
CaptionOptions.Text = #33267
|
||||||
|
Control = enddate
|
||||||
|
ControlOptions.OriginalHeight = 29
|
||||||
|
ControlOptions.OriginalWidth = 153
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object dxLayoutItem1: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup2
|
||||||
|
SizeOptions.Width = 192
|
||||||
|
CaptionOptions.Text = #25171#30721#20154
|
||||||
|
Control = Filler
|
||||||
|
ControlOptions.OriginalHeight = 25
|
||||||
|
ControlOptions.OriginalWidth = 136
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited cxProgressBar2: TcxProgressBar
|
||||||
|
Left = 291
|
||||||
|
Top = 136
|
||||||
|
ExplicitLeft = 291
|
||||||
|
ExplicitTop = 136
|
||||||
|
ExplicitHeight = 26
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseCmd: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 265
|
||||||
|
Top = 232
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseTemp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 185
|
||||||
|
Top = 241
|
||||||
|
end
|
||||||
|
object ADOQueryMain: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
CommandTimeout = 60
|
||||||
|
Parameters = <>
|
||||||
|
Left = 584
|
||||||
|
Top = 224
|
||||||
|
end
|
||||||
|
object DataSource1: TDataSource
|
||||||
|
DataSet = ADOQueryMain
|
||||||
|
Left = 632
|
||||||
|
Top = 152
|
||||||
|
end
|
||||||
|
object cxGridPopupMenu1: TcxGridPopupMenu
|
||||||
|
Grid = cxGrid1
|
||||||
|
PopupMenus = <>
|
||||||
|
Left = 552
|
||||||
|
Top = 160
|
||||||
|
end
|
||||||
|
end
|
||||||
165
T03贸易布匹检验/U_DjdDjClList.pas
Normal file
165
T03贸易布匹检验/U_DjdDjClList.pas
Normal file
|
|
@ -0,0 +1,165 @@
|
||||||
|
unit U_DjdDjClList;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||||
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
|
||||||
|
cxLookAndFeelPainters, cxStyles, cxCustomData,
|
||||||
|
cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator, dxDateRanges,
|
||||||
|
dxScrollbarAnnotations, Data.DB, cxDBData, cxGridLevel, cxGridCustomTableView,
|
||||||
|
cxGridTableView, cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid,
|
||||||
|
Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.ToolWin,U_BaseList,
|
||||||
|
Data.Win.ADODB, Data.FMTBcd, dxBarBuiltInMenu, cxGridCustomPopupMenu,
|
||||||
|
cxGridPopupMenu, Data.SqlExpr, cxContainer, dxCore, cxDateUtils, cxTextEdit,
|
||||||
|
cxMaskEdit, cxDropDownEdit, cxCalendar, dxLayoutcxEditAdapters,
|
||||||
|
dxLayoutContainer, dxLayoutControl,
|
||||||
|
cxProgressBar;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmDjdDjClList = class(TFrmBaseList)
|
||||||
|
toolbar1: TToolBar;
|
||||||
|
TBRafresh: TToolButton;
|
||||||
|
TBFind: TToolButton;
|
||||||
|
TBExport: TToolButton;
|
||||||
|
Tbcgs: TToolButton;
|
||||||
|
TBClose: TToolButton;
|
||||||
|
Filler: TcxTextEdit;
|
||||||
|
cxGrid1: TcxGrid;
|
||||||
|
TV1: TcxGridDBTableView;
|
||||||
|
cxGridDBColumn3: TcxGridDBColumn;
|
||||||
|
cxGridDBColumn4: TcxGridDBColumn;
|
||||||
|
TV1Column1: TcxGridDBColumn;
|
||||||
|
cxGridDBColumn7: TcxGridDBColumn;
|
||||||
|
cxGridDBColumn8: TcxGridDBColumn;
|
||||||
|
cxGridDBColumn9: TcxGridDBColumn;
|
||||||
|
cxGridDBColumn10: TcxGridDBColumn;
|
||||||
|
cxGridDBColumn11: TcxGridDBColumn;
|
||||||
|
cxGridDBColumn12: TcxGridDBColumn;
|
||||||
|
cxGridLevel1: TcxGridLevel;
|
||||||
|
ADOQueryMain: TADOQuery;
|
||||||
|
DataSource1: TDataSource;
|
||||||
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
||||||
|
begdate: TcxDateEdit;
|
||||||
|
enddate: TcxDateEdit;
|
||||||
|
TV1ConNo: TcxGridDBColumn;
|
||||||
|
dxLayoutControl_query: TdxLayoutControl;
|
||||||
|
C_name: TcxTextEdit;
|
||||||
|
orderNo: TcxTextEdit;
|
||||||
|
C_color: TcxTextEdit;
|
||||||
|
conNo: TcxTextEdit;
|
||||||
|
dxLayoutControl_queryGroup_Root: TdxLayoutGroup;
|
||||||
|
dxLayoutItem2: TdxLayoutItem;
|
||||||
|
dxLayoutItem_color: TdxLayoutItem;
|
||||||
|
dxLayoutItem_pm: TdxLayoutItem;
|
||||||
|
dxLayoutItem_hth: TdxLayoutItem;
|
||||||
|
dxLayoutGroup1: TdxLayoutGroup;
|
||||||
|
dxLayoutGroup2: TdxLayoutGroup;
|
||||||
|
dxLayoutItem_beg: TdxLayoutItem;
|
||||||
|
dxLayoutItem_end: TdxLayoutItem;
|
||||||
|
dxLayoutItem1: TdxLayoutItem;
|
||||||
|
TV1CustName: TcxGridDBColumn;
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure TBRafreshClick(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure TBExportClick(Sender: TObject);
|
||||||
|
procedure TBCloseClick(Sender: TObject);
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure TBFindClick(Sender: TObject);
|
||||||
|
procedure TbcgsClick(Sender: TObject);
|
||||||
|
private
|
||||||
|
procedure InitGrid();
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmDjdDjClList: TfrmDjdDjClList;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
uses
|
||||||
|
U_RTFun,U_DataLink,U_globalVar,U_FormLayOutDesign;
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmDjdDjClList.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
Action := caFree;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDjdDjClList.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited ;
|
||||||
|
cxGrid1.Align:=alClient;
|
||||||
|
BegDate.Date:=SGetServerDateTime(ADOQueryBaseTemp);
|
||||||
|
EndDate.Date:=SGetServerDateTime(ADOQueryBaseTemp)
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDjdDjClList.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
TBRafresh.Click;
|
||||||
|
ReadCxGrid(Trim(self.Caption) + 'Tv1', Tv1, gDllFileCaption);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDjdDjClList.InitGrid();
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
ADOQueryMain.DisableControls;
|
||||||
|
with ADOQueryMain do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
sql.Clear;
|
||||||
|
Filtered:=False;
|
||||||
|
sql.Add('exec p_select_djcl_list');
|
||||||
|
sql.Add('@begdate='+ quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.Date)));
|
||||||
|
sql.Add(',@enddate='+ quotedstr(FormatDateTime('yyyy-MM-dd', endDate.Date+1)));
|
||||||
|
sql.Add(',@djMan='+ quotedstr(gUserName));
|
||||||
|
sql.Add(',@cltype='+ quotedstr('´ò¾í²úÁ¿'));
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
|
||||||
|
finally
|
||||||
|
ADOQueryMain.EnableControls;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDjdDjClList.TbcgsClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
WriteCxGrid(Trim(self.Caption) + 'Tv1', Tv1, gDllFileCaption);
|
||||||
|
if gIsCanDesign then
|
||||||
|
begin
|
||||||
|
saveLayOut(application, dxLayoutControl_query, ADOQueryBaseCmd, PWideChar( fDllFileName + '|' + Self.Name + '|' + dxLayoutControl_query.Name + '.ini'));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDjdDjClList.TBCloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDjdDjClList.TBExportClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if ADOQueryMain.IsEmpty then exit;
|
||||||
|
TcxGridToExcel(self.Caption,cxGrid1);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDjdDjClList.TBFindClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if ADOQueryMain.Active then
|
||||||
|
begin
|
||||||
|
SDofilter(ADOQueryMain,SLGetFilters(dxLayoutControl_query,1,2));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmDjdDjClList.TBRafreshClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
308
T03贸易布匹检验/U_GetDllForm.pas
Normal file
308
T03贸易布匹检验/U_GetDllForm.pas
Normal file
|
|
@ -0,0 +1,308 @@
|
||||||
|
unit U_GetDllForm;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, forms, OleCtnrs, DateUtils, SysUtils, ADODB, dxCore,
|
||||||
|
ActiveX, IniFiles;
|
||||||
|
|
||||||
|
function GetDllForm(App: Tapplication; FormH: hwnd; FormID: integer; Language: integer; WinStyle: integer; GCode: Pchar; GName: Pchar; DataBase: Pchar; Title: PChar; Parameters1: PChar; Parameters2: PChar; Parameters3: PChar; Parameters4: PChar; Parameters5: PChar; Parameters6: PChar; Parameters7: PChar; Parameters8: PChar; Parameters9: PChar; Parameters10: PChar; DataBaseStr: PChar): hwnd; export; stdcall;
|
||||||
|
|
||||||
|
function ConnData(): Boolean;
|
||||||
|
|
||||||
|
function GetsysParam(muserId: pchar; fparam1: pchar): Boolean;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
U_DataLink, U_globalVar, U_iniParam, U_TradeMachInsp, U_ProductJYHZList,
|
||||||
|
U_DeviceJkTest, U_TradeClothInspList, U_MachRollMain, U_TradePack,
|
||||||
|
U_DjdDjClList, U_TradeClothTotalCXJYOutList;
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////
|
||||||
|
// 功能说明:取Dll中得窗体 //
|
||||||
|
// 参数说明:App>>调用应用程序; //
|
||||||
|
// FormH>>调用窗口句柄 ; //
|
||||||
|
// FormID>>窗口号; //
|
||||||
|
// Language>>语言种类; //
|
||||||
|
// WinStyle>>窗口类型; //
|
||||||
|
/////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
function GetDllForm(App: Tapplication; FormH: hwnd; FormID: integer; Language: integer; WinStyle: integer; GCode: Pchar; GName: Pchar; DataBase: Pchar; Title: PChar; Parameters1: PChar; Parameters2: PChar; Parameters3: PChar; Parameters4: PChar; Parameters5: PChar; Parameters6: PChar; Parameters7: PChar; Parameters8: PChar; Parameters9: PChar; Parameters10: PChar; DataBaseStr: PChar): hwnd;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
bFound: Boolean;
|
||||||
|
mnewHandle: hwnd;
|
||||||
|
mstyle: TFormStyle; // 0:子窗口; 1:普通窗口
|
||||||
|
mstate: TWindowState;
|
||||||
|
mborderstyle: TFormBorderStyle;
|
||||||
|
begin
|
||||||
|
mnewHandle := 0;
|
||||||
|
DName := PChar(GName);
|
||||||
|
DCode := PChar(GCode);
|
||||||
|
DdataBase := DataBase;
|
||||||
|
DTitCaption := Title;
|
||||||
|
DParameters1 := Parameters1;
|
||||||
|
DParameters2 := Parameters2;
|
||||||
|
DParameters3 := Parameters3;
|
||||||
|
DParameters4 := Parameters4;
|
||||||
|
DParameters5 := Parameters5;
|
||||||
|
DParameters6 := Parameters6;
|
||||||
|
DParameters7 := Parameters7;
|
||||||
|
DParameters8 := Parameters8;
|
||||||
|
DParameters9 := Parameters9;
|
||||||
|
DParameters10 := Parameters10;
|
||||||
|
|
||||||
|
gScanBarcodeMaxLen := 0;
|
||||||
|
|
||||||
|
SetLength(fDllFileName, 255);
|
||||||
|
GetModuleFileName(HInstance, PChar(fDllFileName), Length(fDllFileName));
|
||||||
|
fDllFileName := ExtractFileName(PChar(fDllFileName));
|
||||||
|
gDllFileCaption := '指示单打卷包装';
|
||||||
|
MainApplication := App;
|
||||||
|
DCurHandle := FormH;
|
||||||
|
IsDelphiLanguage := Language;
|
||||||
|
|
||||||
|
Application := TApplication(App);
|
||||||
|
DCurHandle := 0;
|
||||||
|
|
||||||
|
|
||||||
|
//赋值链接字符串
|
||||||
|
SetLength(server, 255);
|
||||||
|
SetLength(dtbase, 255);
|
||||||
|
SetLength(user, 255);
|
||||||
|
SetLength(pswd, 255);
|
||||||
|
|
||||||
|
if trim(DataBaseStr) = '' then
|
||||||
|
begin
|
||||||
|
server := '101.132.143.144,7781';
|
||||||
|
dtbase := 'gemeiData';
|
||||||
|
user := 'rtsa';
|
||||||
|
pswd := 'rightsoft@5740';
|
||||||
|
DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server;
|
||||||
|
// DParameters1:='高权限';
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
DConString := DataBaseStr;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if not ConnData() then
|
||||||
|
begin
|
||||||
|
result := 0;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
// application.MessageBox('44','',0);
|
||||||
|
gConString := DConString;
|
||||||
|
if IsINIFile() then
|
||||||
|
ReadINIFile()
|
||||||
|
else
|
||||||
|
WriteINIFile;
|
||||||
|
GetsysParam('', '');
|
||||||
|
// 定义窗口类型 、状态
|
||||||
|
// if WinStyle = 0 then
|
||||||
|
// begin
|
||||||
|
mstyle := fsMDIChild;
|
||||||
|
mstate := wsMaximized;
|
||||||
|
mborderstyle := bsSizeable;
|
||||||
|
// end
|
||||||
|
// else
|
||||||
|
// begin
|
||||||
|
// mstyle := fsNormal;
|
||||||
|
// mstate := wsNormal;
|
||||||
|
// mborderstyle := bsSizeable;
|
||||||
|
// end;
|
||||||
|
bFound := False;
|
||||||
|
if FormID <> 10000 then
|
||||||
|
begin
|
||||||
|
for i := 0 to Application.MainForm.MDIChildCount - 1 do
|
||||||
|
begin
|
||||||
|
if Application.MainForm.MDIChildren[i].Caption = Title then
|
||||||
|
begin
|
||||||
|
mnewHandle := Application.MainForm.MDIChildren[i].Handle;
|
||||||
|
Application.MainForm.MDIChildren[i].BringToFront;
|
||||||
|
bFound := True;
|
||||||
|
Result := mnewHandle;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
/////////////////////
|
||||||
|
//调用子模块窗口
|
||||||
|
case FormID of
|
||||||
|
|
||||||
|
2: //测试
|
||||||
|
begin
|
||||||
|
with TfrmDeviceJkTest.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
||||||
|
begin
|
||||||
|
fFormID := FormID;
|
||||||
|
FormStyle := mstyle;
|
||||||
|
WindowState := mstate;
|
||||||
|
BorderStyle := mborderstyle;
|
||||||
|
mnewHandle := Handle;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// 111: //机台检验
|
||||||
|
// begin
|
||||||
|
// with TfrmTradeMachInsp.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
||||||
|
// begin
|
||||||
|
// fFormID := FormID;
|
||||||
|
// // FormStyle := mstyle;
|
||||||
|
// WindowState := mstate;
|
||||||
|
// BorderStyle := mborderstyle;
|
||||||
|
// mnewHandle := Handle;
|
||||||
|
// end;
|
||||||
|
// end;
|
||||||
|
|
||||||
|
1: //机台检验
|
||||||
|
begin
|
||||||
|
with TfrmMachRollMain.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
||||||
|
begin
|
||||||
|
fFormID := FormID;
|
||||||
|
// FormStyle := mstyle;
|
||||||
|
WindowState := mstate;
|
||||||
|
BorderStyle := mborderstyle;
|
||||||
|
mnewHandle := Handle;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
121: //布匹打包
|
||||||
|
begin
|
||||||
|
with TfrmTradePack.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10), FormID) do //
|
||||||
|
begin
|
||||||
|
fFormID := FormID;
|
||||||
|
// FormStyle := mstyle;
|
||||||
|
WindowState := mstate;
|
||||||
|
BorderStyle := mborderstyle;
|
||||||
|
mnewHandle := Handle;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
211: //检验信息管理
|
||||||
|
begin
|
||||||
|
with TfrmTradeClothInspList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10), FormID) do //
|
||||||
|
begin
|
||||||
|
fFormID := FormID;
|
||||||
|
FormStyle := mstyle;
|
||||||
|
WindowState := mstate;
|
||||||
|
BorderStyle := mborderstyle;
|
||||||
|
mnewHandle := Handle;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
221: //重检信息管理
|
||||||
|
begin
|
||||||
|
with TfrmTradeClothTotalCXJYOutList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10), FormID) do //
|
||||||
|
begin
|
||||||
|
fFormID := FormID;
|
||||||
|
FormStyle := mstyle;
|
||||||
|
WindowState := mstate;
|
||||||
|
BorderStyle := mborderstyle;
|
||||||
|
mnewHandle := Handle;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
212: //检验信息管理
|
||||||
|
begin
|
||||||
|
with TfrmProductJYHZList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10), FormID) do //
|
||||||
|
begin
|
||||||
|
fFormID := FormID;
|
||||||
|
// FormStyle := mstyle;
|
||||||
|
WindowState := mstate;
|
||||||
|
BorderStyle := mborderstyle;
|
||||||
|
mnewHandle := Handle;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
213: //打卷和打包产量
|
||||||
|
begin
|
||||||
|
with TfrmDjdDjClList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10), FormID) do //
|
||||||
|
begin
|
||||||
|
fFormID := FormID;
|
||||||
|
// FormStyle := mstyle;
|
||||||
|
WindowState := mstate;
|
||||||
|
BorderStyle := mborderstyle;
|
||||||
|
mnewHandle := Handle;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
10000:
|
||||||
|
begin
|
||||||
|
for i := 0 to application.MainForm.MDIChildCount - 1 do
|
||||||
|
begin
|
||||||
|
if application.MainForm.MDIChildren[i].Caption = Title then
|
||||||
|
begin
|
||||||
|
application.MainForm.MDIChildren[i].Close;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Result := mnewHandle;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GetsysParam(muserId: pchar; fparam1: pchar): Boolean;
|
||||||
|
begin
|
||||||
|
result := true;
|
||||||
|
//////////////////////////////
|
||||||
|
// shortDateFormat := 'yyyy-MM-dd';
|
||||||
|
//服务器日期
|
||||||
|
with DataLink_TradeInsp.AdoDataLink do
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
sql.Clear;
|
||||||
|
sql.Add('select getDate()as dt');
|
||||||
|
open;
|
||||||
|
DServerDate := fieldByName('dt').AsDatetime;
|
||||||
|
end;
|
||||||
|
result := true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//===========================================================
|
||||||
|
//建立数据库连接池
|
||||||
|
//===========================================================
|
||||||
|
|
||||||
|
function ConnData(): Boolean;
|
||||||
|
var
|
||||||
|
IniFile: TIniFile;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'SYSTEMSET.INI');
|
||||||
|
PicSvr := IniFile.ReadString('SERVER', '服务器地址', '127.0.0.1');
|
||||||
|
UserDataFlag := IniFile.ReadString('SERVER', '服务器地址类型', '-1');
|
||||||
|
finally
|
||||||
|
IniFile.Free;
|
||||||
|
end;
|
||||||
|
if not Assigned(DataLink_TradeInsp) then
|
||||||
|
DataLink_TradeInsp := TDataLink_TradeInsp.Create(Application);
|
||||||
|
try
|
||||||
|
with DataLink_TradeInsp.ADOLink do
|
||||||
|
begin
|
||||||
|
if not Connected then
|
||||||
|
begin
|
||||||
|
Connected := false;
|
||||||
|
ConnectionString := DConString;
|
||||||
|
LoginPrompt := false;
|
||||||
|
Connected := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Result := true;
|
||||||
|
except
|
||||||
|
Result := false;
|
||||||
|
application.MessageBox('数据库连接失败!', '错误', mb_Ok + MB_ICONERROR);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
CoInitialize(nil);
|
||||||
|
dxUnitsLoader.Initialize;
|
||||||
|
|
||||||
|
|
||||||
|
finalization
|
||||||
|
DataLink_TradeInsp.Free;
|
||||||
|
application := NewDllApp;
|
||||||
|
dxUnitsLoader.Finalize;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
133
T03贸易布匹检验/U_KeyBoard.dfm
Normal file
133
T03贸易布匹检验/U_KeyBoard.dfm
Normal file
|
|
@ -0,0 +1,133 @@
|
||||||
|
object FrameKeyBoard: TFrameKeyBoard
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 314
|
||||||
|
Height = 235
|
||||||
|
TabOrder = 0
|
||||||
|
object dxPanel1: TdxPanel
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 314
|
||||||
|
Height = 235
|
||||||
|
Align = alClient
|
||||||
|
Frame.Visible = False
|
||||||
|
TabOrder = 0
|
||||||
|
ExplicitHeight = 192
|
||||||
|
object SpeedButton1: TSpeedButton
|
||||||
|
Left = 1
|
||||||
|
Top = 2
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '1'
|
||||||
|
end
|
||||||
|
object SpeedButton4: TSpeedButton
|
||||||
|
Left = 1
|
||||||
|
Top = 63
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '4'
|
||||||
|
end
|
||||||
|
object SpeedButton7: TSpeedButton
|
||||||
|
Left = 1
|
||||||
|
Top = 125
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '7'
|
||||||
|
end
|
||||||
|
object SpeedButton2: TSpeedButton
|
||||||
|
Left = 62
|
||||||
|
Top = 2
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '2'
|
||||||
|
end
|
||||||
|
object SpeedButton5: TSpeedButton
|
||||||
|
Left = 62
|
||||||
|
Top = 63
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '5'
|
||||||
|
end
|
||||||
|
object SpeedButton8: TSpeedButton
|
||||||
|
Left = 62
|
||||||
|
Top = 125
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '8'
|
||||||
|
end
|
||||||
|
object SpeedButton3: TSpeedButton
|
||||||
|
Left = 124
|
||||||
|
Top = 2
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '3'
|
||||||
|
end
|
||||||
|
object SpeedButton6: TSpeedButton
|
||||||
|
Left = 124
|
||||||
|
Top = 63
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '6'
|
||||||
|
end
|
||||||
|
object SpeedButton9: TSpeedButton
|
||||||
|
Tag = 9
|
||||||
|
Left = 124
|
||||||
|
Top = 125
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '9'
|
||||||
|
end
|
||||||
|
object SpeedButton_back: TSpeedButton
|
||||||
|
Left = 186
|
||||||
|
Top = 2
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = #8592
|
||||||
|
end
|
||||||
|
object SpeedButton0: TSpeedButton
|
||||||
|
Left = 186
|
||||||
|
Top = 63
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '0'
|
||||||
|
end
|
||||||
|
object SpeedButton_dot: TSpeedButton
|
||||||
|
Left = 186
|
||||||
|
Top = 125
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = '.'
|
||||||
|
end
|
||||||
|
object SpeedButton_yc: TSpeedButton
|
||||||
|
Tag = 9
|
||||||
|
Left = 248
|
||||||
|
Top = 2
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = #38544#34255
|
||||||
|
end
|
||||||
|
object SpeedButton_zdykey2: TSpeedButton
|
||||||
|
Tag = 9
|
||||||
|
Left = 248
|
||||||
|
Top = 63
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = 'C'
|
||||||
|
end
|
||||||
|
object SpeedButton_zdykey1: TSpeedButton
|
||||||
|
Tag = 9
|
||||||
|
Left = 248
|
||||||
|
Top = 125
|
||||||
|
Width = 60
|
||||||
|
Height = 60
|
||||||
|
Caption = 'A'
|
||||||
|
end
|
||||||
|
object SpeedButton10: TSpeedButton
|
||||||
|
Left = 2
|
||||||
|
Top = 187
|
||||||
|
Width = 60
|
||||||
|
Height = 44
|
||||||
|
Caption = '-'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
41
T03贸易布匹检验/U_KeyBoard.pas
Normal file
41
T03贸易布匹检验/U_KeyBoard.pas
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
unit U_KeyBoard;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
|
||||||
|
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls,
|
||||||
|
cxLookAndFeels, cxLookAndFeelPainters,
|
||||||
|
dxLayoutContainer, cxClasses, Vcl.Buttons, dxLayoutControl, cxGeometry,
|
||||||
|
dxFramedControl, dxPanel, dxSkinsCore;
|
||||||
|
|
||||||
|
type
|
||||||
|
TFrameKeyBoard = class(TFrame)
|
||||||
|
dxPanel1: TdxPanel;
|
||||||
|
SpeedButton1: TSpeedButton;
|
||||||
|
SpeedButton4: TSpeedButton;
|
||||||
|
SpeedButton7: TSpeedButton;
|
||||||
|
SpeedButton2: TSpeedButton;
|
||||||
|
SpeedButton5: TSpeedButton;
|
||||||
|
SpeedButton8: TSpeedButton;
|
||||||
|
SpeedButton3: TSpeedButton;
|
||||||
|
SpeedButton6: TSpeedButton;
|
||||||
|
SpeedButton9: TSpeedButton;
|
||||||
|
SpeedButton_back: TSpeedButton;
|
||||||
|
SpeedButton0: TSpeedButton;
|
||||||
|
SpeedButton_dot: TSpeedButton;
|
||||||
|
SpeedButton_yc: TSpeedButton;
|
||||||
|
SpeedButton_zdykey2: TSpeedButton;
|
||||||
|
SpeedButton_zdykey1: TSpeedButton;
|
||||||
|
SpeedButton10: TSpeedButton;
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
46
T03贸易布匹检验/U_Link.dfm
Normal file
46
T03贸易布匹检验/U_Link.dfm
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
object frmLink: TfrmLink
|
||||||
|
Left = 294
|
||||||
|
Top = 244
|
||||||
|
BorderIcons = []
|
||||||
|
BorderStyle = bsNone
|
||||||
|
ClientHeight = 114
|
||||||
|
ClientWidth = 246
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = False
|
||||||
|
Position = poScreenCenter
|
||||||
|
OnClose = FormClose
|
||||||
|
OnCreate = FormCreate
|
||||||
|
OnDestroy = FormDestroy
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object AADs: TPanel
|
||||||
|
Left = 36
|
||||||
|
Top = 32
|
||||||
|
Width = 185
|
||||||
|
Height = 41
|
||||||
|
Caption = #27491#22312#36830#25509#26381#21153#22120'...'
|
||||||
|
Font.Charset = GB2312_CHARSET
|
||||||
|
Font.Color = clBlue
|
||||||
|
Font.Height = -12
|
||||||
|
Font.Name = #23435#20307
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = True
|
||||||
|
TabOrder = 0
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object CSocket: TClientSocket
|
||||||
|
Active = False
|
||||||
|
ClientType = ctNonBlocking
|
||||||
|
Port = 0
|
||||||
|
OnConnect = CSocketConnect
|
||||||
|
OnRead = CSocketRead
|
||||||
|
OnError = CSocketError
|
||||||
|
Left = 12
|
||||||
|
Top = 84
|
||||||
|
end
|
||||||
|
end
|
||||||
115
T03贸易布匹检验/U_Link.pas
Normal file
115
T03贸易布匹检验/U_Link.pas
Normal file
|
|
@ -0,0 +1,115 @@
|
||||||
|
unit U_Link;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
IniFiles,Dialogs, ScktComp, ExtCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TCommBlock = record
|
||||||
|
workFlag:integer; //0:开始接受字符串,
|
||||||
|
linkString:string[255];
|
||||||
|
// buf:array [0..Buffersize] of char;
|
||||||
|
end;
|
||||||
|
TfrmLink = class(TForm)
|
||||||
|
CSocket: TClientSocket;
|
||||||
|
AADs: TPanel;
|
||||||
|
procedure CSocketRead(Sender: TObject; Socket: TCustomWinSocket);
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure CSocketConnect(Sender: TObject; Socket: TCustomWinSocket);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure CSocketError(Sender: TObject; Socket: TCustomWinSocket;
|
||||||
|
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
fADOConnString:string;
|
||||||
|
LinkFlag:string;
|
||||||
|
function LinkTxServer():Boolean;
|
||||||
|
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmLink: TfrmLink;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
//uses U_Main;
|
||||||
|
{$R *.dfm}
|
||||||
|
function TfrmLink.LinkTxServer():Boolean;
|
||||||
|
var
|
||||||
|
CommBlock : TCommBlock;
|
||||||
|
begin
|
||||||
|
result:=false;
|
||||||
|
try
|
||||||
|
CommBlock.workFlag:=strtointdef(LinkFlag,-1);
|
||||||
|
CommBlock.linkString:='';
|
||||||
|
CSocket.Socket.SendBuf(CommBlock,SizeOf(CommBlock));
|
||||||
|
Result:=true;
|
||||||
|
except
|
||||||
|
Application.MessageBox('连接通讯服务器失败!','错误信息',MB_ICONERROR);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmLink.CSocketRead(Sender: TObject; Socket: TCustomWinSocket);
|
||||||
|
var
|
||||||
|
CommBlock1: TCommBlock;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
CSocket.Socket.ReceiveBuf(CommBlock1,SizeOf(CommBlock1));
|
||||||
|
fADOConnString:=trim(CommBlock1.linkString);
|
||||||
|
ModalResult:=1;
|
||||||
|
except
|
||||||
|
ModalResult:=-1;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmLink.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
begin
|
||||||
|
Action:=cahide;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmLink.CSocketConnect(Sender: TObject;
|
||||||
|
Socket: TCustomWinSocket);
|
||||||
|
begin
|
||||||
|
if not LinkTxServer() then ModalResult:=-1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmLink.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
frmLink:=nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmLink.CSocketError(Sender: TObject; Socket: TCustomWinSocket;
|
||||||
|
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
|
||||||
|
begin
|
||||||
|
Application.MessageBox('连接通讯服务器失败!','错误信息',MB_ICONERROR);
|
||||||
|
application.Terminate;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmLink.FormCreate(Sender: TObject);
|
||||||
|
var
|
||||||
|
IniFile: TIniFile;
|
||||||
|
LinkServer:string;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'SYSTEMSET.INI');
|
||||||
|
LinkServer := IniFile.ReadString('SERVER', '服务器地址','127.0.0.1');
|
||||||
|
LinkFlag:= IniFile.ReadString('SERVER', '服务器地址类型','0');
|
||||||
|
finally
|
||||||
|
IniFile.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
try
|
||||||
|
CSocket.Host:=trim(LinkServer);
|
||||||
|
CSocket.Port:=47936;
|
||||||
|
CSocket.Open;
|
||||||
|
except
|
||||||
|
ModalResult:=-1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
1545
T03贸易布匹检验/U_MachRollMain.dfm
Normal file
1545
T03贸易布匹检验/U_MachRollMain.dfm
Normal file
File diff suppressed because it is too large
Load Diff
2526
T03贸易布匹检验/U_MachRollMain.pas
Normal file
2526
T03贸易布匹检验/U_MachRollMain.pas
Normal file
File diff suppressed because it is too large
Load Diff
231
T03贸易布匹检验/U_ParamSet.dfm
Normal file
231
T03贸易布匹检验/U_ParamSet.dfm
Normal file
|
|
@ -0,0 +1,231 @@
|
||||||
|
object frmParamSet: TfrmParamSet
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
BorderIcons = [biSystemMenu, biMinimize]
|
||||||
|
Caption = #21442#25968#35774#32622
|
||||||
|
ClientHeight = 593
|
||||||
|
ClientWidth = 775
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = False
|
||||||
|
Position = poDesktopCenter
|
||||||
|
OnClose = FormClose
|
||||||
|
OnCreate = FormCreate
|
||||||
|
OnShow = FormShow
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 21
|
||||||
|
object Label33: TLabel
|
||||||
|
Left = 13
|
||||||
|
Top = 69
|
||||||
|
Width = 60
|
||||||
|
Height = 20
|
||||||
|
Caption = #37325#37327#20445#30041
|
||||||
|
Font.Charset = GB2312_CHARSET
|
||||||
|
Font.Color = clBlack
|
||||||
|
Font.Height = -15
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = True
|
||||||
|
end
|
||||||
|
inline FrameParam1: TFrameParam
|
||||||
|
Left = 0
|
||||||
|
Top = 50
|
||||||
|
Width = 775
|
||||||
|
Height = 519
|
||||||
|
Align = alTop
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -19
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = True
|
||||||
|
TabOrder = 0
|
||||||
|
ExplicitTop = 50
|
||||||
|
ExplicitWidth = 775
|
||||||
|
ExplicitHeight = 519
|
||||||
|
inherited pnlSet: TPanel
|
||||||
|
Width = 775
|
||||||
|
Height = 519
|
||||||
|
ExplicitWidth = 775
|
||||||
|
ExplicitHeight = 519
|
||||||
|
inherited cxGroupBox1: TcxGroupBox
|
||||||
|
Style.Font.Charset = GB2312_CHARSET
|
||||||
|
Style.IsFontAssigned = True
|
||||||
|
ExplicitTop = 2
|
||||||
|
ExplicitWidth = 771
|
||||||
|
Width = 771
|
||||||
|
inherited Label34: TLabel
|
||||||
|
Visible = True
|
||||||
|
end
|
||||||
|
inherited edtMaBiao: TcxTextEdit
|
||||||
|
ExplicitHeight = 38
|
||||||
|
end
|
||||||
|
inherited edtMBDW: TcxTextEdit
|
||||||
|
ExplicitHeight = 38
|
||||||
|
end
|
||||||
|
inherited edtChen: TcxTextEdit
|
||||||
|
ExplicitHeight = 38
|
||||||
|
end
|
||||||
|
inherited outPage: TcxTextEdit
|
||||||
|
ExplicitHeight = 38
|
||||||
|
end
|
||||||
|
inherited AddwetPresent: TcxTextEdit
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited AddLenPresent: TcxTextEdit
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited presentNumFlag: TcxComboBox
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited cxGroupBox2: TcxGroupBox
|
||||||
|
Style.Font.Charset = GB2312_CHARSET
|
||||||
|
Style.IsFontAssigned = True
|
||||||
|
ExplicitWidth = 771
|
||||||
|
Width = 771
|
||||||
|
inherited MinLen: TcxTextEdit
|
||||||
|
Left = 53
|
||||||
|
Top = 27
|
||||||
|
Touch.ParentTabletOptions = False
|
||||||
|
Touch.TabletOptions = []
|
||||||
|
ExplicitLeft = 53
|
||||||
|
ExplicitTop = 27
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited MaxLen: TcxTextEdit
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited MinWeight: TcxTextEdit
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited MaxWeight: TcxTextEdit
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited BeginPieceNo: TcxTextEdit
|
||||||
|
Top = 64
|
||||||
|
Properties.OnChange = FrameParam1BeginPieceNoPropertiesChange
|
||||||
|
ExplicitTop = 64
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited EndPieceNo: TcxTextEdit
|
||||||
|
Properties.OnChange = FrameParam1EndPieceNoPropertiesChange
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited cxGroupBox3: TcxGroupBox
|
||||||
|
ExplicitWidth = 771
|
||||||
|
Width = 771
|
||||||
|
inherited MPlace: TcxTextEdit
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited YPlace: TcxTextEdit
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited KgPlace: TcxTextEdit
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited cxGroupBox4: TcxGroupBox
|
||||||
|
ExplicitWidth = 771
|
||||||
|
ExplicitHeight = 133
|
||||||
|
Height = 133
|
||||||
|
Width = 771
|
||||||
|
inherited edtdabao: TcxTextEdit
|
||||||
|
Style.Font.Height = -16
|
||||||
|
Style.IsFontAssigned = True
|
||||||
|
ExplicitHeight = 34
|
||||||
|
end
|
||||||
|
inherited packRolls: TcxTextEdit
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited rollnoMake: TcxComboBox
|
||||||
|
Properties.DropDownListStyle = lsEditFixedList
|
||||||
|
Style.Font.Charset = GB2312_CHARSET
|
||||||
|
Style.IsFontAssigned = True
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited packNoMake: TcxComboBox
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
inherited packPrintPreview: TCheckBox
|
||||||
|
Top = 74
|
||||||
|
Width = 128
|
||||||
|
ExplicitTop = 74
|
||||||
|
ExplicitWidth = 128
|
||||||
|
end
|
||||||
|
inherited packlabNumber: TcxComboBox
|
||||||
|
Style.Font.Charset = GB2312_CHARSET
|
||||||
|
Style.IsFontAssigned = True
|
||||||
|
ExplicitHeight = 25
|
||||||
|
end
|
||||||
|
inherited packPrintAction: TcxComboBox
|
||||||
|
ExplicitHeight = 31
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited weightRule: TcxComboBox
|
||||||
|
ExplicitHeight = 34
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object dxPanel1: TdxPanel
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 775
|
||||||
|
Height = 50
|
||||||
|
Align = alTop
|
||||||
|
TabOrder = 1
|
||||||
|
object cxButton1: TcxButton
|
||||||
|
Left = 14
|
||||||
|
Top = 3
|
||||||
|
Width = 87
|
||||||
|
Height = 38
|
||||||
|
Caption = #30830#23450
|
||||||
|
TabOrder = 0
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = True
|
||||||
|
OnClick = cxButton1Click
|
||||||
|
end
|
||||||
|
object cxButton2: TcxButton
|
||||||
|
Left = 107
|
||||||
|
Top = 3
|
||||||
|
Width = 83
|
||||||
|
Height = 38
|
||||||
|
Caption = #20851#38381
|
||||||
|
TabOrder = 1
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = True
|
||||||
|
OnClick = cxButton2Click
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object TouchKeyboard1: TTouchKeyboard
|
||||||
|
Left = 504
|
||||||
|
Top = 135
|
||||||
|
Width = 200
|
||||||
|
Height = 218
|
||||||
|
Color = clBtnFace
|
||||||
|
DrawingStyle = dsGradient
|
||||||
|
GradientEnd = clSilver
|
||||||
|
GradientStart = clGray
|
||||||
|
Layout = 'NumPad'
|
||||||
|
ParentColor = True
|
||||||
|
end
|
||||||
|
object cds_params: TClientDataSet
|
||||||
|
Aggregates = <>
|
||||||
|
Params = <>
|
||||||
|
Left = 280
|
||||||
|
Top = 8
|
||||||
|
end
|
||||||
|
end
|
||||||
231
T03贸易布匹检验/U_ParamSet.pas
Normal file
231
T03贸易布匹检验/U_ParamSet.pas
Normal file
|
|
@ -0,0 +1,231 @@
|
||||||
|
unit U_ParamSet;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
|
||||||
|
System.Classes, Vcl.Graphics,
|
||||||
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, U_frameParam, cxGraphics, cxControls,
|
||||||
|
cxLookAndFeels, cxLookAndFeelPainters, cxGeometry,
|
||||||
|
dxFramedControl, Vcl.Menus, Vcl.StdCtrls, cxButtons, dxPanel,
|
||||||
|
Vcl.Touch.Keyboard, Vcl.ExtCtrls, Data.DB, Datasnap.DBClient;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmParamSet = class(TForm)
|
||||||
|
FrameParam1: TFrameParam;
|
||||||
|
dxPanel1: TdxPanel;
|
||||||
|
cxButton1: TcxButton;
|
||||||
|
cxButton2: TcxButton;
|
||||||
|
TouchKeyboard1: TTouchKeyboard;
|
||||||
|
cds_params: TClientDataSet;
|
||||||
|
Label33: TLabel;
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure cxButton2Click(Sender: TObject);
|
||||||
|
procedure cxButton1Click(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure FrameParam1BeginPieceNoPropertiesChange(Sender: TObject);
|
||||||
|
procedure FrameParam1EndPieceNoPropertiesChange(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmParamSet: TfrmParamSet;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
uses
|
||||||
|
U_iniparam;
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmParamSet.cxButton1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if not cds_params.IsEmpty then
|
||||||
|
begin
|
||||||
|
cds_params.Edit;
|
||||||
|
with FrameParam1 do
|
||||||
|
begin
|
||||||
|
if Trim(edtChen.Text) = '£' then
|
||||||
|
cds_params.fieldByName('chen').Value:='1'
|
||||||
|
else
|
||||||
|
cds_params.fieldByName('chen').Value:='0';
|
||||||
|
|
||||||
|
if Trim(edtMaBiao.Text) = '£' then
|
||||||
|
cds_params.fieldByName('mabiao').Value:='1'
|
||||||
|
else
|
||||||
|
cds_params.fieldByName('mabiao').Value:='0';
|
||||||
|
|
||||||
|
if Trim(edtMBDW.Text) = '£' then
|
||||||
|
cds_params.fieldByName('mbunit').Value:='1'
|
||||||
|
else
|
||||||
|
cds_params.fieldByName('mbunit').Value:='0';
|
||||||
|
|
||||||
|
//
|
||||||
|
cds_params.fieldByName('weightRule').Value:=weightRule.ItemIndex ;
|
||||||
|
|
||||||
|
// 놔笭
|
||||||
|
cds_params.fieldByName('outPage').Value:=outPage.Text ;
|
||||||
|
cds_params.fieldByName('labNumber').Value:=StrToIntDef(labNumber.Text ,1);
|
||||||
|
|
||||||
|
//
|
||||||
|
cds_params.fieldByName('MinLen').Value:=StrToIntDef(Trim(MinLen.Text) ,0);
|
||||||
|
cds_params.fieldByName('MaxLen').Value:=StrToIntDef(Trim(MaxLen.Text) ,100);
|
||||||
|
cds_params.fieldByName('MinWeight').Value:=StrToIntDef(Trim(MinWeight.Text) ,0);
|
||||||
|
cds_params.fieldByName('MaxWeight').Value:=StrToIntDef(Trim(MaxWeight.Text) ,100);
|
||||||
|
|
||||||
|
|
||||||
|
cds_params.fieldByName('MPlace').Value:=StrToIntDef(Trim(MPlace.Text) ,1);
|
||||||
|
cds_params.fieldByName('YPlace').Value:=StrToIntDef(Trim(YPlace.Text) ,1);
|
||||||
|
cds_params.fieldByName('KgPlace').Value:=StrToIntDef(Trim(KgPlace.Text) ,1);
|
||||||
|
|
||||||
|
cds_params.fieldByName('BeginPieceNo').Value:=StrToIntDef(Trim(BeginPieceNo.Text) ,1);
|
||||||
|
cds_params.fieldByName('EndPieceNo').Value:=StrToIntDef(Trim(EndPieceNo.Text) ,1);
|
||||||
|
|
||||||
|
|
||||||
|
// 댔관
|
||||||
|
cds_params.fieldByName('dabao').Value:= trim(edtdabao.Text);
|
||||||
|
cds_params.fieldByName('packRolls').Value:=StrToIntDef(Trim(packRolls.Text) ,2);
|
||||||
|
cds_params.fieldByName('packnoMake').Value:= packnoMake.Text;
|
||||||
|
cds_params.fieldByName('packPostAction').Value:=trim( packPrintAction.Text);
|
||||||
|
|
||||||
|
cds_params.fieldByName('packlabNumber').Value:=StrToIntDef(packlabNumber.Text ,0);
|
||||||
|
|
||||||
|
cds_params.fieldByName('packPrintPreview').value:=packPrintPreview.checked;
|
||||||
|
|
||||||
|
//
|
||||||
|
cds_params.fieldByName('rollnoMake').Value:= rollnoMake.Text;
|
||||||
|
|
||||||
|
cds_params.fieldByName('AddwetPresent').Value:=StrToFloatDef(Trim(AddwetPresent.Text) ,0);
|
||||||
|
cds_params.fieldByName('AddLenPresent').Value:=StrToFloatDef(Trim(AddLenPresent.Text) ,0);
|
||||||
|
gPresentNumFlag:=presentNumFlag.itemIndex;
|
||||||
|
|
||||||
|
end;
|
||||||
|
cds_params.Post;
|
||||||
|
end;
|
||||||
|
ModalResult := 1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmParamSet.cxButton2Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmParamSet.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
begin
|
||||||
|
Action := cafree;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmParamSet.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FrameParam1.Align := alClient;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmParamSet.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if not cds_params.IsEmpty then
|
||||||
|
begin
|
||||||
|
with FrameParam1 do
|
||||||
|
begin
|
||||||
|
if Trim(cds_params.fieldByName('chen').AsString) = '1' then
|
||||||
|
edtChen.Text := '£'
|
||||||
|
else
|
||||||
|
edtChen.Text := '';
|
||||||
|
if Trim(cds_params.fieldByName('mabiao').AsString) = '1' then
|
||||||
|
edtMaBiao.Text := '£'
|
||||||
|
else
|
||||||
|
edtMaBiao.Text := '';
|
||||||
|
if Trim(cds_params.fieldByName('mbunit').AsString) = '1' then
|
||||||
|
edtMBDW.Text := '£'
|
||||||
|
else
|
||||||
|
edtMBDW.Text := '';
|
||||||
|
|
||||||
|
//
|
||||||
|
weightRule.ItemIndex :=cds_params.fieldByName('weightRule').AsInteger;
|
||||||
|
|
||||||
|
// 놔笭
|
||||||
|
outPage.Text := Trim(cds_params.fieldByName('outPage').AsString);
|
||||||
|
labNumber.ItemIndex := labNumber.Items.IndexOf
|
||||||
|
(cds_params.fieldByName('labNumber').AsString);
|
||||||
|
|
||||||
|
//
|
||||||
|
MinLen.Text := cds_params.fieldByName('MinLen').AsString;
|
||||||
|
MaxLen.Text := cds_params.fieldByName('MaxLen').AsString;
|
||||||
|
MinWeight.Text := cds_params.fieldByName('MinWeight').AsString;
|
||||||
|
MaxWeight.Text := cds_params.fieldByName('MaxWeight').AsString;
|
||||||
|
if cds_params.fieldByName('BeginPieceNo').AsString<>'0' then
|
||||||
|
BeginPieceNo.Text := cds_params.fieldByName('BeginPieceNo').AsString;
|
||||||
|
|
||||||
|
if cds_params.fieldByName('EndPieceNo').AsString<>'0' then
|
||||||
|
EndPieceNo.Text := cds_params.fieldByName('EndPieceNo').AsString;
|
||||||
|
|
||||||
|
MPlace.Text := cds_params.fieldByName('MPlace').AsString;
|
||||||
|
YPlace.Text := cds_params.fieldByName('YPlace').AsString;
|
||||||
|
KgPlace.Text := cds_params.fieldByName('KgPlace').AsString;
|
||||||
|
|
||||||
|
AddwetPresent.Text :='';// cds_params.fieldByName('AddwetPresent').AsString;
|
||||||
|
AddLenPresent.Text :='';// cds_params.fieldByName('AddLenPresent').AsString;
|
||||||
|
|
||||||
|
// 댔관
|
||||||
|
edtdabao.Text := cds_params.fieldByName('dabao').AsString;
|
||||||
|
if cds_params.fieldByName('packRolls').AsInteger>0 then
|
||||||
|
packRolls.Text := cds_params.fieldByName('packRolls').AsString;
|
||||||
|
packPrintPreview.checked:= cds_params.fieldByName('packPrintPreview').AsBoolean;
|
||||||
|
packlabNumber.ItemIndex := packlabNumber.Properties.Items.IndexOf
|
||||||
|
(cds_params.fieldByName('packlabNumber').AsString);
|
||||||
|
//
|
||||||
|
packnoMake.ItemIndex := packnoMake.Properties.Items.IndexOf
|
||||||
|
(cds_params.fieldByName('packnoMake').AsString);
|
||||||
|
|
||||||
|
//댔丹관뵀
|
||||||
|
packPrintAction.ItemIndex := packPrintAction.Properties.Items.IndexOf
|
||||||
|
(cds_params.fieldByName('packPostAction').AsString);
|
||||||
|
|
||||||
|
if packPrintAction.ItemIndex=-1 then
|
||||||
|
packPrintAction.ItemIndex:=1;
|
||||||
|
|
||||||
|
if packnoMake.ItemIndex =-1 then
|
||||||
|
packnoMake.ItemIndex :=0;
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
rollnoMake.ItemIndex := rollnoMake.Properties.Items.IndexOf
|
||||||
|
(cds_params.fieldByName('rollnoMake').AsString);
|
||||||
|
|
||||||
|
if rollnoMake.ItemIndex =-1 then
|
||||||
|
rollnoMake.ItemIndex :=0;
|
||||||
|
|
||||||
|
//
|
||||||
|
presentNumFlag.itemIndex:=gPresentNumFlag;
|
||||||
|
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
FrameParam1.MinLen.SetFocus;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmParamSet.FrameParam1BeginPieceNoPropertiesChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if (StrToIntDef(Trim(FrameParam1.BeginPieceNo.Text),0)>0) OR (StrToIntDef(Trim(FrameParam1.EndPieceNo.Text),0)>0) then
|
||||||
|
begin
|
||||||
|
FrameParam1.rollnoMake.ItemIndex:=1;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
FrameParam1.rollnoMake.ItemIndex:=0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmParamSet.FrameParam1EndPieceNoPropertiesChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if ( StrToIntDef(Trim(FrameParam1.EndPieceNo.Text),0)>0) or (StrToIntDef(Trim(FrameParam1.BeginPieceNo.Text),0)>0) then
|
||||||
|
begin
|
||||||
|
FrameParam1.rollnoMake.ItemIndex:=1;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
FrameParam1.rollnoMake.ItemIndex:=0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
663
T03贸易布匹检验/U_ProductJYHZList.dfm
Normal file
663
T03贸易布匹检验/U_ProductJYHZList.dfm
Normal file
|
|
@ -0,0 +1,663 @@
|
||||||
|
inherited frmProductJYHZList: TfrmProductJYHZList
|
||||||
|
Caption = #25104#21697#26816#39564#27719#24635#20449#24687
|
||||||
|
ClientHeight = 449
|
||||||
|
ClientWidth = 1112
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Height = -16
|
||||||
|
FormStyle = fsMDIChild
|
||||||
|
Visible = True
|
||||||
|
ExplicitWidth = 1128
|
||||||
|
ExplicitHeight = 488
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 21
|
||||||
|
object ToolBar1: TToolBar [0]
|
||||||
|
Tag = 1
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 1112
|
||||||
|
Height = 33
|
||||||
|
ButtonHeight = 30
|
||||||
|
ButtonWidth = 83
|
||||||
|
Caption = 'ToolBar1'
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = GB2312_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -12
|
||||||
|
Font.Name = #23435#20307
|
||||||
|
Font.Style = []
|
||||||
|
Images = DataLink_TradeInsp.cxImageList_bar
|
||||||
|
List = True
|
||||||
|
ParentColor = True
|
||||||
|
ParentFont = True
|
||||||
|
ShowCaptions = True
|
||||||
|
TabOrder = 3
|
||||||
|
object TBRafresh: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #21047#26032
|
||||||
|
ImageIndex = 1
|
||||||
|
OnClick = TBRafreshClick
|
||||||
|
end
|
||||||
|
object TBFind: TToolButton
|
||||||
|
Left = 63
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #36807#28388
|
||||||
|
ImageIndex = 0
|
||||||
|
Visible = False
|
||||||
|
OnClick = TBFindClick
|
||||||
|
end
|
||||||
|
object Tmx: TToolButton
|
||||||
|
Left = 126
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #26597#30475#26126#32454
|
||||||
|
ImageIndex = 30
|
||||||
|
OnClick = TmxClick
|
||||||
|
end
|
||||||
|
object TBExport: TToolButton
|
||||||
|
Left = 213
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #23548#20986
|
||||||
|
ImageIndex = 28
|
||||||
|
OnClick = TBExportClick
|
||||||
|
end
|
||||||
|
object ToolButton2: TToolButton
|
||||||
|
Left = 276
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20445#23384#26684#24335
|
||||||
|
ImageIndex = 16
|
||||||
|
OnClick = ToolButton2Click
|
||||||
|
end
|
||||||
|
object TBClose: TToolButton
|
||||||
|
Left = 363
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20851#38381
|
||||||
|
ImageIndex = 7
|
||||||
|
OnClick = TBCloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1: TcxGrid [1]
|
||||||
|
Left = 8
|
||||||
|
Top = 210
|
||||||
|
Width = 833
|
||||||
|
Height = 174
|
||||||
|
TabOrder = 1
|
||||||
|
object Tv1: TcxGridDBTableView
|
||||||
|
OnDblClick = Tv1DblClick
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
DataController.DataSource = DataSource1
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||||
|
DataController.Summary.FooterSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = v1Column6
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = v2grossWeight
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = v1netWeight
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = v1meter
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1kcMeter
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1KCROLL
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1CKMeter
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1CKROLL
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1AddLenPresent
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1AddwetPresent
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1kcnetWeight
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1kcgrossWeight
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1kcyardage
|
||||||
|
end>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsCustomize.ColumnFiltering = False
|
||||||
|
OptionsData.Editing = False
|
||||||
|
OptionsView.Footer = True
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
object v1CRTime: TcxGridDBColumn
|
||||||
|
Caption = #20837#24211#26085#26399
|
||||||
|
DataBinding.FieldName = 'CRTime'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxDateEditProperties'
|
||||||
|
Properties.ShowTime = False
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 89
|
||||||
|
end
|
||||||
|
object v1orderNo: TcxGridDBColumn
|
||||||
|
Caption = #35746#21333#21495
|
||||||
|
DataBinding.FieldName = 'orderNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 72
|
||||||
|
end
|
||||||
|
object v1conNo: TcxGridDBColumn
|
||||||
|
Caption = #21512#21516#21495
|
||||||
|
DataBinding.FieldName = 'conNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 80
|
||||||
|
end
|
||||||
|
object v1buyconNo: TcxGridDBColumn
|
||||||
|
Caption = #23458#25143#21333#21495
|
||||||
|
DataBinding.FieldName = 'buyconNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 80
|
||||||
|
end
|
||||||
|
object v2C_Name: TcxGridDBColumn
|
||||||
|
Caption = #20013#25991#21517#31216
|
||||||
|
DataBinding.FieldName = 'C_Name'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 125
|
||||||
|
end
|
||||||
|
object v1C_color: TcxGridDBColumn
|
||||||
|
Caption = #39068#33394
|
||||||
|
DataBinding.FieldName = 'C_color'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 70
|
||||||
|
end
|
||||||
|
object v1C_ecolor: TcxGridDBColumn
|
||||||
|
Caption = #39068#33394'('#33521#25991')'
|
||||||
|
DataBinding.FieldName = 'C_ecolor'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 85
|
||||||
|
end
|
||||||
|
object Tv1C_StyleNo: TcxGridDBColumn
|
||||||
|
Caption = #27454#21495
|
||||||
|
DataBinding.FieldName = 'C_StyleNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
end
|
||||||
|
object v1C_pattern: TcxGridDBColumn
|
||||||
|
Caption = #33457#22411
|
||||||
|
DataBinding.FieldName = 'C_pattern'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 70
|
||||||
|
end
|
||||||
|
object v1batchno: TcxGridDBColumn
|
||||||
|
Caption = #26412#21378#32568#21495
|
||||||
|
DataBinding.FieldName = 'batchno'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 70
|
||||||
|
end
|
||||||
|
object v1ordUnit: TcxGridDBColumn
|
||||||
|
Caption = #25968#37327#21333#20301
|
||||||
|
DataBinding.FieldName = 'ordUnit'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 72
|
||||||
|
end
|
||||||
|
object v1Column6: TcxGridDBColumn
|
||||||
|
Caption = #26816#39564#21367#25968
|
||||||
|
DataBinding.FieldName = 'JQty'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 70
|
||||||
|
end
|
||||||
|
object v1meter: TcxGridDBColumn
|
||||||
|
Caption = #26816#39564#31859#25968
|
||||||
|
DataBinding.FieldName = 'meter'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 80
|
||||||
|
end
|
||||||
|
object Tv1yardage: TcxGridDBColumn
|
||||||
|
Caption = #30721#25968
|
||||||
|
DataBinding.FieldName = 'yardage'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 56
|
||||||
|
end
|
||||||
|
object v2grossWeight: TcxGridDBColumn
|
||||||
|
Caption = #27611#37325
|
||||||
|
DataBinding.FieldName = 'grossWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 80
|
||||||
|
end
|
||||||
|
object v1netWeight: TcxGridDBColumn
|
||||||
|
Caption = #20928#37325
|
||||||
|
DataBinding.FieldName = 'netWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 80
|
||||||
|
end
|
||||||
|
object Tv1CKROLL: TcxGridDBColumn
|
||||||
|
Caption = #20986#24211#21305#25968
|
||||||
|
DataBinding.FieldName = 'CKROLL'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 74
|
||||||
|
end
|
||||||
|
object Tv1CKMeter: TcxGridDBColumn
|
||||||
|
Caption = #20986#24211#31859#25968
|
||||||
|
DataBinding.FieldName = 'CKMeter'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 70
|
||||||
|
end
|
||||||
|
object Tv1KCROLL: TcxGridDBColumn
|
||||||
|
Caption = #24211#23384#21305#25968
|
||||||
|
DataBinding.FieldName = 'KCROLL'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 67
|
||||||
|
end
|
||||||
|
object Tv1kcMeter: TcxGridDBColumn
|
||||||
|
Caption = #24211#23384#31859#25968
|
||||||
|
DataBinding.FieldName = 'kcMeter'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 60
|
||||||
|
end
|
||||||
|
object Tv1kcyardage: TcxGridDBColumn
|
||||||
|
Caption = #24211#23384#30721#25968
|
||||||
|
DataBinding.FieldName = 'kcyardage'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object Tv1kcgrossWeight: TcxGridDBColumn
|
||||||
|
Caption = #24211#23384#27611#37325
|
||||||
|
DataBinding.FieldName = 'kcgrossWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Options.Editing = False
|
||||||
|
end
|
||||||
|
object Tv1kcnetWeight: TcxGridDBColumn
|
||||||
|
Caption = #24211#23384#20928#37325
|
||||||
|
DataBinding.FieldName = 'kcnetWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Options.Editing = False
|
||||||
|
end
|
||||||
|
object Tv1AddwetPresent: TcxGridDBColumn
|
||||||
|
Caption = #36192#36865#37325#37327
|
||||||
|
DataBinding.FieldName = 'AddwetPresent'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Options.Editing = False
|
||||||
|
end
|
||||||
|
object Tv1AddLenPresent: TcxGridDBColumn
|
||||||
|
Caption = #36192#36865#38271#24230
|
||||||
|
DataBinding.FieldName = 'AddLenPresent'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1Level1: TcxGridLevel
|
||||||
|
GridView = Tv1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object dxLayoutControl_query: TdxLayoutControl [2]
|
||||||
|
Left = 0
|
||||||
|
Top = 33
|
||||||
|
Width = 1112
|
||||||
|
Height = 80
|
||||||
|
Align = alTop
|
||||||
|
TabOrder = 2
|
||||||
|
AutoSize = True
|
||||||
|
LayoutLookAndFeel = DataLink_TradeInsp.dxLayoutSkinLookAndFeel1
|
||||||
|
OptionsItem.SizableHorz = True
|
||||||
|
OptionsItem.SizableVert = True
|
||||||
|
object C_name: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 846
|
||||||
|
Top = 11
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 4
|
||||||
|
Width = 108
|
||||||
|
end
|
||||||
|
object orderNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 462
|
||||||
|
Top = 11
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 2
|
||||||
|
Width = 124
|
||||||
|
end
|
||||||
|
object C_color: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 88
|
||||||
|
Top = 44
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 5
|
||||||
|
Width = 155
|
||||||
|
end
|
||||||
|
object batchNo: TcxTextEdit
|
||||||
|
Tag = 1
|
||||||
|
Left = 848
|
||||||
|
Top = 44
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 9
|
||||||
|
Width = 108
|
||||||
|
end
|
||||||
|
object conNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 651
|
||||||
|
Top = 11
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 3
|
||||||
|
Width = 114
|
||||||
|
end
|
||||||
|
object buyconNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 480
|
||||||
|
Top = 44
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 7
|
||||||
|
Width = 108
|
||||||
|
end
|
||||||
|
object C_styleNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 637
|
||||||
|
Top = 44
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 8
|
||||||
|
Width = 130
|
||||||
|
end
|
||||||
|
object enddate: TcxDateEdit
|
||||||
|
Left = 276
|
||||||
|
Top = 11
|
||||||
|
ParentFont = True
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.SaveTime = False
|
||||||
|
Properties.ShowTime = False
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 121
|
||||||
|
end
|
||||||
|
object begdate: TcxDateEdit
|
||||||
|
Left = 88
|
||||||
|
Top = 11
|
||||||
|
ParentFont = True
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.InputKind = ikRegExpr
|
||||||
|
Properties.SaveTime = False
|
||||||
|
Properties.ShowTime = False
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 157
|
||||||
|
end
|
||||||
|
object C_Pattern: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 292
|
||||||
|
Top = 44
|
||||||
|
AutoSize = False
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnChange = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 6
|
||||||
|
Height = 33
|
||||||
|
Width = 107
|
||||||
|
end
|
||||||
|
object dxLayoutControl_queryGroup_Root: TdxLayoutGroup
|
||||||
|
AlignHorz = ahParentManaged
|
||||||
|
AlignVert = avParentManaged
|
||||||
|
CaptionOptions.AlignVert = tavCenter
|
||||||
|
CaptionOptions.Text = #26597#35810#32452
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
SizeOptions.AssignedValues = [sovSizableHorz, sovSizableVert]
|
||||||
|
SizeOptions.SizableHorz = True
|
||||||
|
SizeOptions.SizableVert = True
|
||||||
|
Hidden = True
|
||||||
|
ItemIndex = 1
|
||||||
|
Padding.Top = -5
|
||||||
|
Padding.AssignedValues = [lpavTop]
|
||||||
|
ShowBorder = False
|
||||||
|
UseIndent = False
|
||||||
|
Index = -1
|
||||||
|
end
|
||||||
|
object dxLayoutItem_begdate: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup1
|
||||||
|
SizeOptions.Width = 229
|
||||||
|
AllowRemove = False
|
||||||
|
CaptionOptions.Text = #26597#35810#26102#38388
|
||||||
|
Control = begdate
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 157
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object dxLayoutItem2: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup1
|
||||||
|
SizeOptions.Width = 180
|
||||||
|
AllowRemove = False
|
||||||
|
CaptionOptions.Text = #35746#21333#21495
|
||||||
|
Control = orderNo
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 124
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 2
|
||||||
|
end
|
||||||
|
object dxLayoutItem_color: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup2
|
||||||
|
SizeOptions.Width = 227
|
||||||
|
CaptionOptions.Text = #39068#33394
|
||||||
|
Control = C_color
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 155
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object dxLayoutItem_pm: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup1
|
||||||
|
SizeOptions.Width = 180
|
||||||
|
CaptionOptions.Text = #20013#25991#21517#31216
|
||||||
|
Control = C_name
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 108
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 4
|
||||||
|
end
|
||||||
|
object dxLayoutItem_end: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup1
|
||||||
|
SizeOptions.Width = 143
|
||||||
|
CaptionOptions.Text = '--'
|
||||||
|
Control = enddate
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 121
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object dxLayoutItem_hth: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup1
|
||||||
|
SizeOptions.Width = 170
|
||||||
|
CaptionOptions.Text = #21512#21516#21495
|
||||||
|
Control = conNo
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 114
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 3
|
||||||
|
end
|
||||||
|
object dxLayoutItem_khdh: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup2
|
||||||
|
SizeOptions.Width = 180
|
||||||
|
CaptionOptions.Text = #23458#25143#21333#21495
|
||||||
|
Control = buyconNo
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 108
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 2
|
||||||
|
end
|
||||||
|
object dxLayoutItem_Pattern: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup2
|
||||||
|
AlignVert = avClient
|
||||||
|
SizeOptions.Width = 147
|
||||||
|
CaptionOptions.Text = #33457#22411
|
||||||
|
Control = C_Pattern
|
||||||
|
ControlOptions.OriginalHeight = 29
|
||||||
|
ControlOptions.OriginalWidth = 107
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object dxLayoutGroup1: TdxLayoutGroup
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
CaptionOptions.Text = #32452'1'
|
||||||
|
Hidden = True
|
||||||
|
LayoutDirection = ldHorizontal
|
||||||
|
ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object dxLayoutGroup2: TdxLayoutGroup
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
CaptionOptions.Text = #32452'2'
|
||||||
|
Hidden = True
|
||||||
|
ItemIndex = 4
|
||||||
|
LayoutDirection = ldHorizontal
|
||||||
|
ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object dxLayoutItem1: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup2
|
||||||
|
SizeOptions.Width = 170
|
||||||
|
CaptionOptions.Text = #27454#21495
|
||||||
|
Control = C_styleNo
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 130
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 3
|
||||||
|
end
|
||||||
|
object dxLayoutItem3: TdxLayoutItem
|
||||||
|
Parent = dxLayoutGroup2
|
||||||
|
SizeOptions.Width = 180
|
||||||
|
CaptionOptions.Text = #26412#21378#32568#21495
|
||||||
|
Control = batchNo
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 108
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 4
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited cxProgressBar2: TcxProgressBar
|
||||||
|
Left = 296
|
||||||
|
Top = 128
|
||||||
|
ExplicitLeft = 296
|
||||||
|
ExplicitTop = 128
|
||||||
|
ExplicitHeight = 26
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseCmd: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 121
|
||||||
|
Top = 168
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseTemp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 73
|
||||||
|
Top = 169
|
||||||
|
end
|
||||||
|
object DataSource1: TDataSource
|
||||||
|
DataSet = ADOQueryMain
|
||||||
|
Left = 544
|
||||||
|
Top = 296
|
||||||
|
end
|
||||||
|
object ADOQueryMain: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 200
|
||||||
|
Top = 192
|
||||||
|
end
|
||||||
|
object RMGridReport1: TRMGridReport
|
||||||
|
ThreadPrepareReport = True
|
||||||
|
InitialZoom = pzDefault
|
||||||
|
PreviewButtons = [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbExport, rmpbNavigator]
|
||||||
|
DefaultCollate = False
|
||||||
|
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
|
||||||
|
PreviewOptions.RulerUnit = rmutScreenPixels
|
||||||
|
PreviewOptions.RulerVisible = False
|
||||||
|
PreviewOptions.DrawBorder = False
|
||||||
|
PreviewOptions.BorderPen.Color = clGray
|
||||||
|
PreviewOptions.BorderPen.Style = psDash
|
||||||
|
CompressLevel = rmzcFastest
|
||||||
|
CompressThread = False
|
||||||
|
LaterBuildEvents = True
|
||||||
|
OnlyOwnerDataSet = False
|
||||||
|
Left = 320
|
||||||
|
Top = 320
|
||||||
|
ReportData = {}
|
||||||
|
end
|
||||||
|
object cxGridPopupMenu1: TcxGridPopupMenu
|
||||||
|
Grid = cxGrid1
|
||||||
|
PopupMenus = <>
|
||||||
|
Left = 581
|
||||||
|
Top = 304
|
||||||
|
end
|
||||||
|
end
|
||||||
231
T03贸易布匹检验/U_ProductJYHZList.pas
Normal file
231
T03贸易布匹检验/U_ProductJYHZList.pas
Normal file
|
|
@ -0,0 +1,231 @@
|
||||||
|
unit U_ProductJYHZList;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
|
||||||
|
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics,
|
||||||
|
cxControls, cxLookAndFeels, cxLookAndFeelPainters, cxStyles, cxCustomData,
|
||||||
|
cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator, dxDateRanges,
|
||||||
|
dxScrollbarAnnotations, Data.DB, cxDBData, cxCalendar, cxGridLevel,
|
||||||
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||||||
|
cxGridCustomView, cxGrid, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls,
|
||||||
|
Vcl.ToolWin, U_BaseList, Data.Win.ADODB, dxBarBuiltInMenu,
|
||||||
|
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Common, RM_Class, RM_GridReport,
|
||||||
|
cxContainer, cxTextEdit, dxCore, cxDateUtils, dxLayoutcxEditAdapters,
|
||||||
|
dxLayoutContainer, cxMaskEdit, cxDropDownEdit, dxLayoutControl, cxProgressBar;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmProductJYHZList = class(TfrmBaseList)
|
||||||
|
ToolBar1: TToolBar;
|
||||||
|
TBRafresh: TToolButton;
|
||||||
|
TBFind: TToolButton;
|
||||||
|
Tmx: TToolButton;
|
||||||
|
TBExport: TToolButton;
|
||||||
|
TBClose: TToolButton;
|
||||||
|
C_name: TcxTextEdit;
|
||||||
|
orderNo: TcxTextEdit;
|
||||||
|
C_color: TcxTextEdit;
|
||||||
|
batchNo: TcxTextEdit;
|
||||||
|
conNo: TcxTextEdit;
|
||||||
|
buyconNo: TcxTextEdit;
|
||||||
|
cxGrid1: TcxGrid;
|
||||||
|
Tv1: TcxGridDBTableView;
|
||||||
|
v1CRTime: TcxGridDBColumn;
|
||||||
|
v1orderNo: TcxGridDBColumn;
|
||||||
|
v1conNo: TcxGridDBColumn;
|
||||||
|
v1buyconNo: TcxGridDBColumn;
|
||||||
|
v2C_Name: TcxGridDBColumn;
|
||||||
|
v1C_color: TcxGridDBColumn;
|
||||||
|
v1C_ecolor: TcxGridDBColumn;
|
||||||
|
v1C_pattern: TcxGridDBColumn;
|
||||||
|
v1batchno: TcxGridDBColumn;
|
||||||
|
v1Column6: TcxGridDBColumn;
|
||||||
|
v1meter: TcxGridDBColumn;
|
||||||
|
v1ordUnit: TcxGridDBColumn;
|
||||||
|
v2grossWeight: TcxGridDBColumn;
|
||||||
|
v1netWeight: TcxGridDBColumn;
|
||||||
|
Tv1CKROLL: TcxGridDBColumn;
|
||||||
|
Tv1CKMeter: TcxGridDBColumn;
|
||||||
|
Tv1KCROLL: TcxGridDBColumn;
|
||||||
|
Tv1kcMeter: TcxGridDBColumn;
|
||||||
|
cxGrid1Level1: TcxGridLevel;
|
||||||
|
DataSource1: TDataSource;
|
||||||
|
ADOQueryMain: TADOQuery;
|
||||||
|
RMGridReport1: TRMGridReport;
|
||||||
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
||||||
|
Tv1yardage: TcxGridDBColumn;
|
||||||
|
Tv1kcyardage: TcxGridDBColumn;
|
||||||
|
Tv1kcgrossWeight: TcxGridDBColumn;
|
||||||
|
Tv1kcnetWeight: TcxGridDBColumn;
|
||||||
|
Tv1AddwetPresent: TcxGridDBColumn;
|
||||||
|
Tv1AddLenPresent: TcxGridDBColumn;
|
||||||
|
Tv1C_StyleNo: TcxGridDBColumn;
|
||||||
|
ToolButton2: TToolButton;
|
||||||
|
dxLayoutControl_query: TdxLayoutControl;
|
||||||
|
C_styleNo: TcxTextEdit;
|
||||||
|
enddate: TcxDateEdit;
|
||||||
|
begdate: TcxDateEdit;
|
||||||
|
C_Pattern: TcxTextEdit;
|
||||||
|
dxLayoutControl_queryGroup_Root: TdxLayoutGroup;
|
||||||
|
dxLayoutItem_begdate: TdxLayoutItem;
|
||||||
|
dxLayoutItem2: TdxLayoutItem;
|
||||||
|
dxLayoutItem_color: TdxLayoutItem;
|
||||||
|
dxLayoutItem_pm: TdxLayoutItem;
|
||||||
|
dxLayoutItem_end: TdxLayoutItem;
|
||||||
|
dxLayoutItem_hth: TdxLayoutItem;
|
||||||
|
dxLayoutItem_khdh: TdxLayoutItem;
|
||||||
|
dxLayoutItem_Pattern: TdxLayoutItem;
|
||||||
|
dxLayoutGroup1: TdxLayoutGroup;
|
||||||
|
dxLayoutGroup2: TdxLayoutGroup;
|
||||||
|
dxLayoutItem1: TdxLayoutItem;
|
||||||
|
dxLayoutItem3: TdxLayoutItem;
|
||||||
|
procedure TBCloseClick(Sender: TObject);
|
||||||
|
procedure TBExportClick(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure TBRafreshClick(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure ToolButton2Click(Sender: TObject);
|
||||||
|
procedure TmxClick(Sender: TObject);
|
||||||
|
procedure Tv1DblClick(Sender: TObject);
|
||||||
|
procedure TBFindClick(Sender: TObject);
|
||||||
|
private
|
||||||
|
procedure InitGrid();
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmProductJYHZList: TfrmProductJYHZList;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
U_DataLink, U_RtFun, U_ZDYHelp, U_globalVar, U_TradeClothInspList,
|
||||||
|
U_FormLayOutDesign;
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.TBCloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
WriteCxGrid(self.Caption + tv1.Name, Tv1, '³ÉÆ·²Ö¿â');
|
||||||
|
Close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.TBExportClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if ADOQueryMain.IsEmpty then
|
||||||
|
exit;
|
||||||
|
TcxGridToExcel(self.Caption, cxGrid1);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.TBFindClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if ADOQueryMain.Active then
|
||||||
|
begin
|
||||||
|
SDofilter(ADOQueryMain, SLGetFilters(dxLayoutControl_query, 1, 2));
|
||||||
|
// SCreateCDS20(ADOQueryMain,CDS_Main);
|
||||||
|
// SInitCDSData20(ADOQueryMain,CDS_Main);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.TBRafreshClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.TmxClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if ADOQueryMain.IsEmpty then
|
||||||
|
Exit;
|
||||||
|
//frmTradeClothInspList:=TfrmTradeClothInspList.Create(Application);
|
||||||
|
with TfrmTradeClothInspList.Create(Application) do
|
||||||
|
begin
|
||||||
|
orderno.Text := trim(self.ADOQueryMain.fieldbyname('orderno').asstring);
|
||||||
|
batchNo.Text := trim(self.ADOQueryMain.fieldbyname('batchNo').asstring);
|
||||||
|
C_Color.Text := trim(self.ADOQueryMain.fieldbyname('C_Color').asstring);
|
||||||
|
if ShowModal = 1 then
|
||||||
|
begin
|
||||||
|
// InitGrid();
|
||||||
|
end;
|
||||||
|
free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.ToolButton2Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
WriteCxGrid(self.Caption, Tv1, gDllFileCaption);
|
||||||
|
if gIsCanDesign then
|
||||||
|
begin
|
||||||
|
saveLayOut(application, dxLayoutControl_query, ADOQueryBaseCmd, PWideChar(fDllFileName + '|' + Self.Name + '|' + dxLayoutControl_query.Name + '.ini'));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.Tv1DblClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
Tmx.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//////////////////////////
|
||||||
|
procedure TfrmProductJYHZList.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
Action := caFree;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
BegDate.Date := SGetServerDateTime(ADOQueryBaseTemp);
|
||||||
|
EndDate.Date := BegDate.Date;
|
||||||
|
cxGrid1.Align := alClient;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
frmProductJYHZList := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
readCxGrid(self.Caption + tv1.Name, Tv1, '³ÉÆ·²Ö¿â');
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductJYHZList.InitGrid();
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
ADOQueryMain.DisableControls;
|
||||||
|
with ADOQueryMain do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
sql.Clear;
|
||||||
|
Filtered := False;
|
||||||
|
sql.Add('exec p_select_pieceCheckHz_list');
|
||||||
|
sql.Add('@begdate=' + QuotedStr(FormatDateTime('yyyy-MM-dd', BegDate.Date)));
|
||||||
|
sql.Add(',@enddate=' + QuotedStr(FormatDateTime('yyyy-MM-dd', endDate.Date + 1)));
|
||||||
|
sql.Add(',@orderNo=' + QuotedStr(orderNo.Text));
|
||||||
|
sql.Add(',@groupBy=''1''');
|
||||||
|
Open;
|
||||||
|
//ShowMessage(SQL.Text);
|
||||||
|
end;
|
||||||
|
// SCreateCDS(ADOQueryMain,CDS_Main);
|
||||||
|
// SInitCDSData(ADOQueryMain,CDS_Main);
|
||||||
|
SDofilter(ADOQueryMain, SLGetFilters(dxLayoutControl_query, 1, 2));
|
||||||
|
finally
|
||||||
|
ADOQueryMain.EnableControls;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
514
T03贸易布匹检验/U_ProductListHelp.dfm
Normal file
514
T03贸易布匹检验/U_ProductListHelp.dfm
Normal file
|
|
@ -0,0 +1,514 @@
|
||||||
|
inherited frmProductListHelp: TfrmProductListHelp
|
||||||
|
Caption = #25351#31034#21333#26126#32454#21015#34920
|
||||||
|
ClientHeight = 540
|
||||||
|
ClientWidth = 1143
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Height = -13
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Position = poDesktopCenter
|
||||||
|
WindowState = wsMaximized
|
||||||
|
ExplicitWidth = 1159
|
||||||
|
ExplicitHeight = 579
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 19
|
||||||
|
object ToolBar1: TToolBar [0]
|
||||||
|
Tag = 999
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 1143
|
||||||
|
Height = 30
|
||||||
|
AutoSize = True
|
||||||
|
ButtonHeight = 30
|
||||||
|
ButtonWidth = 99
|
||||||
|
Caption = 'ToolBar1'
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = GB2312_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
Images = DataLink_TradeInsp.cxImageList_bar
|
||||||
|
List = True
|
||||||
|
ParentColor = True
|
||||||
|
ParentFont = True
|
||||||
|
ShowCaptions = True
|
||||||
|
TabOrder = 0
|
||||||
|
object TBRafresh: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #21047#26032
|
||||||
|
ImageIndex = 1
|
||||||
|
OnClick = TBRafreshClick
|
||||||
|
end
|
||||||
|
object TBFind: TToolButton
|
||||||
|
Left = 71
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #36807#28388
|
||||||
|
ImageIndex = 0
|
||||||
|
OnClick = TBFindClick
|
||||||
|
end
|
||||||
|
object TselOk: TToolButton
|
||||||
|
Left = 142
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #30830#23450
|
||||||
|
ImageIndex = 12
|
||||||
|
OnClick = TselOkClick
|
||||||
|
end
|
||||||
|
object ToolButton1: TToolButton
|
||||||
|
Left = 213
|
||||||
|
Top = 0
|
||||||
|
Caption = #20445#23384#26684#24335
|
||||||
|
ImageIndex = 37
|
||||||
|
OnClick = ToolButton1Click
|
||||||
|
end
|
||||||
|
object TBClose: TToolButton
|
||||||
|
Left = 312
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20851#38381
|
||||||
|
ImageIndex = 7
|
||||||
|
OnClick = TBCloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid2: TcxGrid [1]
|
||||||
|
Left = 0
|
||||||
|
Top = 151
|
||||||
|
Width = 1007
|
||||||
|
Height = 208
|
||||||
|
TabOrder = 1
|
||||||
|
object TV2: TcxGridDBTableView
|
||||||
|
OnDblClick = TV2DblClick
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
DataController.DataSource = DataSource1
|
||||||
|
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <
|
||||||
|
item
|
||||||
|
Format = '0'
|
||||||
|
Position = spFooter
|
||||||
|
end>
|
||||||
|
DataController.Summary.FooterSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = TV2OrdPiece
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = V2OrdQty
|
||||||
|
end>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsBehavior.GoToNextCellOnEnter = True
|
||||||
|
OptionsCustomize.ColumnFiltering = False
|
||||||
|
OptionsData.Editing = False
|
||||||
|
OptionsSelection.CellSelect = False
|
||||||
|
OptionsView.Footer = True
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
object V2filltime: TcxGridDBColumn
|
||||||
|
Caption = #21046#21333#26102#38388
|
||||||
|
DataBinding.FieldName = 'filltime'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxDateEditProperties'
|
||||||
|
Properties.SaveTime = False
|
||||||
|
Properties.ShowTime = False
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 79
|
||||||
|
end
|
||||||
|
object V2Subid: TcxGridDBColumn
|
||||||
|
Caption = #35746#21333#26465#30721
|
||||||
|
DataBinding.FieldName = 'Subid'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 73
|
||||||
|
end
|
||||||
|
object V2Column10: TcxGridDBColumn
|
||||||
|
Caption = #35746#21333#21495
|
||||||
|
DataBinding.FieldName = 'OrderNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 72
|
||||||
|
end
|
||||||
|
object V2CustomerNoName: TcxGridDBColumn
|
||||||
|
Caption = #23458#25143
|
||||||
|
DataBinding.FieldName = 'CustName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 70
|
||||||
|
end
|
||||||
|
object V2KHOrderNo: TcxGridDBColumn
|
||||||
|
Caption = #23458#25143#35746#21333#21495
|
||||||
|
DataBinding.FieldName = 'KHOrderNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 79
|
||||||
|
end
|
||||||
|
object V2Column14: TcxGridDBColumn
|
||||||
|
Caption = #21512#21516#21495
|
||||||
|
DataBinding.FieldName = 'conNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 70
|
||||||
|
end
|
||||||
|
object V2C_Name: TcxGridDBColumn
|
||||||
|
Caption = #20135#21697#21517#31216
|
||||||
|
DataBinding.FieldName = 'C_Name'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 80
|
||||||
|
end
|
||||||
|
object V2C_Spec: TcxGridDBColumn
|
||||||
|
Caption = #22411#21495#35268#26684
|
||||||
|
DataBinding.FieldName = 'C_Spec'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
FixedKind = fkLeftDynamic
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 80
|
||||||
|
end
|
||||||
|
object V2C_Color: TcxGridDBColumn
|
||||||
|
Caption = #39068#33394
|
||||||
|
DataBinding.FieldName = 'C_Color'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 77
|
||||||
|
end
|
||||||
|
object V2C_ColorNo: TcxGridDBColumn
|
||||||
|
Caption = #33394#21495
|
||||||
|
DataBinding.FieldName = 'C_ColorNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 73
|
||||||
|
end
|
||||||
|
object V2C_Pattern: TcxGridDBColumn
|
||||||
|
Caption = #33457#22411
|
||||||
|
DataBinding.FieldName = 'C_Pattern'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 71
|
||||||
|
end
|
||||||
|
object TV2OrdPiece: TcxGridDBColumn
|
||||||
|
Caption = #21305#25968
|
||||||
|
DataBinding.FieldName = 'OrdPiece'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
end
|
||||||
|
object V2OrdQty: TcxGridDBColumn
|
||||||
|
Caption = #25968#37327
|
||||||
|
DataBinding.FieldName = 'OrdQty'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 65
|
||||||
|
end
|
||||||
|
object V2OrderUnit: TcxGridDBColumn
|
||||||
|
Caption = #25968#37327#21333#20301
|
||||||
|
DataBinding.FieldName = 'OrdUnit'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 65
|
||||||
|
end
|
||||||
|
object V2OrdSNote: TcxGridDBColumn
|
||||||
|
Caption = #25968#37327#35201#27714
|
||||||
|
DataBinding.FieldName = 'OrdSNote'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 76
|
||||||
|
end
|
||||||
|
object V2packNote: TcxGridDBColumn
|
||||||
|
Caption = #21253#35013#35201#27714
|
||||||
|
DataBinding.FieldName = 'packNote'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 65
|
||||||
|
end
|
||||||
|
object TV2Column1: TcxGridDBColumn
|
||||||
|
Caption = #26412#21378#32568#21495
|
||||||
|
DataBinding.FieldName = 'batchno'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGridLevel1: TcxGridLevel
|
||||||
|
GridView = TV2
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object dxLayoutControl_query: TdxLayoutControl [2]
|
||||||
|
Left = 0
|
||||||
|
Top = 30
|
||||||
|
Width = 1143
|
||||||
|
Height = 59
|
||||||
|
Align = alTop
|
||||||
|
TabOrder = 2
|
||||||
|
LayoutLookAndFeel = DataLink_TradeInsp.dxLayoutSkinLookAndFeel1
|
||||||
|
OptionsItem.SizableHorz = True
|
||||||
|
OptionsItem.SizableVert = True
|
||||||
|
object custName: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 601
|
||||||
|
Top = 14
|
||||||
|
ParentFont = True
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 3
|
||||||
|
Width = 109
|
||||||
|
end
|
||||||
|
object conNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 764
|
||||||
|
Top = 14
|
||||||
|
ParentFont = True
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 4
|
||||||
|
Width = 105
|
||||||
|
end
|
||||||
|
object BuyConNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 10000
|
||||||
|
Top = 10000
|
||||||
|
ParentFont = True
|
||||||
|
Style.BorderColor = clWindowFrame
|
||||||
|
Style.BorderStyle = ebs3D
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 6
|
||||||
|
Visible = False
|
||||||
|
Width = 121
|
||||||
|
end
|
||||||
|
object OrderNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 425
|
||||||
|
Top = 14
|
||||||
|
ParentFont = True
|
||||||
|
Properties.OnEditValueChanged = TBFindClick
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 2
|
||||||
|
Width = 109
|
||||||
|
end
|
||||||
|
object C_Color: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 10000
|
||||||
|
Top = 10000
|
||||||
|
ParentFont = True
|
||||||
|
Style.BorderColor = clWindowFrame
|
||||||
|
Style.BorderStyle = ebs3D
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 7
|
||||||
|
Visible = False
|
||||||
|
Width = 121
|
||||||
|
end
|
||||||
|
object C_Name: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 936
|
||||||
|
Top = 14
|
||||||
|
AutoSize = False
|
||||||
|
ParentFont = True
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 5
|
||||||
|
Height = 29
|
||||||
|
Width = 109
|
||||||
|
end
|
||||||
|
object enddate: TcxDateEdit
|
||||||
|
Left = 238
|
||||||
|
Top = 14
|
||||||
|
ParentFont = True
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.SaveTime = False
|
||||||
|
Properties.ShowTime = False
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 133
|
||||||
|
end
|
||||||
|
object begdate: TcxDateEdit
|
||||||
|
Left = 73
|
||||||
|
Top = 14
|
||||||
|
ParentFont = True
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
Properties.InputKind = ikRegExpr
|
||||||
|
Properties.SaveTime = False
|
||||||
|
Properties.ShowTime = False
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 138
|
||||||
|
end
|
||||||
|
object C_Pattern: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 10000
|
||||||
|
Top = 10000
|
||||||
|
ParentFont = True
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.TransparentBorder = False
|
||||||
|
TabOrder = 8
|
||||||
|
Visible = False
|
||||||
|
Width = 121
|
||||||
|
end
|
||||||
|
object dxLayoutControl_queryGroup_Root: TdxLayoutGroup
|
||||||
|
AlignHorz = ahParentManaged
|
||||||
|
AlignVert = avParentManaged
|
||||||
|
CaptionOptions.AlignVert = tavCenter
|
||||||
|
CaptionOptions.Text = #26597#35810#32452
|
||||||
|
CaptionOptions.Visible = False
|
||||||
|
SizeOptions.AssignedValues = [sovSizableHorz, sovSizableVert]
|
||||||
|
SizeOptions.SizableHorz = True
|
||||||
|
SizeOptions.SizableVert = True
|
||||||
|
Hidden = True
|
||||||
|
ItemIndex = 5
|
||||||
|
LayoutDirection = ldHorizontal
|
||||||
|
ShowBorder = False
|
||||||
|
Index = -1
|
||||||
|
end
|
||||||
|
object dxLayoutItem1: TdxLayoutItem
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
AllowRemove = False
|
||||||
|
CaptionOptions.Text = #35746#21333#21495
|
||||||
|
Control = OrderNo
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 109
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 2
|
||||||
|
end
|
||||||
|
object dxLayoutItem2: TdxLayoutItem
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
AllowRemove = False
|
||||||
|
CaptionOptions.Text = #23458#25143#21517#31216
|
||||||
|
Control = custName
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 109
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 3
|
||||||
|
end
|
||||||
|
object dxLayoutItem_color: TdxLayoutItem
|
||||||
|
CaptionOptions.Text = #39068#33394
|
||||||
|
Control = C_Color
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 121
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = -1
|
||||||
|
end
|
||||||
|
object dxLayoutItem_pm: TdxLayoutItem
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
SizeOptions.Width = 168
|
||||||
|
CaptionOptions.Text = #20135#21697#21517#31216
|
||||||
|
Control = C_Name
|
||||||
|
ControlOptions.OriginalHeight = 29
|
||||||
|
ControlOptions.OriginalWidth = 109
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 5
|
||||||
|
end
|
||||||
|
object dxLayoutItem_beg: TdxLayoutItem
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
SizeOptions.Width = 197
|
||||||
|
CaptionOptions.Text = #21046#21333#26085#26399
|
||||||
|
Control = begdate
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 133
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 0
|
||||||
|
end
|
||||||
|
object dxLayoutItem_end: TdxLayoutItem
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
SizeOptions.Width = 152
|
||||||
|
CaptionOptions.Text = '--'
|
||||||
|
Control = enddate
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 117
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 1
|
||||||
|
end
|
||||||
|
object dxLayoutItem_hth: TdxLayoutItem
|
||||||
|
Parent = dxLayoutControl_queryGroup_Root
|
||||||
|
CaptionOptions.Text = #21512#21516#21495
|
||||||
|
Control = conNo
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 105
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = 4
|
||||||
|
end
|
||||||
|
object dxLayoutItem_khdh: TdxLayoutItem
|
||||||
|
CaptionOptions.Text = #23458#25143#21333#21495
|
||||||
|
Control = BuyConNo
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 121
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = -1
|
||||||
|
end
|
||||||
|
object dxLayoutItem_Pattern: TdxLayoutItem
|
||||||
|
CaptionOptions.Text = #33457#22411
|
||||||
|
Control = C_Pattern
|
||||||
|
ControlOptions.OriginalHeight = 33
|
||||||
|
ControlOptions.OriginalWidth = 121
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
Index = -1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseCmd: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 385
|
||||||
|
Top = 336
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseTemp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 289
|
||||||
|
Top = 345
|
||||||
|
end
|
||||||
|
object DataSource1: TDataSource
|
||||||
|
DataSet = Order_Main
|
||||||
|
Left = 680
|
||||||
|
Top = 328
|
||||||
|
end
|
||||||
|
object ADOQueryMain: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 616
|
||||||
|
Top = 328
|
||||||
|
end
|
||||||
|
object Order_Main: TClientDataSet
|
||||||
|
Aggregates = <>
|
||||||
|
Params = <>
|
||||||
|
Left = 824
|
||||||
|
Top = 256
|
||||||
|
end
|
||||||
|
object cxGridPopupMenu1: TcxGridPopupMenu
|
||||||
|
Grid = cxGrid2
|
||||||
|
PopupMenus = <>
|
||||||
|
Left = 448
|
||||||
|
Top = 168
|
||||||
|
end
|
||||||
|
end
|
||||||
193
T03贸易布匹检验/U_ProductListHelp.pas
Normal file
193
T03贸易布匹检验/U_ProductListHelp.pas
Normal file
|
|
@ -0,0 +1,193 @@
|
||||||
|
unit U_ProductListHelp;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||||
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
|
||||||
|
cxLookAndFeelPainters, cxStyles, cxCustomData,
|
||||||
|
cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator, dxDateRanges,
|
||||||
|
dxScrollbarAnnotations, Data.DB, cxDBData, cxCalendar, cxGridLevel,
|
||||||
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||||||
|
cxGridCustomView, cxGrid, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls,
|
||||||
|
Vcl.ToolWin, Data.Win.ADODB, U_BaseHelp, U_BaseList, System.ImageList,
|
||||||
|
Vcl.ImgList, Datasnap.DBClient, dxBarBuiltInMenu, cxGridCustomPopupMenu,
|
||||||
|
cxGridPopupMenu, dxLayoutContainer, dxLayoutControl, cxContainer, dxCore,
|
||||||
|
cxDateUtils, dxLayoutcxEditAdapters, cxMaskEdit, cxDropDownEdit, cxTextEdit;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmProductListHelp = class(TfrmBaseHelp)
|
||||||
|
ToolBar1: TToolBar;
|
||||||
|
TBRafresh: TToolButton;
|
||||||
|
TBFind: TToolButton;
|
||||||
|
TBClose: TToolButton;
|
||||||
|
cxGrid2: TcxGrid;
|
||||||
|
TV2: TcxGridDBTableView;
|
||||||
|
V2filltime: TcxGridDBColumn;
|
||||||
|
V2Subid: TcxGridDBColumn;
|
||||||
|
V2Column10: TcxGridDBColumn;
|
||||||
|
V2CustomerNoName: TcxGridDBColumn;
|
||||||
|
V2KHOrderNo: TcxGridDBColumn;
|
||||||
|
V2Column14: TcxGridDBColumn;
|
||||||
|
V2C_Name: TcxGridDBColumn;
|
||||||
|
V2C_Spec: TcxGridDBColumn;
|
||||||
|
V2C_Color: TcxGridDBColumn;
|
||||||
|
V2C_ColorNo: TcxGridDBColumn;
|
||||||
|
V2C_Pattern: TcxGridDBColumn;
|
||||||
|
V2OrdSNote: TcxGridDBColumn;
|
||||||
|
V2packNote: TcxGridDBColumn;
|
||||||
|
V2OrdQty: TcxGridDBColumn;
|
||||||
|
V2OrderUnit: TcxGridDBColumn;
|
||||||
|
cxGridLevel1: TcxGridLevel;
|
||||||
|
DataSource1: TDataSource;
|
||||||
|
ADOQueryMain: TADOQuery;
|
||||||
|
Order_Main: TClientDataSet;
|
||||||
|
TV2OrdPiece: TcxGridDBColumn;
|
||||||
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
||||||
|
TselOk: TToolButton;
|
||||||
|
ToolButton1: TToolButton;
|
||||||
|
dxLayoutControl_query: TdxLayoutControl;
|
||||||
|
custName: TcxTextEdit;
|
||||||
|
conNo: TcxTextEdit;
|
||||||
|
BuyConNo: TcxTextEdit;
|
||||||
|
OrderNo: TcxTextEdit;
|
||||||
|
C_Color: TcxTextEdit;
|
||||||
|
C_Name: TcxTextEdit;
|
||||||
|
enddate: TcxDateEdit;
|
||||||
|
begdate: TcxDateEdit;
|
||||||
|
dxLayoutControl_queryGroup_Root: TdxLayoutGroup;
|
||||||
|
dxLayoutItem1: TdxLayoutItem;
|
||||||
|
dxLayoutItem2: TdxLayoutItem;
|
||||||
|
dxLayoutItem_color: TdxLayoutItem;
|
||||||
|
dxLayoutItem_pm: TdxLayoutItem;
|
||||||
|
dxLayoutItem_beg: TdxLayoutItem;
|
||||||
|
dxLayoutItem_end: TdxLayoutItem;
|
||||||
|
dxLayoutItem_hth: TdxLayoutItem;
|
||||||
|
dxLayoutItem_khdh: TdxLayoutItem;
|
||||||
|
dxLayoutItem_Pattern: TdxLayoutItem;
|
||||||
|
C_Pattern: TcxTextEdit;
|
||||||
|
TV2Column1: TcxGridDBColumn;
|
||||||
|
procedure TBCloseClick(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure TBRafreshClick(Sender: TObject);
|
||||||
|
procedure TselOkClick(Sender: TObject);
|
||||||
|
procedure TV2DblClick(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure ToolButton1Click(Sender: TObject);
|
||||||
|
procedure TBFindClick(Sender: TObject);
|
||||||
|
private
|
||||||
|
procedure InitForm();
|
||||||
|
procedure InitGrid();
|
||||||
|
public
|
||||||
|
fType:string;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmProductListHelp: TfrmProductListHelp;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
uses
|
||||||
|
U_DataLink,U_globalVar,U_RTFun,U_FormLayOutDesign;
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmProductListHelp.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
cxGrid2.Align:=alClient;
|
||||||
|
BegDate.Date:=SGetServerDateTime(ADOQueryBaseTemp)-3;
|
||||||
|
endDate.Date:=SGetServerDateTime(ADOQueryBaseTemp)
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductListHelp.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
InitForm();
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductListHelp.InitForm();
|
||||||
|
begin
|
||||||
|
InitGrid();
|
||||||
|
ReadCxGrid(self.Caption+tv2.Name,Tv2,gDllFileCaption);
|
||||||
|
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductListHelp.TBFindClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if ADOQueryMain.Active=False then Exit;
|
||||||
|
SDofilter(ADOQueryMain, SLGetFilters(dxLayoutControl_query, 1, 2));
|
||||||
|
SCreateCDS(ADOQueryMain, Order_Main);
|
||||||
|
SInitCDSData(ADOQueryMain, Order_Main);
|
||||||
|
end;
|
||||||
|
procedure TfrmProductListHelp.TBRafreshClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
OrderNo.SetFocus;
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductListHelp.ToolButton1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
WriteCxGrid(trim(Self.Caption)+tv2.Name , Tv2, gDllFileCaption);
|
||||||
|
if gIsCanDesign then
|
||||||
|
begin
|
||||||
|
saveLayOut(application,dxLayoutControl_query, ADOQueryBaseCmd,
|
||||||
|
PWideChar( fDllFileName + '|' + Self.Name + '|' + dxLayoutControl_query.Name
|
||||||
|
+ '.ini'));
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductListHelp.TselOkClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Order_Main.IsEmpty then exit;
|
||||||
|
|
||||||
|
ModalResult:=1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductListHelp.TV2DblClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
TselOk.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmProductListHelp.TBCloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
procedure TfrmProductListHelp.InitGrid();
|
||||||
|
var
|
||||||
|
mBegDate:string;
|
||||||
|
mendDate:string;
|
||||||
|
begin
|
||||||
|
if BegDate.Text<>'' then
|
||||||
|
mBegDate := FormatDateTime('yyyy-MM-dd', BegDate.Date);
|
||||||
|
if enddate.Text<>'' then
|
||||||
|
mendDate := FormatDateTime('yyyy-MM-dd', enddate.Date + 1);
|
||||||
|
try
|
||||||
|
Order_Main.DisableControls;
|
||||||
|
with ADOQueryMain do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
sql.Clear;
|
||||||
|
sql.Add('select A.* ');
|
||||||
|
// sql.Add(',SumPiece=(select Sum(X.Piece) from BS_Cloth_IO X where X.IOFlag=''Èë¿â'' and X.fromSubID=A.SubID and isnull(X.STKNAME,'''')=' + Quotedstr(Trim(FSTKNAME)) + ')');
|
||||||
|
//sql.Add(',SumQty=(select Sum(X.Qty) from BS_Cloth_IO X where X.IOFlag=''Èë¿â'' and X.fromSubID=A.SubID and isnull(X.STKNAME,'''')=' + Quotedstr(Trim(FSTKNAME)) + ')');
|
||||||
|
sql.Add('from V_Trade_Plan_Fty A ');
|
||||||
|
sql.add('where Status=''9'' ');
|
||||||
|
if mBegDate<>'' then
|
||||||
|
sql.Add('and filltime>='+QuotedStr(mBegDate));
|
||||||
|
if mendDate<>'' then
|
||||||
|
sql.Add('and filltime<'+QuotedStr(mendDate));
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
SDofilter(ADOQueryMain, SLGetFilters(dxLayoutControl_query, 1, 2));
|
||||||
|
SCreateCDS(ADOQueryMain, Order_Main);
|
||||||
|
SInitCDSData(ADOQueryMain, Order_Main);
|
||||||
|
finally
|
||||||
|
Order_Main.EnableControls;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
6110
T03贸易布匹检验/U_SysLogList.dfm
Normal file
6110
T03贸易布匹检验/U_SysLogList.dfm
Normal file
File diff suppressed because it is too large
Load Diff
327
T03贸易布匹检验/U_SysLogList.pas
Normal file
327
T03贸易布匹检验/U_SysLogList.pas
Normal file
|
|
@ -0,0 +1,327 @@
|
||||||
|
unit U_SysLogList;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||||
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
|
||||||
|
cxLookAndFeelPainters, cxStyles, cxCustomData,Vcl.Clipbrd,
|
||||||
|
cxFilter, cxData, cxDataStorage, cxEdit, cxNavigator, dxDateRanges,
|
||||||
|
dxScrollbarAnnotations, Data.DB, cxDBData, cxGridLevel, cxGridCustomTableView,
|
||||||
|
cxGridTableView, cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid,
|
||||||
|
Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.ToolWin, cxContainer, dxCore,
|
||||||
|
cxDateUtils, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar,System.StrUtils ,
|
||||||
|
System.ImageList, Vcl.ImgList, cxImageList, Data.Win.ADODB, dxBarBuiltInMenu,
|
||||||
|
cxGridCustomPopupMenu, cxGridPopupMenu, Datasnap.DBClient, cxCheckBox,
|
||||||
|
Vcl.Menus;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmSysLogList = class(TForm)
|
||||||
|
Panel1: TPanel;
|
||||||
|
Label2: TLabel;
|
||||||
|
Label1: TLabel;
|
||||||
|
Label4: TLabel;
|
||||||
|
cxGrid1: TcxGrid;
|
||||||
|
tv1: TcxGridDBTableView;
|
||||||
|
tv1UOperator: TcxGridDBColumn;
|
||||||
|
tv1utime: TcxGridDBColumn;
|
||||||
|
tv1Utype: TcxGridDBColumn;
|
||||||
|
tv1UOperation: TcxGridDBColumn;
|
||||||
|
tv1UDetails: TcxGridDBColumn;
|
||||||
|
cxGridLevel1: TcxGridLevel;
|
||||||
|
begdate: TcxDateEdit;
|
||||||
|
enddate: TcxDateEdit;
|
||||||
|
edt_nr: TcxTextEdit;
|
||||||
|
cxImageList_bar: TcxImageList;
|
||||||
|
ADOQueryLog: TADOQuery;
|
||||||
|
DataSource1: TDataSource;
|
||||||
|
ADOConnection1: TADOConnection;
|
||||||
|
ToolBar1: TToolBar;
|
||||||
|
TQry: TToolButton;
|
||||||
|
Tclose: TToolButton;
|
||||||
|
tv1orderNo: TcxGridDBColumn;
|
||||||
|
tv1pieceNo: TcxGridDBColumn;
|
||||||
|
tv1Meter: TcxGridDBColumn;
|
||||||
|
tv1GrossWeight: TcxGridDBColumn;
|
||||||
|
tv1NetWeight: TcxGridDBColumn;
|
||||||
|
tv1C_name: TcxGridDBColumn;
|
||||||
|
tv1c_color: TcxGridDBColumn;
|
||||||
|
tv1FtyPCId: TcxGridDBColumn;
|
||||||
|
Label3: TLabel;
|
||||||
|
orderNo: TcxTextEdit;
|
||||||
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
||||||
|
ToolButton1: TToolButton;
|
||||||
|
tv1batchNo: TcxGridDBColumn;
|
||||||
|
tv1CIID: TcxGridDBColumn;
|
||||||
|
tv1C_pattern: TcxGridDBColumn;
|
||||||
|
tv1C_colorNo: TcxGridDBColumn;
|
||||||
|
Tundo: TToolButton;
|
||||||
|
cds_loglist: TClientDataSet;
|
||||||
|
ADOQueryCmd: TADOQuery;
|
||||||
|
tv1ssel: TcxGridDBColumn;
|
||||||
|
PM_1: TPopupMenu;
|
||||||
|
N2: TMenuItem;
|
||||||
|
N3: TMenuItem;
|
||||||
|
N1: TMenuItem;
|
||||||
|
procedure TQryClick(Sender: TObject);
|
||||||
|
procedure TcloseClick(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure ToolButton1Click(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure edt_nrPropertiesChange(Sender: TObject);
|
||||||
|
procedure TundoClick(Sender: TObject);
|
||||||
|
procedure N2Click(Sender: TObject);
|
||||||
|
procedure N3Click(Sender: TObject);
|
||||||
|
procedure N1Click(Sender: TObject);
|
||||||
|
private
|
||||||
|
procedure DoQuery();
|
||||||
|
procedure DoFilter();
|
||||||
|
function undoDel():Boolean;
|
||||||
|
public
|
||||||
|
FMainid:string;
|
||||||
|
FSubId:string;
|
||||||
|
fModel:string;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmSysLogList: TfrmSysLogList;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
uses
|
||||||
|
U_DataLink,U_globalVar,U_RTFun;
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
cxGrid1.Align:=alClient;
|
||||||
|
begDate.Date :=date-2;
|
||||||
|
endDate.Date :=date;
|
||||||
|
with ADOConnection1 do
|
||||||
|
begin
|
||||||
|
Connected:=false;
|
||||||
|
ConnectionString:=DConString;
|
||||||
|
Connected:=true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
ReadCxGrid('包装日志列表' + 'Tv1', TV1, gDllFileCaption);
|
||||||
|
if FMainid<>'' then
|
||||||
|
TQry.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.N1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Clipboard.SetTextBuf(PChar(Trim(cds_logList.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.N2Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
SelOKNoFiler(Tv1, True); //全选
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.N3Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
SelOKNoFiler(Tv1, false); //全选
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.TcloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.ToolButton1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
WriteCxGrid(trim('包装日志列表') + 'Tv1', TV1, gDllFileCaption);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.TQryClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
DoQuery();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.TundoClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
begdate.SetFocus;
|
||||||
|
if not gIsCanDesign then
|
||||||
|
begin
|
||||||
|
application.MessageBox('没有操作权限!','提示信息',0) ;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
cds_logList.DisableControls;
|
||||||
|
if not cds_logList.Locate('ssel;Utype',vararrayOf([true,'检验删除']),[]) then
|
||||||
|
begin
|
||||||
|
application.MessageBox('请先选择检验删除的记录','提示信息',0) ;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
if undoDel() then
|
||||||
|
begin
|
||||||
|
tqry.Click;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
cds_logList.EnableControls ;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.DoQuery();
|
||||||
|
var
|
||||||
|
mbegdate,menddate:string;
|
||||||
|
|
||||||
|
begin
|
||||||
|
mbegdate:=formatDatetime('yyyy-MM-dd',begDate.Date); //
|
||||||
|
menddate:=formatDatetime('yyyy-MM-dd',endDate.Date+1);
|
||||||
|
try
|
||||||
|
cds_logList.DisableControls;
|
||||||
|
with ADOQueryLog do
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
sql.clear;
|
||||||
|
filtered:=false;
|
||||||
|
sql.add('select B.*,A.utime,A.Utype,A.UOperation,A.UOperator,A.UDetails');
|
||||||
|
sql.add(' from Trade_Need_Up A');
|
||||||
|
sql.add(' inner join Trade_Cloth_Inspect B on A.udataId=B.ciid');
|
||||||
|
|
||||||
|
if FMainid<>'' then
|
||||||
|
begin
|
||||||
|
sql.Add('where B.mainId='''+Trim(FMainid)+''' ');
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
sql.Add('where UTime>='+quotedStr(mbegdate));
|
||||||
|
sql.Add('and UTime<'+quotedStr(menddate));
|
||||||
|
end;
|
||||||
|
if FSubId<>'' then
|
||||||
|
sql.Add('and B.subId='''+Trim(FSubId)+''' ');
|
||||||
|
|
||||||
|
sql.add('union all');
|
||||||
|
|
||||||
|
sql.add('select B.*,A.utime,A.Utype,A.UOperation,A.UOperator,A.UDetails');
|
||||||
|
sql.add(' from Trade_Need_Up A');
|
||||||
|
sql.add(' inner join Trade_Cloth_Inspect_del B on A.udataId like ''%''+rtrim(B.ciid)+'',%''');
|
||||||
|
|
||||||
|
if FMainid<>'' then
|
||||||
|
begin
|
||||||
|
sql.Add('where B.mainId='''+Trim(FMainid)+''' ');
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
sql.Add('where UTime>='+quotedStr(mbegdate));
|
||||||
|
sql.Add('and UTime<'+quotedStr(menddate));
|
||||||
|
end;
|
||||||
|
|
||||||
|
if FSubId<>'' then
|
||||||
|
sql.Add('and B.subId='''+Trim(FSubId)+''' ');
|
||||||
|
// sql.Add('order by UOperator,UTime');
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
SCreateCDS(ADOQueryLog, cds_logList);
|
||||||
|
SInitCDSData(ADOQueryLog, cds_logList);
|
||||||
|
finally
|
||||||
|
cds_logList.EnableControls ;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmSysLogList.edt_nrPropertiesChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
DoFilter();
|
||||||
|
end;
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
procedure TfrmSysLogList.DoFilter();
|
||||||
|
var
|
||||||
|
filterStr:string;
|
||||||
|
begin
|
||||||
|
if not ADOQueryLog.Active then exit;
|
||||||
|
|
||||||
|
filterStr:='';
|
||||||
|
//
|
||||||
|
if trim(orderNo.text)<>'' then
|
||||||
|
begin
|
||||||
|
filterStr:=' and orderNo like '+quotedStr('%'+trim(orderNo.text)+'%');
|
||||||
|
end;
|
||||||
|
if trim(edt_nr.text)<>'' then
|
||||||
|
begin
|
||||||
|
filterStr:=' and UDetails like '+quotedStr('%'+trim(edt_nr.text)+'%');
|
||||||
|
end;
|
||||||
|
|
||||||
|
try
|
||||||
|
cds_logList.DisableControls ;
|
||||||
|
if trim(filterStr)='' then
|
||||||
|
begin
|
||||||
|
ADOQueryLog.Filtered:=false;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
filterStr:=RightBStr(filterStr,length(filterStr)-4);
|
||||||
|
with ADOQueryLog do
|
||||||
|
begin
|
||||||
|
filtered:=false;
|
||||||
|
filter:=filterStr;
|
||||||
|
filtered:=true;
|
||||||
|
end;
|
||||||
|
cds_logList.EmptyDataSet;
|
||||||
|
SInitCDSData(ADOQueryLog, cds_logList);
|
||||||
|
finally
|
||||||
|
cds_logList.EnableControls;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
|
///
|
||||||
|
function TfrmSysLogList.undoDel():Boolean;
|
||||||
|
var
|
||||||
|
MCIIDS:string;
|
||||||
|
begin
|
||||||
|
result:=false;
|
||||||
|
with cds_loglist do
|
||||||
|
begin
|
||||||
|
First;
|
||||||
|
while not Eof do
|
||||||
|
begin
|
||||||
|
if cds_loglist.FieldByName('SSel').AsBoolean = True then
|
||||||
|
begin
|
||||||
|
MCIIDS := MCIIDS + Trim(cds_loglist.fieldbyname('CIID').AsString) + ',';
|
||||||
|
end;
|
||||||
|
Next;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
try
|
||||||
|
ADOQueryCmd.Connection.BeginTrans;
|
||||||
|
|
||||||
|
with ADOQueryCmd do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
sql.Clear;
|
||||||
|
sql.Add('insert into Trade_Need_Up(UOperation,UType,UDataId) values(''检验'',''恢复检验删除'',' + quotedstr(MCIIDS) + ') ');
|
||||||
|
ExecSQL;
|
||||||
|
end;
|
||||||
|
with ADOQueryCmd do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
Sql.Clear;
|
||||||
|
Sql.Add('exec P_Trade_Insp_Del_undo ');
|
||||||
|
Sql.Add('@CIIDS=' + quotedstr(Trim(MCIIDS)));
|
||||||
|
Sql.Add(',@DCode=' + Quotedstr(DCode));
|
||||||
|
Sql.Add(',@DName=' + Quotedstr(DName));
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
||||||
|
begin
|
||||||
|
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
ADOQueryCmd.Connection.CommitTrans;
|
||||||
|
result:=true;
|
||||||
|
except
|
||||||
|
ADOQueryCmd.Connection.RollbackTrans;
|
||||||
|
application.MessageBox('恢复数据删除记录发生错误!','提示信息',0);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
1552
T03贸易布匹检验/U_TradeClothInspList.dfm
Normal file
1552
T03贸易布匹检验/U_TradeClothInspList.dfm
Normal file
File diff suppressed because it is too large
Load Diff
1477
T03贸易布匹检验/U_TradeClothInspList.pas
Normal file
1477
T03贸易布匹检验/U_TradeClothInspList.pas
Normal file
File diff suppressed because it is too large
Load Diff
789
T03贸易布匹检验/U_TradeClothTotalCXJYOutList.dfm
Normal file
789
T03贸易布匹检验/U_TradeClothTotalCXJYOutList.dfm
Normal file
|
|
@ -0,0 +1,789 @@
|
||||||
|
inherited frmTradeClothTotalCXJYOutList: TfrmTradeClothTotalCXJYOutList
|
||||||
|
Left = 65
|
||||||
|
Top = 98
|
||||||
|
Caption = #26816#39564#20986#24211#21015#34920
|
||||||
|
ClientHeight = 732
|
||||||
|
ClientWidth = 1844
|
||||||
|
Font.Height = -16
|
||||||
|
FormStyle = fsMDIChild
|
||||||
|
Position = poScreenCenter
|
||||||
|
Visible = True
|
||||||
|
ExplicitWidth = 1860
|
||||||
|
ExplicitHeight = 771
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 21
|
||||||
|
object ToolBar1: TToolBar [0]
|
||||||
|
Tag = 1
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 1844
|
||||||
|
Height = 30
|
||||||
|
AutoSize = True
|
||||||
|
ButtonHeight = 30
|
||||||
|
ButtonWidth = 99
|
||||||
|
Caption = 'ToolBar1'
|
||||||
|
Images = DataLink_TradeInsp.cxImageList_bar
|
||||||
|
List = True
|
||||||
|
ShowCaptions = True
|
||||||
|
TabOrder = 3
|
||||||
|
object TBRafresh: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #21047#26032
|
||||||
|
ImageIndex = 1
|
||||||
|
OnClick = TBRafreshClick
|
||||||
|
end
|
||||||
|
object TBFind: TToolButton
|
||||||
|
Left = 71
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #36807#28388
|
||||||
|
ImageIndex = 0
|
||||||
|
Visible = False
|
||||||
|
OnClick = TBFindClick
|
||||||
|
end
|
||||||
|
object btn3: TToolButton
|
||||||
|
Left = 142
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #29983#25104#36180#27454
|
||||||
|
ImageIndex = 2
|
||||||
|
end
|
||||||
|
object TBExport: TToolButton
|
||||||
|
Left = 245
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #23548#20986
|
||||||
|
ImageIndex = 20
|
||||||
|
OnClick = TBExportClick
|
||||||
|
end
|
||||||
|
object ToolButton1: TToolButton
|
||||||
|
Left = 316
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20445#23384#26684#24335
|
||||||
|
ImageIndex = 16
|
||||||
|
OnClick = ToolButton1Click
|
||||||
|
end
|
||||||
|
object TBClose: TToolButton
|
||||||
|
Left = 419
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20851#38381
|
||||||
|
ImageIndex = 7
|
||||||
|
OnClick = TBCloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object Panel1: TPanel [1]
|
||||||
|
Left = 0
|
||||||
|
Top = 30
|
||||||
|
Width = 1844
|
||||||
|
Height = 118
|
||||||
|
Align = alTop
|
||||||
|
BevelInner = bvRaised
|
||||||
|
BevelOuter = bvLowered
|
||||||
|
ParentBackground = False
|
||||||
|
TabOrder = 4
|
||||||
|
ExplicitTop = 27
|
||||||
|
ExplicitWidth = 1597
|
||||||
|
object Label3: TLabel
|
||||||
|
Left = 261
|
||||||
|
Top = 46
|
||||||
|
Width = 32
|
||||||
|
Height = 21
|
||||||
|
Caption = #21697#21517
|
||||||
|
end
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 23
|
||||||
|
Top = 46
|
||||||
|
Width = 64
|
||||||
|
Height = 21
|
||||||
|
Caption = #20986#24211#21333#21495
|
||||||
|
end
|
||||||
|
object Label8: TLabel
|
||||||
|
Left = 261
|
||||||
|
Top = 83
|
||||||
|
Width = 32
|
||||||
|
Height = 21
|
||||||
|
Caption = #35268#26684
|
||||||
|
end
|
||||||
|
object Label12: TLabel
|
||||||
|
Left = 24
|
||||||
|
Top = 83
|
||||||
|
Width = 64
|
||||||
|
Height = 21
|
||||||
|
Caption = #20986#24211#31867#22411
|
||||||
|
end
|
||||||
|
object Label4: TLabel
|
||||||
|
Left = 458
|
||||||
|
Top = 46
|
||||||
|
Width = 64
|
||||||
|
Height = 21
|
||||||
|
Caption = #26469#33258#21333#20301
|
||||||
|
end
|
||||||
|
object Label9: TLabel
|
||||||
|
Left = 458
|
||||||
|
Top = 83
|
||||||
|
Width = 64
|
||||||
|
Height = 21
|
||||||
|
Caption = #20986#21040#21333#20301
|
||||||
|
end
|
||||||
|
object Label6: TLabel
|
||||||
|
Left = 681
|
||||||
|
Top = 83
|
||||||
|
Width = 80
|
||||||
|
Height = 21
|
||||||
|
Caption = #20986#21040#35745#21010#21333
|
||||||
|
end
|
||||||
|
object Label7: TLabel
|
||||||
|
Left = 681
|
||||||
|
Top = 46
|
||||||
|
Width = 80
|
||||||
|
Height = 21
|
||||||
|
Caption = #26469#33258#35745#21010#21333
|
||||||
|
end
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 948
|
||||||
|
Top = 46
|
||||||
|
Width = 32
|
||||||
|
Height = 21
|
||||||
|
Caption = #24067#31181
|
||||||
|
end
|
||||||
|
object Label2: TLabel
|
||||||
|
Left = 932
|
||||||
|
Top = 83
|
||||||
|
Width = 48
|
||||||
|
Height = 21
|
||||||
|
Caption = #21152#24037#21035
|
||||||
|
end
|
||||||
|
object C_NAME: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 302
|
||||||
|
Top = 40
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object BCIONO: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 93
|
||||||
|
Top = 40
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object C_spec: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 302
|
||||||
|
Top = 77
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 2
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object FromCoName: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 526
|
||||||
|
Top = 40
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 3
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object ToCoName: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 526
|
||||||
|
Top = 77
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 4
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object ToOrdNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 767
|
||||||
|
Top = 77
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 5
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object FromOrdNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 767
|
||||||
|
Top = 40
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 6
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
inline frmFrameDateSel1: TfrmFrameDateSel
|
||||||
|
Left = 2
|
||||||
|
Top = 2
|
||||||
|
Width = 1840
|
||||||
|
Height = 36
|
||||||
|
Align = alTop
|
||||||
|
Color = clWhite
|
||||||
|
ParentBackground = False
|
||||||
|
ParentColor = False
|
||||||
|
TabOrder = 7
|
||||||
|
ExplicitLeft = 2
|
||||||
|
ExplicitTop = 2
|
||||||
|
ExplicitWidth = 1593
|
||||||
|
inherited lbl2: TLabel
|
||||||
|
Width = 16
|
||||||
|
Height = 21
|
||||||
|
ExplicitWidth = 16
|
||||||
|
ExplicitHeight = 21
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object IOType: TcxComboBox
|
||||||
|
Left = 93
|
||||||
|
Top = 77
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 8
|
||||||
|
Width = 149
|
||||||
|
end
|
||||||
|
object GC_Name: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 984
|
||||||
|
Top = 40
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 9
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object CraftCode: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 984
|
||||||
|
Top = 77
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 10
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1: TcxGrid [2]
|
||||||
|
Left = 0
|
||||||
|
Top = 178
|
||||||
|
Width = 1408
|
||||||
|
Height = 554
|
||||||
|
Align = alClient
|
||||||
|
PopupMenu = PopupMenu1
|
||||||
|
TabOrder = 2
|
||||||
|
ExplicitLeft = 8
|
||||||
|
ExplicitTop = 184
|
||||||
|
object Tv1: TcxGridDBTableView
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
OnFocusedRecordChanged = Tv1FocusedRecordChanged
|
||||||
|
DataController.DataSource = DataSource1
|
||||||
|
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Position = spFooter
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end>
|
||||||
|
DataController.Summary.FooterSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skCount
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1Column33
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1Column34
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = Tv1Column35
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = cxgrdbclmnTv1Column1
|
||||||
|
end>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsCustomize.ColumnFiltering = False
|
||||||
|
OptionsView.Footer = True
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
OptionsView.IndicatorWidth = 40
|
||||||
|
object Tv1Column5: TcxGridDBColumn
|
||||||
|
Caption = #36873#25321
|
||||||
|
DataBinding.FieldName = 'SSel'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxCheckBoxProperties'
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object v1Column6: TcxGridDBColumn
|
||||||
|
Caption = #20986#24211#21333#21495
|
||||||
|
DataBinding.FieldName = 'BCIONO'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 87
|
||||||
|
end
|
||||||
|
object v1Column2: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #20986#24211#26102#38388
|
||||||
|
DataBinding.FieldName = 'IOTime'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxDateEditProperties'
|
||||||
|
Properties.SaveTime = False
|
||||||
|
Properties.ShowTime = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 92
|
||||||
|
end
|
||||||
|
object v1Column15: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #25152#23646#31867#22411
|
||||||
|
DataBinding.FieldName = 'SSType'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxComboBoxProperties'
|
||||||
|
Properties.DropDownListStyle = lsFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
#33258#24049
|
||||||
|
#23458#25143)
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object v1Column1: TcxGridDBColumn
|
||||||
|
Caption = #37319#36141#21333#21495
|
||||||
|
DataBinding.FieldName = 'ConNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object v1Column14: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #26469#33258#21333#20301
|
||||||
|
DataBinding.FieldName = 'FromCoName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxButtonEditProperties'
|
||||||
|
Properties.Alignment.Horz = taLeftJustify
|
||||||
|
Properties.Buttons = <
|
||||||
|
item
|
||||||
|
Default = True
|
||||||
|
Kind = bkEllipsis
|
||||||
|
end>
|
||||||
|
Properties.ReadOnly = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 102
|
||||||
|
end
|
||||||
|
object Tv1Column8: TcxGridDBColumn
|
||||||
|
Caption = #32534#21495
|
||||||
|
DataBinding.FieldName = 'C_Code'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object v2Column1: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #21697#21517
|
||||||
|
DataBinding.FieldName = 'C_Name'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxButtonEditProperties'
|
||||||
|
Properties.Buttons = <
|
||||||
|
item
|
||||||
|
Default = True
|
||||||
|
Kind = bkEllipsis
|
||||||
|
end>
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object v1Column17: TcxGridDBColumn
|
||||||
|
Caption = #21697#29260
|
||||||
|
DataBinding.FieldName = 'SXPinPai'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object v1Column20: TcxGridDBColumn
|
||||||
|
Caption = #32534#21495
|
||||||
|
DataBinding.FieldName = 'SPCode'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object v1Column10: TcxGridDBColumn
|
||||||
|
Caption = #25209#21495
|
||||||
|
DataBinding.FieldName = 'BatchNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object Tv1Column4: TcxGridDBColumn
|
||||||
|
Caption = #39068#33394
|
||||||
|
DataBinding.FieldName = 'C_Color'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object Tv1Column9: TcxGridDBColumn
|
||||||
|
Caption = #33457#22411
|
||||||
|
DataBinding.FieldName = 'C_Pattern'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object Tv1Column6: TcxGridDBColumn
|
||||||
|
Caption = #33394#21495
|
||||||
|
DataBinding.FieldName = 'C_ColorNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object Tv1Column7: TcxGridDBColumn
|
||||||
|
Caption = #32568#21495
|
||||||
|
DataBinding.FieldName = 'FtyPCId'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object v1Column18: TcxGridDBColumn
|
||||||
|
Caption = #35745#21010#21333
|
||||||
|
DataBinding.FieldName = 'ToOrdNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 73
|
||||||
|
end
|
||||||
|
object Tv1Column30: TcxGridDBColumn
|
||||||
|
Caption = #21512#21516#21495
|
||||||
|
DataBinding.FieldName = 'fromConNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object Tv1Column35: TcxGridDBColumn
|
||||||
|
Caption = #25277#26816#21305#25968
|
||||||
|
DataBinding.FieldName = 'Piece2'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 104
|
||||||
|
end
|
||||||
|
object Tv1Column33: TcxGridDBColumn
|
||||||
|
Caption = #25277#26816#25968#37327
|
||||||
|
DataBinding.FieldName = 'Qty2'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 100
|
||||||
|
end
|
||||||
|
object Tv1Column34: TcxGridDBColumn
|
||||||
|
Caption = #21407#25968#37327
|
||||||
|
DataBinding.FieldName = 'Qty1'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 94
|
||||||
|
end
|
||||||
|
object cxgrdbclmnTv1Column1: TcxGridDBColumn
|
||||||
|
Caption = #25968#37327#24046
|
||||||
|
DataBinding.FieldName = 'Qty3'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
end
|
||||||
|
object cxgrdbclmnTv1Column2: TcxGridDBColumn
|
||||||
|
Caption = #25968#37327#21333#20301
|
||||||
|
DataBinding.FieldName = 'QtyUnit'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 113
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1Level1: TcxGridLevel
|
||||||
|
GridView = Tv1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited loadProcess: TPanel
|
||||||
|
Left = 777
|
||||||
|
Top = 447
|
||||||
|
ExplicitLeft = 777
|
||||||
|
ExplicitTop = 447
|
||||||
|
end
|
||||||
|
inherited cxProgressBar2: TcxProgressBar
|
||||||
|
Left = 777
|
||||||
|
Top = 396
|
||||||
|
ExplicitLeft = 777
|
||||||
|
ExplicitTop = 396
|
||||||
|
ExplicitWidth = 169
|
||||||
|
ExplicitHeight = 29
|
||||||
|
Width = 169
|
||||||
|
end
|
||||||
|
object cxTabControl1: TcxTabControl [5]
|
||||||
|
Left = 0
|
||||||
|
Top = 148
|
||||||
|
Width = 1844
|
||||||
|
Height = 30
|
||||||
|
Align = alTop
|
||||||
|
TabOrder = 5
|
||||||
|
Visible = False
|
||||||
|
Properties.CustomButtons.Buttons = <>
|
||||||
|
Properties.Style = 9
|
||||||
|
Properties.TabIndex = 0
|
||||||
|
Properties.Tabs.Strings = (
|
||||||
|
' '#24453#26816#39564' '
|
||||||
|
#13' '#24050#26816#39564' '
|
||||||
|
#13' '#20840#37096' ')
|
||||||
|
OnChange = cxTabControl1Change
|
||||||
|
ExplicitTop = 145
|
||||||
|
ExplicitWidth = 1597
|
||||||
|
ClientRectRight = 0
|
||||||
|
ClientRectTop = 0
|
||||||
|
end
|
||||||
|
object pnl1: TPanel [6]
|
||||||
|
Left = 1408
|
||||||
|
Top = 178
|
||||||
|
Width = 436
|
||||||
|
Height = 554
|
||||||
|
Align = alRight
|
||||||
|
Caption = 'pnl1'
|
||||||
|
TabOrder = 6
|
||||||
|
object cxGrid2: TcxGrid
|
||||||
|
Left = 1
|
||||||
|
Top = 31
|
||||||
|
Width = 434
|
||||||
|
Height = 522
|
||||||
|
Align = alClient
|
||||||
|
PopupMenu = PopupMenu1
|
||||||
|
TabOrder = 0
|
||||||
|
ExplicitLeft = 1286
|
||||||
|
ExplicitTop = 170
|
||||||
|
ExplicitWidth = 564
|
||||||
|
ExplicitHeight = 554
|
||||||
|
object TV2: TcxGridDBTableView
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
DataController.DataSource = DS_2
|
||||||
|
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Position = spFooter
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end>
|
||||||
|
DataController.Summary.FooterSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = cxgrdbclmnTV_2Column1
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = cxgrdbclmnTV_2Column2
|
||||||
|
end>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsCustomize.ColumnFiltering = False
|
||||||
|
OptionsView.Footer = True
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
OptionsView.IndicatorWidth = 40
|
||||||
|
object cxgrdbclmn1: TcxGridDBColumn
|
||||||
|
Caption = #36873#25321
|
||||||
|
DataBinding.FieldName = 'SSel'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxCheckBoxProperties'
|
||||||
|
Properties.ImmediatePost = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 66
|
||||||
|
end
|
||||||
|
object cxgrdbclmnTV2Column1: TcxGridDBColumn
|
||||||
|
Caption = #21367#21495
|
||||||
|
DataBinding.FieldName = 'PieceNo1'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
end
|
||||||
|
object cxgrdbclmnTV_2Column2: TcxGridDBColumn
|
||||||
|
Caption = #24403#21069#25968#37327
|
||||||
|
DataBinding.FieldName = 'Qty1'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 83
|
||||||
|
end
|
||||||
|
object cxgrdbclmnTV_2Column1: TcxGridDBColumn
|
||||||
|
Caption = #21407#25968#37327
|
||||||
|
DataBinding.FieldName = 'Qty2'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 80
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGridLevel1: TcxGridLevel
|
||||||
|
GridView = TV2
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object tlb1: TToolBar
|
||||||
|
Tag = 1
|
||||||
|
Left = 1
|
||||||
|
Top = 1
|
||||||
|
Width = 434
|
||||||
|
Height = 30
|
||||||
|
AutoSize = True
|
||||||
|
ButtonHeight = 30
|
||||||
|
ButtonWidth = 99
|
||||||
|
Caption = 'ToolBar1'
|
||||||
|
Images = DataLink_TradeInsp.cxImageList_bar
|
||||||
|
List = True
|
||||||
|
ShowCaptions = True
|
||||||
|
TabOrder = 1
|
||||||
|
object btn1: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20462#25913#31859#25968
|
||||||
|
ImageIndex = 3
|
||||||
|
OnClick = btn1Click
|
||||||
|
end
|
||||||
|
object btn2: TToolButton
|
||||||
|
Left = 103
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20462#25913#37325#37327
|
||||||
|
ImageIndex = 4
|
||||||
|
OnClick = btn2Click
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseCmd: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 260
|
||||||
|
Top = 246
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseTemp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 92
|
||||||
|
Top = 230
|
||||||
|
end
|
||||||
|
object ADOQueryCmd: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Parameters = <>
|
||||||
|
Left = 560
|
||||||
|
Top = 300
|
||||||
|
end
|
||||||
|
object ADOQueryMain: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 637
|
||||||
|
Top = 529
|
||||||
|
end
|
||||||
|
object ADOQueryTemp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 707
|
||||||
|
Top = 306
|
||||||
|
end
|
||||||
|
object DataSource1: TDataSource
|
||||||
|
DataSet = CDS_Main
|
||||||
|
Left = 824
|
||||||
|
Top = 546
|
||||||
|
end
|
||||||
|
object GPM_1: TcxGridPopupMenu
|
||||||
|
Grid = cxGrid1
|
||||||
|
PopupMenus = <>
|
||||||
|
Left = 545
|
||||||
|
Top = 534
|
||||||
|
end
|
||||||
|
object CDS_Main: TClientDataSet
|
||||||
|
Aggregates = <>
|
||||||
|
Params = <>
|
||||||
|
Left = 748
|
||||||
|
Top = 535
|
||||||
|
end
|
||||||
|
object PopupMenu1: TPopupMenu
|
||||||
|
Left = 524
|
||||||
|
Top = 412
|
||||||
|
object N1: TMenuItem
|
||||||
|
Caption = #20840#36873
|
||||||
|
OnClick = N1Click
|
||||||
|
end
|
||||||
|
object N2: TMenuItem
|
||||||
|
Caption = #20840#24323
|
||||||
|
OnClick = N2Click
|
||||||
|
end
|
||||||
|
object N3: TMenuItem
|
||||||
|
Caption = #22797#21046
|
||||||
|
OnClick = N3Click
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object ADOQueryPrint: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Parameters = <>
|
||||||
|
Left = 655
|
||||||
|
Top = 444
|
||||||
|
end
|
||||||
|
object DS_2: TDataSource
|
||||||
|
DataSet = CDS_2
|
||||||
|
Left = 832
|
||||||
|
Top = 626
|
||||||
|
end
|
||||||
|
object CDS_2: TClientDataSet
|
||||||
|
Aggregates = <>
|
||||||
|
Params = <>
|
||||||
|
Left = 756
|
||||||
|
Top = 615
|
||||||
|
end
|
||||||
|
object ADO_2: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 645
|
||||||
|
Top = 609
|
||||||
|
end
|
||||||
|
object GPM_2: TcxGridPopupMenu
|
||||||
|
Grid = cxGrid1
|
||||||
|
PopupMenus = <>
|
||||||
|
Left = 553
|
||||||
|
Top = 614
|
||||||
|
end
|
||||||
|
end
|
||||||
518
T03贸易布匹检验/U_TradeClothTotalCXJYOutList.pas
Normal file
518
T03贸易布匹检验/U_TradeClothTotalCXJYOutList.pas
Normal file
|
|
@ -0,0 +1,518 @@
|
||||||
|
unit U_TradeClothTotalCXJYOutList;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Vcl.Printers, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||||
|
cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
|
||||||
|
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
|
||||||
|
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
|
||||||
|
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
|
||||||
|
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
|
||||||
|
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC,
|
||||||
|
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges,
|
||||||
|
dxBarBuiltInMenu, U_BaseList, Clipbrd, dxScrollbarAnnotations, FrameDateSel,
|
||||||
|
cxContainer, cxMaskEdit, cxProgressBar, cxButtons, dxSkinsCore,
|
||||||
|
dxSkinsDefaultPainters;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmTradeClothTotalCXJYOutList = class(TfrmBaseList)
|
||||||
|
ToolBar1: TToolBar;
|
||||||
|
TBRafresh: TToolButton;
|
||||||
|
TBFind: TToolButton;
|
||||||
|
TBExport: TToolButton;
|
||||||
|
TBClose: TToolButton;
|
||||||
|
Panel1: TPanel;
|
||||||
|
ADOQueryCmd: TADOQuery;
|
||||||
|
ADOQueryMain: TADOQuery;
|
||||||
|
ADOQueryTemp: TADOQuery;
|
||||||
|
DataSource1: TDataSource;
|
||||||
|
GPM_1: TcxGridPopupMenu;
|
||||||
|
CDS_Main: TClientDataSet;
|
||||||
|
PopupMenu1: TPopupMenu;
|
||||||
|
N1: TMenuItem;
|
||||||
|
N2: TMenuItem;
|
||||||
|
cxGrid1: TcxGrid;
|
||||||
|
Tv1: TcxGridDBTableView;
|
||||||
|
v1Column6: TcxGridDBColumn;
|
||||||
|
v1Column2: TcxGridDBColumn;
|
||||||
|
v1Column15: TcxGridDBColumn;
|
||||||
|
v1Column14: TcxGridDBColumn;
|
||||||
|
v2Column1: TcxGridDBColumn;
|
||||||
|
cxGrid1Level1: TcxGridLevel;
|
||||||
|
Label3: TLabel;
|
||||||
|
Label5: TLabel;
|
||||||
|
Label8: TLabel;
|
||||||
|
Label12: TLabel;
|
||||||
|
C_NAME: TcxTextEdit;
|
||||||
|
BCIONO: TcxTextEdit;
|
||||||
|
C_spec: TcxTextEdit;
|
||||||
|
v1Column20: TcxGridDBColumn;
|
||||||
|
v1Column1: TcxGridDBColumn;
|
||||||
|
v1Column10: TcxGridDBColumn;
|
||||||
|
v1Column17: TcxGridDBColumn;
|
||||||
|
v1Column18: TcxGridDBColumn;
|
||||||
|
ToolButton1: TToolButton;
|
||||||
|
Tv1Column4: TcxGridDBColumn;
|
||||||
|
Tv1Column5: TcxGridDBColumn;
|
||||||
|
Tv1Column6: TcxGridDBColumn;
|
||||||
|
Tv1Column7: TcxGridDBColumn;
|
||||||
|
Tv1Column8: TcxGridDBColumn;
|
||||||
|
Tv1Column9: TcxGridDBColumn;
|
||||||
|
N3: TMenuItem;
|
||||||
|
Label4: TLabel;
|
||||||
|
Label9: TLabel;
|
||||||
|
Label6: TLabel;
|
||||||
|
Label7: TLabel;
|
||||||
|
FromCoName: TcxTextEdit;
|
||||||
|
ToCoName: TcxTextEdit;
|
||||||
|
ToOrdNo: TcxTextEdit;
|
||||||
|
FromOrdNo: TcxTextEdit;
|
||||||
|
frmFrameDateSel1: TfrmFrameDateSel;
|
||||||
|
IOType: TcxComboBox;
|
||||||
|
Label1: TLabel;
|
||||||
|
Label2: TLabel;
|
||||||
|
GC_Name: TcxTextEdit;
|
||||||
|
CraftCode: TcxTextEdit;
|
||||||
|
Tv1Column30: TcxGridDBColumn;
|
||||||
|
ADOQueryPrint: TADOQuery;
|
||||||
|
cxTabControl1: TcxTabControl;
|
||||||
|
Tv1Column33: TcxGridDBColumn;
|
||||||
|
Tv1Column34: TcxGridDBColumn;
|
||||||
|
Tv1Column35: TcxGridDBColumn;
|
||||||
|
cxgrdbclmnTv1Column1: TcxGridDBColumn;
|
||||||
|
DS_2: TDataSource;
|
||||||
|
CDS_2: TClientDataSet;
|
||||||
|
ADO_2: TADOQuery;
|
||||||
|
GPM_2: TcxGridPopupMenu;
|
||||||
|
pnl1: TPanel;
|
||||||
|
cxGrid2: TcxGrid;
|
||||||
|
TV2: TcxGridDBTableView;
|
||||||
|
cxgrdbclmn1: TcxGridDBColumn;
|
||||||
|
cxgrdbclmnTV2Column1: TcxGridDBColumn;
|
||||||
|
cxgrdbclmnTV_2Column2: TcxGridDBColumn;
|
||||||
|
cxgrdbclmnTV_2Column1: TcxGridDBColumn;
|
||||||
|
cxGridLevel1: TcxGridLevel;
|
||||||
|
tlb1: TToolBar;
|
||||||
|
btn1: TToolButton;
|
||||||
|
btn2: TToolButton;
|
||||||
|
cxgrdbclmnTv1Column2: TcxGridDBColumn;
|
||||||
|
btn3: TToolButton;
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure TBRafreshClick(Sender: TObject);
|
||||||
|
procedure ConNoMChange(Sender: TObject);
|
||||||
|
procedure TBCloseClick(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure TBExportClick(Sender: TObject);
|
||||||
|
procedure TBFindClick(Sender: TObject);
|
||||||
|
procedure SPNameChange(Sender: TObject);
|
||||||
|
procedure BCIOIDChange(Sender: TObject);
|
||||||
|
procedure N1Click(Sender: TObject);
|
||||||
|
procedure N2Click(Sender: TObject);
|
||||||
|
procedure C_specChange(Sender: TObject);
|
||||||
|
procedure cxTabControl1Change(Sender: TObject);
|
||||||
|
procedure ToolButton1Click(Sender: TObject);
|
||||||
|
procedure N3Click(Sender: TObject);
|
||||||
|
procedure BCIOIDPropertiesChange(Sender: TObject);
|
||||||
|
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||||||
|
procedure btn1Click(Sender: TObject);
|
||||||
|
procedure btn2Click(Sender: TObject);
|
||||||
|
private
|
||||||
|
canshu1, FstkName, canshu3: string;
|
||||||
|
procedure InitGrid();
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
FFSPID, FC_Degree, FC_Pack: string;
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
//var
|
||||||
|
// frmPBOutList: TfrmPBOutList;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
U_DataLink, U_RTFun, U_LabelPrint, U_BatchMdyData;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
Action := caFree;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
canshu1 := Trim(self.fParameters1);
|
||||||
|
FSTKName := Trim(self.fParameters2);
|
||||||
|
canshu3 := Trim(self.fParameters3);
|
||||||
|
frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp);
|
||||||
|
frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date - 90;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.InitGrid();
|
||||||
|
var
|
||||||
|
SqlStr: string;
|
||||||
|
begin
|
||||||
|
|
||||||
|
SqlStr := ' exec P_Trade_Insp_Recheck_View ';
|
||||||
|
|
||||||
|
SqlStr := SqlStr + ' @BegDate=''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)) + '''';
|
||||||
|
SqlStr := SqlStr + ' ,@Enddate=''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date + 1)) + '''';
|
||||||
|
|
||||||
|
|
||||||
|
// case cxTabControl1.TabIndex of
|
||||||
|
// 0:
|
||||||
|
// begin
|
||||||
|
// SqlStr := SqlStr + ' and NOT exists(select ciid from Trade_Cloth_Inspect X where X.BCIOID=A.BCIOID) ';
|
||||||
|
// end;
|
||||||
|
// 1:
|
||||||
|
// begin
|
||||||
|
// SqlStr := SqlStr + ' and exists(select ciid from Trade_Cloth_Inspect X where X.BCIOID=A.BCIOID) ';
|
||||||
|
// end;
|
||||||
|
// end;
|
||||||
|
|
||||||
|
|
||||||
|
InitCDSData(ADOQueryMain, CDS_Main, Tv1, SqlStr, SGetFilters(Panel1, 1, 2), 'BCIOID');
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.TBRafreshClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
frmFrameDateSel1.BegDate.SetFocus;
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.ToolButton1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
WriteCxGrid(trim(Self.Caption), Tv1, '贸易汇总仓库');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||||||
|
var
|
||||||
|
SqlStr: string;
|
||||||
|
begin
|
||||||
|
|
||||||
|
SqlStr := ' select A.BCIOID,A.MainID,A.CIID,A.GrossWeight,A.Tare,A.NetWeight,A.Meter,A.Yardage,PieceNo1=A.PieceNo,Qty1=A.Qty,Qty2= B.Qty ';
|
||||||
|
|
||||||
|
SqlStr := SqlStr + ' from Trade_Cloth_Inspect A left join Trade_Cloth_Inspect_recheck B on A.CIID=B.CIID ';
|
||||||
|
SqlStr := SqlStr + ' where A.BCIOID=''' + Trim(CDS_Main.FieldByName('BCIOID').AsString) + '''';
|
||||||
|
|
||||||
|
InitCDSData(ADO_2, CDS_2, Tv2, SqlStr, '', '');
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.BCIOIDPropertiesChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBFind.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.btn1Click(Sender: TObject);
|
||||||
|
var
|
||||||
|
isOk: boolean;
|
||||||
|
mtzfs: string;
|
||||||
|
mtzsl, mvalue: double;
|
||||||
|
decimalY: integer;
|
||||||
|
begin
|
||||||
|
if CDS_2.IsEmpty then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
if CDS_2.Locate('SSel', True, []) = False then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('请先选择数据记录', '提示', 0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
with ADOQueryBaseTemp do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
SQL.Clear;
|
||||||
|
SQL.Add('select * from BS_Cloth_IO A ');
|
||||||
|
|
||||||
|
sql.Add(' where EXISTS(select X.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(SelCDSKey(CDS_2, ['cIId'])[0]) + ','','') X where X.RTValue=A.StkId ) ');
|
||||||
|
Open;
|
||||||
|
|
||||||
|
if not IsEmpty then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('已产生入库数据不能操作!', '提示', 0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
isOk := false;
|
||||||
|
frmBatchMdyData := TfrmBatchMdyData.create(self);
|
||||||
|
with frmBatchMdyData do
|
||||||
|
begin
|
||||||
|
fTabCaption := '调整米数';
|
||||||
|
if ShowModal = 1 then
|
||||||
|
begin
|
||||||
|
mtzfs := Trim(tzfs.Text);
|
||||||
|
mtzsl := strTofloatdef(Trim(tzsl.Text), 0);
|
||||||
|
isOk := true;
|
||||||
|
end;
|
||||||
|
free;
|
||||||
|
end;
|
||||||
|
if not isOk then
|
||||||
|
exit;
|
||||||
|
|
||||||
|
with ADOQueryTemp do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
SQL.Clear;
|
||||||
|
sql.Add(' select * from Trade_Cloth_Inspect_Rule where RuleID=' + quotedstr(Trim(CDS_2.fieldbyname('mainId').AsString)));
|
||||||
|
Open;
|
||||||
|
if not IsEmpty then
|
||||||
|
begin
|
||||||
|
if fieldByname('decimalY').AsInteger > 0 then
|
||||||
|
decimalY := fieldByname('decimalY').AsInteger
|
||||||
|
else
|
||||||
|
decimalY := 1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
try
|
||||||
|
CDS_2.DisableControls;
|
||||||
|
ADOQueryCmd.Connection.BeginTrans;
|
||||||
|
with CDS_2 do
|
||||||
|
begin
|
||||||
|
First;
|
||||||
|
while not Eof do
|
||||||
|
begin
|
||||||
|
if CDS_2.FieldByName('SSel').AsBoolean = True then
|
||||||
|
begin
|
||||||
|
if mtzfs = '增加' then
|
||||||
|
begin
|
||||||
|
mvalue := CDS_2.fieldbyname('Meter').AsFloat + mtzsl;
|
||||||
|
end;
|
||||||
|
if mtzfs = '减少' then
|
||||||
|
begin
|
||||||
|
mvalue := CDS_2.fieldbyname('Meter').AsFloat - mtzsl;
|
||||||
|
end;
|
||||||
|
with ADOQueryCmd do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
sql.Clear;
|
||||||
|
sql.Add('Update Trade_Cloth_Inspect Set Meter=' + floatTostr(mvalue));
|
||||||
|
sql.Add('where cIId=''' + Trim(CDS_2.fieldbyname('cIId').AsString) + '''');
|
||||||
|
|
||||||
|
sql.Add('Update Trade_Cloth_Inspect Set yardage=round(meter/0.9144,' + inttostr(decimalY) + ')');
|
||||||
|
sql.Add('where cIId=''' + Trim(CDS_2.fieldbyname('cIId').AsString) + '''');
|
||||||
|
|
||||||
|
sql.Add('Update Trade_Cloth_Inspect Set Qty=CASE WHEN QtyUnit=''M'' THEN Meter WHEN QtyUnit=''Y'' THEN Yardage WHEN QtyUnit=''kg'' THEN GrossWeight ELSE 0 END ');
|
||||||
|
sql.Add('where cIId=''' + Trim(CDS_2.fieldbyname('cIId').AsString) + '''');
|
||||||
|
ExecSQL;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Next;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
ADOQueryCmd.Connection.CommitTrans;
|
||||||
|
CDS_2.EnableControls;
|
||||||
|
application.MessageBox('数据操作成功!', '提示信息');
|
||||||
|
TBRafresh.Click;
|
||||||
|
except
|
||||||
|
ADOQueryCmd.Connection.RollbackTrans;
|
||||||
|
CDS_2.EnableControls;
|
||||||
|
application.MessageBox('数据操作失败!', '提示信息', 0);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.btn2Click(Sender: TObject);
|
||||||
|
var
|
||||||
|
isOk: boolean;
|
||||||
|
mtzfs: string;
|
||||||
|
mtzsl, mvalue: double;
|
||||||
|
decimalY: integer;
|
||||||
|
mfield: string;
|
||||||
|
begin
|
||||||
|
if CDS_2.IsEmpty then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
if CDS_2.Locate('SSel', True, []) = False then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('请先选择数据记录', '提示', 0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
with ADOQueryBaseTemp do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
SQL.Clear;
|
||||||
|
SQL.Add('select * from BS_Cloth_IO A ');
|
||||||
|
|
||||||
|
sql.Add(' where EXISTS(select X.RTValue from [dbo].[F_Tool_SplitString](' + quotedstr(SelCDSKey(CDS_2, ['cIId'])[0]) + ','','') X where X.RTValue=A.StkId ) ');
|
||||||
|
Open;
|
||||||
|
|
||||||
|
if not IsEmpty then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('已产生入库数据不能操作!', '提示', 0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
isOk := false;
|
||||||
|
frmBatchMdyData := TfrmBatchMdyData.create(self);
|
||||||
|
with frmBatchMdyData do
|
||||||
|
begin
|
||||||
|
fTabCaption := '独立调整重量';
|
||||||
|
if ShowModal = 1 then
|
||||||
|
begin
|
||||||
|
mtzfs := Trim(tzfs1.Text);
|
||||||
|
if Trim(tzfield.Text) = '毛重' then
|
||||||
|
begin
|
||||||
|
mfield := 'grossWeight';
|
||||||
|
end
|
||||||
|
else if Trim(tzfield.Text) = '净重' then
|
||||||
|
begin
|
||||||
|
mfield := 'netWeight';
|
||||||
|
end
|
||||||
|
else if Trim(tzfield.Text) = '皮重' then
|
||||||
|
begin
|
||||||
|
mfield := 'tare';
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
free;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
mtzsl := strTofloatdef(Trim(tzsl1.Text), 0);
|
||||||
|
isOk := true;
|
||||||
|
end;
|
||||||
|
free;
|
||||||
|
end;
|
||||||
|
if not isOk then
|
||||||
|
exit;
|
||||||
|
|
||||||
|
try
|
||||||
|
CDS_2.DisableControls;
|
||||||
|
ADOQueryCmd.Connection.BeginTrans;
|
||||||
|
with CDS_2 do
|
||||||
|
begin
|
||||||
|
First;
|
||||||
|
while not Eof do
|
||||||
|
begin
|
||||||
|
if CDS_2.FieldByName('SSel').AsBoolean = True then
|
||||||
|
begin
|
||||||
|
if mtzfs = '增加' then
|
||||||
|
begin
|
||||||
|
mvalue := CDS_2.fieldbyname(mfield).AsFloat + mtzsl;
|
||||||
|
end;
|
||||||
|
if mtzfs = '减少' then
|
||||||
|
begin
|
||||||
|
mvalue := CDS_2.fieldbyname(mfield).AsFloat - mtzsl;
|
||||||
|
end;
|
||||||
|
with ADOQueryCmd do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
sql.Clear;
|
||||||
|
sql.Add('Update Trade_Cloth_Inspect Set ' + mfield + '=' + floatTostr(mvalue));
|
||||||
|
sql.Add('where cIId=''' + Trim(CDS_2.fieldbyname('cIId').AsString) + '''');
|
||||||
|
|
||||||
|
sql.Add('Update Trade_Cloth_Inspect Set Qty=CASE WHEN QtyUnit=''M'' THEN Meter WHEN QtyUnit=''Y'' THEN Yardage WHEN QtyUnit=''kg'' THEN GrossWeight ELSE 0 END ');
|
||||||
|
sql.Add('where cIId=''' + Trim(CDS_2.fieldbyname('cIId').AsString) + '''');
|
||||||
|
ExecSQL;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
Next;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
ADOQueryCmd.Connection.CommitTrans;
|
||||||
|
CDS_2.EnableControls;
|
||||||
|
application.MessageBox('数据操作成功!', '提示信息');
|
||||||
|
TBRafresh.Click;
|
||||||
|
except
|
||||||
|
ADOQueryCmd.Connection.RollbackTrans;
|
||||||
|
CDS_2.EnableControls;
|
||||||
|
application.MessageBox('数据操作失败!', '提示信息', 0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.ConNoMChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if ADOQueryMain.Active then
|
||||||
|
begin
|
||||||
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.TBCloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
|
||||||
|
Close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.FormShow(Sender: TObject);
|
||||||
|
var
|
||||||
|
mSql: string;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
mSql := 'select distinct name=A.IOType from BS_Cloth_IO A where IOFlag=''出库'' and isnull(STKNAME,'''')=''' + Trim(FSTKNAME) + ''' ';
|
||||||
|
SInitTcxComBoxBySql(ADOQueryTemp, IOType, false, mSql);
|
||||||
|
ReadCxGrid(trim(Self.Caption), Tv1, '贸易汇总仓库');
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.TBExportClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if ADOQueryMain.IsEmpty then
|
||||||
|
exit;
|
||||||
|
TcxGridToExcel(FstkName + '出库列表', cxGrid1);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.TBFindClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if ADOQueryMain.Active then
|
||||||
|
begin
|
||||||
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||||||
|
SCreateCDS(ADOQueryMain, CDS_Main);
|
||||||
|
SInitCDSData(ADOQueryMain, CDS_Main);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.SPNameChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBFind.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.BCIOIDChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Length(Trim(BCIOno.Text)) < 4 then
|
||||||
|
begin
|
||||||
|
if Trim(BCIOno.Text) <> '' then
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
TBFind.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.N1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
SelOKNo(CDS_Main, True);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.N2Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
SelOKNo(CDS_Main, False);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.N3Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.C_specChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBFind.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalCXJYOutList.cxTabControl1Change(Sender: TObject);
|
||||||
|
begin
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
810
T03贸易布匹检验/U_TradeClothTotalOutSel.dfm
Normal file
810
T03贸易布匹检验/U_TradeClothTotalOutSel.dfm
Normal file
|
|
@ -0,0 +1,810 @@
|
||||||
|
inherited frmTradeClothTotalOutSel: TfrmTradeClothTotalOutSel
|
||||||
|
Left = 65
|
||||||
|
Top = 98
|
||||||
|
Caption = #36152#26131#24067#21305#20986#24211#21015#34920
|
||||||
|
ClientHeight = 564
|
||||||
|
ClientWidth = 1597
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Position = poScreenCenter
|
||||||
|
OnClose = FormClose
|
||||||
|
ExplicitWidth = 1613
|
||||||
|
ExplicitHeight = 603
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 21
|
||||||
|
object ToolBar1: TToolBar [0]
|
||||||
|
Tag = 1
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 1597
|
||||||
|
Height = 30
|
||||||
|
AutoSize = True
|
||||||
|
ButtonHeight = 30
|
||||||
|
ButtonWidth = 99
|
||||||
|
Caption = 'ToolBar1'
|
||||||
|
Color = clBtnFace
|
||||||
|
Images = DataLink_TradeInsp.cxImageList_bar
|
||||||
|
List = True
|
||||||
|
ParentColor = True
|
||||||
|
ShowCaptions = True
|
||||||
|
TabOrder = 0
|
||||||
|
object TBRafresh: TToolButton
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #21047#26032
|
||||||
|
ImageIndex = 1
|
||||||
|
OnClick = TBRafreshClick
|
||||||
|
end
|
||||||
|
object TBFind: TToolButton
|
||||||
|
Left = 71
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #36807#28388
|
||||||
|
ImageIndex = 0
|
||||||
|
Visible = False
|
||||||
|
OnClick = TBFindClick
|
||||||
|
end
|
||||||
|
object btnOK: TToolButton
|
||||||
|
Left = 142
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #30830#35748
|
||||||
|
ImageIndex = 12
|
||||||
|
OnClick = btnOKClick
|
||||||
|
end
|
||||||
|
object ToolButton1: TToolButton
|
||||||
|
Left = 213
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20445#23384#26684#24335
|
||||||
|
ImageIndex = 16
|
||||||
|
OnClick = ToolButton1Click
|
||||||
|
end
|
||||||
|
object TBClose: TToolButton
|
||||||
|
Left = 316
|
||||||
|
Top = 0
|
||||||
|
AutoSize = True
|
||||||
|
Caption = #20851#38381
|
||||||
|
ImageIndex = 7
|
||||||
|
OnClick = TBCloseClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object Panel1: TPanel [1]
|
||||||
|
Left = 0
|
||||||
|
Top = 30
|
||||||
|
Width = 1597
|
||||||
|
Height = 118
|
||||||
|
Align = alTop
|
||||||
|
BevelInner = bvRaised
|
||||||
|
BevelOuter = bvLowered
|
||||||
|
ParentBackground = False
|
||||||
|
ParentColor = True
|
||||||
|
TabOrder = 1
|
||||||
|
object Label3: TLabel
|
||||||
|
Left = 261
|
||||||
|
Top = 46
|
||||||
|
Width = 32
|
||||||
|
Height = 21
|
||||||
|
Caption = #21697#21517
|
||||||
|
end
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 23
|
||||||
|
Top = 46
|
||||||
|
Width = 64
|
||||||
|
Height = 21
|
||||||
|
Caption = #20986#24211#21333#21495
|
||||||
|
end
|
||||||
|
object Label8: TLabel
|
||||||
|
Left = 261
|
||||||
|
Top = 83
|
||||||
|
Width = 32
|
||||||
|
Height = 21
|
||||||
|
Caption = #35268#26684
|
||||||
|
end
|
||||||
|
object Label12: TLabel
|
||||||
|
Left = 24
|
||||||
|
Top = 83
|
||||||
|
Width = 64
|
||||||
|
Height = 21
|
||||||
|
Caption = #20986#24211#31867#22411
|
||||||
|
end
|
||||||
|
object Label4: TLabel
|
||||||
|
Left = 458
|
||||||
|
Top = 46
|
||||||
|
Width = 64
|
||||||
|
Height = 21
|
||||||
|
Caption = #26469#33258#21333#20301
|
||||||
|
end
|
||||||
|
object Label9: TLabel
|
||||||
|
Left = 458
|
||||||
|
Top = 83
|
||||||
|
Width = 64
|
||||||
|
Height = 21
|
||||||
|
Caption = #20986#21040#21333#20301
|
||||||
|
end
|
||||||
|
object Label6: TLabel
|
||||||
|
Left = 681
|
||||||
|
Top = 83
|
||||||
|
Width = 80
|
||||||
|
Height = 21
|
||||||
|
Caption = #20986#21040#35745#21010#21333
|
||||||
|
end
|
||||||
|
object Label7: TLabel
|
||||||
|
Left = 681
|
||||||
|
Top = 46
|
||||||
|
Width = 80
|
||||||
|
Height = 21
|
||||||
|
Caption = #26469#33258#35745#21010#21333
|
||||||
|
end
|
||||||
|
object C_NAME: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 302
|
||||||
|
Top = 40
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 0
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object BCIONO: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 93
|
||||||
|
Top = 40
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 1
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object C_spec: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 302
|
||||||
|
Top = 77
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 2
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object FromCoName: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 526
|
||||||
|
Top = 40
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 3
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object ToCoName: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 526
|
||||||
|
Top = 77
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 4
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object ToOrdNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 767
|
||||||
|
Top = 77
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 5
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
object FromOrdNo: TcxTextEdit
|
||||||
|
Tag = 2
|
||||||
|
Left = 767
|
||||||
|
Top = 40
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 6
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
inline frmFrameDateSel1: TfrmFrameDateSel
|
||||||
|
Left = 2
|
||||||
|
Top = 2
|
||||||
|
Width = 1593
|
||||||
|
Height = 36
|
||||||
|
Align = alTop
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = #24494#36719#38597#40657
|
||||||
|
Font.Style = []
|
||||||
|
ParentBackground = False
|
||||||
|
ParentColor = True
|
||||||
|
ParentFont = True
|
||||||
|
TabOrder = 7
|
||||||
|
ExplicitLeft = 2
|
||||||
|
ExplicitTop = 2
|
||||||
|
ExplicitWidth = 1593
|
||||||
|
inherited lbl2: TLabel
|
||||||
|
Width = 16
|
||||||
|
Height = 21
|
||||||
|
ExplicitWidth = 16
|
||||||
|
ExplicitHeight = 21
|
||||||
|
end
|
||||||
|
inherited cxButton2: TcxButton
|
||||||
|
Left = 611
|
||||||
|
ExplicitLeft = 611
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object IOType: TcxComboBox
|
||||||
|
Left = 93
|
||||||
|
Top = 77
|
||||||
|
Properties.OnChange = BCIOIDPropertiesChange
|
||||||
|
TabOrder = 8
|
||||||
|
Width = 149
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1: TcxGrid [2]
|
||||||
|
Left = 0
|
||||||
|
Top = 148
|
||||||
|
Width = 1597
|
||||||
|
Height = 416
|
||||||
|
Align = alClient
|
||||||
|
PopupMenu = PopupMenu1
|
||||||
|
TabOrder = 2
|
||||||
|
object Tv1: TcxGridDBTableView
|
||||||
|
Navigator.Buttons.CustomButtons = <>
|
||||||
|
ScrollbarAnnotations.CustomAnnotations = <>
|
||||||
|
DataController.DataSource = DataSource1
|
||||||
|
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
|
||||||
|
DataController.Summary.DefaultGroupSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Position = spFooter
|
||||||
|
Column = v1Column19
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = v1Column19
|
||||||
|
end>
|
||||||
|
DataController.Summary.FooterSummaryItems = <
|
||||||
|
item
|
||||||
|
Kind = skCount
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = v2Column6
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
Column = v1Column19
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Kind = skSum
|
||||||
|
end>
|
||||||
|
DataController.Summary.SummaryGroups = <>
|
||||||
|
OptionsCustomize.ColumnFiltering = False
|
||||||
|
OptionsView.Footer = True
|
||||||
|
OptionsView.GroupByBox = False
|
||||||
|
OptionsView.IndicatorWidth = 40
|
||||||
|
object v1Column5: TcxGridDBColumn
|
||||||
|
Caption = #36710#38388
|
||||||
|
DataBinding.FieldName = 'Workshop'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column6: TcxGridDBColumn
|
||||||
|
Caption = #20986#24211#21333#21495
|
||||||
|
DataBinding.FieldName = 'BCIONO'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column2: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #20986#24211#26102#38388
|
||||||
|
DataBinding.FieldName = 'IOTime'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxDateEditProperties'
|
||||||
|
Properties.SaveTime = False
|
||||||
|
Properties.ShowTime = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column4: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #20986#24211#31867#22411
|
||||||
|
DataBinding.FieldName = 'IOType'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxComboBoxProperties'
|
||||||
|
Properties.DropDownListStyle = lsFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
#21152#24037#20986#24211
|
||||||
|
#24179#31227#20986#24211
|
||||||
|
#36864#36135)
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column15: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #25152#23646#31867#22411
|
||||||
|
DataBinding.FieldName = 'SSType'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxComboBoxProperties'
|
||||||
|
Properties.DropDownListStyle = lsFixedList
|
||||||
|
Properties.Items.Strings = (
|
||||||
|
#33258#24049
|
||||||
|
#23458#25143)
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column1: TcxGridDBColumn
|
||||||
|
Caption = #37319#36141#21333#21495
|
||||||
|
DataBinding.FieldName = 'ConNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column14: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #26469#33258#21333#20301
|
||||||
|
DataBinding.FieldName = 'FromCoName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxButtonEditProperties'
|
||||||
|
Properties.Alignment.Horz = taLeftJustify
|
||||||
|
Properties.Buttons = <
|
||||||
|
item
|
||||||
|
Default = True
|
||||||
|
Kind = bkEllipsis
|
||||||
|
end>
|
||||||
|
Properties.ReadOnly = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column13: TcxGridDBColumn
|
||||||
|
Caption = #38376#24133
|
||||||
|
DataBinding.FieldName = 'C_Width'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column16: TcxGridDBColumn
|
||||||
|
Caption = #20811#37325
|
||||||
|
DataBinding.FieldName = 'C_GramWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column17: TcxGridDBColumn
|
||||||
|
Caption = #21697#29260
|
||||||
|
DataBinding.FieldName = 'SXPinPai'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v2Column1: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #21697#21517
|
||||||
|
DataBinding.FieldName = 'C_Name'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxButtonEditProperties'
|
||||||
|
Properties.Buttons = <
|
||||||
|
item
|
||||||
|
Default = True
|
||||||
|
Kind = bkEllipsis
|
||||||
|
end>
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column20: TcxGridDBColumn
|
||||||
|
Caption = #32534#21495
|
||||||
|
DataBinding.FieldName = 'SPCode'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column8: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #35268#26684
|
||||||
|
DataBinding.FieldName = 'C_Spec'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
HeaderGlyphAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column10: TcxGridDBColumn
|
||||||
|
Caption = #25209#21495
|
||||||
|
DataBinding.FieldName = 'BatchNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Visible = False
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column6: TcxGridDBColumn
|
||||||
|
Caption = #33394#21495
|
||||||
|
DataBinding.FieldName = 'C_ColorNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column7: TcxGridDBColumn
|
||||||
|
Caption = #32568#21495
|
||||||
|
DataBinding.FieldName = 'FtyPCId'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column18: TcxGridDBColumn
|
||||||
|
Caption = #20986#21040#35745#21010#21333
|
||||||
|
DataBinding.FieldName = 'ToOrdNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column1: TcxGridDBColumn
|
||||||
|
Caption = #35745#21010#21333#21495
|
||||||
|
DataBinding.FieldName = 'FromOrdNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column18: TcxGridDBColumn
|
||||||
|
Caption = #20986#21040#21333#20301
|
||||||
|
DataBinding.FieldName = 'ToCoName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column19: TcxGridDBColumn
|
||||||
|
Caption = #23384#25918#21333#20301
|
||||||
|
DataBinding.FieldName = 'StkCoName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column19: TcxGridDBColumn
|
||||||
|
Caption = #21305#25968
|
||||||
|
DataBinding.FieldName = 'Piece'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v2Column6: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #25968#37327
|
||||||
|
DataBinding.FieldName = 'Qty'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column3: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #21333#20301
|
||||||
|
DataBinding.FieldName = 'QtyUnit'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column8: TcxGridDBColumn
|
||||||
|
Caption = #32534#21495
|
||||||
|
DataBinding.FieldName = 'C_Code'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column2: TcxGridDBColumn
|
||||||
|
Caption = #21305#37325
|
||||||
|
DataBinding.FieldName = 'PieceWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column4: TcxGridDBColumn
|
||||||
|
Caption = #39068#33394
|
||||||
|
DataBinding.FieldName = 'C_Color'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column3: TcxGridDBColumn
|
||||||
|
Caption = #33394#21035
|
||||||
|
DataBinding.FieldName = 'C_ColorDepth'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column9: TcxGridDBColumn
|
||||||
|
Caption = #33457#22411
|
||||||
|
DataBinding.FieldName = 'C_Pattern'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column30: TcxGridDBColumn
|
||||||
|
Caption = #21512#21516#21495
|
||||||
|
DataBinding.FieldName = 'fromConNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 91
|
||||||
|
end
|
||||||
|
object Tv1Column31: TcxGridDBColumn
|
||||||
|
Caption = #20986#21040#21512#21516#21495
|
||||||
|
DataBinding.FieldName = 'ToConNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 110
|
||||||
|
end
|
||||||
|
object Tv1Column10: TcxGridDBColumn
|
||||||
|
Caption = #25104#20998
|
||||||
|
DataBinding.FieldName = 'C_Composition'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column11: TcxGridDBColumn
|
||||||
|
Caption = #27454#21495
|
||||||
|
DataBinding.FieldName = 'C_StyleNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column21: TcxGridDBColumn
|
||||||
|
Caption = #33521#25991#39068#33394
|
||||||
|
DataBinding.FieldName = 'C_EColor'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column22: TcxGridDBColumn
|
||||||
|
Caption = #31867#22411
|
||||||
|
DataBinding.FieldName = 'C_Degree'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column13: TcxGridDBColumn
|
||||||
|
Caption = #25209#21495
|
||||||
|
DataBinding.FieldName = 'BatchNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column12: TcxGridDBColumn
|
||||||
|
Caption = #38468#20214
|
||||||
|
DataBinding.FieldName = 'FJFlag'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
PropertiesClassName = 'TcxCheckBoxProperties'
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object v1Column12: TcxGridDBColumn
|
||||||
|
Tag = 2
|
||||||
|
Caption = #22791#27880
|
||||||
|
DataBinding.FieldName = 'Note'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column14: TcxGridDBColumn
|
||||||
|
Caption = #30331#35760#20154
|
||||||
|
DataBinding.FieldName = 'Filler'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column15: TcxGridDBColumn
|
||||||
|
Caption = #30331#35760#26102#38388
|
||||||
|
DataBinding.FieldName = 'Filltime'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column20: TcxGridDBColumn
|
||||||
|
Caption = #33521#25991#21697#21517
|
||||||
|
DataBinding.FieldName = 'C_EName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column16: TcxGridDBColumn
|
||||||
|
Caption = #20462#25913#20154
|
||||||
|
DataBinding.FieldName = 'Editer'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column17: TcxGridDBColumn
|
||||||
|
Caption = #20462#25913#26102#38388
|
||||||
|
DataBinding.FieldName = 'Edittime'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column23: TcxGridDBColumn
|
||||||
|
Caption = #22383#24067#20379#24212#21830
|
||||||
|
DataBinding.FieldName = 'GCFtyName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column32: TcxGridDBColumn
|
||||||
|
Caption = #35760#24405#21495
|
||||||
|
DataBinding.FieldName = 'BCIOID'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 137
|
||||||
|
end
|
||||||
|
object Tv1Column24: TcxGridDBColumn
|
||||||
|
Caption = #21152#24037#21035
|
||||||
|
DataBinding.FieldName = 'CraftCode'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column25: TcxGridDBColumn
|
||||||
|
Caption = #24067#31181
|
||||||
|
DataBinding.FieldName = 'GC_Name'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column26: TcxGridDBColumn
|
||||||
|
Caption = #21518#21152#24037#33521#25991
|
||||||
|
DataBinding.FieldName = 'CraftEName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column27: TcxGridDBColumn
|
||||||
|
Caption = #21518#21152#24037#20013#25991
|
||||||
|
DataBinding.FieldName = 'CraftName'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 111
|
||||||
|
end
|
||||||
|
object Tv1Column33: TcxGridDBColumn
|
||||||
|
Caption = #27611#37325
|
||||||
|
DataBinding.FieldName = 'GrossWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 77
|
||||||
|
end
|
||||||
|
object Tv1Column34: TcxGridDBColumn
|
||||||
|
Caption = #20928#37325
|
||||||
|
DataBinding.FieldName = 'NetWeight'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Options.Editing = False
|
||||||
|
Width = 82
|
||||||
|
end
|
||||||
|
object Tv1Column35: TcxGridDBColumn
|
||||||
|
Caption = #21367#21495
|
||||||
|
DataBinding.FieldName = 'PieceNo'
|
||||||
|
DataBinding.IsNullValueType = True
|
||||||
|
HeaderAlignmentHorz = taCenter
|
||||||
|
Width = 68
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cxGrid1Level1: TcxGridLevel
|
||||||
|
GridView = Tv1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseCmd: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 260
|
||||||
|
Top = 246
|
||||||
|
end
|
||||||
|
inherited ADOQueryBaseTemp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Left = 92
|
||||||
|
Top = 230
|
||||||
|
end
|
||||||
|
object ADOQueryCmd: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Parameters = <>
|
||||||
|
Left = 527
|
||||||
|
Top = 233
|
||||||
|
end
|
||||||
|
object ADOQueryMain: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 821
|
||||||
|
Top = 329
|
||||||
|
end
|
||||||
|
object ADOQueryTemp: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
LockType = ltReadOnly
|
||||||
|
Parameters = <>
|
||||||
|
Left = 523
|
||||||
|
Top = 314
|
||||||
|
end
|
||||||
|
object DataSource1: TDataSource
|
||||||
|
DataSet = CDS_Main
|
||||||
|
Left = 792
|
||||||
|
Top = 234
|
||||||
|
end
|
||||||
|
object GPM_1: TcxGridPopupMenu
|
||||||
|
Grid = cxGrid1
|
||||||
|
PopupMenus = <>
|
||||||
|
Left = 425
|
||||||
|
Top = 254
|
||||||
|
end
|
||||||
|
object CDS_Main: TClientDataSet
|
||||||
|
Aggregates = <>
|
||||||
|
Params = <>
|
||||||
|
Left = 626
|
||||||
|
Top = 237
|
||||||
|
end
|
||||||
|
object PopupMenu1: TPopupMenu
|
||||||
|
Left = 524
|
||||||
|
Top = 412
|
||||||
|
object N1: TMenuItem
|
||||||
|
Caption = #20840#36873
|
||||||
|
OnClick = N1Click
|
||||||
|
end
|
||||||
|
object N2: TMenuItem
|
||||||
|
Caption = #20840#24323
|
||||||
|
OnClick = N2Click
|
||||||
|
end
|
||||||
|
object N3: TMenuItem
|
||||||
|
Caption = #22797#21046
|
||||||
|
OnClick = N3Click
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object ADOQueryPrint: TADOQuery
|
||||||
|
Connection = DataLink_TradeInsp.ADOLink
|
||||||
|
Parameters = <>
|
||||||
|
Left = 655
|
||||||
|
Top = 444
|
||||||
|
end
|
||||||
|
end
|
||||||
369
T03贸易布匹检验/U_TradeClothTotalOutSel.pas
Normal file
369
T03贸易布匹检验/U_TradeClothTotalOutSel.pas
Normal file
|
|
@ -0,0 +1,369 @@
|
||||||
|
unit U_TradeClothTotalOutSel;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Vcl.Printers, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||||
|
cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
|
||||||
|
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
|
||||||
|
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
|
||||||
|
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
|
||||||
|
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
|
||||||
|
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC,
|
||||||
|
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges,
|
||||||
|
dxBarBuiltInMenu, U_Basehelp, Clipbrd, dxScrollbarAnnotations, FrameDateSel,
|
||||||
|
cxContainer, cxMaskEdit, cxProgressBar, cxButtons, U_BaseList,
|
||||||
|
System.ImageList, Vcl.ImgList;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfrmTradeClothTotalOutSel = class(TfrmBasehelp)
|
||||||
|
ToolBar1: TToolBar;
|
||||||
|
TBRafresh: TToolButton;
|
||||||
|
TBFind: TToolButton;
|
||||||
|
TBClose: TToolButton;
|
||||||
|
Panel1: TPanel;
|
||||||
|
ADOQueryCmd: TADOQuery;
|
||||||
|
ADOQueryMain: TADOQuery;
|
||||||
|
ADOQueryTemp: TADOQuery;
|
||||||
|
DataSource1: TDataSource;
|
||||||
|
GPM_1: TcxGridPopupMenu;
|
||||||
|
CDS_Main: TClientDataSet;
|
||||||
|
PopupMenu1: TPopupMenu;
|
||||||
|
N1: TMenuItem;
|
||||||
|
N2: TMenuItem;
|
||||||
|
cxGrid1: TcxGrid;
|
||||||
|
Tv1: TcxGridDBTableView;
|
||||||
|
v1Column6: TcxGridDBColumn;
|
||||||
|
v1Column2: TcxGridDBColumn;
|
||||||
|
v1Column4: TcxGridDBColumn;
|
||||||
|
v1Column15: TcxGridDBColumn;
|
||||||
|
v1Column14: TcxGridDBColumn;
|
||||||
|
v2Column1: TcxGridDBColumn;
|
||||||
|
v1Column8: TcxGridDBColumn;
|
||||||
|
v2Column6: TcxGridDBColumn;
|
||||||
|
v1Column3: TcxGridDBColumn;
|
||||||
|
v1Column12: TcxGridDBColumn;
|
||||||
|
cxGrid1Level1: TcxGridLevel;
|
||||||
|
Label3: TLabel;
|
||||||
|
Label5: TLabel;
|
||||||
|
Label8: TLabel;
|
||||||
|
Label12: TLabel;
|
||||||
|
C_NAME: TcxTextEdit;
|
||||||
|
BCIONO: TcxTextEdit;
|
||||||
|
C_spec: TcxTextEdit;
|
||||||
|
v1Column20: TcxGridDBColumn;
|
||||||
|
v1Column1: TcxGridDBColumn;
|
||||||
|
v1Column10: TcxGridDBColumn;
|
||||||
|
v1Column17: TcxGridDBColumn;
|
||||||
|
v1Column5: TcxGridDBColumn;
|
||||||
|
v1Column13: TcxGridDBColumn;
|
||||||
|
v1Column16: TcxGridDBColumn;
|
||||||
|
v1Column18: TcxGridDBColumn;
|
||||||
|
v1Column19: TcxGridDBColumn;
|
||||||
|
Tv1Column2: TcxGridDBColumn;
|
||||||
|
ToolButton1: TToolButton;
|
||||||
|
Tv1Column3: TcxGridDBColumn;
|
||||||
|
Tv1Column4: TcxGridDBColumn;
|
||||||
|
Tv1Column6: TcxGridDBColumn;
|
||||||
|
Tv1Column1: TcxGridDBColumn;
|
||||||
|
Tv1Column7: TcxGridDBColumn;
|
||||||
|
Tv1Column8: TcxGridDBColumn;
|
||||||
|
Tv1Column9: TcxGridDBColumn;
|
||||||
|
Tv1Column10: TcxGridDBColumn;
|
||||||
|
Tv1Column11: TcxGridDBColumn;
|
||||||
|
N3: TMenuItem;
|
||||||
|
Tv1Column12: TcxGridDBColumn;
|
||||||
|
Tv1Column13: TcxGridDBColumn;
|
||||||
|
Tv1Column14: TcxGridDBColumn;
|
||||||
|
Tv1Column15: TcxGridDBColumn;
|
||||||
|
Tv1Column16: TcxGridDBColumn;
|
||||||
|
Tv1Column17: TcxGridDBColumn;
|
||||||
|
Label4: TLabel;
|
||||||
|
Label9: TLabel;
|
||||||
|
Label6: TLabel;
|
||||||
|
Label7: TLabel;
|
||||||
|
FromCoName: TcxTextEdit;
|
||||||
|
ToCoName: TcxTextEdit;
|
||||||
|
ToOrdNo: TcxTextEdit;
|
||||||
|
FromOrdNo: TcxTextEdit;
|
||||||
|
Tv1Column18: TcxGridDBColumn;
|
||||||
|
Tv1Column19: TcxGridDBColumn;
|
||||||
|
Tv1Column20: TcxGridDBColumn;
|
||||||
|
Tv1Column21: TcxGridDBColumn;
|
||||||
|
frmFrameDateSel1: TfrmFrameDateSel;
|
||||||
|
IOType: TcxComboBox;
|
||||||
|
Tv1Column22: TcxGridDBColumn;
|
||||||
|
Tv1Column24: TcxGridDBColumn;
|
||||||
|
Tv1Column25: TcxGridDBColumn;
|
||||||
|
Tv1Column26: TcxGridDBColumn;
|
||||||
|
Tv1Column27: TcxGridDBColumn;
|
||||||
|
Tv1Column23: TcxGridDBColumn;
|
||||||
|
Tv1Column30: TcxGridDBColumn;
|
||||||
|
Tv1Column31: TcxGridDBColumn;
|
||||||
|
Tv1Column32: TcxGridDBColumn;
|
||||||
|
Tv1Column33: TcxGridDBColumn;
|
||||||
|
Tv1Column34: TcxGridDBColumn;
|
||||||
|
ADOQueryPrint: TADOQuery;
|
||||||
|
Tv1Column35: TcxGridDBColumn;
|
||||||
|
btnOK: TToolButton;
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure TBRafreshClick(Sender: TObject);
|
||||||
|
procedure ConNoMChange(Sender: TObject);
|
||||||
|
procedure TBCloseClick(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure TBExportClick(Sender: TObject);
|
||||||
|
procedure TBFindClick(Sender: TObject);
|
||||||
|
procedure SPNameChange(Sender: TObject);
|
||||||
|
procedure BCIOIDChange(Sender: TObject);
|
||||||
|
procedure N1Click(Sender: TObject);
|
||||||
|
procedure N2Click(Sender: TObject);
|
||||||
|
procedure TBDelClick(Sender: TObject);
|
||||||
|
procedure C_specChange(Sender: TObject);
|
||||||
|
procedure cxTabControl1Change(Sender: TObject);
|
||||||
|
procedure ToolButton1Click(Sender: TObject);
|
||||||
|
procedure N3Click(Sender: TObject);
|
||||||
|
procedure BCIOIDPropertiesChange(Sender: TObject);
|
||||||
|
procedure btnOKClick(Sender: TObject);
|
||||||
|
private
|
||||||
|
canshu1, canshu2: string;
|
||||||
|
procedure InitGrid();
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
FFSPID, FstkName, FC_Degree, FC_Pack: string;
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
frmTradeClothTotalOutSel: TfrmTradeClothTotalOutSel;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
U_DataLink, U_RTFun;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
Action := caFree;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
canshu1 := Trim(DParameters1);
|
||||||
|
canshu2 := Trim(DParameters2);
|
||||||
|
frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp);
|
||||||
|
frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.InitGrid();
|
||||||
|
var
|
||||||
|
SqlStr: string;
|
||||||
|
begin
|
||||||
|
|
||||||
|
SqlStr := ' select A.* ';
|
||||||
|
SqlStr := SqlStr + ',FJFlag=CAST((CASE WHEN (SELECT COUNT(X.FileName) FROM FJ_File X where X.TFType=''贸易汇总布'' and X.WBID=A.BCIOID)>0 THEN 1 ELSE 0 END) AS BIT) ';
|
||||||
|
SqlStr := SqlStr + ' from BS_Cloth_IO A ';
|
||||||
|
SqlStr := SqlStr + ' where A.IOFlag=''出库'' ';
|
||||||
|
SqlStr := SqlStr + ' and A.IOTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)) + '''';
|
||||||
|
SqlStr := SqlStr + ' and A.IOTime<''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date + 1)) + '''';
|
||||||
|
SqlStr := SqlStr + ' and isnull(stkName,'''')=''贸易布匹''';
|
||||||
|
|
||||||
|
SqlStr := SqlStr + ' and IOType = ''检验出库'' ';
|
||||||
|
|
||||||
|
SqlStr := SqlStr + ' order by IOTime desc';
|
||||||
|
|
||||||
|
InitCDSData(ADOQueryMain, CDS_Main, Tv1, SqlStr, SGetFilters(Panel1, 1, 2), 'BCIOID');
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.TBRafreshClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
frmFrameDateSel1.BegDate.SetFocus;
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.ToolButton1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
WriteCxGrid(trim(Self.Caption), Tv1, '贸易汇总仓库');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.BCIOIDPropertiesChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBFind.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.btnOKClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if CDS_Main.IsEmpty then
|
||||||
|
exit;
|
||||||
|
ModalResult := 1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.ConNoMChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if ADOQueryMain.Active then
|
||||||
|
begin
|
||||||
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.TBCloseClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
|
||||||
|
Close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.FormShow(Sender: TObject);
|
||||||
|
var
|
||||||
|
mSql: string;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
mSql := 'select distinct name=A.IOType from BS_Cloth_IO A where IOFlag=''出库'' and isnull(STKNAME,'''')=''' + Trim(FSTKNAME) + ''' ';
|
||||||
|
SInitTcxComBoxBySql(ADOQueryTemp, IOType, false, mSql);
|
||||||
|
ReadCxGrid(trim(Self.Caption), Tv1, '贸易汇总仓库');
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.TBExportClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if ADOQueryMain.IsEmpty then
|
||||||
|
exit;
|
||||||
|
TcxGridToExcel(FstkName + '出库列表', cxGrid1);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.TBFindClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if ADOQueryMain.Active then
|
||||||
|
begin
|
||||||
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||||||
|
SCreateCDS(ADOQueryMain, CDS_Main);
|
||||||
|
SInitCDSData(ADOQueryMain, CDS_Main);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.SPNameChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBFind.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.BCIOIDChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Length(Trim(BCIOno.Text)) < 4 then
|
||||||
|
begin
|
||||||
|
if Trim(BCIOno.Text) <> '' then
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
TBFind.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.N1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
SelOKNo(CDS_Main, True);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.N2Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
SelOKNo(CDS_Main, False);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.N3Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.TBDelClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
MBCIOID, MBCIONO: string;
|
||||||
|
begin
|
||||||
|
if CDS_Main.IsEmpty then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
if CDS_Main.Locate('SSel', True, []) = False then
|
||||||
|
begin
|
||||||
|
Application.MessageBox('没有选择数据!', '提示', 0);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
|
||||||
|
Exit;
|
||||||
|
MBCIOID := SelCDSKey(CDS_Main, ['BCIOID'])[0];
|
||||||
|
MBCIONO := SelCDSKey(CDS_Main, ['BCIONO'])[0];
|
||||||
|
with ADOQueryTemp do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
sql.Clear;
|
||||||
|
sql.Add('exec P_Fin_Flow_Judge ');
|
||||||
|
Sql.Add(' @FFIDS=' + quotedstr(MBCIONO));
|
||||||
|
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
|
||||||
|
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
|
||||||
|
begin
|
||||||
|
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
try
|
||||||
|
ADOQueryCmd.Connection.BeginTrans;
|
||||||
|
|
||||||
|
with ADOQueryCmd do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
Sql.Clear;
|
||||||
|
Sql.Add('exec P_Trade_BSCloth_Judge ');
|
||||||
|
Sql.Add(' @BCIOIDS=' + quotedstr(MBCIOID));
|
||||||
|
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
|
||||||
|
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
||||||
|
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
||||||
|
|
||||||
|
with ADOQueryCmd do
|
||||||
|
begin
|
||||||
|
Close;
|
||||||
|
Sql.Clear;
|
||||||
|
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
|
||||||
|
sql.Add('values(''贸易布坯出库'' ');
|
||||||
|
sql.Add(',' + quotedstr(MBCIONO));
|
||||||
|
sql.Add(',''删除'' ');
|
||||||
|
sql.Add(',' + quotedstr(DName));
|
||||||
|
sql.Add(',' + quotedstr(trim(self.Caption)));
|
||||||
|
sql.Add(',' + quotedstr(MBCIOID));
|
||||||
|
sql.Add(') ');
|
||||||
|
|
||||||
|
Sql.Add('exec P_BS_Cloth_Out_Del ');
|
||||||
|
Sql.Add(' @BCIOIDS=' + quotedstr(MBCIOID));
|
||||||
|
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
|
||||||
|
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
|
||||||
|
Open;
|
||||||
|
end;
|
||||||
|
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
||||||
|
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
||||||
|
ADOQueryCmd.Connection.CommitTrans;
|
||||||
|
InitGrid();
|
||||||
|
except
|
||||||
|
ADOQueryCmd.Connection.RollbackTrans;
|
||||||
|
application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.C_specChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TBFind.Click;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrmTradeClothTotalOutSel.cxTabControl1Change(Sender: TObject);
|
||||||
|
begin
|
||||||
|
InitGrid();
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user