检验 基础资料

This commit is contained in:
funa 2026-10-09 17:24:29 +08:00
parent be51732c05
commit 6e6c8e13de
74 changed files with 31339 additions and 3 deletions

View 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.

View File

@ -0,0 +1,42 @@
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-LE"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-LN"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-U"D:\말繫ERP"
-O"D:\말繫ERP"
-I"D:\말繫ERP"
-R"D:\말繫ERP"
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST

View File

@ -0,0 +1,138 @@
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=0
K=0
L=1
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=0
UnsafeCode=0
UnsafeCast=0
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=D:\富通ERP
Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;dclOffice2k;Rave50CLX;Rave50VCL
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=D:\朱哲飞开发代码\项目代码\龙升\基础资料(BaseInfo.dll)\testDll.exe
Launcher=
UseLauncher=0
DebugCWD=
[Language]
ActiveLang=
ProjectLang=
RootDir=
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=2052
CodePage=936
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
[Excluded Packages]
c:\program files\borland\delphi7\Bin\DBWEBXPRT.BPL=Borland Web Wizard Package

View File

@ -0,0 +1,57 @@
library BaseInfo;
uses
SysUtils,
classes,
forms,
WinTypes,
WinProcs,
midaslib,
U_GetDllForm in 'U_GetDllForm.pas',
U_ModuleNote in 'U_ModuleNote.pas' {frmModuleNote},
U_DataLink in 'U_DataLink.pas' {DataLink_BaseInfo: TDataModule},
U_ZDYHelpSel in 'U_ZDYHelpSel.pas' {frmZDYHelpSel},
U_iniParam in 'U_iniParam.pas',
U_ZDYHelp in 'U_ZDYHelp.pas' {frmZDYHelp},
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_RTFun in '..\..\..\public10\ThreeFun\Fun\U_RTFun.pas',
U_MachineManage in 'U_MachineManage.pas' {frmMachineManage},
U_PositionList in 'U_PositionList.pas' {frmPositionList},
U_WarpBeamManage in 'U_WarpBeamManage.pas' {frmWarpBeamManage},
U_TrayManage in 'U_TrayManage.pas' {frmTrayManage},
U_LabelMapSet in '..\A00ͨÓô°Ìå\U_LabelMapSet.pas' {frmLabelMapSet},
U_LabelPrint in '..\A00ͨÓô°Ìå\U_LabelPrint.pas' {frmLabelPrint},
U_BaseDataLink in '..\..\..\public10\design\U_BaseDataLink.pas' {BaseDataLink: TDataModule},
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.

View File

@ -0,0 +1,881 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{EA72743A-8F14-40AF-87C1-157F82074EC7}</ProjectGuid>
<MainSource>BaseInfo.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Debug</Config>
<TargetedPlatforms>1</TargetedPlatforms>
<AppType>Library</AppType>
<FrameworkType>VCL</FrameworkType>
<ProjectVersion>19.2</ProjectVersion>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
<Base_Win64>true</Base_Win64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
<Cfg_2_Win32>true</Cfg_2_Win32>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
<DCC_E>false</DCC_E>
<DCC_F>false</DCC_F>
<DCC_K>false</DCC_K>
<DCC_N>true</DCC_N>
<DCC_S>false</DCC_S>
<DCC_ImageBase>00400000</DCC_ImageBase>
<DCC_DebugInformation>1</DCC_DebugInformation>
<DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
<DCC_UnitSearchPath>D:\富通ERP;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<DCC_UsePackage>vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;dclOffice2k;Rave50CLX;Rave50VCL;$(DCC_UsePackage)</DCC_UsePackage>
<GenDll>true</GenDll>
<SanitizedProjectName>BaseInfo</SanitizedProjectName>
<DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;Data.Win;$(DCC_Namespace)</DCC_Namespace>
<VerInfo_Locale>2052</VerInfo_Locale>
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<DCC_Namespace>System.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys>
<VerInfo_Locale>1033</VerInfo_Locale>
<Icon_MainIcon>BaseInfo_Icon.ico</Icon_MainIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win64)'!=''">
<Icon_MainIcon>BaseInfo_Icon.ico</Icon_MainIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''">
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2)'!=''">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<Debugger_HostApplication>D:\D10W\项目代码\D10szGerun\A05基础资料管理\testDll.exe</Debugger_HostApplication>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="$(MainSource)">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="U_GetDllForm.pas"/>
<DCCReference Include="U_ModuleNote.pas">
<Form>frmModuleNote</Form>
</DCCReference>
<DCCReference Include="U_DataLink.pas">
<Form>DataLink_BaseInfo</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="U_ZDYHelpSel.pas">
<Form>frmZDYHelpSel</Form>
</DCCReference>
<DCCReference Include="U_iniParam.pas"/>
<DCCReference Include="U_ZDYHelp.pas">
<Form>frmZDYHelp</Form>
</DCCReference>
<DCCReference Include="..\..\..\public10\design\U_BaseHelp.pas">
<Form>frmBaseHelp</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="..\..\..\public10\design\U_BaseInput.pas">
<Form>frmBaseInput</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="..\..\..\public10\design\U_BaseList.pas">
<Form>frmBaseList</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="..\..\..\public10\design\U_cxGridCustomCss.pas"/>
<DCCReference Include="..\..\..\public10\design\U_globalVar.pas"/>
<DCCReference Include="..\..\..\public10\design\U_WindowFormdesign.pas"/>
<DCCReference Include="..\..\..\public10\ThreeFun\Fun\U_RTFun.pas"/>
<DCCReference Include="U_MachineManage.pas">
<Form>frmMachineManage</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="U_PositionList.pas">
<Form>frmPositionList</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="U_WarpBeamManage.pas">
<Form>frmWarpBeamManage</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="U_TrayManage.pas">
<Form>frmTrayManage</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="..\A00通用窗体\U_LabelMapSet.pas">
<Form>frmLabelMapSet</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="..\A00通用窗体\U_LabelPrint.pas">
<Form>frmLabelPrint</Form>
<FormType>dfm</FormType>
</DCCReference>
<DCCReference Include="..\..\..\public10\design\U_BaseDataLink.pas">
<Form>BaseDataLink</Form>
<FormType>dfm</FormType>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\..\..\public10\ThreeFun\Fun\uSZHN_JSON.pas"/>
<BuildConfiguration Include="Debug">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType/>
<BorlandProject>
<Delphi.Personality>
<Source>
<Source Name="MainSource">BaseInfo.dpr</Source>
</Source>
</Delphi.Personality>
<Platforms>
<Platform value="Win32">True</Platform>
<Platform value="Win64">False</Platform>
</Platforms>
<Deployment Version="3">
<DeployFile LocalName="BaseInfo.dll" Configuration="Debug" Class="ProjectOutput">
<Platform Name="Win32">
<RemoteName>BaseInfo.dll</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployClass Name="AdditionalDebugSymbols">
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidClassesDexFile">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>classes</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidFileProvider">
<Platform Name="Android">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\xml</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiv7aFile">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeMipsFile">
<Platform Name="Android">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\mips</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidServiceOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashImageDef">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStyles">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidSplashStylesV21">
<Platform Name="Android">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values-v21</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Colors">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_DefaultAppIcon">
<Platform Name="Android">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon144">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon192">
<Platform Name="Android">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-ldpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_LauncherIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon24">
<Platform Name="Android">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-mdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon36">
<Platform Name="Android">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-hdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon48">
<Platform Name="Android">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon72">
<Platform Name="Android">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_NotificationIcon96">
<Platform Name="Android">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xxxhdpi</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage426">
<Platform Name="Android">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-small</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage470">
<Platform Name="Android">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-normal</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage640">
<Platform Name="Android">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-large</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_SplashImage960">
<Platform Name="Android">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\drawable-xlarge</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="Android_Strings">
<Platform Name="Android">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>res\values</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DebugSymbols">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyFramework">
<Platform Name="OSX32">
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="OSX64">
<Operation>1</Operation>
<Extensions>.framework</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="DependencyModule">
<Platform Name="OSX32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.dll;.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="DependencyPackage">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX32">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="OSX64">
<Operation>1</Operation>
<Extensions>.dylib</Extensions>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
<Extensions>.bpl</Extensions>
</Platform>
</DeployClass>
<DeployClass Name="File">
<Platform Name="Android">
<Operation>0</Operation>
</Platform>
<Platform Name="Android64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>0</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX32">
<Operation>0</Operation>
</Platform>
<Platform Name="OSX64">
<Operation>0</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iOS_AppStore1024">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_AppIcon152">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_AppIcon167">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Launch2x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_LaunchDark2x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Notification40">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_Setting58">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPad_SpotLight80">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_AppIcon120">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_AppIcon180">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch2x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Launch3x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_LaunchDark2x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_LaunchDark3x">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Notification40">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Notification60">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Setting58">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Setting87">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Spotlight120">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="iPhone_Spotlight80">
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectAndroidManifest">
<Platform Name="Android">
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceDebug">
<Platform Name="iOSDevice32">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSEntitlements"/>
<DeployClass Name="ProjectiOSInfoPList"/>
<DeployClass Name="ProjectiOSLaunchScreen"/>
<DeployClass Name="ProjectiOSResource">
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOSXDebug"/>
<DeployClass Name="ProjectOSXEntitlements"/>
<DeployClass Name="ProjectOSXInfoPList"/>
<DeployClass Name="ProjectOSXResource">
<Platform Name="OSX32">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<RemoteDir>Contents\Resources</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Required="true" Name="ProjectOutput">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>library\lib\arm64-v8a</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice32">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSDevice64">
<Operation>1</Operation>
</Platform>
<Platform Name="iOSSimulator">
<Operation>1</Operation>
</Platform>
<Platform Name="Linux64">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX32">
<Operation>1</Operation>
</Platform>
<Platform Name="OSX64">
<Operation>1</Operation>
</Platform>
<Platform Name="Win32">
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectOutput_Android32">
<Platform Name="Android64">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectUWPManifest">
<Platform Name="Win32">
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo150">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="UWP_DelphiLogo44">
<Platform Name="Win32">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
<Platform Name="Win64">
<RemoteDir>Assets</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="OSX64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
</Deployment>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
<Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
</Project>

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

View File

@ -0,0 +1,3 @@
[.ShellClassInfo]
IconFile=C:\Program Files (x86)\360\360WangPan\new_desktop_win7.ico
IconIndex=0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
[生产车间配置]
卷条码机台标志=99
成品DLL文件=CYZZ.dll
成品DLL调用号=11

View 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

View File

@ -0,0 +1,7 @@
[系统配置]
串口号=com1
波特率=9600
校验位=0
数据位=8
停止位=0
频率=100

View File

@ -0,0 +1,7 @@
[系统配置]
串口号=com2
波特率=1200
校验位=0
数据位=8
停止位=0
频率=100

View File

View 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)

View File

@ -0,0 +1,48 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{A81D594F-9399-452A-902E-E447A6CF18B7}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Projects Include="BaseInfo.dproj">
<Dependencies/>
</Projects>
<Projects Include="testDll.dproj">
<Dependencies/>
</Projects>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Default.Personality.12</Borland.Personality>
<Borland.ProjectType/>
<BorlandProject>
<Default.Personality/>
</BorlandProject>
</ProjectExtensions>
<Target Name="BaseInfo">
<MSBuild Projects="BaseInfo.dproj"/>
</Target>
<Target Name="BaseInfo:Clean">
<MSBuild Projects="BaseInfo.dproj" Targets="Clean"/>
</Target>
<Target Name="BaseInfo:Make">
<MSBuild Projects="BaseInfo.dproj" Targets="Make"/>
</Target>
<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="Build">
<CallTarget Targets="BaseInfo;testDll"/>
</Target>
<Target Name="Clean">
<CallTarget Targets="BaseInfo:Clean;testDll:Clean"/>
</Target>
<Target Name="Make">
<CallTarget Targets="BaseInfo:Make;testDll:Make"/>
</Target>
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
</Project>

View File

@ -0,0 +1,6 @@
[SERVER]
服务器地址=101.132.143.144
服务器地址类型=2002
是否自动更新=1
软件名称=睿特版本库
登陆标题=sss

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,130 @@
unit U_DataLink;
interface
uses
SysUtils, Classes, DB, ADODB, ImgList, Controls, cxStyles, cxLookAndFeels,
Windows, Messages, forms, OleCtnrs, DateUtils, ExtCtrls, SyncObjs, cxClasses,
dxSkinsCore, dxSkinsDefaultPainters, System.ImageList, dxSkinWXI,
U_BaseDataLink, dxCore, cxLocalization, cxImageList, cxGraphics, dxSkinsForm;
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; //#主窗体名称#//
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; //公司
PicSvr: string;
type
TDataLink_BaseInfo = class(TBaseDataLink)
AdoDataLink: TADOQuery;
ADOLink: TADOConnection;
ThreeImgList: TImageList;
ThreeLookAndFeelCol: TcxLookAndFeelController;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
SHuangSeCu: TcxStyle;
Timer_link: TTimer;
ImageList_new32: TImageList;
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;
const
keys = 'ljb^0122!@#*&^%$';
var
DataLink_BaseInfo: TDataLink_BaseInfo;
CriticalSection: TCriticalSection; {声明临界}
implementation
{$R *.dfm}
procedure TMyThread.Execute;
begin
FreeOnTerminate := True;
CriticalSection.Enter;
try
with DataLink_BaseInfo.AdoDataLink do
begin
close;
sql.Clear;
sql.Add('select getdate()');
open;
end;
except
try
with DataLink_BaseInfo.ADOLink do
begin
Connected := false;
ConnectionString := DConString;
LoginPrompt := false;
Connected := true;
end;
except
end;
end;
CriticalSection.Leave;
end;
procedure TDataLink_BaseInfo.DataModuleDestroy(Sender: TObject);
begin
inherited;
CriticalSection.Free;
DataLink_BaseInfo := nil;
end;
procedure TDataLink_BaseInfo.Timer_linkTimer(Sender: TObject);
begin
TMyThread.Create(False);
end;
procedure TDataLink_BaseInfo.DataModuleCreate(Sender: TObject);
begin
inherited;
CriticalSection := TCriticalSection.Create;
end;
end.

View File

@ -0,0 +1,188 @@
object frmFileUp: TfrmFileUp
Left = 247
Top = 162
Width = 634
Height = 447
Caption = #19978#20256#25991#20214
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object cxGrid7: TcxGrid
Left = 0
Top = 41
Width = 555
Height = 367
Align = alClient
TabOrder = 0
object TV7: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
DataController.DataSource = DataSource1
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.GoToNextCellOnEnter = True
OptionsBehavior.FocusCellOnCycle = True
OptionsCustomize.ColumnFiltering = False
OptionsData.Editing = False
OptionsView.GroupByBox = False
OptionsView.Indicator = True
object FileName: TcxGridDBColumn
Tag = 1
Caption = #25991#20214#21517#31216
DataBinding.FieldName = 'FileName'
FooterAlignmentHorz = taCenter
HeaderAlignmentHorz = taCenter
Width = 121
end
object FileDate: TcxGridDBColumn
Tag = 1
Caption = #19978#20256#26085#26399
DataBinding.FieldName = 'FileDate'
FooterAlignmentHorz = taCenter
HeaderAlignmentHorz = taCenter
Width = 104
end
end
object cxGridLevel6: TcxGridLevel
GridView = TV7
end
end
object Panel16: TPanel
Left = 190
Top = 126
Width = 138
Height = 30
BevelInner = bvRaised
Caption = #27491#22312#19978#20256#12290#12290#12290
Color = clSkyBlue
TabOrder = 1
Visible = False
end
object ToolBar6: TToolBar
Left = 555
Top = 41
Width = 63
Height = 367
Align = alRight
AutoSize = True
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
Flat = True
Images = DataLink_DDMD.ThreeImgList
List = True
ShowCaptions = True
TabOrder = 2
object FileUp: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #19978#20256
ImageIndex = 109
Wrap = True
OnClick = FileUpClick
end
object FileDel: TToolButton
Left = 0
Top = 30
AutoSize = True
Caption = #21024#38500
ImageIndex = 17
Wrap = True
OnClick = FileDelClick
end
end
object Panel1: TPanel
Left = 0
Top = 0
Width = 618
Height = 41
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
TabOrder = 3
object Label1: TLabel
Left = 8
Top = 14
Width = 68
Height = 16
Caption = #20135#21697#32534#21495
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -16
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Image2: TImage
Left = 537
Top = 17
Width = 23
Height = 16
end
object Code: TEdit
Left = 78
Top = 9
Width = 211
Height = 24
Font.Charset = GB2312_CHARSET
Font.Color = clBlue
Font.Height = -16
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
ReadOnly = True
TabOrder = 0
end
end
object ODPat: TOpenDialog
Options = [ofReadOnly, ofAllowMultiSelect, ofPathMustExist, ofFileMustExist, ofEnableSizing]
Left = 404
Top = 197
end
object IdFTP1: TIdFTP
MaxLineAction = maException
ReadTimeout = 0
ProxySettings.ProxyType = fpcmNone
ProxySettings.Port = 0
Left = 405
Top = 236
end
object SaveDialog1: TSaveDialog
Left = 409
Top = 285
end
object ADOQueryFile: TADOQuery
Connection = DataLink_DDMD.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 488
Top = 144
end
object DataSource1: TDataSource
DataSet = ADOQueryFile
Left = 392
Top = 168
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_DDMD.ADOLink
Parameters = <>
Left = 496
Top = 216
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_DDMD.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 504
Top = 264
end
end

View File

@ -0,0 +1,357 @@
unit U_FileUp;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ComCtrls, ToolWin, ExtCtrls,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, IdBaseComponent,
IdComponent, IdTCPConnection, IdTCPClient, IdFTP, StdCtrls, ADODB,jpeg,
BtnEdit,IniFiles;
type
TfrmFileUp = class(TForm)
cxGrid7: TcxGrid;
TV7: TcxGridDBTableView;
FileName: TcxGridDBColumn;
FileDate: TcxGridDBColumn;
cxGridLevel6: TcxGridLevel;
Panel16: TPanel;
ToolBar6: TToolBar;
FileUp: TToolButton;
FileDel: TToolButton;
Panel1: TPanel;
Label1: TLabel;
Code: TEdit;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
ADOQueryFile: TADOQuery;
DataSource1: TDataSource;
ADOQueryCmd: TADOQuery;
ADOQueryTemp: TADOQuery;
Image2: TImage;
procedure FileUpClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FileDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
lstPat: TStringList;
AJpeg: TJPEGImage;
procedure CreThumb(AJPeg:TJPEGImage;Image1:TImage;Width, Height: Integer);
procedure SaveImageOther();
procedure ReadINIFile10();
{ Private declarations }
public
CYID:String;
{ Public declarations }
end;
var
frmFileUp: TfrmFileUp;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmFileUp.ReadINIFile10();
var
programIni:Tinifile; //配置文件名
FileName:string;
begin
FileName:=ExtractFilePath(Paramstr(0))+'SYSTEMSET.INI';
programIni:=Tinifile.create(FileName);
server:=programIni.ReadString('SERVER','服务器地址','127.0.0.1');
programIni.Free;
end;
procedure TfrmFileUp.FileUpClick(Sender: TObject);
var
i,j: Integer;
PatFile: String;
FTPPath,FConNo,MaxNo:string;
AJpeg: TJPEGImage;
begin
if Trim(Code.Text)='' then
begin
Application.MessageBox('编号不能为空!','提示',0);
Exit;
end;
lstPat.Clear;
if ODPat.Execute then
begin
lstPat.AddStrings(ODPat.Files);
end;
if lstPat.Count > 0 then
begin
try
ReadINIFile10();
server:=ReadINIFileStr('SYSTEMSET.INI','SERVER','服务器地址','127.0.0.1');
IdFTP1.Host :=server;//PicSvr;
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
IdFTP1.Quit;
Application.MessageBox('无法连接到文件服务器,请检查!', '提示', MB_ICONWARNING);
Exit;
end;
end;
Panel16.Visible:=True;
Panel16.Refresh;
AJpeg:=TJpegImage.Create();
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select Count(*) MM from XD_File where CYID='''+Trim(CYID)+'''');
SQL.Add('and filetype=''YP''');
Open;
j:=fieldbyname('MM').AsInteger;
end;
Image2.Picture.LoadFromFile(ODPat.FileName);
AJpeg.Assign(Image2.Picture.Graphic);
CreThumb(AJpeg,Image2,216, 187);
try
ADOQueryCmd.Connection.BeginTrans;
for i := 0 to lstPat.Count - 1 do
begin
PatFile := ExtractFileName(lstPat[i]);
PatFile:=Copy(PatFile,(Pos('.',PatFile)+1),(Length(PatFile)-Pos('.',PatFile)) ) ;
FConNo:=Trim(Code.Text);
while Pos('/',FConNo)>0 do
begin
Delete(FConNo,Pos('/',FConNo),1);
end;
PatFile:=Trim(FConNo)+'-'+Inttostr(j+i+1)+'.'+PatFile;
if IdFTP1.Connected then
begin
try
{if not DirectoryExists('D:\图片\'+Trim(gDef1)) then
ForceDirectories('D:\图片\'+Trim(gDef1)); }
IdFTP1.Put(lstPat[i], Trim('\YP')+'\'+Trim(PatFile));
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select * from XD_File where CYID='''+Trim(CYID)+'''');
SQL.Add(' and filename='''+Trim(PatFile)+'''');
SQL.Add(' and filetype=''YP''');
Open;
if not IsEmpty then
begin
Panel16.Visible:=False;
Application.MessageBox(PChar('文件<'+Trim(PatFile)+'>重复,'+inttostr(i)+'个文件上传成功!'),'提示',0);
Exit;
end;
end;
if GetLSNo(ADOQueryCmd,MaxNo,'YP','XD_File',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取图片最大号失败!','提示',0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('select * from XD_File where 1<>1');
Open;
end;
with ADOQueryCmd do
begin
Append;
FieldByName('XFID').Value:=Trim(MaxNo);
FieldByName('CYID').Value:=Trim(CYID);
FieldByName('CYNO').Value:=Trim(Code.Text);
FieldByName('filename').Value:=Trim(PatFile);
FieldByName('FileDate').Value:=SGetServerDate(ADOQueryTemp);
fieldbyname('FileType').value:=Trim('YP');
Post;
end;
except
//ADOQueryCmd.Connection.RollbackTrans;
//Application.MessageBox('图片上传失败!','提示',0);
end;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CP_YDang Set TPFlag=1 where CYID='''+Trim(CYID)+'''');
ExecSQL;
end;
SaveImageOther();
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('图片上传失败!','提示',0);
end;
if IdFTP1.Connected then IdFTP1.Quit;
with ADOQueryFile do
begin
Close;
SQL.Clear;
SQL.Add('select * from XD_File where CYID='''+Trim(CYID)+'''');
open;
end;
Panel16.Visible:=False;
if i>0 then
Application.MessageBox(PChar(inttostr(i)+'个文件上传成功!'),'提示',0);
ModalResult:=1;
end;
procedure TfrmFileUp.CreThumb(AJPeg:TJPEGImage;Image1:TImage;Width, Height: Integer);
var
Bitmap: TBitmap;
Ratio: Double;
ARect: TRect;
AHeight, AHeightOffset: Integer;
AWidth, AWidthOffset: Integer;
begin
Bitmap := TBitmap.Create;
try
Ratio := AJPeg.Width /AJPeg.Height;
if Ratio > 1.333 then
begin
AHeight := Round(Width / Ratio);
AHeightOffset := (Height - AHeight) div 2;
AWidth := Width;
AWidthOffset := 0;
end
else
begin
AWidth := Round(Height * Ratio);
AWidthOffset := (Width - AWidth) div 2;
AHeight := Height;
AHeightOffset := 0;
end;
Bitmap.Width := Width;
Bitmap.Height := Height;
Bitmap.Canvas.Brush.Color := clBtnFace;
Bitmap.Canvas.FillRect(Rect(0, 0, Width, Height));
ARect := Rect(AWidthOffset, AHeightOffset, AWidth + AWidthOffset, AHeight + AHeightOffset);
Bitmap.Canvas.StretchDraw(ARect, AJPeg);
Image1.Picture.Assign(BitMap);
finally
Bitmap.Free;
end;
end;
procedure TfrmFileUp.SaveImageOther();
var
AJpeg: TJPEGImage;
myStream: TADOBlobStream;
ImgMaxNo:String;
i,j: Integer;
PatFile: String;
FTPPath,FConNo,MaxNo,FTFID:string;
begin
if Image2.Picture=nil then Exit;
AJpeg:=TJpegImage.Create();
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from TP_File where WBID='''+Trim(CYID)+'''');
Open;
end;
FTFID:=Trim(ADOQueryTemp.fieldbyname('TFID').AsString);
if Trim(FTFID)='' then
begin
if GetLSNo(ADOQueryCmd,ImgMaxNo,'TF','TP_File',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取图片表最大号失败!','提示',0);
Exit;
end;
end else
begin
ImgMaxNo:=Trim(FTFID);
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add( ' select * from TP_File where TFID='''+Trim(FTFID)+'''');
open;
end;
with ADOQueryCmd do
begin
if Trim(FTFID)='' then
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
end
else
begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('TFID').Value:=Trim(ImgMaxNo);
FieldByName('WBID').Value:=Trim(CYID);
//FieldByName('TFIdx').Value:=cxTabControl2.TabIndex;
FieldByName('TFType').Value:='样品';
AJpeg.Assign(Image2.Picture.Graphic);
//CreThumb(AJpeg,Image1,160, 120);
myStream := TADOBlobStream.Create(TBlobField(ADOQueryCmd.FieldByName('FilesOther')), bmWrite);
AJpeg.Assign(Image2.Picture.Graphic);
AJpeg.SaveToStream(myStream);
myStream.Free;
Post;
end;
end;
procedure TfrmFileUp.FormCreate(Sender: TObject);
begin
lstPat := TStringList.Create;
end;
procedure TfrmFileUp.FileDelClick(Sender: TObject);
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add(' Delete XD_File where XFID='''+Trim(ADOQueryFile.fieldbyname('XFID').AsString)+'''');
SQL.Add(' Delete TP_File where WBID='''+Trim(CYID)+''' and TFType=''样品'' ');
ExecSQL;
end;
with ADOQueryFile do
begin
Close;
SQL.Clear;
SQL.Add('select * from XD_File where CYID='''+Trim(CYID)+'''');
SQL.Add(' and FileType=''YP''');
open;
end;
if ADOQueryFile.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CP_YDang Set TPFlag=0 where CYID='''+Trim(CYID)+'''');
ExecSQL;
end;
end;
end;
procedure TfrmFileUp.FormShow(Sender: TObject);
begin
with ADOQueryFile do
begin
Close;
SQL.Clear;
SQL.Add('select * from XD_File where CYID='''+Trim(CYID)+'''');
SQL.Add(' and FileType=''YP''');
Open;
end;
end;
end.

View File

@ -0,0 +1,236 @@
unit U_GetDllForm;
interface
uses
Windows, Messages, forms, OleCtnrs, DateUtils, SysUtils, ADODB, dxCore,
ActiveX;
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;
implementation
uses
U_DataLink, U_MachineManage, U_PositionList, U_WarpBeamManage, U_TrayManage;
/////////////////////////////////////////////////////////////////
// 功能说明:取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;
SetLength(fDllFileName, 255);
GetModuleFileName(HInstance, PChar(fDllFileName), Length(fDllFileName));
fDllFileName := ExtractFileName(PChar(fDllFileName));
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 := 'chenhongData';
// user := 'rtsa';
// pswd := 'rightsoft@5740';
server := '8.153.99.238,7781';
dtbase := 'gerunData';
user := 'rightsoftsa';
pswd := 'right,.soft@2377';
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;
// 定义窗口类型 、状态
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
111: //库位管理
begin
with TfrmPositionList.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;
112: //机台管理
begin
with TfrmMachineManage.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;
151: //托盘管理
begin
with TfrmTrayManage.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;
{
141: //经轴管理
begin
with TfrmWarpBeamManage.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;
}
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;
// NewDllApp := Application;
end;
//===========================================================
//建立数据库连接池
//===========================================================
function ConnData(): Boolean;
begin
if not Assigned(DataLink_BaseInfo) then
DataLink_BaseInfo := TDataLink_BaseInfo.Create(Application);
try
with DataLink_BaseInfo.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
// OldDllApp := Application;
//
//
//finalization
// DataLink_BaseInfo.Free;
// Application := OldDllApp;
initialization
CoInitialize(nil);
dxUnitsLoader.Initialize;
finalization
DataLink_BaseInfo.Free;
application := NewDllApp;
dxUnitsLoader.Finalize;
end.

View File

@ -0,0 +1,291 @@
inherited frmMachineManage: TfrmMachineManage
Left = 297
Top = 109
Caption = #26426#21488#31649#29702
ClientHeight = 523
ClientWidth = 1107
KeyPreview = True
ExplicitWidth = 1123
ExplicitHeight = 562
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar [0]
Tag = 1
Left = 0
Top = 0
Width = 1107
Height = 38
AutoSize = True
ButtonHeight = 38
ButtonWidth = 75
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_BaseInfo.ImageList_new32
Images = DataLink_BaseInfo.ImageList_new32
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 1
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
Left = 71
Top = 0
AutoSize = True
Caption = #36807#28388
ImageIndex = 0
Visible = False
OnClick = ToolButton2Click
end
object ToolButton6: TToolButton
Left = 142
Top = 0
AutoSize = True
Caption = #20462#25913
ImageIndex = 3
OnClick = ToolButton6Click
end
object ToolButton4: TToolButton
Left = 213
Top = 0
AutoSize = True
Caption = #22686#34892
ImageIndex = 2
OnClick = ToolButton4Click
end
object ToolButton5: TToolButton
Left = 284
Top = 0
AutoSize = True
Caption = #21024#34892
ImageIndex = 6
OnClick = ToolButton5Click
end
object tbStart: TToolButton
Left = 355
Top = 0
AutoSize = True
Caption = #21551#29992
ImageIndex = 12
OnClick = tbStartClick
end
object tbPause: TToolButton
Left = 426
Top = 0
AutoSize = True
Caption = #20572#29992
ImageIndex = 11
Visible = False
OnClick = tbPauseClick
end
object ToolButton3: TToolButton
Left = 497
Top = 0
AutoSize = True
Caption = #25171#21360
ImageIndex = 21
OnClick = ToolButton3Click
end
object ToolButton1: TToolButton
Left = 568
Top = 0
AutoSize = True
Caption = #23548#20986
ImageIndex = 20
OnClick = ToolButton1Click
end
object TBClose: TToolButton
Left = 639
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 7
OnClick = TBCloseClick
end
end
object cxGrid2: TcxGrid [1]
Left = 0
Top = 121
Width = 1107
Height = 402
Align = alClient
PopupMenu = PopupMenu1
TabOrder = 2
object Tv2: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
Navigator.Buttons.Delete.Visible = False
ScrollbarAnnotations.CustomAnnotations = <>
DataController.DataSource = DS_HZ
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <>
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 = skCount
Column = v2Column12
end>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
Styles.Footer = DataLink_BaseInfo.Default
Styles.Header = DataLink_BaseInfo.Default
object v2Column1: TcxGridDBColumn
Caption = #36873#25321
DataBinding.FieldName = 'SSel'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxCheckBoxProperties'
HeaderAlignmentHorz = taCenter
end
object v2Column12: TcxGridDBColumn
Caption = #26426#21488#21495
DataBinding.FieldName = 'MCNO'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 149
end
object v2Column8: TcxGridDBColumn
Caption = #26426#21488#31867#22411
DataBinding.FieldName = 'MCType'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 180
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object Panel1: TPanel [2]
Left = 0
Top = 38
Width = 1107
Height = 58
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label1: TLabel
Left = 66
Top = 20
Width = 36
Height = 12
Caption = #26426#21488#21495
end
object MCNO: TEdit
Tag = 2
Left = 105
Top = 16
Width = 89
Height = 20
TabOrder = 0
OnChange = CustomerChange
end
end
object cxTabControl1: TcxTabControl [3]
Left = 0
Top = 96
Width = 1107
Height = 25
Align = alTop
TabOrder = 3
Properties.CustomButtons.Buttons = <>
Properties.TabIndex = 0
Properties.Tabs.Strings = (
#20840#37096
#27491#22312#20351#29992)
OnChange = cxTabControl1Change
ClientRectBottom = 23
ClientRectLeft = 2
ClientRectRight = 1105
ClientRectTop = 22
end
inherited ADOQueryBaseCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
end
inherited ADOQueryBaseTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Left = 153
Top = 129
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 299
Top = 209
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Parameters = <>
Left = 261
Top = 209
end
object ADOQueryMain: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 229
Top = 209
end
object GPM_1: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 520
Top = 264
end
object DS_HZ: TDataSource
DataSet = CDS_HZ
Left = 283
Top = 259
end
object CDS_HZ: TClientDataSet
Aggregates = <>
Params = <>
Left = 445
Top = 199
end
object PopupMenu1: TPopupMenu
Left = 379
Top = 338
object N1: TMenuItem
Caption = #20840#36873
OnClick = N1Click
end
object N2: TMenuItem
Caption = #20840#24323
OnClick = N2Click
end
end
end

View File

@ -0,0 +1,562 @@
unit U_MachineManage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxPC, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList, RM_BarCode,
dxSkinWXI, dxScrollbarAnnotations;
type
TfrmMachineManage = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
GPM_1: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Panel1: TPanel;
MCNO: TEdit;
v2Column8: TcxGridDBColumn;
Label1: TLabel;
v2Column12: TcxGridDBColumn;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
v2Column1: TcxGridDBColumn;
ToolButton6: TToolButton;
cxTabControl1: TcxTabControl;
tbStart: TToolButton;
tbPause: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CustomerChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure v2Column8PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure Tv2Column1PropertiesChange(Sender: TObject);
procedure tbStartClick(Sender: TObject);
procedure tbPauseClick(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
procedure EditValueT();
procedure EditValueF();
public
fFlag: integer;
{ Public declarations }
RKFlag, FCYID, fmanage: string;
end;
var
frmMachineManage: TfrmMachineManage;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint;
{$R *.dfm}
procedure TfrmMachineManage.InitGrid();
begin
MCNO.SetFocus;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.* from BS_Machine A ');
if cxTabControl1.TabIndex = 1 then
sql.Add(' where ISNULL(A.Status,0) = 5 ');
sql.Add(' order by MCNO ');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
ToolButton2.Click;
end;
EditValueF();
end;
procedure TfrmMachineManage.FormDestroy(Sender: TObject);
begin
inherited;
frmMachineManage := nil;
end;
procedure TfrmMachineManage.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmMachineManage.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Trim(Self.Caption), Tv2, '机台管理');
Close;
end;
procedure TfrmMachineManage.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(Trim(Self.Caption), Tv2, '机台管理');
// Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
// begdate.DateTime:=Enddate.DateTime-30;
cxTabControl1.TabIndex := 0;
tbStart.Visible := True;
tbPause.Visible := False;
InitGrid();
end;
procedure TfrmMachineManage.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmMachineManage.ToolButton2Click(Sender: TObject);
var
sql: string;
begin
if ADOQueryMain.Active then
begin
sql := SGetFilters(Panel1, 1, 2);
SDofilter(ADOQueryMain, sql);
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmMachineManage.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
// SelExportData(Tv2, ADOQueryMain, trim(Self.Caption));
TcxGridToExcel(self.Caption, cxgrid2);
end;
procedure TfrmMachineManage.cxTabControl1Change(Sender: TObject);
begin
tbStart.Visible := (cxTabControl1.TabIndex = 0);
tbPause.Visible := (cxTabControl1.TabIndex = 1);
InitGrid;
end;
procedure TfrmMachineManage.tbStartClick(Sender: TObject);
var
MMCIDS: string;
begin
inherited;
if CDS_HZ.IsEmpty then
Exit;
if not CDS_HZ.Locate('SSel', True, []) then
begin
Application.MessageBox('没有选择数据!', '提示', 0);
Exit;
end;
MMCIDS := '';
CDS_HZ.DisableControls;
try
CDS_HZ.First;
while not CDS_HZ.Eof do
begin
if CDS_HZ.fieldbyname('SSel').AsBoolean then
begin
if MMCIDS <> '' then
MMCIDS := MMCIDS + ',' + QuotedStr(Trim(CDS_HZ.fieldbyname('MCID').AsString))
else
MMCIDS := QuotedStr(Trim(CDS_HZ.fieldbyname('MCID').AsString));
end;
CDS_HZ.Next;
end;
finally
CDS_HZ.EnableControls;
end;
if MMCIDS = '' then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('update BS_Machine set Status = 5 where MCID in (' + MMCIDS + ')');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
SQL.Add(' ' + QuotedStr(Trim(DName)));
SQL.Add(',getdate() ');
SQL.Add(',' + QuotedStr(Trim(self.Caption)));
SQL.Add(',' + QuotedStr(Trim('启用')));
SQL.Add(',' + QuotedStr(Trim(MMCIDS)));
SQL.Add(',' + QuotedStr(Trim('成功')));
SQL.Add(')');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_HZ.DisableControls;
try
CDS_HZ.First;
while not CDS_HZ.Eof do
begin
if CDS_HZ.fieldbyname('SSel').AsBoolean then
begin
CDS_HZ.Edit;
CDS_HZ.fieldbyname('Status').AsInteger := 5;
CDS_HZ.Post;
end;
CDS_HZ.Next;
end;
finally
CDS_HZ.EnableControls;
end;
Application.MessageBox('操作成功!', '提示信息');
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
end;
end;
procedure TfrmMachineManage.tbPauseClick(Sender: TObject);
var
MMCIDS: string;
begin
inherited;
if CDS_HZ.IsEmpty then
Exit;
if not CDS_HZ.Locate('SSel', True, []) then
begin
Application.MessageBox('没有选择数据!', '提示', 0);
Exit;
end;
MMCIDS := '';
CDS_HZ.DisableControls;
try
CDS_HZ.First;
while not CDS_HZ.Eof do
begin
if CDS_HZ.fieldbyname('SSel').AsBoolean then
begin
if MMCIDS <> '' then
MMCIDS := MMCIDS + ',' + QuotedStr(Trim(CDS_HZ.fieldbyname('MCID').AsString))
else
MMCIDS := QuotedStr(Trim(CDS_HZ.fieldbyname('MCID').AsString));
end;
CDS_HZ.Next;
end;
finally
CDS_HZ.EnableControls;
end;
if MMCIDS = '' then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('update BS_Machine set Status = 0 where MCID in (' + MMCIDS + ')');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
SQL.Add(' ' + QuotedStr(Trim(DName)));
SQL.Add(',getdate() ');
SQL.Add(',' + QuotedStr(Trim(self.Caption)));
SQL.Add(',' + QuotedStr(Trim('停用')));
SQL.Add(',' + QuotedStr(Trim(MMCIDS)));
SQL.Add(',' + QuotedStr(Trim('成功')));
SQL.Add(')');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_HZ.DisableControls;
try
CDS_HZ.First;
while not CDS_HZ.Eof do
begin
if CDS_HZ.fieldbyname('SSel').AsBoolean then
begin
CDS_HZ.Edit;
CDS_HZ.fieldbyname('Status').AsInteger := 0;
CDS_HZ.Post;
end;
CDS_HZ.Next;
end;
finally
CDS_HZ.EnableControls;
end;
Application.MessageBox('操作成功!', '提示信息');
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
end;
end;
procedure TfrmMachineManage.N1Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
SelOKNo(CDS_HZ, True);
end;
procedure TfrmMachineManage.N2Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
SelOKNo(CDS_HZ, False);
end;
procedure TfrmMachineManage.CustomerChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmMachineManage.FormCreate(Sender: TObject);
begin
inherited;
fmanage := Trim(DParameters1);
end;
procedure TfrmMachineManage.v2Column8PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate BS_Machine ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
sql.Add(' , Editer=''' + Trim(DName) + '''');
sql.Add(' , Edittime=getdate()');
sql.Add(' where MCID=' + quotedstr(CDS_HZ.fieldbyname('MCID').AsString));
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv2.Controller.EditingController.ShowEdit();
except
tv2.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!', '提示', 0);
end
end;
procedure TfrmMachineManage.ToolButton3Click(Sender: TObject);
var
RTValues: TArray<string>;
begin
if CDS_HZ.IsEmpty then
Exit;
if CDS_HZ.Locate('SSel', True, []) = False then
begin
Application.MessageBox('请先选择数据!', '提示', 0);
Exit;
end;
RTValues := SelCDSKey(CDS_HZ, ['MCID']);
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'Machine';
FFiltration1 := RTValues[0];
if ShowModal = 1 then
begin
// Self.InitGrid();
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmMachineManage.ToolButton4Click(Sender: TObject);
var
maxId: string;
begin
MCNO.SetFocus;
if GetLSNo(ADOQueryCmd, maxId, 'M', 'BS_Machine', 4, 1) = False then
begin
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into BS_Machine(Filler) values(' + quotedstr(Trim(dname)) + ')');
ExecSQL;
end;
InitGrid();
EditValueT();
end;
procedure TfrmMachineManage.ToolButton5Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
if CDS_HZ.Locate('SSel', True, []) = False then
begin
Application.MessageBox('请先选择数据!', '提示', 0);
Exit;
end;
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
Exit;
with CDS_HZ do
begin
while not Eof do
begin
if CDS_HZ.Locate('SSel', True, []) = True then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete BS_Machine where MCID=' + QuotedStr(CDS_HZ.FieldByName('MCID').AsString));
ExecSQL;
end;
end;
CDS_HZ.Edit;
CDS_HZ.FieldByName('SSel').Value := False;
CDS_HZ.Post;
Next;
end;
end;
InitGrid();
end;
procedure TfrmMachineManage.ToolButton6Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
EditValueT();
end;
procedure TfrmMachineManage.EditValueT();
var
i: Integer;
begin
for i := 0 to tv2.ColumnCount - 1 do
begin
if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then
tv2.Columns[i].Options.Editing := True;
end;
end;
procedure TfrmMachineManage.EditValueF();
var
i: Integer;
begin
for i := 0 to tv2.ColumnCount - 1 do
begin
if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then
tv2.Columns[i].Options.Editing := false;
end;
end;
procedure TfrmMachineManage.Tv2Column1PropertiesChange(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate BS_Machine ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
sql.Add(' , Editer=''' + Trim(DName) + '''');
sql.Add(' , Edittime=getdate()');
sql.Add(' where MCID=' + quotedstr(CDS_HZ.fieldbyname('MCID').AsString));
// ShowMessage(sql.text);
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv2.Controller.EditingController.ShowEdit();
except
tv2.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!', '提示', 0);
end
end;
end.

View File

@ -0,0 +1,181 @@
object frmModuleNote: TfrmModuleNote
Left = 326
Top = 178
Width = 729
Height = 528
Align = alClient
Caption = #25805#20316#35828#26126
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object cxGrid1: TcxGrid
Left = 0
Top = 73
Width = 713
Height = 416
Align = alClient
TabOrder = 0
object TV1: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
OnCellDblClick = TV1CellDblClick
DataController.DataSource = DataSource1
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.FocusCellOnCycle = True
OptionsCustomize.ColumnFiltering = False
OptionsData.Editing = False
OptionsSelection.CellSelect = False
OptionsView.GroupByBox = False
object V1OrderNo: TcxGridDBColumn
Caption = #26085#26399
DataBinding.FieldName = 'MNDate'
PropertiesClassName = 'TcxDateEditProperties'
Properties.ImmediatePost = True
Properties.SaveTime = False
Properties.ShowTime = False
HeaderAlignmentHorz = taCenter
Options.Editing = False
Width = 117
end
object V1Name: TcxGridDBColumn
Tag = 2
Caption = #25805#20316#35828#26126
DataBinding.FieldName = 'MNNOte'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1NamePropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 513
end
end
object cxGrid1Level1: TcxGridLevel
GridView = TV1
end
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 713
Height = 29
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
Flat = True
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
Images = DataLink_DDMD.ThreeImgList
List = True
ParentFont = False
ShowCaptions = True
TabOrder = 1
object ToolButton1: TToolButton
Left = 0
Top = 0
Caption = #36873#25321
ImageIndex = 10
OnClick = ToolButton1Click
end
object TBAdd: TToolButton
Left = 59
Top = 0
Caption = #22686#34892
ImageIndex = 12
OnClick = TBAddClick
end
object TBDel: TToolButton
Left = 118
Top = 0
Caption = #21024#34892
ImageIndex = 13
OnClick = TBDelClick
end
object TBEdit: TToolButton
Left = 177
Top = 0
Caption = #20462#25913
ImageIndex = 11
OnClick = TBEditClick
end
object TBClose: TToolButton
Left = 236
Top = 0
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object Panel1: TPanel
Left = 0
Top = 29
Width = 713
Height = 44
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
TabOrder = 2
object Label2: TLabel
Left = -31
Top = 13
Width = 360
Height = 16
Caption = ' '#27880#65306#28966#28857#31163#24320#24403#21069#32534#36753#21333#20803#26684#20445#23384#25968#25454#12290
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clBlue
Font.Height = -16
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
end
object ADOQueryMain: TADOQuery
Connection = DataLink_DDMD.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 48
Top = 136
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_DDMD.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 80
Top = 144
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_DDMD.ADOLink
Parameters = <>
Left = 112
Top = 152
end
object DataSource1: TDataSource
DataSet = ClientDataSet1
Left = 280
Top = 144
end
object ClientDataSet1: TClientDataSet
Aggregates = <>
Params = <>
Left = 208
Top = 144
end
object cxGridPopupMenu1: TcxGridPopupMenu
Grid = cxGrid1
PopupMenus = <>
Left = 168
Top = 152
end
end

View File

@ -0,0 +1,220 @@
unit U_ModuleNote;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList,
StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu,
cxTimeEdit, cxCalendar;
type
TfrmModuleNote = class(TForm)
TV1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
V1Name: TcxGridDBColumn;
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
TBAdd: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ToolButton1: TToolButton;
TBEdit: TToolButton;
V1OrderNo: TcxGridDBColumn;
Panel1: TPanel;
cxGridPopupMenu1: TcxGridPopupMenu;
Label2: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBAddClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure V1NamePropertiesEditValueChanged(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
flag:string;
{ Public declarations }
end;
var
frmModuleNote: TfrmModuleNote;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmModuleNote.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmModuleNote.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select * from SY_Module_Note A where A.MNType='''+flag+'''');
Open;
end;
SCreateCDS(ADOQueryMain,ClientDataSet1);
SInitCDSData(ADOQueryMain,ClientDataSet1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmModuleNote.TBAddClick(Sender: TObject);
begin
TV1.OptionsData.Editing:=True;
TV1.OptionsSelection.CellSelect:=True;
with ClientDataSet1 do
begin
Append;
FieldByName('MNDate').Value:=Now;
Post;
end;
end;
procedure TfrmModuleNote.TBDelClick(Sender: TObject);
begin
if ClientDataSet1.IsEmpty then Exit;
if (Trim(ClientDataSet1.FieldByName('MNID').AsString)<>'') then
begin
if application.MessageBox('确定要删除吗?','提示信息',1)=2 then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete SY_Module_Note where MNID='''+Trim(ClientDataSet1.fieldbyname('MNID').AsString)+'''');
ExecSQL;
end;
end;
ClientDataSet1.Delete;
end;
procedure TfrmModuleNote.TBCloseClick(Sender: TObject);
begin
ModalResult:=2;
WriteCxGrid('自定义'+Trim(flag),TV1,'模块说明');
Close;
end;
procedure TfrmModuleNote.FormShow(Sender: TObject);
var
fsj,fsj1:string;
begin
InitGrid();
ReadCxGrid('自定义'+Trim(flag),TV1,'模块说明');
frmModuleNote.Caption:=Trim(flag);
end;
procedure TfrmModuleNote.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid('自定义'+Trim(flag),TV1,'模块说明');
ModalResult:=1;
end;
procedure TfrmModuleNote.TBEditClick(Sender: TObject);
begin
TV1.OptionsData.Editing:=True;
TV1.OptionsSelection.CellSelect:=True;
end;
procedure TfrmModuleNote.TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if TV1.OptionsData.Editing=False then
begin
ModalResult:=1;
end;
end;
procedure TfrmModuleNote.V1NamePropertiesEditValueChanged(Sender: TObject);
var
maxno,mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
//Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('MNNote').Value:=Trim(mvalue);
//Post;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(ClientDataSet1.FieldByName('MNID').AsString)='' then
begin
if GetLSNo(ADOQueryCmd,maxno,'SY','SY_Module_Note',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
//ClientDataSet1.EnableControls;
Application.MessageBox('取最大编号失败!','提示',0);
Exit;
end;
end else
begin
maxno:=Trim(ClientDataSet1.fieldbyname('MNID').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.add('select * from SY_Module_Note ');
sql.Add(' where MNID='''+Trim(ClientDataSet1.fieldbyname('MNID').AsString)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(ClientDataSet1.fieldbyname('MNID').AsString)='' then
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
FieldByName('FillTime').Value:=Now;
end
else begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=Now;
end;
FieldByName('MNDate').Value:=ClientDataSet1.fieldbyname('MNDate').Value;
FieldByName('MNID').Value:=Trim(maxno);
FieldByName('MNNote').Value:=ClientDataSet1.fieldbyname('MNNote').AsString;
FieldByName('MNType').Value:=flag;
Post;
end;
ADOQueryCmd.Connection.CommitTrans;
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('MNID').Value:=Trim(maxno);
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!','提示',0);
end;
end;
end.

View File

@ -0,0 +1,342 @@
object frmModulePromptList: TfrmModulePromptList
Left = 131
Top = 161
Width = 1133
Height = 547
Caption = #25105#30340#31649#23478
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnCreate = FormCreate
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 1117
AutoSize = True
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
Color = clSkyBlue
Flat = True
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
Images = DataLink_DDMD.ThreeImgList
List = True
ParentColor = False
ParentFont = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 0
OnClick = TBRafreshClick
end
object TBClose: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object Panel1: TPanel
Left = 0
Top = 32
Width = 1117
Height = 66
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label1: TLabel
Left = 75
Top = 11
Width = 84
Height = 12
Caption = #38144#21806#21512#21516#26410#23457#26680
end
object Label2: TLabel
Left = 48
Top = 8
Width = 27
Height = 16
Caption = 'aa:'
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -16
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Label3: TLabel
Left = 242
Top = 11
Width = 96
Height = 12
Caption = #29983#20135#25351#31034#21333#26410#23457#26680
end
object Label4: TLabel
Left = 215
Top = 8
Width = 27
Height = 16
Caption = 'bb:'
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -16
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Label5: TLabel
Left = 457
Top = 11
Width = 120
Height = 12
Caption = #29983#20135#25351#31034#21333#24037#24207#26410#23450#20041
end
object Label6: TLabel
Left = 428
Top = 8
Width = 27
Height = 16
Caption = 'cc:'
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -16
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Label7: TLabel
Left = 75
Top = 40
Width = 120
Height = 12
Caption = #29983#20135#25351#31034#21333#24037#24207#26410#23433#25490
end
object Label8: TLabel
Left = 48
Top = 37
Width = 27
Height = 16
Caption = 'dd:'
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -16
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Label9: TLabel
Left = 241
Top = 40
Width = 168
Height = 12
Caption = #29983#20135#25351#31034#21333#37319#36141#21152#24037#21512#21516#26410#24405#20837
end
object Label10: TLabel
Left = 214
Top = 37
Width = 27
Height = 16
Caption = 'ee:'
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -16
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Label11: TLabel
Left = 456
Top = 40
Width = 108
Height = 12
Caption = #29983#20135#25351#31034#21333#29983#20135#36229#26399
end
object Label12: TLabel
Left = 428
Top = 37
Width = 27
Height = 16
Caption = 'ff:'
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -16
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Label13: TLabel
Left = 627
Top = 11
Width = 84
Height = 12
Caption = #26597' '#35810' '#26465' '#20214
end
object ModuleNote: TEdit
Tag = 2
Left = 608
Top = 36
Width = 121
Height = 20
TabOrder = 0
OnChange = ModuleNoteChange
end
end
object cxGrid1: TcxGrid
Left = 0
Top = 98
Width = 1117
Height = 410
Align = alClient
TabOrder = 2
object Tv1: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
OnCellDblClick = Tv1CellDblClick
DataController.DataSource = DataSource1
DataController.Summary.DefaultGroupSummaryItems = <>
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 = skCount
Column = v1Column5
end>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsData.Editing = False
OptionsSelection.CellSelect = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
object v1Column5: TcxGridDBColumn
Caption = #24453#22788#29702#20107#39033
DataBinding.FieldName = 'ModuleNote'
HeaderAlignmentHorz = taCenter
Styles.Footer = DataLink_DDMD.FoneRed
Width = 843
end
end
object cxGrid1Level1: TcxGridLevel
GridView = Tv1
end
end
object cxGridPopupMenu1: TcxGridPopupMenu
PopupMenus = <>
Left = 1128
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_DDMD.ADOLink
Parameters = <>
Left = 936
end
object ADOQueryMain: TADOQuery
Connection = DataLink_DDMD.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 1000
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_DDMD.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 1040
Top = 8
end
object DataSource1: TDataSource
DataSet = Order_Main
Left = 1168
Top = 8
end
object Order_Main: TClientDataSet
Aggregates = <>
Params = <>
Left = 815
Top = 7
end
object RM1: TRMGridReport
ThreadPrepareReport = True
InitialZoom = pzDefault
PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator]
DefaultCollate = False
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
PreviewOptions.RulerUnit = rmutScreenPixels
PreviewOptions.RulerVisible = False
PreviewOptions.DrawBorder = False
PreviewOptions.BorderPen.Color = clGray
PreviewOptions.BorderPen.Style = psDash
Dataset = RMDBMain
CompressLevel = rmzcFastest
CompressThread = False
LaterBuildEvents = True
OnlyOwnerDataSet = False
Left = 475
Top = 193
ReportData = {}
end
object RMDBMain: TRMDBDataSet
Visible = True
DataSet = CDS_PRT
Left = 400
Top = 192
end
object RMXLSExport1: TRMXLSExport
ShowAfterExport = True
ExportPrecision = 1
PagesOfSheet = 1
ExportImages = True
ExportFrames = True
ExportImageFormat = ifBMP
JPEGQuality = 0
ScaleX = 1.000000000000000000
ScaleY = 1.000000000000000000
CompressFile = False
Left = 440
Top = 192
end
object CDS_PRT: TClientDataSet
Aggregates = <>
Params = <>
Left = 877
Top = 9
end
object cxGridPopupMenu2: TcxGridPopupMenu
PopupMenus = <>
Left = 506
Top = 195
end
end

View File

@ -0,0 +1,257 @@
unit U_ModulePromptList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter,
RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport,
cxTextEdit, cxPC;
type
TfrmModulePromptList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
CDS_PRT: TClientDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column5: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
ModuleNote: TEdit;
Label13: TLabel;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ModuleNoteChange(Sender: TObject);
private
FormID,FormType:Integer;
canshu1,canshu2:string;
formFile,FormPara,Formname,FFormPara:string;
FormPara1,FormPara2,FormPara3,FormPara4,FormPara5:string;
FormPara6,FormPara7,FormPara8,FormPara9,FormPara10:string;
procedure InitGrid();
procedure InitForm();
procedure InitDllEvt(FromFile:String;FormID:Integer;Para:String;FormType:Integer; Title: String;
Def1: String; Def2: String; Def3: String; Def4: String; Def5: String;
Def6: String; Def7: String; Def8: String; Def9: String; Def10: string);
{ Private declarations }
public
{ Public declarations }
userID,username,ADOConnString:string;
end;
var
frmModulePromptList: TfrmModulePromptList;
implementation
uses
U_DataLink,U_RTFun;
type
TMyF = function(
App: TApplication; //主应用程序 (对Delphi而言)
FormH: HWND; //创建窗口的父窗口句柄 (对PB而言)
FormID: Integer; //要调用dll中功能窗体的Id号; 如果只有一个功能窗口,FormID默认为0
Language: Integer; //0=Delphi; 1=PB
WinStyle: Integer; //0=子窗口; 1:普通窗口 (PB中都为普通窗口)
UID: PChar; //用户Id
UName: PChar; //用户名
Para: PChar;
Title: PChar;
Defstr1: PChar;
Defstr2: PChar;
Defstr3: PChar;
Defstr4: PChar;
Defstr5: PChar;
Defstr6: PChar;
Defstr7: PChar;
Defstr8: PChar;
Defstr9: PChar;
Defstr10: PChar;
Datalink: PChar
): HWND; stdcall;
var
TP: FARPROC;
Tf: TMyF;
{$R *.dfm}
procedure TfrmModulePromptList.FormDestroy(Sender: TObject);
begin
frmModulePromptList:=nil;
end;
procedure TfrmModulePromptList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmModulePromptList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('工作列表',Tv1,'我的管家');
end;
procedure TfrmModulePromptList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
SQL.Add(' exec P_Chk_Tishi :DName,:DCode');
Parameters.ParamByName('DName').Value:=Trim(DName);
Parameters.ParamByName('DCode').Value:=Trim(DCode);
ExecSQL;
Open;
end;
SCreateCDS(ADOQueryMain,Order_Main);
SInitCDSData(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmModulePromptList.InitForm();
begin
FFormPara:=Trim(DConString);
ReadCxGrid('工作列表',Tv1,'我的管家');
InitGrid();
end;
procedure TfrmModulePromptList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS(ADOQueryMain,Order_Main);
SInitCDSData(ADOQueryMain,Order_Main);
end;
procedure TfrmModulePromptList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmModulePromptList.cxPageControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmModulePromptList.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
end;
procedure TfrmModulePromptList.InitDllEvt(FromFile:String;FormID:Integer;Para:String;FormType:Integer; Title: String;
Def1: String; Def2: String; Def3: String; Def4: String; Def5: String;
Def6: String; Def7: String; Def8: String; Def9: String; Def10: string);
var
Th: HMODULE;
begin
Th := LoadLibrary(PChar(FromFile));
if Th > 0 then
begin
TP := GetProcAddress(Th, 'GetDllForm');
if TP <> nil then
begin
Tf := TMyF(Tp);
Tf(Application, 0, FormID, 0, FormType, PChar(DCode), PChar(DName), PChar(Para), PChar(Title),
PChar(Def1), PChar(Def2),PChar(Def3),PChar(Def4),PChar(Def5),
PChar(Def6),PChar(Def7),PChar(Def8),PChar(Def9),PChar(Def10),
pchar(FFormPara));
end;
end
else
begin
Application.MessageBox(PChar('打不开文件' + FromFile + '!'), '错误', MB_ICONERROR);
end;
end;
procedure TfrmModulePromptList.Tv1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
{ with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_ModuleSub where ModuleId='''+Trim(Order_Main.fieldbyname('ModuleId').AsString)+'''');
sql.Add(' and ModuleSubId='''+Trim(Order_Main.fieldbyname('ModuleSubId').AsString)+'''');
Open;
end;
//FormID,FormType:Integer;
// formFile,FormPara,Formname:string;
// FormPara1,FormPara2,FormPara3,FormPara4,FormPara5:string;
//FormPara6,FormPara7,FormPara8,FormPara9,FormPara10:string;
formFile:=Trim(ADOQueryTemp.fieldbyname('FormFile').AsString);
FormID:=ADOQueryTemp.fieldbyname('FormID').AsInteger;
FormType:=ADOQueryTemp.fieldbyname('FormType').AsInteger;
Formname:=Trim(ADOQueryTemp.fieldbyname('Formname').AsString);
FormPara:=Trim(ADOQueryTemp.fieldbyname('FormPara').AsString);
// ShowMessage(FormPara);
FormPara1:=Trim(ADOQueryTemp.fieldbyname('FormPara1').AsString);
FormPara2:=Trim(ADOQueryTemp.fieldbyname('FormPara2').AsString);
FormPara3:=Trim(ADOQueryTemp.fieldbyname('FormPara3').AsString);
FormPara4:=Trim(ADOQueryTemp.fieldbyname('FormPara4').AsString);
FormPara5:=Trim(ADOQueryTemp.fieldbyname('FormPara5').AsString);
FormPara6:=Trim(ADOQueryTemp.fieldbyname('FormPara6').AsString);
FormPara7:=Trim(ADOQueryTemp.fieldbyname('FormPara7').AsString);
FormPara8:=Trim(ADOQueryTemp.fieldbyname('FormPara8').AsString);
FormPara9:=Trim(ADOQueryTemp.fieldbyname('FormPara9').AsString);
FormPara10:=Trim(ADOQueryTemp.fieldbyname('FormPara10').AsString);
InitDllEvt(formFile,FormID,FormPara,FormType,Formname,FormPara1,FormPara2,
FormPara3,FormPara4,FormPara5,FormPara6,FormPara7,FormPara8,
FormPara9,FormPara10); }
end;
procedure TfrmModulePromptList.ModuleNoteChange(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS(ADOQueryMain,Order_Main);
SInitCDSData(ADOQueryMain,Order_Main);
end;
end.

View File

@ -0,0 +1,304 @@
inherited frmPositionList: TfrmPositionList
Left = 297
Top = 109
Caption = #24211#20301#31649#29702
ClientHeight = 532
ClientWidth = 1107
KeyPreview = True
ExplicitWidth = 1123
ExplicitHeight = 571
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar [0]
Tag = 1
Left = 0
Top = 0
Width = 1107
Height = 38
AutoSize = True
ButtonHeight = 38
ButtonWidth = 75
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_BaseInfo.ImageList_new32
Images = DataLink_BaseInfo.ImageList_new32
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 1
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
Left = 71
Top = 0
AutoSize = True
Caption = #36807#28388
ImageIndex = 0
Visible = False
OnClick = ToolButton2Click
end
object ToolButton6: TToolButton
Left = 142
Top = 0
AutoSize = True
Caption = #20462#25913
ImageIndex = 3
OnClick = ToolButton6Click
end
object ToolButton4: TToolButton
Left = 213
Top = 0
AutoSize = True
Caption = #22686#34892
ImageIndex = 2
OnClick = ToolButton4Click
end
object ToolButton5: TToolButton
Left = 284
Top = 0
AutoSize = True
Caption = #21024#34892
ImageIndex = 6
OnClick = ToolButton5Click
end
object ToolButton3: TToolButton
Left = 355
Top = 0
AutoSize = True
Caption = #25171#21360
ImageIndex = 21
OnClick = ToolButton3Click
end
object ToolButton1: TToolButton
Left = 426
Top = 0
AutoSize = True
Caption = #23548#20986
ImageIndex = 20
OnClick = ToolButton1Click
end
object TBClose: TToolButton
Left = 497
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 7
OnClick = TBCloseClick
end
end
object cxGrid2: TcxGrid [1]
Left = 0
Top = 96
Width = 1107
Height = 436
Align = alClient
PopupMenu = PopupMenu1
TabOrder = 2
object Tv2: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
Navigator.Buttons.Delete.Visible = False
ScrollbarAnnotations.CustomAnnotations = <>
DataController.DataSource = DS_HZ
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <>
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>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsView.GroupByBox = False
Styles.Header = DataLink_BaseInfo.Default
object v2Column1: TcxGridDBColumn
Caption = #36873#25321
DataBinding.FieldName = 'SSel'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxCheckBoxProperties'
HeaderAlignmentHorz = taCenter
end
object v2Column12: TcxGridDBColumn
Caption = #24211#20301#32534#21495
DataBinding.FieldName = 'POSNO'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 149
end
object v2Column8: TcxGridDBColumn
Caption = #24211#20301#21517#31216
DataBinding.FieldName = 'POSName'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 180
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object Panel1: TPanel [2]
Left = 0
Top = 38
Width = 1107
Height = 58
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label1: TLabel
Left = 66
Top = 20
Width = 48
Height = 12
Caption = #24211#20301#32534#21495
end
object POSNO: TEdit
Tag = 2
Left = 120
Top = 16
Width = 89
Height = 20
TabOrder = 0
OnChange = CustomerChange
end
end
inherited ADOQueryBaseCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Left = 417
Top = 104
end
inherited ADOQueryBaseTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Left = 273
Top = 129
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 299
Top = 209
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Parameters = <>
Left = 261
Top = 209
end
object ADOQueryMain: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 229
Top = 209
end
object RM1: TRMGridReport
ThreadPrepareReport = True
InitialZoom = pzDefault
PreviewButtons = [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbExport, rmpbNavigator]
DefaultCollate = False
ShowPrintDialog = False
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
PreviewOptions.RulerUnit = rmutScreenPixels
PreviewOptions.RulerVisible = False
PreviewOptions.DrawBorder = False
PreviewOptions.BorderPen.Color = clGray
PreviewOptions.BorderPen.Style = psDash
Dataset = RMDB_Main
CompressLevel = rmzcFastest
CompressThread = False
LaterBuildEvents = True
OnlyOwnerDataSet = False
Left = 355
Top = 344
ReportData = {}
end
object RMDB_Main: TRMDBDataSet
Visible = True
DataSet = ADOQueryPrt
Left = 288
Top = 344
end
object cxGridPopupMenu2: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 520
Top = 264
end
object DS_HZ: TDataSource
DataSet = CDS_HZ
Left = 451
Top = 211
end
object CDS_HZ: TClientDataSet
Aggregates = <>
Params = <>
Left = 384
Top = 208
end
object PopupMenu1: TPopupMenu
Left = 184
Top = 280
object N1: TMenuItem
Caption = #20840#36873
OnClick = N1Click
end
object N2: TMenuItem
Caption = #20840#24323
OnClick = N2Click
end
end
object RMXLSExport2: TRMXLSExport
ShowAfterExport = False
ExportPrecision = 1
PagesOfSheet = 1
ExportImages = True
ExportFrames = True
ExportImageFormat = ifBMP
JPEGQuality = 0
ScaleX = 1.000000000000000000
ScaleY = 1.000000000000000000
CompressFile = False
Left = 420
Top = 344
end
object ADOQueryPrt: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 229
Top = 345
end
object RMBarCodeObject1: TRMBarCodeObject
Left = 472
Top = 432
end
end

View File

@ -0,0 +1,382 @@
unit U_PositionList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxPC, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls,
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, RM_BarCode,
dxSkinWXI, dxScrollbarAnnotations;
type
TfrmPositionList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Panel1: TPanel;
POSNO: TEdit;
RMXLSExport2: TRMXLSExport;
v2Column8: TcxGridDBColumn;
Label1: TLabel;
v2Column12: TcxGridDBColumn;
ToolButton3: TToolButton;
ADOQueryPrt: TADOQuery;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
v2Column1: TcxGridDBColumn;
ToolButton6: TToolButton;
RMBarCodeObject1: TRMBarCodeObject;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CustomerChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure v2Column8PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
private
{ Private declarations }
procedure PrintReport(FZDYNo: string);
procedure InitGrid();
procedure EditValueT();
procedure EditValueF();
public
fFlag: integer;
{ Public declarations }
RKFlag, FCYID, fmanage: string;
end;
var
frmPositionList: TfrmPositionList;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint;
{$R *.dfm}
procedure TfrmPositionList.PrintReport(FZDYNo: string);
var
fPrintFile, FFCYID: string;
begin
if CDS_HZ.IsEmpty then
Exit;
ExportFtErpFile('库位标签.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\库位标签.rmf';
with ADOQueryPrt do
begin
close;
sql.Clear;
sql.Add(' select * from BS_Position where POSID=''' + Trim(FZDYNo) + '''');
open;
end;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar('没有找' + fPrintFile + '!'), '提示', 0);
Exit;
end;
end;
procedure TfrmPositionList.InitGrid();
begin
POSNO.SetFocus;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.* from BS_Position A order by POSNO ');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
ToolButton2.Click;
end;
EditValueF();
end;
procedure TfrmPositionList.EditValueT();
var
i: Integer;
begin
for i := 0 to tv2.ColumnCount - 1 do
begin
if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then
tv2.Columns[i].Options.Editing := True;
end;
end;
procedure TfrmPositionList.EditValueF();
var
i: Integer;
begin
for i := 0 to tv2.ColumnCount - 1 do
begin
if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then
tv2.Columns[i].Options.Editing := false;
end;
end;
procedure TfrmPositionList.FormDestroy(Sender: TObject);
begin
inherited;
frmPositionList := nil;
end;
procedure TfrmPositionList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmPositionList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Trim(Self.Caption), Tv2, '机台管理');
Close;
end;
procedure TfrmPositionList.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(Trim(Self.Caption), Tv2, '机台管理');
// Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
// begdate.DateTime:=Enddate.DateTime-30;
InitGrid();
end;
procedure TfrmPositionList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmPositionList.ToolButton2Click(Sender: TObject);
var
sql: string;
begin
if ADOQueryMain.Active then
begin
sql := SGetFilters(Panel1, 1, 2);
SDofilter(ADOQueryMain, sql);
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmPositionList.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
// SelExportData(Tv2, ADOQueryMain, trim(Self.Caption));
TcxGridToExcel(self.Caption, cxgrid2);
end;
procedure TfrmPositionList.cxTabControl1Change(Sender: TObject);
begin
InitGrid;
end;
procedure TfrmPositionList.N1Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
SelOKNo(CDS_HZ, True);
end;
procedure TfrmPositionList.N2Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
SelOKNo(CDS_HZ, False);
end;
procedure TfrmPositionList.CustomerChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmPositionList.FormCreate(Sender: TObject);
begin
inherited;
fmanage := Trim(DParameters1);
end;
procedure TfrmPositionList.v2Column8PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate BS_Position ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
sql.Add(' , Editer=''' + Trim(DName) + '''');
sql.Add(' , Edittime=getdate()');
sql.Add(' where POSID=' + quotedstr(CDS_HZ.fieldbyname('POSID').AsString));
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv2.Controller.EditingController.ShowEdit();
except
tv2.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!', '提示', 0);
end
end;
procedure TfrmPositionList.ToolButton3Click(Sender: TObject);
var
RTValues: TArray<string>;
begin
if CDS_HZ.IsEmpty then
Exit;
if CDS_HZ.Locate('SSel', True, []) = False then
begin
Application.MessageBox('请先选择数据!', '提示', 0);
Exit;
end;
RTValues := SelCDSKey(CDS_HZ, ['POSID']);
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'Position';
FFiltration1 := RTValues[0];
if ShowModal = 1 then
begin
// Self.InitGrid();
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmPositionList.ToolButton4Click(Sender: TObject);
var
maxId: string;
begin
POSNO.SetFocus;
if GetLSNo(ADOQueryCmd, maxId, 'KW', 'BS_Position', 4, 1) = False then
begin
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into BS_Position(POSID,Filler) values(' + quotedstr(Trim(maxId)) + ',' + quotedstr(Trim(dname)) + ')');
ExecSQL;
end;
InitGrid();
EditValueT();
end;
procedure TfrmPositionList.ToolButton5Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
if CDS_HZ.Locate('SSel', True, []) = False then
begin
Application.MessageBox('请先选择数据!', '提示', 0);
Exit;
end;
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
Exit;
with CDS_HZ do
begin
while not Eof do
begin
if CDS_HZ.Locate('SSel', True, []) = True then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete BS_Position where POSID=' + QuotedStr(CDS_HZ.FieldByName('POSID').AsString));
ExecSQL;
end;
end;
CDS_HZ.Edit;
CDS_HZ.FieldByName('SSel').Value := False;
CDS_HZ.Post;
Next;
end;
end;
InitGrid();
end;
procedure TfrmPositionList.ToolButton6Click(Sender: TObject);
var
i: Integer;
begin
if CDS_HZ.IsEmpty then
Exit;
EditValueT();
end;
end.

View File

@ -0,0 +1,311 @@
object frmSYDept: TfrmSYDept
Left = 73
Top = 128
Width = 1004
Height = 509
Caption = #32452#32455#32467#26500
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 988
Height = 33
ButtonHeight = 30
ButtonWidth = 83
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_DDMD.ThreeImgList
Flat = True
Images = DataLink_DDMD.ThreeImgList
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 0
OnClick = TBRafreshClick
end
object TBAdd: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #26032#22686#23376#31867
ImageIndex = 12
OnClick = TBAddClick
end
object ToolButton1: TToolButton
Left = 150
Top = 0
AutoSize = True
Caption = #20445#23384
ImageIndex = 5
OnClick = ToolButton1Click
end
object TBDel: TToolButton
Left = 213
Top = 0
AutoSize = True
Caption = #21024#38500
ImageIndex = 13
OnClick = TBDelClick
end
object ToolButton2: TToolButton
Left = 276
Top = 0
AutoSize = True
Caption = #32452#32455#20998#37197
ImageIndex = 22
OnClick = ToolButton2Click
end
object TBClose: TToolButton
Left = 363
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object cxDBTreeList1: TcxDBTreeList
Left = 0
Top = 33
Width = 249
Height = 437
Align = alLeft
Bands = <
item
end>
BufferedPaint = False
DataController.DataSource = DataSource1
DataController.ParentField = 'DPParent'
DataController.KeyField = 'DPID'
OptionsSelection.CellSelect = False
OptionsView.CellAutoHeight = True
OptionsView.Headers = False
RootValue = -1
Styles.Inactive = DataLink_DDMD.Red
Styles.Selection = DataLink_DDMD.Red
Styles.IncSearch = DataLink_DDMD.Red
TabOrder = 1
OnClick = cxDBTreeList1Click
OnDblClick = cxDBTreeList1DblClick
object cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn
DataBinding.FieldName = 'DPName'
Width = 210
Position.ColIndex = 1
Position.RowIndex = 0
Position.BandIndex = 0
end
end
object Panel1: TPanel
Left = 249
Top = 33
Width = 315
Height = 437
Align = alLeft
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 2
object Label1: TLabel
Left = 41
Top = 40
Width = 48
Height = 12
Caption = #19978#32423#32452#32455
end
object Label2: TLabel
Left = 41
Top = 81
Width = 48
Height = 12
Caption = #32452#32455#21517#31216
end
object Label3: TLabel
Left = 41
Top = 121
Width = 48
Height = 12
Caption = #32452#32455#32534#30721
end
object Label4: TLabel
Left = 24
Top = 16
Width = 60
Height = 14
Caption = #32452#32455#32467#26500
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -14
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Label5: TLabel
Left = 41
Top = 159
Width = 48
Height = 12
Caption = #39034' '#24207' '#21495
end
object DPTopName: TEdit
Left = 104
Top = 37
Width = 169
Height = 20
ReadOnly = True
TabOrder = 0
end
object DPName: TEdit
Left = 104
Top = 77
Width = 169
Height = 20
TabOrder = 1
OnKeyPress = DPNameKeyPress
end
object DPNo: TEdit
Left = 104
Top = 117
Width = 169
Height = 20
TabOrder = 2
end
object DPOrder: TEdit
Left = 104
Top = 155
Width = 169
Height = 20
TabOrder = 3
end
end
object cxGrid4: TcxGrid
Left = 564
Top = 33
Width = 424
Height = 437
Align = alClient
TabOrder = 3
object Tv4: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
NavigatorButtons.Delete.Enabled = False
NavigatorButtons.Delete.Visible = False
DataController.DataSource = DSUser
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsView.GroupByBox = False
Styles.Inactive = DataLink_DDMD.SHuangSe
Styles.IncSearch = DataLink_DDMD.SHuangSe
Styles.Selection = DataLink_DDMD.SHuangSe
object cxGridDBColumn1: TcxGridDBColumn
Caption = #21592#24037#32534#21495
DataBinding.FieldName = 'UserId'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Styles.Header = DataLink_DDMD.Default
Width = 84
end
object cxGridDBColumn7: TcxGridDBColumn
Caption = #30331#24405#21517#31216
DataBinding.FieldName = 'UserName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Styles.Header = DataLink_DDMD.Default
Width = 87
end
object cxGridDBColumn8: TcxGridDBColumn
Caption = #21592#24037#32452#32455
DataBinding.FieldName = 'dept'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Styles.Header = DataLink_DDMD.Default
Width = 74
end
object v4Column1: TcxGridDBColumn
Caption = #31995#32479#21517#31216
DataBinding.FieldName = 'MoneyUserName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
Properties.OnEditValueChanged = v4Column1PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Styles.Header = DataLink_DDMD.Default
Width = 91
end
end
object cxGridLevel2: TcxGridLevel
GridView = Tv4
end
end
object DataSource1: TDataSource
DataSet = CDS_Tree
Left = 147
Top = 219
end
object ADOQueryTree: TADOQuery
Connection = DataLink_DDMD.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 117
Top = 145
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_DDMD.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 528
Top = 215
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_DDMD.ADOLink
Parameters = <>
Left = 520
Top = 258
end
object CDS_Tree: TClientDataSet
Aggregates = <>
Params = <>
Left = 96
Top = 256
end
object CDS_User: TClientDataSet
Aggregates = <>
Params = <>
Left = 680
Top = 272
end
object DSUser: TDataSource
DataSet = CDS_User
Left = 675
Top = 211
end
end

View File

@ -0,0 +1,353 @@
unit U_SYDept;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, ExtCtrls, DBClient, cxFilter, cxData, cxDataStorage, cxEdit,
cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid, cxTextEdit;
type
TfrmSYDept = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBAdd: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
cxDBTreeList1: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
DataSource1: TDataSource;
ADOQueryTree: TADOQuery;
ToolButton1: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DPTopName: TEdit;
DPName: TEdit;
DPNo: TEdit;
CDS_Tree: TClientDataSet;
cxGrid4: TcxGrid;
Tv4: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
Label4: TLabel;
ToolButton2: TToolButton;
CDS_User: TClientDataSet;
DSUser: TDataSource;
Label5: TLabel;
DPOrder: TEdit;
v4Column1: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure cxDBTreeList1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure DPNameKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure cxDBTreeList1DblClick(Sender: TObject);
procedure v4Column1PropertiesEditValueChanged(Sender: TObject);
private
{ Private declarations }
PState:Integer;
FCPID,FTopID:String;
procedure InitTree();
public
{ Public declarations }
end;
var
frmSYDept: TfrmSYDept;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmSYDept.InitTree();
var
i:Integer;
begin
try
ADOQueryTree.DisableControls;
with ADOQueryTree do
begin
Close;
SQL.Clear;
SQL.Add('select * from SY_Dept order by DPlevel,DPOrder,DPName');
Open;
end;
SCreateCDS(ADOQueryTree,CDS_Tree);
SInitCDSData(ADOQueryTree,CDS_Tree);
//cxDBTreeList1.Items[0].Expand(false);
cxDBTreeList1.Items[0].Expand(True);
finally
ADOQueryTree.EnableControls;
end;
//cxDBTreeList1.Items[1].Expand(False);
end;
procedure TfrmSYDept.FormDestroy(Sender: TObject);
begin
frmSYDept:=nil;
end;
procedure TfrmSYDept.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmSYDept.TBRafreshClick(Sender: TObject);
begin
InitTree();
end;
procedure TfrmSYDept.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmSYDept.TBAddClick(Sender: TObject);
begin
PState:=11;
DPTopName.Text:=Trim(CDS_Tree.fieldbyname('DPName').AsString);
//FTopID:=Trim(ADOQueryTree.fieldbyname('CPID').AsString);
FCPID:='';
DPName.Text:='';
DPNo.Text:='';
DPName.SetFocus;
end;
procedure TfrmSYDept.cxDBTreeList1Click(Sender: TObject);
begin
PState:=22;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_Dept where DPID='''+Trim(CDS_Tree.fieldbyname('DPParent').AsString)+'''');
Open;
end;
FCPID:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
DPTopName.Text:=Trim(ADOQueryTemp.fieldbyname('DPName').AsString);
DPName.Text:=Trim(CDS_Tree.fieldbyname('DPName').AsString);
DPNo.Text:=Trim(CDS_Tree.fieldbyname('DPNo').AsString);
DPOrder.Text:=Trim(CDS_Tree.fieldbyname('DPOrder').AsString);
end;
procedure TfrmSYDept.ToolButton1Click(Sender: TObject);
var
maxId:String;
FInt:Integer;
begin
if Trim(DPName.Text)='' then
begin
Application.MessageBox('本级名称不能为空!','提示',0);
Exit;
end;
{if Trim(DPNo.Text)='' then
begin
Application.MessageBox('类别编码不能为空!','提示',0);
Exit;
end;}
if Trim(DPOrder.Text)='' then
begin
DPOrder.Text:='99';
end;
if TryStrToInt(Trim(DPOrder.Text),FInt)=False then
begin
Application.MessageBox('顺序号非法数字!','提示',0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if PState=11 then
begin
if GetLSNo(ADOQueryCmd,maxId,'DP','SY_Dept',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('区最大号失败!','提示',0);
Exit;
end;
end else
begin
maxId:=Trim(FCPID);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from SY_Dept where DPID='''+Trim(FCPID)+'''');
Open;
end;
with ADOQueryCmd do
begin
if PState=11 then
begin
Append;
FieldByName('DPID').Value:=Trim(maxId);
FieldByName('DPName').Value:=Trim(DPName.Text);
FieldByName('DPNo').Value:=Trim(DPNo.Text);
FieldByName('DPParent').Value:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
FieldByName('DPLevel').Value:=CDS_Tree.fieldbyname('DPLevel').AsInteger+1;
FieldByName('DPOrder').Value:=StrToInt(Trim(DPOrder.Text));
Post;
end else
if PState=22 then
begin
Edit;
FieldByName('DPID').Value:=Trim(maxId);
FieldByName('DPName').Value:=Trim(DPName.Text);
FieldByName('DPNo').Value:=Trim(DPNo.Text);
FieldByName('DPOrder').Value:=StrToInt(Trim(DPOrder.Text));
//FieldByName('CPParent').Value:=Trim(ADOQueryTree.fieldbyname('CPID').AsString);
//FieldByName('CPOrder').Value:=ADOQueryTree.fieldbyname('CPOrder').AsInteger+1;
Post;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('保存成功!','提示',0);
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!','提示',0);
end;
end;
procedure TfrmSYDept.TBDelClick(Sender: TObject);
begin
if ADOQueryTree.FieldByName('DPLevel').AsInteger=0 then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_Dept where DPParent='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
Open;
if not IsEmpty then
begin
Application.MessageBox('已经定义下级组织不能删除!','提示',0);
Exit;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_User where DPID='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
Open;
if not IsEmpty then
begin
Application.MessageBox('该组织已有人员不能删除!','提示',0);
Exit;
end;
end;
if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete SY_Dept where DPID='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
sql.Add('delete SY_Dept where DPParent='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
ExecSQL;
end;
InitTree();
end;
procedure TfrmSYDept.DPNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DPNo.SetFocus;
end;
procedure TfrmSYDept.FormShow(Sender: TObject);
begin
InitTree();
end;
procedure TfrmSYDept.ToolButton2Click(Sender: TObject);
begin
if CDS_Tree.IsEmpty=False then
begin
if CDS_User.IsEmpty then Exit;
if Application.MessageBox('确定要进行组织分配吗?','提示',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update SY_User Set DPID='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
sql.Add(' where UserId='''+Trim(CDS_User.fieldbyname('UserId').AsString)+'''');
ExecSQL;
end;
with CDS_User do
begin
Edit;
FieldByName('Dept').Value:=Trim(CDS_Tree.fieldbyname('DPName').AsString);
Post;
end;
end;
end;
procedure TfrmSYDept.cxDBTreeList1DblClick(Sender: TObject);
begin
if CDS_Tree.FieldByName('DPLevel').Value=0 then
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select A.*,Dept=(select DPName from SY_Dept where DPID=A.DPID) ');
SQL.Add(' from SY_User A where UserId not in(''Admin'',''Test'') ');
SQL.Add(' and Valid=''Y'' ');
Open;
end;
SCreateCDS(ADOQueryTemp,CDS_User);
SInitCDSData(ADOQueryTemp,CDS_User);
end else
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Select_Dept_User :CYType');
Parameters.ParamByName('CYType').Value:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
Open;
end;
SCreateCDS(ADOQueryTemp,CDS_User);
SInitCDSData(ADOQueryTemp,CDS_User);
end;
end;
procedure TfrmSYDept.v4Column1PropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
with CDS_User do
begin
Edit;
FieldByName('MoneyUserName').Value:=Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update SY_User Set MoneyUserName='''+Trim(mvalue)+'''');
sql.Add(' where UserId='''+Trim(CDS_User.fieldbyname('UserId').AsString)+'''');
ExecSQL;
end;
end;
end.

View File

@ -0,0 +1,296 @@
object frmSYDeptUserView: TfrmSYDeptUserView
Left = 233
Top = 146
Width = 927
Height = 536
Caption = #32452#32455#32467#26500#20154#21592#21015#34920
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 911
Height = 33
ButtonHeight = 30
ButtonWidth = 83
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_CYZZ.ThreeImgList
Flat = True
Images = DataLink_CYZZ.ThreeImgList
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 0
OnClick = TBRafreshClick
end
object TBAdd: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #26032#22686#23376#31867
ImageIndex = 12
Visible = False
OnClick = TBAddClick
end
object ToolButton1: TToolButton
Left = 150
Top = 0
AutoSize = True
Caption = #20445#23384
ImageIndex = 5
Visible = False
OnClick = ToolButton1Click
end
object TBDel: TToolButton
Left = 213
Top = 0
AutoSize = True
Caption = #21024#38500
ImageIndex = 13
Visible = False
OnClick = TBDelClick
end
object ToolButton2: TToolButton
Left = 276
Top = 0
Caption = #32452#32455#20998#37197
ImageIndex = 22
Visible = False
OnClick = ToolButton2Click
end
object TBClose: TToolButton
Left = 359
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object cxDBTreeList1: TcxDBTreeList
Left = 0
Top = 33
Width = 249
Height = 464
Align = alLeft
Bands = <
item
end>
BufferedPaint = False
DataController.DataSource = DataSource1
DataController.ParentField = 'DPParent'
DataController.KeyField = 'DPID'
OptionsSelection.CellSelect = False
OptionsView.CellAutoHeight = True
OptionsView.Headers = False
RootValue = -1
Styles.Inactive = DataLink_CYZZ.Red
Styles.Selection = DataLink_CYZZ.Red
Styles.IncSearch = DataLink_CYZZ.Red
TabOrder = 1
OnClick = cxDBTreeList1Click
OnDblClick = cxDBTreeList1DblClick
object cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn
DataBinding.FieldName = 'DPName'
Width = 210
Position.ColIndex = 1
Position.RowIndex = 0
Position.BandIndex = 0
end
end
object Panel1: TPanel
Left = 249
Top = 33
Width = 315
Height = 464
Align = alLeft
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 2
Visible = False
object Label1: TLabel
Left = 66
Top = 40
Width = 48
Height = 12
Caption = #19978#32423#32452#32455
end
object Label2: TLabel
Left = 66
Top = 81
Width = 48
Height = 12
Caption = #32452#32455#21517#31216
end
object Label3: TLabel
Left = 66
Top = 121
Width = 48
Height = 12
Caption = #32452#32455#32534#30721
end
object Label4: TLabel
Left = 24
Top = 16
Width = 60
Height = 14
Caption = #32452#32455#32467#26500
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -14
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Label5: TLabel
Left = 66
Top = 159
Width = 48
Height = 12
Caption = #39034' '#24207' '#21495
end
object DPTopName: TEdit
Left = 129
Top = 37
Width = 121
Height = 20
ReadOnly = True
TabOrder = 0
end
object DPName: TEdit
Left = 129
Top = 77
Width = 121
Height = 20
TabOrder = 1
OnKeyPress = DPNameKeyPress
end
object DPNo: TEdit
Left = 129
Top = 117
Width = 121
Height = 20
TabOrder = 2
end
object DPOrder: TEdit
Left = 129
Top = 155
Width = 121
Height = 20
TabOrder = 3
end
end
object cxGrid4: TcxGrid
Left = 564
Top = 33
Width = 347
Height = 464
Align = alClient
TabOrder = 3
object Tv4: TcxGridDBTableView
OnDblClick = Tv4DblClick
NavigatorButtons.ConfirmDelete = False
NavigatorButtons.Delete.Enabled = False
NavigatorButtons.Delete.Visible = False
DataController.DataSource = DSUser
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsView.GroupByBox = False
Styles.Inactive = DataLink_CYZZ.SHuangSe
Styles.IncSearch = DataLink_CYZZ.SHuangSe
Styles.Selection = DataLink_CYZZ.SHuangSe
object cxGridDBColumn1: TcxGridDBColumn
Caption = #21592#24037#32534#21495
DataBinding.FieldName = 'UserId'
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Styles.Header = DataLink_CYZZ.Default
Width = 84
end
object cxGridDBColumn7: TcxGridDBColumn
Caption = #21592#24037#21517#31216
DataBinding.FieldName = 'UserName'
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Styles.Header = DataLink_CYZZ.Default
Width = 87
end
object cxGridDBColumn8: TcxGridDBColumn
Caption = #21592#24037#32452#32455
DataBinding.FieldName = 'dept'
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Styles.Header = DataLink_CYZZ.Default
Width = 74
end
end
object cxGridLevel2: TcxGridLevel
GridView = Tv4
end
end
object DataSource1: TDataSource
DataSet = CDS_Tree
Left = 147
Top = 219
end
object ADOQueryTree: TADOQuery
Connection = DataLink_CYZZ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 117
Top = 145
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_CYZZ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 520
Top = 111
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_CYZZ.ADOLink
Parameters = <>
Left = 520
Top = 146
end
object CDS_Tree: TClientDataSet
Aggregates = <>
Params = <>
Left = 96
Top = 256
end
object CDS_User: TClientDataSet
Aggregates = <>
Params = <>
Left = 680
Top = 272
end
object DSUser: TDataSource
DataSet = CDS_User
Left = 675
Top = 211
end
end

View File

@ -0,0 +1,336 @@
unit U_SYDeptUserView;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, ExtCtrls, DBClient, cxFilter, cxData, cxDataStorage, cxEdit,
cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid;
type
TfrmSYDeptUserView = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBAdd: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
cxDBTreeList1: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
DataSource1: TDataSource;
ADOQueryTree: TADOQuery;
ToolButton1: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DPTopName: TEdit;
DPName: TEdit;
DPNo: TEdit;
CDS_Tree: TClientDataSet;
cxGrid4: TcxGrid;
Tv4: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
Label4: TLabel;
ToolButton2: TToolButton;
CDS_User: TClientDataSet;
DSUser: TDataSource;
Label5: TLabel;
DPOrder: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure cxDBTreeList1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure DPNameKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure cxDBTreeList1DblClick(Sender: TObject);
procedure Tv4DblClick(Sender: TObject);
private
{ Private declarations }
PState:Integer;
FCPID,FTopID:String;
procedure InitTree();
public
{ Public declarations }
end;
var
frmSYDeptUserView: TfrmSYDeptUserView;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmSYDeptUserView.InitTree();
var
i:Integer;
begin
try
ADOQueryTree.DisableControls;
with ADOQueryTree do
begin
Close;
SQL.Clear;
SQL.Add('select * from SY_Dept order by DPlevel,DPOrder,DPName');
Open;
end;
SCreateCDS(ADOQueryTree,CDS_Tree);
SInitCDSData(ADOQueryTree,CDS_Tree);
//cxDBTreeList1.Items[0].Expand(false);
cxDBTreeList1.Items[0].Expand(True);
finally
ADOQueryTree.EnableControls;
end;
//cxDBTreeList1.Items[1].Expand(False);
end;
procedure TfrmSYDeptUserView.FormDestroy(Sender: TObject);
begin
frmSYDeptUserView:=nil;
end;
procedure TfrmSYDeptUserView.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmSYDeptUserView.TBRafreshClick(Sender: TObject);
begin
InitTree();
end;
procedure TfrmSYDeptUserView.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmSYDeptUserView.TBAddClick(Sender: TObject);
begin
PState:=11;
DPTopName.Text:=Trim(CDS_Tree.fieldbyname('DPName').AsString);
//FTopID:=Trim(ADOQueryTree.fieldbyname('CPID').AsString);
FCPID:='';
DPName.Text:='';
DPNo.Text:='';
DPName.SetFocus;
end;
procedure TfrmSYDeptUserView.cxDBTreeList1Click(Sender: TObject);
begin
PState:=22;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_Dept where DPID='''+Trim(CDS_Tree.fieldbyname('DPParent').AsString)+'''');
Open;
end;
FCPID:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
DPTopName.Text:=Trim(ADOQueryTemp.fieldbyname('DPName').AsString);
DPName.Text:=Trim(CDS_Tree.fieldbyname('DPName').AsString);
DPNo.Text:=Trim(CDS_Tree.fieldbyname('DPNo').AsString);
DPOrder.Text:=Trim(CDS_Tree.fieldbyname('DPOrder').AsString);
end;
procedure TfrmSYDeptUserView.ToolButton1Click(Sender: TObject);
var
maxId:String;
FInt:Integer;
begin
if Trim(DPName.Text)='' then
begin
Application.MessageBox('本级名称不能为空!','提示',0);
Exit;
end;
{if Trim(DPNo.Text)='' then
begin
Application.MessageBox('类别编码不能为空!','提示',0);
Exit;
end;}
if Trim(DPOrder.Text)='' then
begin
DPOrder.Text:='99';
end;
if TryStrToInt(Trim(DPOrder.Text),FInt)=False then
begin
Application.MessageBox('顺序号非法数字!','提示',0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if PState=11 then
begin
if GetLSNo(ADOQueryCmd,maxId,'DP','SY_Dept',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('区最大号失败!','提示',0);
Exit;
end;
end else
begin
maxId:=Trim(FCPID);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from SY_Dept where DPID='''+Trim(FCPID)+'''');
Open;
end;
with ADOQueryCmd do
begin
if PState=11 then
begin
Append;
FieldByName('DPID').Value:=Trim(maxId);
FieldByName('DPName').Value:=Trim(DPName.Text);
FieldByName('DPNo').Value:=Trim(DPNo.Text);
FieldByName('DPParent').Value:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
FieldByName('DPLevel').Value:=CDS_Tree.fieldbyname('DPLevel').AsInteger+1;
FieldByName('DPOrder').Value:=StrToInt(Trim(DPOrder.Text));
Post;
end else
if PState=22 then
begin
Edit;
FieldByName('DPID').Value:=Trim(maxId);
FieldByName('DPName').Value:=Trim(DPName.Text);
FieldByName('DPNo').Value:=Trim(DPNo.Text);
FieldByName('DPOrder').Value:=StrToInt(Trim(DPOrder.Text));
//FieldByName('CPParent').Value:=Trim(ADOQueryTree.fieldbyname('CPID').AsString);
//FieldByName('CPOrder').Value:=ADOQueryTree.fieldbyname('CPOrder').AsInteger+1;
Post;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('保存成功!','提示',0);
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!','提示',0);
end;
end;
procedure TfrmSYDeptUserView.TBDelClick(Sender: TObject);
begin
if ADOQueryTree.FieldByName('DPLevel').AsInteger=0 then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_Dept where DPParent='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
Open;
if not IsEmpty then
begin
Application.MessageBox('已经定义下级组织不能删除!','提示',0);
Exit;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_User where DPID='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
Open;
if not IsEmpty then
begin
Application.MessageBox('该组织已有人员不能删除!','提示',0);
Exit;
end;
end;
if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete SY_Dept where DPID='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
sql.Add('delete SY_Dept where DPParent='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
ExecSQL;
end;
InitTree();
end;
procedure TfrmSYDeptUserView.DPNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DPNo.SetFocus;
end;
procedure TfrmSYDeptUserView.FormShow(Sender: TObject);
begin
InitTree();
end;
procedure TfrmSYDeptUserView.ToolButton2Click(Sender: TObject);
begin
if CDS_Tree.IsEmpty=False then
begin
if CDS_User.IsEmpty then Exit;
if Application.MessageBox('确定要进行组织分配吗?','提示',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update SY_User Set DPID='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
sql.Add(' where UserId='''+Trim(CDS_User.fieldbyname('UserId').AsString)+'''');
ExecSQL;
end;
with CDS_User do
begin
Edit;
FieldByName('Dept').Value:=Trim(CDS_Tree.fieldbyname('DPName').AsString);
Post;
end;
end;
end;
procedure TfrmSYDeptUserView.cxDBTreeList1DblClick(Sender: TObject);
begin
if CDS_Tree.FieldByName('DPLevel').Value=0 then
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select A.*,Dept=(select DPName from SY_Dept where DPID=A.DPID) ');
SQL.Add(' from SY_User A where UserId not in(''Admin'',''Test'') ');
SQL.Add(' and Valid=''Y'' ');
Open;
end;
SCreateCDS(ADOQueryTemp,CDS_User);
SInitCDSData(ADOQueryTemp,CDS_User);
end else
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Select_Dept_User :CYType');
Parameters.ParamByName('CYType').Value:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
Open;
end;
SCreateCDS(ADOQueryTemp,CDS_User);
SInitCDSData(ADOQueryTemp,CDS_User);
end;
end;
procedure TfrmSYDeptUserView.Tv4DblClick(Sender: TObject);
begin
ModalResult:=1;
end;
end.

View File

@ -0,0 +1,304 @@
object frmSYDeptView: TfrmSYDeptView
Left = 233
Top = 146
Width = 927
Height = 536
Caption = #32452#32455#32467#26500#21015#34920
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 911
Height = 33
ButtonHeight = 30
ButtonWidth = 83
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_KangChi.ThreeImgList
Flat = True
Images = DataLink_KangChi.ThreeImgList
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 0
OnClick = TBRafreshClick
end
object ToolButton3: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #36873#25321
ImageIndex = 10
OnClick = ToolButton3Click
end
object TBAdd: TToolButton
Left = 126
Top = 0
AutoSize = True
Caption = #26032#22686#23376#31867
ImageIndex = 12
Visible = False
OnClick = TBAddClick
end
object ToolButton1: TToolButton
Left = 213
Top = 0
AutoSize = True
Caption = #20445#23384
ImageIndex = 5
Visible = False
OnClick = ToolButton1Click
end
object TBDel: TToolButton
Left = 276
Top = 0
AutoSize = True
Caption = #21024#38500
ImageIndex = 13
Visible = False
OnClick = TBDelClick
end
object ToolButton2: TToolButton
Left = 339
Top = 0
Caption = #32452#32455#20998#37197
ImageIndex = 22
Visible = False
OnClick = ToolButton2Click
end
object TBClose: TToolButton
Left = 422
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object cxDBTreeList1: TcxDBTreeList
Left = 315
Top = 33
Width = 596
Height = 464
Align = alClient
Bands = <
item
end>
BufferedPaint = False
DataController.DataSource = DataSource1
DataController.ParentField = 'DPParent'
DataController.KeyField = 'DPID'
OptionsSelection.CellSelect = False
OptionsView.CellAutoHeight = True
OptionsView.Headers = False
RootValue = -1
Styles.Inactive = DataLink_KangChi.Red
Styles.Selection = DataLink_KangChi.Red
Styles.IncSearch = DataLink_KangChi.Red
TabOrder = 1
OnClick = cxDBTreeList1Click
OnDblClick = cxDBTreeList1DblClick
object cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn
DataBinding.FieldName = 'DPName'
Width = 210
Position.ColIndex = 1
Position.RowIndex = 0
Position.BandIndex = 0
end
end
object Panel1: TPanel
Left = 0
Top = 33
Width = 315
Height = 464
Align = alLeft
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 2
Visible = False
object Label1: TLabel
Left = 66
Top = 40
Width = 48
Height = 12
Caption = #19978#32423#32452#32455
end
object Label2: TLabel
Left = 66
Top = 81
Width = 48
Height = 12
Caption = #32452#32455#21517#31216
end
object Label3: TLabel
Left = 66
Top = 121
Width = 48
Height = 12
Caption = #32452#32455#32534#30721
end
object Label4: TLabel
Left = 24
Top = 16
Width = 60
Height = 14
Caption = #32452#32455#32467#26500
Font.Charset = GB2312_CHARSET
Font.Color = clRed
Font.Height = -14
Font.Name = #23435#20307
Font.Style = [fsBold]
ParentFont = False
end
object Label5: TLabel
Left = 66
Top = 159
Width = 48
Height = 12
Caption = #39034' '#24207' '#21495
end
object DPTopName: TEdit
Left = 129
Top = 37
Width = 121
Height = 20
ReadOnly = True
TabOrder = 0
end
object DPName: TEdit
Left = 129
Top = 77
Width = 121
Height = 20
TabOrder = 1
OnKeyPress = DPNameKeyPress
end
object DPNo: TEdit
Left = 129
Top = 117
Width = 121
Height = 20
TabOrder = 2
end
object DPOrder: TEdit
Left = 129
Top = 155
Width = 121
Height = 20
TabOrder = 3
end
end
object cxGrid4: TcxGrid
Left = 352
Top = 64
Width = 359
Height = 273
TabOrder = 3
Visible = False
object Tv4: TcxGridDBTableView
OnDblClick = Tv4DblClick
NavigatorButtons.ConfirmDelete = False
NavigatorButtons.Delete.Enabled = False
NavigatorButtons.Delete.Visible = False
DataController.DataSource = DSUser
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsView.GroupByBox = False
Styles.Inactive = DataLink_KangChi.SHuangSe
Styles.IncSearch = DataLink_KangChi.SHuangSe
Styles.Selection = DataLink_KangChi.SHuangSe
object cxGridDBColumn1: TcxGridDBColumn
Caption = #21592#24037#32534#21495
DataBinding.FieldName = 'UserId'
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Styles.Header = DataLink_KangChi.Default
Width = 84
end
object cxGridDBColumn7: TcxGridDBColumn
Caption = #21592#24037#21517#31216
DataBinding.FieldName = 'UserName'
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Styles.Header = DataLink_KangChi.Default
Width = 87
end
object cxGridDBColumn8: TcxGridDBColumn
Caption = #21592#24037#32452#32455
DataBinding.FieldName = 'dept'
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Styles.Header = DataLink_KangChi.Default
Width = 74
end
end
object cxGridLevel2: TcxGridLevel
GridView = Tv4
end
end
object DataSource1: TDataSource
DataSet = CDS_Tree
Left = 147
Top = 219
end
object ADOQueryTree: TADOQuery
Connection = DataLink_KangChi.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 117
Top = 145
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_KangChi.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 520
Top = 111
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_KangChi.ADOLink
Parameters = <>
Left = 520
Top = 146
end
object CDS_Tree: TClientDataSet
Aggregates = <>
Params = <>
Left = 96
Top = 256
end
object CDS_User: TClientDataSet
Aggregates = <>
Params = <>
Left = 680
Top = 272
end
object DSUser: TDataSource
DataSet = CDS_User
Left = 675
Top = 211
end
end

View File

@ -0,0 +1,344 @@
unit U_SYDeptView;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, ExtCtrls, DBClient, cxFilter, cxData, cxDataStorage, cxEdit,
cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid;
type
TfrmSYDeptView = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBAdd: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
cxDBTreeList1: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
DataSource1: TDataSource;
ADOQueryTree: TADOQuery;
ToolButton1: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DPTopName: TEdit;
DPName: TEdit;
DPNo: TEdit;
CDS_Tree: TClientDataSet;
cxGrid4: TcxGrid;
Tv4: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
Label4: TLabel;
ToolButton2: TToolButton;
CDS_User: TClientDataSet;
DSUser: TDataSource;
Label5: TLabel;
DPOrder: TEdit;
ToolButton3: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure cxDBTreeList1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure DPNameKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure cxDBTreeList1DblClick(Sender: TObject);
procedure Tv4DblClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
PState:Integer;
FCPID,FTopID:String;
procedure InitTree();
public
{ Public declarations }
end;
var
frmSYDeptView: TfrmSYDeptView;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmSYDeptView.InitTree();
var
i:Integer;
begin
try
ADOQueryTree.DisableControls;
with ADOQueryTree do
begin
Close;
SQL.Clear;
SQL.Add('select * from SY_Dept order by DPlevel,DPOrder,DPName');
Open;
end;
SCreateCDS(ADOQueryTree,CDS_Tree);
SInitCDSData(ADOQueryTree,CDS_Tree);
//cxDBTreeList1.Items[0].Expand(false);
cxDBTreeList1.Items[0].Expand(True);
finally
ADOQueryTree.EnableControls;
end;
//cxDBTreeList1.Items[1].Expand(False);
end;
procedure TfrmSYDeptView.FormDestroy(Sender: TObject);
begin
frmSYDeptView:=nil;
end;
procedure TfrmSYDeptView.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmSYDeptView.TBRafreshClick(Sender: TObject);
begin
InitTree();
end;
procedure TfrmSYDeptView.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmSYDeptView.TBAddClick(Sender: TObject);
begin
PState:=11;
DPTopName.Text:=Trim(CDS_Tree.fieldbyname('DPName').AsString);
//FTopID:=Trim(ADOQueryTree.fieldbyname('CPID').AsString);
FCPID:='';
DPName.Text:='';
DPNo.Text:='';
DPName.SetFocus;
end;
procedure TfrmSYDeptView.cxDBTreeList1Click(Sender: TObject);
begin
PState:=22;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_Dept where DPID='''+Trim(CDS_Tree.fieldbyname('DPParent').AsString)+'''');
Open;
end;
FCPID:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
DPTopName.Text:=Trim(ADOQueryTemp.fieldbyname('DPName').AsString);
DPName.Text:=Trim(CDS_Tree.fieldbyname('DPName').AsString);
DPNo.Text:=Trim(CDS_Tree.fieldbyname('DPNo').AsString);
DPOrder.Text:=Trim(CDS_Tree.fieldbyname('DPOrder').AsString);
end;
procedure TfrmSYDeptView.ToolButton1Click(Sender: TObject);
var
maxId:String;
FInt:Integer;
begin
if Trim(DPName.Text)='' then
begin
Application.MessageBox('本级名称不能为空!','提示',0);
Exit;
end;
{if Trim(DPNo.Text)='' then
begin
Application.MessageBox('类别编码不能为空!','提示',0);
Exit;
end;}
if Trim(DPOrder.Text)='' then
begin
DPOrder.Text:='99';
end;
if TryStrToInt(Trim(DPOrder.Text),FInt)=False then
begin
Application.MessageBox('顺序号非法数字!','提示',0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
if PState=11 then
begin
if GetLSNo(ADOQueryCmd,maxId,'DP','SY_Dept',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('区最大号失败!','提示',0);
Exit;
end;
end else
begin
maxId:=Trim(FCPID);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from SY_Dept where DPID='''+Trim(FCPID)+'''');
Open;
end;
with ADOQueryCmd do
begin
if PState=11 then
begin
Append;
FieldByName('DPID').Value:=Trim(maxId);
FieldByName('DPName').Value:=Trim(DPName.Text);
FieldByName('DPNo').Value:=Trim(DPNo.Text);
FieldByName('DPParent').Value:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
FieldByName('DPLevel').Value:=CDS_Tree.fieldbyname('DPLevel').AsInteger+1;
FieldByName('DPOrder').Value:=StrToInt(Trim(DPOrder.Text));
Post;
end else
if PState=22 then
begin
Edit;
FieldByName('DPID').Value:=Trim(maxId);
FieldByName('DPName').Value:=Trim(DPName.Text);
FieldByName('DPNo').Value:=Trim(DPNo.Text);
FieldByName('DPOrder').Value:=StrToInt(Trim(DPOrder.Text));
//FieldByName('CPParent').Value:=Trim(ADOQueryTree.fieldbyname('CPID').AsString);
//FieldByName('CPOrder').Value:=ADOQueryTree.fieldbyname('CPOrder').AsInteger+1;
Post;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('保存成功!','提示',0);
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!','提示',0);
end;
end;
procedure TfrmSYDeptView.TBDelClick(Sender: TObject);
begin
if ADOQueryTree.FieldByName('DPLevel').AsInteger=0 then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_Dept where DPParent='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
Open;
if not IsEmpty then
begin
Application.MessageBox('已经定义下级组织不能删除!','提示',0);
Exit;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from SY_User where DPID='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
Open;
if not IsEmpty then
begin
Application.MessageBox('该组织已有人员不能删除!','提示',0);
Exit;
end;
end;
if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete SY_Dept where DPID='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
sql.Add('delete SY_Dept where DPParent='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
ExecSQL;
end;
InitTree();
end;
procedure TfrmSYDeptView.DPNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
DPNo.SetFocus;
end;
procedure TfrmSYDeptView.FormShow(Sender: TObject);
begin
InitTree();
end;
procedure TfrmSYDeptView.ToolButton2Click(Sender: TObject);
begin
if CDS_Tree.IsEmpty=False then
begin
if CDS_User.IsEmpty then Exit;
if Application.MessageBox('确定要进行组织分配吗?','提示',32+4)<>IDYES then Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update SY_User Set DPID='''+Trim(CDS_Tree.fieldbyname('DPID').AsString)+'''');
sql.Add(' where UserId='''+Trim(CDS_User.fieldbyname('UserId').AsString)+'''');
ExecSQL;
end;
with CDS_User do
begin
Edit;
FieldByName('Dept').Value:=Trim(CDS_Tree.fieldbyname('DPName').AsString);
Post;
end;
end;
end;
procedure TfrmSYDeptView.cxDBTreeList1DblClick(Sender: TObject);
begin
if CDS_Tree.FieldByName('DPLevel').Value=0 then
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select A.*,Dept=(select DPName from SY_Dept where DPID=A.DPID) ');
SQL.Add(' from SY_User A where UserId not in(''Admin'',''Test'') ');
SQL.Add(' and Valid=''Y'' ');
Open;
end;
SCreateCDS(ADOQueryTemp,CDS_User);
SInitCDSData(ADOQueryTemp,CDS_User);
end else
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Select_Dept_User :CYType');
Parameters.ParamByName('CYType').Value:=Trim(CDS_Tree.fieldbyname('DPID').AsString);
Open;
end;
SCreateCDS(ADOQueryTemp,CDS_User);
SInitCDSData(ADOQueryTemp,CDS_User);
end;
ModalResult:=1;
end;
procedure TfrmSYDeptView.Tv4DblClick(Sender: TObject);
begin
ModalResult:=1;
end;
procedure TfrmSYDeptView.ToolButton3Click(Sender: TObject);
begin
ModalResult:=1;
end;
end.

View File

@ -0,0 +1,278 @@
object frmSxXnKcList: TfrmSxXnKcList
Left = 238
Top = 107
Width = 1283
Height = 573
Caption = #32433#32447#34394#29702#35770#23384#37327#26597#35810
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnCreate = FormCreate
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 1267
Height = 31
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_Statistics.ThreeImgList
Flat = True
Images = DataLink_Statistics.ThreeImgList
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 0
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #36807#28388
ImageIndex = 20
OnClick = ToolButton2Click
end
object ToolButton1: TToolButton
Left = 126
Top = 0
AutoSize = True
Caption = #23548#20986
ImageIndex = 68
OnClick = ToolButton1Click
end
object TBClose: TToolButton
Left = 189
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object Panel1: TPanel
Left = 0
Top = 31
Width = 1267
Height = 50
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label3: TLabel
Left = 268
Top = 13
Width = 24
Height = 12
Caption = #21697#21517
end
object Label4: TLabel
Left = 22
Top = 13
Width = 24
Height = 12
Caption = #26085#26399
end
object Label1: TLabel
Left = 145
Top = 13
Width = 12
Height = 12
Caption = #33267
end
object Name: TEdit
Tag = 2
Left = 300
Top = 9
Width = 89
Height = 20
ImeName = #20013#25991' - QQ'#25340#38899#36755#20837#27861
TabOrder = 2
OnChange = C_CodeNameChange
end
object EndDate: TDateTimePicker
Left = 162
Top = 9
Width = 87
Height = 20
Date = 40768.458268587970000000
Time = 40768.458268587970000000
ImeName = #20013#25991' - QQ'#25340#38899#36755#20837#27861
TabOrder = 1
end
object BegDate: TDateTimePicker
Left = 52
Top = 9
Width = 85
Height = 20
Date = 40675.464742650460000000
Format = 'yyyy-MM-dd'
Time = 40675.464742650460000000
ImeName = #20013#25991' - QQ'#25340#38899#36755#20837#27861
TabOrder = 0
end
end
object cxGrid2: TcxGrid
Left = 0
Top = 81
Width = 1267
Height = 454
Align = alClient
TabOrder = 2
object Tv2: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
NavigatorButtons.Delete.Enabled = False
NavigatorButtons.Delete.Visible = False
DataController.DataSource = DS_HZ
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
OptionsSelection.CellSelect = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
Styles.Inactive = DataLink_Statistics.SHuangSe
Styles.IncSearch = DataLink_Statistics.SHuangSe
Styles.Selection = DataLink_Statistics.SHuangSe
Styles.Header = DataLink_Statistics.handBlack
object v2Column2: TcxGridDBColumn
Caption = #32433#32447#21517#31216
DataBinding.FieldName = 'Name'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 66
end
object v2Column19: TcxGridDBColumn
Caption = #24635#20837#24211
DataBinding.FieldName = 'RKQty'
HeaderAlignmentHorz = taCenter
Width = 88
end
object v2Column15: TcxGridDBColumn
Caption = #26412#26399#20986#24211
DataBinding.FieldName = 'BQKGQty'
HeaderAlignmentHorz = taCenter
Width = 113
end
object v2Column6: TcxGridDBColumn
Caption = #26399#22806#20986#24211
DataBinding.FieldName = 'QCKGQty'
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Width = 91
end
object v2Column10: TcxGridDBColumn
Caption = #29702#35770#24211#23384
DataBinding.FieldName = 'KCQty'
HeaderAlignmentHorz = taCenter
Width = 102
end
object v2Column1: TcxGridDBColumn
Caption = #39044#35745#21487#29992#22825#25968
DataBinding.FieldName = 'yjsyts'
HeaderAlignmentHorz = taCenter
Width = 97
end
object v2Column3: TcxGridDBColumn
Caption = #23454#38469#24211#23384
DataBinding.FieldName = 'sjkc'
HeaderAlignmentHorz = taCenter
Width = 76
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_Statistics.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 789
Top = 9
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_Statistics.ADOLink
Parameters = <>
Left = 829
Top = 1
end
object ADOQueryMain: TADOQuery
Connection = DataLink_Statistics.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 949
Top = 225
end
object RM1: TRMGridReport
ThreadPrepareReport = True
InitialZoom = pzDefault
PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator]
DefaultCollate = False
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
PreviewOptions.RulerUnit = rmutScreenPixels
PreviewOptions.RulerVisible = False
PreviewOptions.DrawBorder = False
PreviewOptions.BorderPen.Color = clGray
PreviewOptions.BorderPen.Style = psDash
Dataset = RMDB_Main
CompressLevel = rmzcFastest
CompressThread = False
LaterBuildEvents = True
OnlyOwnerDataSet = False
Left = 864
Top = 224
ReportData = {}
end
object RMDB_Main: TRMDBDataSet
Visible = True
Left = 928
Top = 216
end
object cxGridPopupMenu2: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 888
Top = 224
end
object DS_HZ: TDataSource
DataSet = CDS_HZ
Left = 899
Top = 235
end
object CDS_HZ: TClientDataSet
Aggregates = <>
Params = <>
Left = 872
Top = 224
end
end

View File

@ -0,0 +1,161 @@
unit U_SxXnKcList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit, cxDBLookupComboBox;
type
TfrmSxXnKcList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
v2Column6: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
Name: TEdit;
v2Column10: TcxGridDBColumn;
v2Column15: TcxGridDBColumn;
v2Column19: TcxGridDBColumn;
EndDate: TDateTimePicker;
Label4: TLabel;
BegDate: TDateTimePicker;
Label1: TLabel;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure C_CodeNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
canshu1:string;
procedure InitGrid();
public
fkhType:string;
Fmanage:string;
end;
var
frmSxXnKcList: TfrmSxXnKcList;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmSxXnKcList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' exec P_View_LLKC'+quotedstr(trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))));
sql.Add(' ,'+quotedstr(trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))));
Open;
end;
SCreateCDS(ADOQueryMain,CDS_HZ);
SInitCDSData(ADOQueryMain,CDS_HZ);
CDS_HZ.Last;
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmSxXnKcList.FormDestroy(Sender: TObject);
begin
frmSxXnKcList:=nil;
end;
procedure TfrmSxXnKcList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmSxXnKcList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption,Tv2,'É´Ïß²Ö¿â');
Close;
end;
procedure TfrmSxXnKcList.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption,Tv2,'É´Ïß²Ö¿â');
InitGrid();
end;
procedure TfrmSxXnKcList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmSxXnKcList.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS(ADOQueryMain,CDS_HZ);
SInitCDSData(ADOQueryMain,CDS_HZ);
end;
end;
procedure TfrmSxXnKcList.C_CodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmSxXnKcList.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid2);
end;
procedure TfrmSxXnKcList.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
EndDate.DateTime:=SGetServerDate(ADOQueryTemp);
BegDate.DateTime:=EndDate.DateTime;
end;
end.

View File

@ -0,0 +1,297 @@
inherited frmTrayManage: TfrmTrayManage
Left = 297
Top = 109
Caption = #25176#30424#31649#29702
ClientHeight = 667
ClientWidth = 1107
KeyPreview = True
ExplicitWidth = 1123
ExplicitHeight = 706
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar [0]
Tag = 1
Left = 0
Top = 0
Width = 1107
Height = 38
AutoSize = True
ButtonHeight = 38
ButtonWidth = 75
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_BaseInfo.ImageList_new32
Images = DataLink_BaseInfo.ImageList_new32
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 1
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
Left = 71
Top = 0
AutoSize = True
Caption = #36807#28388
ImageIndex = 0
Visible = False
OnClick = ToolButton2Click
end
object ToolButton4: TToolButton
Left = 142
Top = 0
AutoSize = True
Caption = #22686#34892
ImageIndex = 2
OnClick = ToolButton4Click
end
object ToolButton5: TToolButton
Left = 213
Top = 0
AutoSize = True
Caption = #21024#34892
ImageIndex = 6
OnClick = ToolButton5Click
end
object ToolButton3: TToolButton
Left = 284
Top = 0
AutoSize = True
Caption = #25171#21360
ImageIndex = 21
OnClick = ToolButton3Click
end
object ToolButton1: TToolButton
Left = 355
Top = 0
AutoSize = True
Caption = #23548#20986
ImageIndex = 20
OnClick = ToolButton1Click
end
object TBClose: TToolButton
Left = 426
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 7
OnClick = TBCloseClick
end
end
object cxGrid2: TcxGrid [1]
Left = 0
Top = 96
Width = 1107
Height = 571
Align = alClient
PopupMenu = PopupMenu1
TabOrder = 2
object Tv2: TcxGridDBTableView
OnMouseDown = Tv2MouseDown
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
Navigator.Buttons.Delete.Visible = False
ScrollbarAnnotations.CustomAnnotations = <>
DataController.DataSource = DS_HZ
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <>
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>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
Styles.Footer = DataLink_BaseInfo.Default
Styles.Header = DataLink_BaseInfo.Default
object v2Column1: TcxGridDBColumn
Caption = #36873#25321
DataBinding.FieldName = 'ssel'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxCheckBoxProperties'
Properties.ImmediatePost = True
HeaderAlignmentHorz = taCenter
Width = 81
end
object v2Column12: TcxGridDBColumn
Caption = #24067#36710#32534#21495
DataBinding.FieldName = 'TYNo'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 149
end
object v2Column8: TcxGridDBColumn
Caption = #24067#36710#21517#31216
DataBinding.FieldName = 'TYName'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 180
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object Panel1: TPanel [2]
Left = 0
Top = 38
Width = 1107
Height = 58
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label1: TLabel
Left = 66
Top = 20
Width = 48
Height = 12
Caption = #25176#30424#32534#21495
end
object TYNo: TEdit
Tag = 2
Left = 120
Top = 16
Width = 89
Height = 20
TabOrder = 0
OnChange = CustomerChange
end
end
inherited ADOQueryBaseCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Left = 433
Top = 160
end
inherited ADOQueryBaseTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Left = 177
Top = 161
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 299
Top = 209
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Parameters = <>
Left = 261
Top = 209
end
object ADOQueryMain: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 229
Top = 209
end
object RM1: TRMGridReport
ThreadPrepareReport = True
InitialZoom = pzDefault
PreviewButtons = [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbExport, rmpbNavigator]
DefaultCollate = False
ShowPrintDialog = False
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
PreviewOptions.RulerUnit = rmutScreenPixels
PreviewOptions.RulerVisible = False
PreviewOptions.DrawBorder = False
PreviewOptions.BorderPen.Color = clGray
PreviewOptions.BorderPen.Style = psDash
Dataset = RMDB_Main
CompressLevel = rmzcFastest
CompressThread = False
LaterBuildEvents = True
OnlyOwnerDataSet = False
Left = 355
Top = 344
ReportData = {}
end
object RMDB_Main: TRMDBDataSet
Visible = True
DataSet = ADOQueryPrt
Left = 288
Top = 344
end
object cxGridPopupMenu2: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 520
Top = 264
end
object DS_HZ: TDataSource
DataSet = CDS_HZ
Left = 283
Top = 259
end
object CDS_HZ: TClientDataSet
Aggregates = <>
Params = <>
Left = 384
Top = 208
end
object PopupMenu1: TPopupMenu
Left = 192
Top = 240
object N1: TMenuItem
Caption = #20840#36873
OnClick = N1Click
end
object N2: TMenuItem
Caption = #20840#24323
OnClick = N2Click
end
end
object RMXLSExport2: TRMXLSExport
ShowAfterExport = False
ExportPrecision = 1
PagesOfSheet = 1
ExportImages = True
ExportFrames = True
ExportImageFormat = ifBMP
JPEGQuality = 0
ScaleX = 1.000000000000000000
ScaleY = 1.000000000000000000
CompressFile = False
Left = 420
Top = 344
end
object ADOQueryPrt: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 229
Top = 345
end
end

View File

@ -0,0 +1,391 @@
unit U_TrayManage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxPC, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls, U_BaseList,
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
cxNavigator, dxDateRanges, dxBarBuiltInMenu, dxSkinWXI, dxScrollbarAnnotations,
U_LabelPrint;
type
TfrmTrayManage = class(TFrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Panel1: TPanel;
TYNo: TEdit;
RMXLSExport2: TRMXLSExport;
v2Column8: TcxGridDBColumn;
Label1: TLabel;
v2Column12: TcxGridDBColumn;
ToolButton3: TToolButton;
ADOQueryPrt: TADOQuery;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
v2Column1: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CustomerChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure v2Column8PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
procedure PrintReport(FZDYNo: string);
procedure InitGrid();
public
fFlag: integer;
{ Public declarations }
RKFlag, FCYID, fmanage: string;
end;
var
frmTrayManage: TfrmTrayManage;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmTrayManage.PrintReport(FZDYNo: string);
var
fPrintFile, FFCYID: string;
i, j: Integer;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
if CDS_HZ.IsEmpty then
Exit;
ExportFtErpFile('托盘标签.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\托盘标签.rmf';
with ADOQueryPrt do
begin
close;
sql.Clear;
sql.Add(' select * from BS_Tray where TYId=''' + Trim(FZDYNo) + '''');
open;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(FZDYNo);
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath) then
DeleteFile(fImagePath);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
except
CDS_HZ.EnableControls;
application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR);
exit;
end;
RMVariables['QRBARCODE'] := fImagePath;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.PrintReport;
// RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar('没有找' + fPrintFile + '!'), '提示', 0);
Exit;
end;
end;
procedure TfrmTrayManage.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.* from BS_Tray A order by TYNo ');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
ToolButton2.Click;
end;
end;
procedure TfrmTrayManage.FormDestroy(Sender: TObject);
begin
inherited;
frmTrayManage := nil;
end;
procedure TfrmTrayManage.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmTrayManage.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Trim(Self.Caption), Tv2, '机台管理');
Close;
end;
procedure TfrmTrayManage.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(Trim(Self.Caption), Tv2, '机台管理');
// Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
// begdate.DateTime:=Enddate.DateTime-30;
InitGrid();
end;
procedure TfrmTrayManage.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmTrayManage.ToolButton2Click(Sender: TObject);
var
sql: string;
begin
if ADOQueryMain.Active then
begin
sql := SGetFilters(Panel1, 1, 2);
SDofilter(ADOQueryMain, sql);
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmTrayManage.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
// SelExportData(Tv2, ADOQueryMain, trim(Self.Caption));
TcxGridToExcel(self.Caption, cxgrid2);
end;
procedure TfrmTrayManage.cxTabControl1Change(Sender: TObject);
begin
InitGrid;
end;
procedure TfrmTrayManage.N1Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
with CDS_HZ do
begin
DisableControls;
first;
while not eof do
begin
edit;
fieldbyname('ssel').Value := true;
post;
next;
end;
First;
EnableControls;
end;
end;
procedure TfrmTrayManage.N2Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
with CDS_HZ do
begin
DisableControls;
first;
while not eof do
begin
edit;
fieldbyname('ssel').Value := false;
post;
next;
end;
First;
EnableControls;
end;
end;
procedure TfrmTrayManage.CustomerChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmTrayManage.FormCreate(Sender: TObject);
begin
inherited;
fmanage := Trim(DParameters1);
end;
procedure TfrmTrayManage.v2Column8PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate BS_Tray ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
sql.Add(' , Editer=''' + Trim(DName) + '''');
sql.Add(' , Edittime=getdate()');
sql.Add(' where TYId=' + quotedstr(CDS_HZ.fieldbyname('TYId').AsString));
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv2.Controller.EditingController.ShowEdit();
except
tv2.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!', '提示', 0);
end
end;
procedure TfrmTrayManage.ToolButton3Click(Sender: TObject);
var
RTValues: TArray<string>;
begin
if CDS_HZ.IsEmpty then
Exit;
if CDS_HZ.Locate('SSel', True, []) = False then
begin
Application.MessageBox('请先选择数据!', '提示', 0);
Exit;
end;
RTValues := SelCDSKey(CDS_HZ, ['TYID']);
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'Tray';
FFiltration1 := RTValues[0];
if ShowModal = 1 then
begin
// Self.InitGrid();
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmTrayManage.ToolButton4Click(Sender: TObject);
var
maxId: string;
begin
TYNo.SetFocus;
if GetLSNo(ADOQueryCmd, maxId, 'TY', 'BS_Tray', 4, 1) = False then
begin
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into BS_Tray(TYId,Filler) values(' + quotedstr(Trim(maxId)) + ',' + quotedstr(Trim(dname)) + ')');
ExecSQL;
end;
InitGrid();
end;
procedure TfrmTrayManage.ToolButton5Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
Exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete BS_Tray where TYID=' + QuotedStr(CDS_HZ.FieldByName('TYID').AsString));
ExecSQL;
end;
CDS_HZ.Delete;
end;
procedure TfrmTrayManage.Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
i: Integer;
begin
// if not CDS_HZ.fieldbyname('EditFlag').AsBoolean then
// begin
// for i := 0 to tv2.ColumnCount - 1 do
// begin
// if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then
// tv2.Columns[i].Options.Editing := false;
// end;
// end
// else
// begin
// for i := 0 to tv2.ColumnCount - 1 do
// begin
// if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then
// tv2.Columns[i].Options.Editing := True;
// end;
// end;
end;
end.

View File

@ -0,0 +1,557 @@
object frmUserModuleNameList: TfrmUserModuleNameList
Left = 97
Top = 61
Width = 1201
Height = 618
Caption = #21592#24037#27169#22359#21015#34920
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnCreate = FormCreate
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 1185
Height = 33
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_CYZZ.ThreeImgList
Flat = True
Images = DataLink_CYZZ.ThreeImgList
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 0
OnClick = TBRafreshClick
end
object TBFind: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #36807#28388
ImageIndex = 20
OnClick = TBFindClick
end
object TBExport: TToolButton
Left = 126
Top = 0
AutoSize = True
Caption = #23548#20986
ImageIndex = 16
OnClick = TBExportClick
end
object TBClose: TToolButton
Left = 189
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object Panel1: TPanel
Left = 0
Top = 33
Width = 1185
Height = 37
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
end
object cxPageControl1: TcxPageControl
Left = 0
Top = 70
Width = 1185
Height = 509
ActivePage = cxTabSheet1
Align = alClient
Style = 8
TabOrder = 2
OnChange = cxPageControl1Change
ClientRectBottom = 509
ClientRectRight = 1185
ClientRectTop = 23
object cxTabSheet1: TcxTabSheet
Caption = #27169#22359#34920
ImageIndex = 0
object cxGrid3: TcxGrid
Left = 0
Top = 37
Width = 1185
Height = 449
Align = alClient
TabOrder = 0
object Tv3: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
DataController.DataSource = DataSource1
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <
item
Format = 'DefStr1'
end
item
Format = 'YCLCode'
end
item
Kind = skCount
Position = spFooter
end>
DataController.Summary.FooterSummaryItems = <
item
Kind = skCount
end>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.GoToNextCellOnEnter = True
OptionsCustomize.ColumnFiltering = False
OptionsSelection.CellSelect = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
OptionsView.GroupFooters = gfAlwaysVisible
Styles.Inactive = DataLink_CYZZ.SHuangSe
Styles.IncSearch = DataLink_CYZZ.SHuangSe
Styles.Selection = DataLink_CYZZ.SHuangSe
Styles.Header = DataLink_CYZZ.Default
object cxGridDBColumn2: TcxGridDBColumn
Caption = #27169#22359#21517#31216
DataBinding.FieldName = 'FormName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Styles.Content = DataLink_CYZZ.FoneRed
Styles.Footer = DataLink_CYZZ.FoneRed
Styles.Header = DataLink_CYZZ.FoneRed
Width = 256
end
object cxGridDBColumn1: TcxGridDBColumn
Caption = #20351#29992#24773#20917
DataBinding.FieldName = 'FormNameNote'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Options.Editing = False
Styles.Content = DataLink_CYZZ.FontBlue
Styles.Footer = DataLink_CYZZ.FontBlue
Styles.Header = DataLink_CYZZ.FontBlue
Width = 917
end
end
object cxGridLevel2: TcxGridLevel
GridView = Tv3
end
end
object Panel2: TPanel
Left = 0
Top = 0
Width = 1185
Height = 37
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label1: TLabel
Left = 20
Top = 12
Width = 48
Height = 12
Caption = #27169#22359#21517#31216
end
object Label4: TLabel
Left = 284
Top = 12
Width = 48
Height = 12
Caption = #20351#29992#24773#20917
end
object FormName: TEdit
Tag = 2
Left = 70
Top = 9
Width = 179
Height = 20
TabOrder = 0
OnChange = UserIdChange
end
object FormNameNote: TEdit
Tag = 2
Left = 334
Top = 9
Width = 179
Height = 20
TabOrder = 1
OnChange = UserIdChange
end
end
end
object cxTabSheet2: TcxTabSheet
Caption = #37096#38376#27169#22359#34920
ImageIndex = 1
object cxGrid2: TcxGrid
Left = 0
Top = 37
Width = 1185
Height = 449
Align = alClient
TabOrder = 0
object Tv2: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
DataController.DataSource = DataSource1
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <
item
Format = 'DefStr1'
end
item
Format = 'YCLCode'
end
item
Kind = skCount
Position = spFooter
end>
DataController.Summary.FooterSummaryItems = <
item
Kind = skCount
end>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.GoToNextCellOnEnter = True
OptionsCustomize.ColumnFiltering = False
OptionsSelection.CellSelect = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
OptionsView.GroupFooters = gfAlwaysVisible
Styles.Inactive = DataLink_CYZZ.SHuangSe
Styles.IncSearch = DataLink_CYZZ.SHuangSe
Styles.Selection = DataLink_CYZZ.SHuangSe
Styles.Header = DataLink_CYZZ.Default
object cxGridDBColumn3: TcxGridDBColumn
Caption = #37096#38376
DataBinding.FieldName = 'DPName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Options.Editing = False
Styles.Content = DataLink_CYZZ.FontBlue
Styles.Footer = DataLink_CYZZ.FontBlue
Styles.Header = DataLink_CYZZ.FontBlue
Width = 116
end
object cxGridDBColumn4: TcxGridDBColumn
Caption = #27169#22359#21517#31216
DataBinding.FieldName = 'DFormName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Styles.Content = DataLink_CYZZ.FoneRed
Styles.Footer = DataLink_CYZZ.FoneRed
Styles.Header = DataLink_CYZZ.FoneRed
Width = 263
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object Panel3: TPanel
Left = 0
Top = 0
Width = 1185
Height = 37
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label2: TLabel
Left = 242
Top = 12
Width = 48
Height = 12
Caption = #27169#22359#21517#31216
end
object Label5: TLabel
Left = 20
Top = 12
Width = 24
Height = 12
Caption = #37096#38376
end
object DFormName: TEdit
Tag = 2
Left = 292
Top = 9
Width = 179
Height = 20
TabOrder = 0
OnChange = UserIdChange
end
object DPName: TEdit
Tag = 2
Left = 45
Top = 9
Width = 179
Height = 20
TabOrder = 1
OnChange = UserIdChange
end
end
end
object cxTabSheet3: TcxTabSheet
Caption = #21592#24037#27169#22359#34920
ImageIndex = 2
object cxGrid1: TcxGrid
Left = 0
Top = 37
Width = 1185
Height = 449
Align = alClient
TabOrder = 0
object Tv1: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
DataController.DataSource = DataSource1
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <
item
Format = 'DefStr1'
end
item
Format = 'YCLCode'
end
item
Kind = skCount
Position = spFooter
Column = v1ShortName
end>
DataController.Summary.FooterSummaryItems = <
item
Kind = skCount
Column = v1ShortName
end>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.GoToNextCellOnEnter = True
OptionsCustomize.ColumnFiltering = False
OptionsSelection.CellSelect = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
OptionsView.GroupFooters = gfAlwaysVisible
Styles.Inactive = DataLink_CYZZ.SHuangSe
Styles.IncSearch = DataLink_CYZZ.SHuangSe
Styles.Selection = DataLink_CYZZ.SHuangSe
Styles.Header = DataLink_CYZZ.Default
object v1ShortName: TcxGridDBColumn
Caption = #21592#24037#32534#21495
DataBinding.FieldName = 'UserId'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Width = 108
end
object v1UnitName: TcxGridDBColumn
Tag = 2
Caption = #30331#24405#21517#31216
DataBinding.FieldName = 'UserName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Width = 90
end
object v1Column1: TcxGridDBColumn
Caption = #37096#38376
DataBinding.FieldName = 'UDPName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Options.Editing = False
Styles.Content = DataLink_CYZZ.FontBlue
Styles.Footer = DataLink_CYZZ.FontBlue
Styles.Header = DataLink_CYZZ.FontBlue
Width = 106
end
object v1Quantity: TcxGridDBColumn
Caption = #27169#22359#21517#31216
DataBinding.FieldName = 'UFormName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taCenter
Properties.Alignment.Vert = taVCenter
HeaderAlignmentHorz = taCenter
Styles.Content = DataLink_CYZZ.FoneRed
Styles.Footer = DataLink_CYZZ.FoneRed
Styles.Header = DataLink_CYZZ.FoneRed
Width = 241
end
end
object cxGrid1Level1: TcxGridLevel
GridView = Tv1
end
end
object Panel4: TPanel
Left = 0
Top = 0
Width = 1185
Height = 37
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label3: TLabel
Left = 20
Top = 12
Width = 48
Height = 12
Caption = #21592#24037#32534#21495
end
object Label6: TLabel
Left = 212
Top = 12
Width = 48
Height = 12
Caption = #30331#24405#21517#31216
end
object Label7: TLabel
Left = 412
Top = 12
Width = 24
Height = 12
Caption = #37096#38376
end
object Label8: TLabel
Left = 585
Top = 12
Width = 48
Height = 12
Caption = #27169#22359#21517#31216
end
object UserId: TEdit
Tag = 2
Left = 70
Top = 9
Width = 127
Height = 20
TabOrder = 0
OnChange = UserIdChange
end
object UserName: TEdit
Tag = 2
Left = 262
Top = 9
Width = 127
Height = 20
TabOrder = 1
OnChange = UserIdChange
end
object UDPName: TEdit
Tag = 2
Left = 437
Top = 9
Width = 127
Height = 20
TabOrder = 2
OnChange = UserIdChange
end
object UFormName: TEdit
Tag = 2
Left = 635
Top = 9
Width = 127
Height = 20
TabOrder = 3
OnChange = UserIdChange
end
end
end
end
object cxGridPopupMenu1: TcxGridPopupMenu
Grid = cxGrid1
PopupMenus = <>
Left = 680
Top = 8
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_CYZZ.ADOLink
Parameters = <>
Left = 432
Top = 200
end
object ADOQueryMain: TADOQuery
Connection = DataLink_CYZZ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 464
Top = 200
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_CYZZ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 496
Top = 200
end
object DataSource1: TDataSource
DataSet = CDS_Main
Left = 600
Top = 8
end
object CDS_Main: TClientDataSet
Aggregates = <>
Params = <>
Left = 636
Top = 8
end
object DataSource2: TDataSource
DataSet = ClientDataSet2
Left = 448
Top = 8
end
object ClientDataSet2: TClientDataSet
Aggregates = <>
Params = <>
Left = 476
Top = 8
end
object cxGridPopupMenu2: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 504
Top = 8
end
object DataSource3: TDataSource
DataSet = ClientDataSet3
Left = 296
end
object ClientDataSet3: TClientDataSet
Aggregates = <>
Params = <>
Left = 332
end
object cxGridPopupMenu3: TcxGridPopupMenu
Grid = cxGrid3
PopupMenus = <>
Left = 368
end
end

View File

@ -0,0 +1,221 @@
unit U_UserModuleNameList; //
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, cxCalendar, cxButtonEdit, cxDropDownEdit,
DBClient, Menus, cxSplitter, cxTextEdit, RM_Common, RM_Class,
RM_GridReport, RM_System, RM_Dataset, RM_e_Xls, dxPSGlbl, dxPSUtl,
dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider,
dxPSFillPatterns, dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk,
cxPC;
type
TfrmUserModuleNameList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Panel1: TPanel;
CDS_Main: TClientDataSet;
DataSource2: TDataSource;
ClientDataSet2: TClientDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
cxPageControl1: TcxPageControl;
cxTabSheet1: TcxTabSheet;
cxTabSheet2: TcxTabSheet;
cxTabSheet3: TcxTabSheet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1ShortName: TcxGridDBColumn;
v1UnitName: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Quantity: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
DataSource3: TDataSource;
ClientDataSet3: TClientDataSet;
cxGridPopupMenu3: TcxGridPopupMenu;
Panel2: TPanel;
Label1: TLabel;
FormName: TEdit;
Panel3: TPanel;
Label2: TLabel;
DFormName: TEdit;
Panel4: TPanel;
Label3: TLabel;
UserId: TEdit;
Label4: TLabel;
FormNameNote: TEdit;
Label5: TLabel;
DPName: TEdit;
Label6: TLabel;
UserName: TEdit;
Label7: TLabel;
UDPName: TEdit;
Label8: TLabel;
UFormName: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure UserIdChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
private
canshu1,canshu2:String;
procedure InitGrid();
procedure InitForm();
{ Private declarations }
public
{ Public declarations }
end;
var
frmUserModuleNameList: TfrmUserModuleNameList;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmUserModuleNameList.FormDestroy(Sender: TObject);
begin
frmUserModuleNameList:=nil;
end;
procedure TfrmUserModuleNameList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmUserModuleNameList.FormCreate(Sender: TObject);
begin
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
end;
procedure TfrmUserModuleNameList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('员工模块列表',Tv1,'系统管理');
WriteCxGrid('部门模块列表',Tv2,'系统管理');
WriteCxGrid('模块列表',Tv3,'系统管理');
end;
procedure TfrmUserModuleNameList.InitGrid();
begin
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
if cxPageControl1.ActivePageIndex=0 then
begin
SQL.Add(' exec P_View_ModuleName ');
end else
if cxPageControl1.ActivePageIndex=1 then
begin
SQL.Add(' exec P_View_DeptModuleName ');
end else
if cxPageControl1.ActivePageIndex=2 then
begin
SQL.Add(' exec P_View_UserModuleName ');
end;
Open;
end;
SCreateCDS(ADOQueryMain,CDS_Main);
SInitCDSData(ADOQueryMain,CDS_Main);
end;
procedure TfrmUserModuleNameList.InitForm();
begin
ReadCxGrid('员工模块列表',Tv1,'系统管理');
ReadCxGrid('部门模块列表',Tv2,'系统管理');
ReadCxGrid('模块列表',Tv3,'系统管理');
cxPageControl1.ActivePageIndex:=0;
//InitGrid();
end;
procedure TfrmUserModuleNameList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
if cxPageControl1.ActivePageIndex=0 then
SDofilter(ADOQueryMain,SGetFilters(Panel2,1,2))
else if cxPageControl1.ActivePageIndex=1 then
SDofilter(ADOQueryMain,SGetFilters(Panel3,1,2))
else if cxPageControl1.ActivePageIndex=2 then
SDofilter(ADOQueryMain,SGetFilters(Panel4,1,2));
SCreateCDS(ADOQueryMain,CDS_Main);
SInitCDSData(ADOQueryMain,CDS_Main);
end;
procedure TfrmUserModuleNameList.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if cxPageControl1.ActivePageIndex=0 then
TcxGridToExcel('模块列表',cxGrid3)
else if cxPageControl1.ActivePageIndex=1 then
TcxGridToExcel('部门模块列表',cxGrid2)
else if cxPageControl1.ActivePageIndex=2 then
TcxGridToExcel('员工模块列表',cxGrid1);
end;
procedure TfrmUserModuleNameList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmUserModuleNameList.UserIdChange(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
if cxPageControl1.ActivePageIndex=0 then
SDofilter(ADOQueryMain,SGetFilters(Panel2,1,2))
else if cxPageControl1.ActivePageIndex=1 then
SDofilter(ADOQueryMain,SGetFilters(Panel3,1,2))
else if cxPageControl1.ActivePageIndex=2 then
SDofilter(ADOQueryMain,SGetFilters(Panel4,1,2));
SCreateCDS(ADOQueryMain,CDS_Main);
SInitCDSData(ADOQueryMain,CDS_Main);
end;
procedure TfrmUserModuleNameList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmUserModuleNameList.cxPageControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.

View File

@ -0,0 +1,294 @@
inherited frmWarpBeamManage: TfrmWarpBeamManage
Left = 297
Top = 109
Caption = #32463#36724#31649#29702
ClientHeight = 667
ClientWidth = 1107
KeyPreview = True
ExplicitWidth = 1123
ExplicitHeight = 706
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar [0]
Tag = 1
Left = 0
Top = 0
Width = 1107
Height = 38
AutoSize = True
ButtonHeight = 38
ButtonWidth = 75
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_BaseInfo.ImageList_new32
Images = DataLink_BaseInfo.ImageList_new32
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 1
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
Left = 71
Top = 0
AutoSize = True
Caption = #36807#28388
ImageIndex = 0
Visible = False
OnClick = ToolButton2Click
end
object ToolButton4: TToolButton
Left = 142
Top = 0
AutoSize = True
Caption = #22686#34892
ImageIndex = 2
OnClick = ToolButton4Click
end
object ToolButton5: TToolButton
Left = 213
Top = 0
AutoSize = True
Caption = #21024#34892
ImageIndex = 6
OnClick = ToolButton5Click
end
object ToolButton6: TToolButton
Left = 284
Top = 0
AutoSize = True
Caption = #20462#25913
ImageIndex = 3
OnClick = ToolButton6Click
end
object ToolButton3: TToolButton
Left = 355
Top = 0
AutoSize = True
Caption = #25171#21360
ImageIndex = 21
OnClick = ToolButton3Click
end
object ToolButton1: TToolButton
Left = 426
Top = 0
AutoSize = True
Caption = #23548#20986
ImageIndex = 20
OnClick = ToolButton1Click
end
object TBClose: TToolButton
Left = 497
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 7
OnClick = TBCloseClick
end
end
object cxGrid2: TcxGrid [1]
Left = 0
Top = 96
Width = 1107
Height = 571
Align = alClient
PopupMenu = PopupMenu1
TabOrder = 2
object Tv2: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
Navigator.Buttons.Delete.Visible = False
DataController.DataSource = DS_HZ
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <>
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>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
Styles.Footer = DataLink_BaseInfo.Default
Styles.Header = DataLink_BaseInfo.Default
object v2Column1: TcxGridDBColumn
Caption = #36873#25321
DataBinding.FieldName = 'SSel'
PropertiesClassName = 'TcxCheckBoxProperties'
HeaderAlignmentHorz = taCenter
end
object v2Column12: TcxGridDBColumn
Caption = #32534#21495
DataBinding.FieldName = 'WBCode'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 149
end
object v2Column8: TcxGridDBColumn
Caption = #21517#31216
DataBinding.FieldName = 'WBName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 180
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object Panel1: TPanel [2]
Left = 0
Top = 38
Width = 1107
Height = 58
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label1: TLabel
Left = 66
Top = 20
Width = 24
Height = 12
Caption = #32534#21495
end
object WBCode: TEdit
Tag = 2
Left = 105
Top = 16
Width = 89
Height = 20
TabOrder = 0
OnChange = CustomerChange
end
end
inherited ADOQueryBaseCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
end
inherited ADOQueryBaseTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 299
Top = 209
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Parameters = <>
Left = 261
Top = 209
end
object ADOQueryMain: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 229
Top = 209
end
object RM1: TRMGridReport
ThreadPrepareReport = True
InitialZoom = pzDefault
PreviewButtons = [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbExport, rmpbNavigator]
DefaultCollate = False
ShowPrintDialog = False
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
PreviewOptions.RulerUnit = rmutScreenPixels
PreviewOptions.RulerVisible = False
PreviewOptions.DrawBorder = False
PreviewOptions.BorderPen.Color = clGray
PreviewOptions.BorderPen.Style = psDash
Dataset = RMDB_Main
CompressLevel = rmzcFastest
CompressThread = False
LaterBuildEvents = True
OnlyOwnerDataSet = False
Left = 355
Top = 344
ReportData = {}
end
object RMDB_Main: TRMDBDataSet
Visible = True
DataSet = ADOQueryPrt
Left = 288
Top = 344
end
object cxGridPopupMenu2: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 520
Top = 264
end
object DS_HZ: TDataSource
DataSet = CDS_HZ
Left = 283
Top = 259
end
object CDS_HZ: TClientDataSet
Aggregates = <>
Params = <>
Left = 384
Top = 208
end
object PopupMenu1: TPopupMenu
Left = 192
Top = 240
object N1: TMenuItem
Caption = #20840#36873
OnClick = N1Click
end
object N2: TMenuItem
Caption = #20840#24323
OnClick = N2Click
end
end
object RMXLSExport2: TRMXLSExport
ShowAfterExport = False
ExportPrecision = 1
PagesOfSheet = 1
ExportImages = True
ExportFrames = True
ExportImageFormat = ifBMP
JPEGQuality = 0
ScaleX = 1.000000000000000000
ScaleY = 1.000000000000000000
CompressFile = False
Left = 420
Top = 344
end
object ADOQueryPrt: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 229
Top = 345
end
end

View File

@ -0,0 +1,402 @@
unit U_WarpBeamManage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxPC, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls, U_BaseList,
cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
cxNavigator, dxDateRanges, dxBarBuiltInMenu;
type
TfrmWarpBeamManage = class(TFrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Panel1: TPanel;
WBCode: TEdit;
RMXLSExport2: TRMXLSExport;
v2Column8: TcxGridDBColumn;
Label1: TLabel;
v2Column12: TcxGridDBColumn;
ToolButton3: TToolButton;
ADOQueryPrt: TADOQuery;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
v2Column1: TcxGridDBColumn;
ToolButton6: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CustomerChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure v2Column8PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
private
{ Private declarations }
procedure PrintReport(FZDYNo: string);
procedure InitGrid();
procedure EditValueT();
procedure EditValueF();
public
fFlag: integer;
{ Public declarations }
RKFlag, FCYID, fmanage: string;
end;
var
frmWarpBeamManage: TfrmWarpBeamManage;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmWarpBeamManage.PrintReport(FZDYNo: string);
var
fPrintFile, FFCYID: string;
i, j: Integer;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
if CDS_HZ.IsEmpty then
Exit;
ExportFtErpFile('经轴标签.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\经轴标签.rmf';
with ADOQueryPrt do
begin
close;
sql.Clear;
sql.Add(' select * from BS_WarpBeam where WBId=''' + Trim(FZDYNo) + '''');
open;
end;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(FZDYNo);
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath) then
DeleteFile(fImagePath);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
except
CDS_HZ.EnableControls;
application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR);
exit;
end;
RMVariables['QRBARCODE'] := fImagePath;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.PrintReport;
// RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar('没有找' + fPrintFile + '!'), '提示', 0);
Exit;
end;
end;
procedure TfrmWarpBeamManage.InitGrid();
begin
WBCode.SetFocus;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.* from BS_WarpBeam A ');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
ToolButton2.Click;
end;
EditValueF();
end;
procedure TfrmWarpBeamManage.FormDestroy(Sender: TObject);
begin
inherited;
frmWarpBeamManage := nil;
end;
procedure TfrmWarpBeamManage.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmWarpBeamManage.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Trim(Self.Caption), Tv2, '机台管理');
Close;
end;
procedure TfrmWarpBeamManage.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(Trim(Self.Caption), Tv2, '机台管理');
// Enddate.DateTime:=SGetServerDate(ADOQueryTemp);
// begdate.DateTime:=Enddate.DateTime-30;
InitGrid();
end;
procedure TfrmWarpBeamManage.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmWarpBeamManage.ToolButton2Click(Sender: TObject);
var
sql: string;
begin
if ADOQueryMain.Active then
begin
sql := SGetFilters(Panel1, 1, 2);
SDofilter(ADOQueryMain, sql);
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmWarpBeamManage.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
// SelExportData(Tv2, ADOQueryMain, trim(Self.Caption));
TcxGridToExcel(self.Caption, cxgrid2);
end;
procedure TfrmWarpBeamManage.cxTabControl1Change(Sender: TObject);
begin
InitGrid;
end;
procedure TfrmWarpBeamManage.N1Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
SelOKNo(CDS_HZ, True);
end;
procedure TfrmWarpBeamManage.N2Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
SelOKNo(CDS_HZ, False);
end;
procedure TfrmWarpBeamManage.CustomerChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmWarpBeamManage.FormCreate(Sender: TObject);
begin
inherited;
fmanage := Trim(DParameters1);
end;
procedure TfrmWarpBeamManage.v2Column8PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate BS_WarpBeam ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
sql.Add(' , Editer=''' + Trim(DName) + '''');
sql.Add(' , Edittime=getdate()');
sql.Add(' where WBId=' + quotedstr(CDS_HZ.fieldbyname('WBId').AsString));
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv2.Controller.EditingController.ShowEdit();
except
tv2.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!', '提示', 0);
end
end;
procedure TfrmWarpBeamManage.ToolButton3Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
if CDS_HZ.Locate('SSel', True, []) = False then
begin
Application.MessageBox('请先选择数据!', '提示', 0);
Exit;
end;
with CDS_HZ do
begin
while CDS_HZ.Locate('SSel', True, []) = True do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update BS_WarpBeam set EditFlag=0 where WBId=' + QuotedStr(CDS_HZ.FieldByName('WBId').AsString));
ExecSQL;
end;
CDS_HZ.Edit;
CDS_HZ.FieldByName('SSel').Value := False;
CDS_HZ.Post;
PrintReport(Trim(CDS_HZ.fieldbyname('WBId').AsString));
Next;
end;
end;
end;
procedure TfrmWarpBeamManage.ToolButton4Click(Sender: TObject);
var
maxId: string;
begin
WBCode.SetFocus;
if GetLSNo(ADOQueryCmd, maxId, 'WB', 'BS_WarpBeam', 4, 1) = False then
begin
Application.MessageBox('取最大号失败!', '提示', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into BS_WarpBeam(WBId,Filler) values(' + quotedstr(Trim(maxId)) + ',' + quotedstr(Trim(dname)) + ')');
ExecSQL;
end;
InitGrid();
EditValueT();
end;
procedure TfrmWarpBeamManage.ToolButton5Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
if CDS_HZ.Locate('SSel', True, []) = False then
begin
Application.MessageBox('请先选择数据!', '提示', 0);
Exit;
end;
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
Exit;
with CDS_HZ do
begin
while not Eof do
begin
if CDS_HZ.Locate('SSel', True, []) = True then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete BS_WarpBeam where WBId=''' + Trim(CDS_HZ.fieldbyname('WBId').AsString) + ''' ');
ExecSQL;
end;
end;
CDS_HZ.Edit;
CDS_HZ.FieldByName('SSel').Value := False;
CDS_HZ.Post;
Next;
end;
end;
InitGrid();
end;
procedure TfrmWarpBeamManage.ToolButton6Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
EditValueT();
end;
procedure TfrmWarpBeamManage.EditValueT();
var
i: Integer;
begin
for i := 0 to tv2.ColumnCount - 1 do
begin
if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then
tv2.Columns[i].Options.Editing := True;
end;
end;
procedure TfrmWarpBeamManage.EditValueF();
var
i: Integer;
begin
for i := 0 to tv2.ColumnCount - 1 do
begin
if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then
tv2.Columns[i].Options.Editing := false;
end;
end;
end.

View File

@ -0,0 +1,282 @@
object frmZDYHelp: TfrmZDYHelp
Left = 466
Top = 188
Caption = #39033#30446#32500#25252
ClientHeight = 489
ClientWidth = 491
Color = clWhite
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnClose = FormClose
OnCreate = FormCreate
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object cxGrid1: TcxGrid
Left = 0
Top = 82
Width = 491
Height = 407
Align = alClient
TabOrder = 0
ExplicitTop = 73
ExplicitWidth = 449
ExplicitHeight = 416
object TV1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
OnCellDblClick = TV1CellDblClick
DataController.DataSource = DataSource1
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.FocusCellOnCycle = True
OptionsCustomize.ColumnFiltering = False
OptionsData.Editing = False
OptionsSelection.CellSelect = False
OptionsView.GroupByBox = False
Styles.Header = DataLink_BaseInfo.Default
object V1Code: TcxGridDBColumn
Caption = #32534#21495
DataBinding.FieldName = 'ZDYNo'
Visible = False
HeaderAlignmentHorz = taCenter
Width = 97
end
object V1OrderNo: TcxGridDBColumn
Caption = #39034#24207#21495
DataBinding.FieldName = 'OrderNo'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1OrderNoPropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 49
end
object V1Name: TcxGridDBColumn
Tag = 2
Caption = #21517#31216
DataBinding.FieldName = 'ZDYName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1NamePropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 326
end
object V1Note: TcxGridDBColumn
Caption = #22791#27880
DataBinding.FieldName = 'Note'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1NotePropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 109
end
object V1ZdyFlag: TcxGridDBColumn
Caption = #26631#24535
DataBinding.FieldName = 'ZdyFlag'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1Column1PropertiesEditValueChanged
Visible = False
HeaderAlignmentHorz = taCenter
Width = 57
end
object V1HelpType: TcxGridDBColumn
Caption = #24110#21161#31867#27604
DataBinding.FieldName = 'HelpType'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1HelpTypePropertiesEditValueChanged
Visible = False
HeaderAlignmentHorz = taCenter
Width = 55
end
object V1ZdyStr1: TcxGridDBColumn
DataBinding.FieldName = 'ZdyStr1'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1ZdyStr1PropertiesEditValueChanged
Visible = False
HeaderAlignmentHorz = taCenter
Width = 61
end
object V1ZdyStr2: TcxGridDBColumn
DataBinding.FieldName = 'ZdyStr2'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1ZdyStr1PropertiesEditValueChanged
Visible = False
HeaderAlignmentHorz = taCenter
Width = 60
end
object V1ZdyStr3: TcxGridDBColumn
DataBinding.FieldName = 'ZdyStr3'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1ZdyStr1PropertiesEditValueChanged
Visible = False
HeaderAlignmentHorz = taCenter
Width = 57
end
object V1ZdyStr4: TcxGridDBColumn
DataBinding.FieldName = 'ZdyStr4'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1ZdyStr1PropertiesEditValueChanged
Visible = False
HeaderAlignmentHorz = taCenter
Width = 61
end
object V1ZdyStr5: TcxGridDBColumn
DataBinding.FieldName = 'ZdyStr5'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1ZdyStr1PropertiesEditValueChanged
Visible = False
HeaderAlignmentHorz = taCenter
Width = 61
end
end
object cxGrid1Level1: TcxGridLevel
GridView = TV1
end
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 491
Height = 38
AutoSize = True
ButtonHeight = 38
ButtonWidth = 75
Caption = 'ToolBar1'
DisabledImages = DataLink_BaseInfo.ImageList_new32
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
Images = DataLink_BaseInfo.ImageList_new32
List = True
ParentFont = False
ShowCaptions = True
TabOrder = 1
object ToolButton1: TToolButton
Left = 0
Top = 0
Caption = #36873#25321
ImageIndex = 12
OnClick = ToolButton1Click
end
object TBAdd: TToolButton
Left = 75
Top = 0
Caption = #22686#34892
ImageIndex = 2
OnClick = TBAddClick
end
object TBDel: TToolButton
Left = 150
Top = 0
Caption = #21024#34892
ImageIndex = 6
OnClick = TBDelClick
end
object TBEdit: TToolButton
Left = 225
Top = 0
Caption = #20462#25913
ImageIndex = 3
OnClick = TBEditClick
end
object TBSave: TToolButton
Left = 300
Top = 0
Caption = #20445#23384
ImageIndex = 16
Visible = False
OnClick = TBSaveClick
end
object TBClose: TToolButton
Left = 375
Top = 0
Caption = #20851#38381
ImageIndex = 7
OnClick = TBCloseClick
end
end
object Panel1: TPanel
Left = 0
Top = 38
Width = 491
Height = 44
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
TabOrder = 2
ExplicitTop = 29
ExplicitWidth = 449
object Label1: TLabel
Left = 18
Top = 17
Width = 24
Height = 12
Caption = #21517#31216
end
object Label2: TLabel
Left = 240
Top = 11
Width = 120
Height = 24
Caption = #27880#65306#28966#28857#31163#24320#24403#21069#32534#36753#13#10' '#21333#20803#26684#20445#23384#25968#25454#12290
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clBlue
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
ParentColor = False
ParentFont = False
end
object ZDYName: TEdit
Tag = 2
Left = 53
Top = 12
Width = 169
Height = 20
TabOrder = 0
OnChange = ZDYNameChange
end
end
object ADOQueryMain: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 48
Top = 136
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 80
Top = 144
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Parameters = <>
Left = 112
Top = 152
end
object DataSource1: TDataSource
DataSet = ClientDataSet1
Left = 280
Top = 144
end
object ClientDataSet1: TClientDataSet
Aggregates = <>
Params = <>
Left = 208
Top = 144
end
object cxGridPopupMenu1: TcxGridPopupMenu
Grid = cxGrid1
PopupMenus = <>
Left = 168
Top = 152
end
end

View File

@ -0,0 +1,725 @@
unit U_ZDYHelp;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList,
StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu,
cxTimeEdit, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore,
dxSkinsDefaultPainters, cxNavigator, dxDateRanges, dxBarBuiltInMenu;
type
TfrmZDYHelp = class(TForm)
TV1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
V1Code: TcxGridDBColumn;
V1Name: TcxGridDBColumn;
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
TBAdd: TToolButton;
TBSave: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ToolButton1: TToolButton;
TBEdit: TToolButton;
V1Note: TcxGridDBColumn;
V1OrderNo: TcxGridDBColumn;
Panel1: TPanel;
Label1: TLabel;
ZDYName: TEdit;
Label2: TLabel;
cxGridPopupMenu1: TcxGridPopupMenu;
V1ZdyFlag: TcxGridDBColumn;
V1HelpType: TcxGridDBColumn;
V1ZdyStr1: TcxGridDBColumn;
V1ZdyStr2: TcxGridDBColumn;
V1ZdyStr3: TcxGridDBColumn;
V1ZdyStr4: TcxGridDBColumn;
V1ZdyStr5: TcxGridDBColumn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBAddClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ZDYNameChange(Sender: TObject);
procedure V1NamePropertiesEditValueChanged(Sender: TObject);
procedure V1OrderNoPropertiesEditValueChanged(Sender: TObject);
procedure V1NotePropertiesEditValueChanged(Sender: TObject);
procedure V1Column1PropertiesEditValueChanged(Sender: TObject);
procedure V1HelpTypePropertiesEditValueChanged(Sender: TObject);
procedure V1ZdyStr1PropertiesEditValueChanged(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
flag,flagname,snote,MainType:string;
fnote,forderno,fZdyFlag,ViewFlag:Boolean;
PPSTE:integer;
{ Public declarations }
end;
var
frmZDYHelp: TfrmZDYHelp;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmZDYHelp.FormCreate(Sender: TObject);
begin
{try
cxGrid1.Align:=alClient;
with ADOConnection1 do
begin
Connected:=false;
ConnectionString:=DConString;
//ConnectionString:='';
Connected:=true;
end;
except
{if Application.MessageBox('网络连接失败,是否要再次连接?','提示',32+4)=IDYES then
begin
try
with ADOConnection1 do
begin
Connected:=false;
ConnectionString:=DConString;
//ConnectionString:='23242';
Connected:=true;
end;
except
end;
end; }
{frmRTZDYHelp.Free;
end; }
end;
procedure TfrmZDYHelp.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ZDYName.SetFocus;
WriteCxGrid('自定义'+Trim(flag),TV1,'自定义数据');
Action:=caFree;
end;
procedure TfrmZDYHelp.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select A.*,ZJM=dbo.getPinYin(A.ZdyName) from KH_ZDY A where A.Type='''+flag+'''');
if Trim(MainType)<>'' then
begin
sql.Add(' and A.MainType='''+Trim(MainType)+'''');
end;
Open;
end;
SCreateCDS(ADOQueryMain,ClientDataSet1);
SInitCDSData(ADOQueryMain,ClientDataSet1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZDYHelp.TBAddClick(Sender: TObject);
var
i:Integer;
begin
ZDYName.SetFocus;
TV1.OptionsData.Editing:=True;
TV1.OptionsSelection.CellSelect:=True;
for i:=0 to 5 do
begin
with ClientDataSet1 do
begin
Append;
Post;
end;
end;
end;
procedure TfrmZDYHelp.TBSaveClick(Sender: TObject);
var
maxno:string;
begin
if ClientDataSet1.IsEmpty then Exit;
ZDYName.SetFocus;
if ClientDataSet1.Locate('ZDYName',null,[]) then
begin
Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
if ClientDataSet1.Locate('ZDYName','',[]) then
begin
Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select * from KH_ZDY where ZdyNo='''+Trim(flag)+'''');
open;
end;
if ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('insert into KH_ZDY(ZDYNo,ZDYName,Type,MainType) select :ZDYNo,:ZDYName,:Type,:MainType ');
Parameters.ParamByName('ZDYNo').Value:=Trim(flag);
Parameters.ParamByName('ZDYName').Value:=Trim(flagname);
Parameters.ParamByName('Type').Value:='Main';
Parameters.ParamByName('MainType').Value:=Trim(MainType);
ExecSQL;
end;
end;
with ADOQueryCmd do
begin
ClientDataSet1.DisableControls;
with ClientDataSet1 do
begin
First;
while not eof do
begin
if Trim(ClientDataSet1.FieldByName('ZDYNO').AsString)='' then
begin
if GetLSNo(ADOQueryTemp,maxno,'SY','KH_ZDY',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
ClientDataSet1.EnableControls;
Application.MessageBox('取最大编号失败!','提示',0);
Exit;
end;
end else
begin
maxno:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from KH_Zdy where Type='''+Trim(flag)+'''');
if Trim(MainType)<>'' then
SQL.Add(' and MainType='''+Trim(MainType)+'''');
sql.Add(' and ZdyName='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
if ADOQueryTemp.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
ClientDataSet1.EnableControls;
Application.MessageBox('名称重复!','提示',0);
Exit;
end;
if Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)='' then
begin
ADOQueryCmd.Connection.RollbackTrans;
ClientDataSet1.EnableControls;
Application.MessageBox('名称重复!','提示',0);
Exit;
end else
begin
if Trim(ADOQueryTemp.fieldbyname('ZdyNo').AsString)<>Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) then
begin
ADOQueryCmd.Connection.RollbackTrans;
ClientDataSet1.EnableControls;
Application.MessageBox('名称重复!','提示',0);
Exit;
end;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('delete KH_ZDY where ZDYNO='''+Trim(ClientDataSet1.fieldbyname('ZDYNO').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZDY where 1<>1');
Open;
end;
ADOQueryCmd.Append;
ADOQueryCmd.FieldByName('ZDYNo').Value:=Trim(maxno);
ADOQueryCmd.FieldByName('ZDYName').Value:=ClientDataSet1.fieldbyname('ZDYName').Value;
ADOQueryCmd.FieldByName('note').Value:=Trim(snote);
//ADOQueryCmd.FieldByName('orderno').Value:=ClientDataSet1.fieldbyname('Name').AsString;
ADOQueryCmd.FieldByName('Type').Value:=flag;
ADOQueryCmd.FieldByName('valid').Value:='Y';
if Trim(MainType)<>'' then
ADOQueryCmd.FieldByName('MainType').Value:=Trim(MainType);
//ADOQueryCmd.FieldByName('sel').Value:=0;
ADOQueryCmd.Post;
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('ZDYNo').Value:=Trim(maxno);
ClientDataSet1.Post;
Next;
end;
end;
ClientDataSet1.EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('保存成功!','提示',0);
TV1.OptionsData.Editing:=False;
TV1.OptionsSelection.CellSelect:=False;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!','提示',0);
end;
end;
procedure TfrmZDYHelp.TBDelClick(Sender: TObject);
begin
if ClientDataSet1.IsEmpty then Exit;
if (Trim(ClientDataSet1.FieldByName('ZDYNo').AsString)<>'') or
(Trim(ClientDataSet1.FieldByName('ZDYname').AsString)<>'') then
begin
if application.MessageBox('确定要删除吗?','提示信息',1)=2 then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete KH_ZDY where ZDYNo='''+Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString)+'''');
SQL.Add(' and Type='''+Trim(flag)+'''');
ExecSQL;
end;
end;
ClientDataSet1.Delete;
end;
procedure TfrmZDYHelp.TBCloseClick(Sender: TObject);
begin
ModalResult:=2;
ZDYName.SetFocus;
WriteCxGrid('自定义'+Trim(flag),TV1,'自定义数据');
Close;
end;
procedure TfrmZDYHelp.FormShow(Sender: TObject);
var
fsj,fsj1:string;
begin
{if PPSTE=1 then
begin
Application.Terminate;
Exit;
end; }
InitGrid();
fsj:=Trim(flag)+'01';
fsj1:=Trim(flagname)+'01';
{if ClientDataSet1.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into KH_ZDY(ZDYNo,ZDYname,Type,note)');
sql.Add('select '''+Trim(fsj)+'''');
sql.Add(','''+Trim(fsj1)+'''');
SQL.Add(','''+Trim(flag)+'''');
sql.Add(','''+Trim(snote)+'''');
ExecSQL;
end;
InitGrid();
end;}
//frmZDYHelp.Caption:=Trim(flagname)+'<'+Trim(flag)+'>';
//ReadCxGrid('自定义',TV1,'自定义数据');
ReadCxGrid('自定义'+Trim(flag),TV1,'自定义数据');
frmZDYHelp.Caption:=Trim(flagname);
V1Note.Visible:=fnote;
V1ZdyFlag.Visible:=fZdyFlag;
V1OrderNo.Visible:=forderno;
if ViewFlag=True then
begin
TBAdd.Visible:=False;
TBSave.Visible:=False;
TBDel.Visible:=False;
TBEdit.Visible:=False;
Label2.Visible:=False;
end;
end;
procedure TfrmZDYHelp.ToolButton1Click(Sender: TObject);
begin
ZDYName.SetFocus;
WriteCxGrid('自定义'+Trim(flag),TV1,'自定义数据');
ModalResult:=1;
end;
procedure TfrmZDYHelp.TBEditClick(Sender: TObject);
begin
TV1.OptionsData.Editing:=True;
TV1.OptionsSelection.CellSelect:=True;
end;
procedure TfrmZDYHelp.TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if TV1.OptionsData.Editing=False then
begin
ModalResult:=1;
end;
end;
procedure TfrmZDYHelp.ZDYNameChange(Sender: TObject);
var
fsj:String;
begin
if Trim(ZDYName.Text)<>'' then
begin
fsj:=' zdyname like '''+'%'+Trim(ZDYName.Text)+'%'+''''
+' or Note like '''+'%'+Trim(ZDYName.Text)+'%'+''''
+' or ZJM like '''+'%'+Trim(ZDYName.Text)+'%'+'''';
end;
if ADOQueryMain.Active then
begin
// SDofilter(ADOQueryMain,fsj);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
if Trim(fsj)='' then
begin
Filtered:=False;
end else
begin
Filtered:=False;
Filter:=fsj;
Filtered:=True;
end;
end;
finally
ADOQueryMain.EnableControls;
end;
SCreateCDS(ADOQueryMain,ClientDataSet1);
SInitCDSData(ADOQueryMain,ClientDataSet1);
end;
end;
procedure TfrmZDYHelp.V1NamePropertiesEditValueChanged(Sender: TObject);
var
maxno,mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
//Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('ZdyName').Value:=Trim(mvalue);
//Post;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select * from KH_ZDY where ZdyNo='''+Trim(flag)+'''');
open;
end;
if ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('insert into KH_ZDY(ZDYNo,ZDYName,Type,MainType) select :ZDYNo,:ZDYName,:Type,:MainType ');
Parameters.ParamByName('ZDYNo').Value:=Trim(flag);
Parameters.ParamByName('ZDYName').Value:=Trim(flagname);
Parameters.ParamByName('Type').Value:='Main';
Parameters.ParamByName('MainType').Value:=Trim(MainType);
ExecSQL;
end;
end;
with ADOQueryCmd do
begin
//ClientDataSet1.DisableControls;
//with ClientDataSet1 do
//begin
//First;
//while not eof do
//begin
if Trim(ClientDataSet1.FieldByName('ZDYNO').AsString)='' then
begin
if GetLSNo(ADOQueryTemp,maxno,'SY','KH_ZDY',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
//ClientDataSet1.EnableControls;
Application.MessageBox('取最大编号失败!','提示',0);
Exit;
end;
end else
begin
maxno:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from KH_Zdy where Type='''+Trim(flag)+'''');
if Trim(MainType)<>'' then
SQL.Add(' and MainType='''+Trim(MainType)+'''');
sql.Add(' and ZdyName='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
if ADOQueryTemp.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
//ClientDataSet1.EnableControls;
Application.MessageBox('名称重复!','提示',0);
Exit;
end;
if Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)='' then
begin
ADOQueryCmd.Connection.RollbackTrans;
//ClientDataSet1.EnableControls;
Application.MessageBox('名称重复!','提示',0);
Exit;
end else
begin
if Trim(ADOQueryTemp.fieldbyname('ZdyNo').AsString)<>Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) then
begin
ADOQueryCmd.Connection.RollbackTrans;
//ClientDataSet1.EnableControls;
Application.MessageBox('名称重复!','提示',0);
Exit;
end;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('delete KH_ZDY where ZDYNO='''+Trim(ClientDataSet1.fieldbyname('ZDYNO').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZDY where 1<>1');
Open;
end;
ADOQueryCmd.Append;
ADOQueryCmd.FieldByName('ZDYNo').Value:=Trim(maxno);
ADOQueryCmd.FieldByName('ZDYName').Value:=ClientDataSet1.fieldbyname('ZDYName').AsString;
ADOQueryCmd.FieldByName('note').Value:=Trim(snote);
//ADOQueryCmd.FieldByName('orderno').Value:=ClientDataSet1.fieldbyname('Name').AsString;
ADOQueryCmd.FieldByName('Type').Value:=flag;
ADOQueryCmd.FieldByName('valid').Value:='Y';
if Trim(MainType)<>'' then
ADOQueryCmd.FieldByName('MainType').Value:=Trim(MainType);
//ADOQueryCmd.FieldByName('sel').Value:=0;
ADOQueryCmd.Post;
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('ZDYNo').Value:=Trim(maxno);
//ClientDataSet1.Post;
// Next;
//end;
//end;
// ClientDataSet1.EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
//Application.MessageBox('保存成功!','提示',0);
//TV1.OptionsData.Editing:=False;
//TV1.OptionsSelection.CellSelect:=False;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!','提示',0);
end;
end;
procedure TfrmZDYHelp.V1OrderNoPropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='0';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('OrderNo').Value:=mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set OrderNo='+mvalue);
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmZDYHelp.V1NotePropertiesEditValueChanged(Sender: TObject);
var
mvalue:string;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='0';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('Note').Value:=mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set Note='''+Trim(mvalue)+'''');
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmZDYHelp.V1Column1PropertiesEditValueChanged(Sender: TObject);
var
mvalue:String;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='0';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('ZdyFlag').Value:=StrToInt(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set ZdyFlag='+Trim(mvalue));
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmZDYHelp.V1HelpTypePropertiesEditValueChanged(
Sender: TObject);
var
mvalue:string;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
mvalue:='0';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('HelpType').Value:=mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set HelpType='''+Trim(mvalue)+'''');
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
procedure TfrmZDYHelp.V1ZdyStr1PropertiesEditValueChanged(Sender: TObject);
var
mvalue,FFieldName:string;
begin
if Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)='' then
begin
Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingText;
FFieldName:=TV1.Controller.FocusedColumn.DataBinding.FilterFieldName;
if Trim(mvalue)='' then
begin
mvalue:='';
end;
with ClientDataSet1 do
begin
Edit;
FieldByName(FFieldName).Value:=mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('Update KH_Zdy Set '+FFieldName+'='''+Trim(mvalue)+'''');
sql.Add(' where ZdyNo='''+Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)+'''');
ExecSQL;
end;
end;
end.

View File

@ -0,0 +1,224 @@
object frmZDYHelpSel: TfrmZDYHelpSel
Left = 392
Top = 169
Width = 574
Height = 598
Caption = #39033#30446#32500#25252
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object cxGrid1: TcxGrid
Left = 0
Top = 73
Width = 558
Height = 487
Align = alClient
TabOrder = 0
object TV1: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
OnCellDblClick = TV1CellDblClick
DataController.DataSource = DataSource1
DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost]
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsBehavior.FocusCellOnTab = True
OptionsBehavior.GoToNextCellOnEnter = True
OptionsBehavior.FocusCellOnCycle = True
OptionsCustomize.ColumnFiltering = False
OptionsView.GroupByBox = False
object V1Code: TcxGridDBColumn
Caption = #32534#21495
DataBinding.FieldName = 'ZDYNo'
Visible = False
HeaderAlignmentHorz = taCenter
Width = 97
end
object V1Column1: TcxGridDBColumn
Caption = #36873#25321
DataBinding.FieldName = 'SSel'
PropertiesClassName = 'TcxCheckBoxProperties'
Properties.ImmediatePost = True
Properties.NullStyle = nssUnchecked
HeaderAlignmentHorz = taCenter
Width = 48
end
object V1Name: TcxGridDBColumn
Tag = 2
Caption = #21517#31216
DataBinding.FieldName = 'ZDYName'
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = V1NamePropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 208
end
object V1Note: TcxGridDBColumn
Caption = #22791#27880
DataBinding.FieldName = 'Note'
Visible = False
HeaderAlignmentHorz = taCenter
Width = 57
end
object V1OrderNo: TcxGridDBColumn
Caption = #39034#24207#21495
DataBinding.FieldName = 'OrderNo'
Visible = False
HeaderAlignmentHorz = taCenter
Width = 53
end
end
object cxGrid1Level1: TcxGridLevel
GridView = TV1
end
end
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 558
Height = 29
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
Flat = True
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
Images = DataLink_BaseInfo.ThreeImgList
List = True
ParentFont = False
ShowCaptions = True
TabOrder = 1
object ToolButton1: TToolButton
Left = 0
Top = 0
Caption = #30830#23450
ImageIndex = 10
OnClick = ToolButton1Click
end
object TBAdd: TToolButton
Left = 59
Top = 0
Caption = #22686#34892
ImageIndex = 12
OnClick = TBAddClick
end
object TBDel: TToolButton
Left = 118
Top = 0
Caption = #21024#34892
ImageIndex = 13
OnClick = TBDelClick
end
object TBEdit: TToolButton
Left = 177
Top = 0
Caption = #20462#25913
ImageIndex = 11
OnClick = TBEditClick
end
object TBSave: TToolButton
Left = 236
Top = 0
Caption = #20445#23384
ImageIndex = 15
Visible = False
OnClick = TBSaveClick
end
object TBClose: TToolButton
Left = 295
Top = 0
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object Panel1: TPanel
Left = 0
Top = 29
Width = 558
Height = 44
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
TabOrder = 2
object Label1: TLabel
Left = 19
Top = 17
Width = 24
Height = 12
Caption = #21517#31216
end
object Label2: TLabel
Left = 240
Top = 11
Width = 120
Height = 24
Caption = #27880#65306#28966#28857#31163#24320#24403#21069#32534#36753#13#10' '#21333#20803#26684#20445#23384#25968#25454#12290
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clBlue
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
ParentColor = False
ParentFont = False
end
object ZDYName: TEdit
Tag = 2
Left = 54
Top = 12
Width = 169
Height = 20
TabOrder = 0
OnChange = ZDYNameChange
end
end
object ADOQueryMain: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 48
Top = 136
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 80
Top = 144
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Parameters = <>
Left = 112
Top = 152
end
object DataSource1: TDataSource
DataSet = ClientDataSet1
Left = 280
Top = 144
end
object ClientDataSet1: TClientDataSet
Aggregates = <>
Params = <>
Left = 200
Top = 144
end
object cxGridPopupMenu1: TcxGridPopupMenu
Grid = cxGrid1
PopupMenus = <>
Left = 352
Top = 248
end
end

View File

@ -0,0 +1,465 @@
unit U_ZDYHelpSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList,
StdCtrls, ExtCtrls, cxCheckBox, cxTextEdit, cxGridCustomPopupMenu,
cxGridPopupMenu;
type
TfrmZDYHelpSel = class(TForm)
TV1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
V1Code: TcxGridDBColumn;
V1Name: TcxGridDBColumn;
ToolBar1: TToolBar;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
TBAdd: TToolButton;
TBSave: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ToolButton1: TToolButton;
TBEdit: TToolButton;
V1Note: TcxGridDBColumn;
V1OrderNo: TcxGridDBColumn;
Panel1: TPanel;
Label1: TLabel;
ZDYName: TEdit;
V1Column1: TcxGridDBColumn;
Label2: TLabel;
cxGridPopupMenu1: TcxGridPopupMenu;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBAddClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure ZDYNameChange(Sender: TObject);
procedure V1NamePropertiesEditValueChanged(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
flag,flagname,snote,MainType,ReturnStr,FGStr:string;
fnote,forderno:Boolean;
PPSTE,JiangeStr:integer;
{ Public declarations }
end;
var
frmZDYHelpSel: TfrmZDYHelpSel;
implementation
uses
U_DataLink,U_RTFun;
{$R *.dfm}
procedure TfrmZDYHelpSel.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ZDYName.SetFocus;
Action:=caFree;
end;
procedure TfrmZDYHelpSel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type='''+flag+'''');
if Trim(MainType)<>'' then
begin
sql.Add(' and MainType='''+Trim(MainType)+'''');
end;
Open;
end;
SCreateCDS(ADOQueryMain,ClientDataSet1);
SInitCDSData(ADOQueryMain,ClientDataSet1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZDYHelpSel.TBAddClick(Sender: TObject);
var
i:Integer;
begin
ZDYName.SetFocus;
TV1.OptionsData.Editing:=True;
TV1.OptionsSelection.CellSelect:=True;
for i:=0 to 5 do
begin
with ClientDataSet1 do
begin
Append;
Post;
end;
end;
end;
procedure TfrmZDYHelpSel.TBSaveClick(Sender: TObject);
var
maxno:string;
begin
if ClientDataSet1.IsEmpty then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select * from KH_ZDY where ZdyNo='''+Trim(flag)+'''');
open;
end;
if ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('insert into KH_ZDY(ZDYNo,ZDYName,Type,MainType) select :ZDYNo,:ZDYName,:Type,:MainType ');
Parameters.ParamByName('ZDYNo').Value:=Trim(flag);
Parameters.ParamByName('ZDYName').Value:=Trim(flagname);
Parameters.ParamByName('Type').Value:='Main';
Parameters.ParamByName('MainType').Value:=Trim(MainType);
ExecSQL;
end;
end;
with ADOQueryCmd do
begin
with ClientDataSet1 do
begin
First;
while not eof do
begin
if Trim(ClientDataSet1.FieldByName('ZDYNO').AsString)='' then
begin
if GetLSNo(ADOQueryTemp,maxno,'SY','KH_ZDY',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取最大编号失败!','提示',0);
Exit;
end;
end else
begin
maxno:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('delete KH_ZDY where ZDYNO='''+Trim(ClientDataSet1.fieldbyname('ZDYNO').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZDY where 1<>1');
Open;
end;
if Trim(ClientDataSet1.FieldByName('ZDYName').AsString)='' then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
ADOQueryCmd.Append;
ADOQueryCmd.FieldByName('ZDYNo').Value:=Trim(maxno);
ADOQueryCmd.FieldByName('ZDYName').Value:=ClientDataSet1.fieldbyname('ZDYName').AsString;
ADOQueryCmd.FieldByName('note').Value:=Trim(snote);
//ADOQueryCmd.FieldByName('orderno').Value:=ClientDataSet1.fieldbyname('Name').AsString;
ADOQueryCmd.FieldByName('Type').Value:=flag;
ADOQueryCmd.FieldByName('valid').Value:='Y';
if Trim(MainType)<>'' then
ADOQueryCmd.FieldByName('MainType').Value:=Trim(MainType);
//ADOQueryCmd.FieldByName('sel').Value:=0;
ADOQueryCmd.Post;
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('ZDYNo').Value:=Trim(maxno);
ClientDataSet1.Post;
Next;
end;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Application.MessageBox('保存成功!','提示',0);
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!','提示',0);
end;
// TV1.OptionsData.Editing:=False;
end;
procedure TfrmZDYHelpSel.TBDelClick(Sender: TObject);
begin
if ClientDataSet1.IsEmpty then Exit;
if (Trim(ClientDataSet1.FieldByName('ZDYNo').AsString)<>'') or
(Trim(ClientDataSet1.FieldByName('ZDYname').AsString)<>'') then
begin
if application.MessageBox('确定要删除吗?','提示信息',1)=2 then exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete KH_ZDY where ZDYNo='''+Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString)+'''');
SQL.Add(' and Type='''+Trim(flag)+'''');
ExecSQL;
end;
end;
ClientDataSet1.Delete;
end;
procedure TfrmZDYHelpSel.TBCloseClick(Sender: TObject);
begin
ModalResult:=2;
ZDYName.SetFocus;
WriteCxGrid('自定义'+Trim(flag),TV1,'自定义数据');
Close;
end;
procedure TfrmZDYHelpSel.FormShow(Sender: TObject);
var
fsj,fsj1:string;
begin
{if PPSTE=1 then
begin
Application.Terminate;
Exit;
end; }
InitGrid();
fsj:=Trim(flag)+'01';
fsj1:=Trim(flagname)+'01';
ReadCxGrid('自定义'+Trim(flag),TV1,'自定义数据');
{if ClientDataSet1.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into KH_ZDY(ZDYNo,ZDYname,Type,note)');
sql.Add('select '''+Trim(fsj)+'''');
sql.Add(','''+Trim(fsj1)+'''');
SQL.Add(','''+Trim(flag)+'''');
sql.Add(','''+Trim(snote)+'''');
ExecSQL;
end;
InitGrid();
end;}
//frmZDYHelp.Caption:=Trim(flagname)+'<'+Trim(flag)+'>';
frmZDYHelpSel.Caption:=Trim(flagname);
end;
procedure TfrmZDYHelpSel.ToolButton1Click(Sender: TObject);
begin
ReturnStr:='';
with ClientDataSet1 do
begin
First;
while not Eof do
begin
if FieldByName('SSel').AsBoolean=True then
begin
if JiangeStr<>99 then
begin
if FGStr<>'' then
ReturnStr:=ReturnStr+Trim(fieldbyname('ZDYName').AsString)+FGStr
else
ReturnStr:=ReturnStr+Trim(fieldbyname('ZDYName').AsString)+';'
end
else
ReturnStr:=ReturnStr+Trim(fieldbyname('ZDYName').AsString);
end;
Next;
end;
end;
if JiangeStr<>99 then
ReturnStr:=Copy(ReturnStr,1,Length(ReturnStr)-1);
ModalResult:=1;
end;
procedure TfrmZDYHelpSel.TBEditClick(Sender: TObject);
begin
TV1.OptionsData.Editing:=True;
end;
procedure TfrmZDYHelpSel.TV1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if TV1.OptionsData.Editing=False then
begin
ModalResult:=1;
end;
end;
procedure TfrmZDYHelpSel.ZDYNameChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS(ADOQueryMain,ClientDataSet1);
SInitCDSData(ADOQueryMain,ClientDataSet1);
end;
end;
procedure TfrmZDYHelpSel.V1NamePropertiesEditValueChanged(Sender: TObject);
var
maxno,mvalue:string;
begin
mvalue:=TcxTextEdit(Sender).EditingText;
if Trim(mvalue)='' then
begin
//Application.MessageBox('名称不能为空!','提示',0);
Exit;
end;
with ClientDataSet1 do
begin
Edit;
FieldByName('ZdyName').Value:=Trim(mvalue);
//Post;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select * from KH_ZDY where ZdyNo='''+Trim(flag)+'''');
open;
end;
if ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('insert into KH_ZDY(ZDYNo,ZDYName,Type,MainType) select :ZDYNo,:ZDYName,:Type,:MainType ');
Parameters.ParamByName('ZDYNo').Value:=Trim(flag);
Parameters.ParamByName('ZDYName').Value:=Trim(flagname);
Parameters.ParamByName('Type').Value:='Main';
Parameters.ParamByName('MainType').Value:=Trim(MainType);
ExecSQL;
end;
end;
with ADOQueryCmd do
begin
//ClientDataSet1.DisableControls;
//with ClientDataSet1 do
//begin
//First;
//while not eof do
//begin
if Trim(ClientDataSet1.FieldByName('ZDYNO').AsString)='' then
begin
if GetLSNo(ADOQueryTemp,maxno,'SY','KH_ZDY',3,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
//ClientDataSet1.EnableControls;
Application.MessageBox('取最大编号失败!','提示',0);
Exit;
end;
end else
begin
maxno:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('select * from KH_Zdy where Type='''+Trim(flag)+'''');
if Trim(MainType)<>'' then
SQL.Add(' and MainType='''+Trim(MainType)+'''');
sql.Add(' and ZdyName='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
if ADOQueryTemp.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
//ClientDataSet1.EnableControls;
Application.MessageBox('名称重复!','提示',0);
Exit;
end;
if Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString)='' then
begin
ADOQueryCmd.Connection.RollbackTrans;
//ClientDataSet1.EnableControls;
Application.MessageBox('名称重复!','提示',0);
Exit;
end else
begin
if Trim(ADOQueryTemp.fieldbyname('ZdyNo').AsString)<>Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) then
begin
ADOQueryCmd.Connection.RollbackTrans;
//ClientDataSet1.EnableControls;
Application.MessageBox('名称重复!','提示',0);
Exit;
end;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('delete KH_ZDY where ZDYNO='''+Trim(ClientDataSet1.fieldbyname('ZDYNO').AsString)+'''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_ZDY where 1<>1');
Open;
end;
ADOQueryCmd.Append;
ADOQueryCmd.FieldByName('ZDYNo').Value:=Trim(maxno);
ADOQueryCmd.FieldByName('ZDYName').Value:=ClientDataSet1.fieldbyname('ZDYName').AsString;
ADOQueryCmd.FieldByName('note').Value:=Trim(snote);
//ADOQueryCmd.FieldByName('orderno').Value:=ClientDataSet1.fieldbyname('Name').AsString;
ADOQueryCmd.FieldByName('Type').Value:=flag;
ADOQueryCmd.FieldByName('valid').Value:='Y';
if Trim(MainType)<>'' then
ADOQueryCmd.FieldByName('MainType').Value:=Trim(MainType);
//ADOQueryCmd.FieldByName('sel').Value:=0;
ADOQueryCmd.Post;
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('ZDYNo').Value:=Trim(maxno);
//ClientDataSet1.Post;
// Next;
//end;
//end;
// ClientDataSet1.EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
//Application.MessageBox('保存成功!','提示',0);
//TV1.OptionsData.Editing:=False;
//TV1.OptionsSelection.CellSelect:=False;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!','提示',0);
end;
end;
end.

View File

@ -0,0 +1,218 @@
object frmZdyAttInput: TfrmZdyAttInput
Left = 219
Top = 254
Width = 920
Height = 370
Caption = #23458#25143#36164#26009#24405#20837
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 912
Height = 31
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_BaseInfo.ThreeImgList
Flat = True
Images = DataLink_BaseInfo.ThreeImgList
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object ToolButton3: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #20445#23384
ImageIndex = 14
OnClick = ToolButton3Click
end
object TBClose: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 55
OnClick = TBCloseClick
end
end
object cxGrid2: TcxGrid
Left = 0
Top = 31
Width = 912
Height = 302
Align = alClient
TabOrder = 1
object Tv2: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
NavigatorButtons.Delete.Enabled = False
NavigatorButtons.Delete.Visible = False
DataController.DataSource = DS_HZ
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
Styles.Header = DataLink_BaseInfo.handBlack
object v2Column6: TcxGridDBColumn
Caption = #23458#25143#21517#31216
DataBinding.FieldName = 'ZdyName'
HeaderAlignmentHorz = taCenter
Width = 147
end
object v2Column2: TcxGridDBColumn
Caption = #23458#25143#32534#21495
DataBinding.FieldName = 'ZdyCode'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 91
end
object v2Column3: TcxGridDBColumn
Caption = #30005#35805
DataBinding.FieldName = 'DEFstr1'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 63
end
object v2Column4: TcxGridDBColumn
Caption = #25163#26426
DataBinding.FieldName = 'DEFstr2'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 70
end
object v2Column5: TcxGridDBColumn
Caption = #20256#30495
DataBinding.FieldName = 'DEFstr3'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 64
end
object v2Column10: TcxGridDBColumn
Caption = #19994#21153#21592
DataBinding.FieldName = 'DEFstr5'
HeaderAlignmentHorz = taCenter
Width = 71
end
object v2Column7: TcxGridDBColumn
Caption = #20844#21496#22320#22336
DataBinding.FieldName = 'DEFNote1'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 67
end
object v2Column8: TcxGridDBColumn
Caption = #21457#36135#22320#22336
DataBinding.FieldName = 'DEFNote2'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 72
end
object v2Column9: TcxGridDBColumn
Caption = #32852#31995#20154
DataBinding.FieldName = 'DEFstr4'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 73
end
object v2Column1: TcxGridDBColumn
Caption = #22791#27880
DataBinding.FieldName = 'Note'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 154
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 789
Top = 9
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
Parameters = <>
Left = 829
Top = 1
end
object ADOQueryMain: TADOQuery
Connection = DataLink_BaseInfo.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 949
Top = 225
end
object RM1: TRMGridReport
ThreadPrepareReport = True
InitialZoom = pzDefault
PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator]
DefaultCollate = False
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
PreviewOptions.RulerUnit = rmutScreenPixels
PreviewOptions.RulerVisible = False
PreviewOptions.DrawBorder = False
PreviewOptions.BorderPen.Color = clGray
PreviewOptions.BorderPen.Style = psDash
Dataset = RMDB_Main
CompressLevel = rmzcFastest
CompressThread = False
LaterBuildEvents = True
OnlyOwnerDataSet = False
Left = 864
Top = 224
ReportData = {}
end
object RMDB_Main: TRMDBDataSet
Visible = True
Left = 928
Top = 216
end
object cxGridPopupMenu2: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 888
Top = 224
end
object DS_HZ: TDataSource
DataSet = CDS_HZ
Left = 899
Top = 235
end
object CDS_HZ: TClientDataSet
Aggregates = <>
Params = <>
Left = 872
Top = 224
end
end

View File

@ -0,0 +1,236 @@
unit U_ZdyAttInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit;
type
TfrmZdyAttInput = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
function SaveData():Boolean;
public
{ Public declarations }
RKFlag,FCYID:String;
end;
var
frmZdyAttInput: TfrmZdyAttInput;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmZdyAttInput.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select * from KH_Zdy_Attachment where ATID='''+Trim(FCYID)+'''');
Open;
end;
SCreateCDS(ADOQueryMain,CDS_HZ);
SInitCDSData(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttInput.FormDestroy(Sender: TObject);
begin
//frmZdyAttInput:=nil;
end;
procedure TfrmZdyAttInput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//Action:=caFree;
end;
procedure TfrmZdyAttInput.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('客户资料录入',Tv2,'客户自定义');
Close;
end;
procedure TfrmZdyAttInput.FormShow(Sender: TObject);
begin
ReadCxGrid('客户资料录入',Tv2,'客户自定义');
InitGrid();
if Trim(FCYID)='' then
begin
CDS_HZ.Append;
CDS_HZ.Post;
end;
end;
procedure TfrmZdyAttInput.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
function TfrmZdyAttInput.SaveData():Boolean;
var
maxId,CRID:String;
begin
try
ADOQueryCmd.Connection.BeginTrans;
if Trim(FCYID)='' then
begin
if GetLSNo(ADOQueryCmd,maxId,'AT','KH_Zdy_Attachment',4,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取最大号失败!','提示',0);
Exit;
end;
end else
begin
maxId:=Trim(FCYID);
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Zdy_Attachment where ATID='''+Trim(FCYID)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FCYID)='' then
begin
Append;
FieldByName('Filler').Value:=Trim(DName);
end else
begin
Edit;
FieldByName('Editer').Value:=Trim(DName);
FieldByName('Edittime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('ATID').Value:=Trim(maxId);
FieldByName('ZdyName').Value:=Trim(CDS_HZ.fieldbyname('ZdyName').AsString);
RTSetSaveDataCDS(ADOQueryCmd,Tv2,CDS_HZ,'',0);
FieldByName('Type').Value:='KHName';
FieldByName('Filler').Value:=Trim(DName);
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Zdy where ZdyNo='''+Trim(FCYID)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(FCYID)='' then
begin
Append;
end else
begin
Edit;
end;
FieldByName('ZdyNo').Value:=Trim(maxId);
FieldByName('ZdyName').Value:=Trim(CDS_HZ.fieldbyname('ZdyName').AsString);
FieldByName('Type').Value:='KHName';
FieldByName('MainType').Value:=Trim(CDS_HZ.fieldbyname('DEFstr5').AsString);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from KH_Zdy where ZdyName='''+Trim(CDS_HZ.fieldbyname('ZdyName').AsString)+'''');
sql.Add(' and Type=''KHName'' ');
Open;
end;
if ADOQueryCmd.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('名称重复!','提示',0);
Exit;
end;
with CDS_HZ do
begin
Edit;
FieldByName('ATID').Value:=Trim(maxId);
Post;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
Result:=True;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存异常!','提示',0);
end;
end;
procedure TfrmZdyAttInput.ToolButton3Click(Sender: TObject);
begin
if Trim(CDS_HZ.FieldByName('ZdyName').AsString)='' then
begin
Application.MessageBox('客户名称不能为空!','提示',0);
Exit;
end;
if Application.MessageBox('确定要保存数据吗?','提示',32+4)<>IDYES then Exit;
ToolBar1.SetFocus;
if SaveData() then
begin
Application.MessageBox('保存成功!','提示',0);
ModalResult:=1;
end;
end;
end.

View File

@ -0,0 +1,393 @@
object frmZdyAttachCP: TfrmZdyAttachCP
Left = 108
Top = 101
Width = 1075
Height = 569
Caption = #20135#21697#36164#26009#31649#29702
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 1067
Height = 31
ButtonHeight = 30
ButtonWidth = 113
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_PBMDDJ.ThreeImgList
Flat = True
Images = DataLink_PBMDDJ.ThreeImgList
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 0
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #36807#28388
ImageIndex = 20
OnClick = ToolButton2Click
end
object ToolButton5: TToolButton
Left = 126
Top = 0
AutoSize = True
Caption = #25552#21462'Excel'#25968#25454
ImageIndex = 68
Visible = False
OnClick = ToolButton5Click
end
object ToolButton1: TToolButton
Left = 243
Top = 0
AutoSize = True
Caption = #23548#20986
ImageIndex = 68
OnClick = ToolButton1Click
end
object TBClose: TToolButton
Left = 306
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object Panel1: TPanel
Left = 0
Top = 31
Width = 1067
Height = 39
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label3: TLabel
Left = 191
Top = 13
Width = 48
Height = 12
Caption = #20135#21697#21517#31216
end
object Label1: TLabel
Left = 22
Top = 13
Width = 48
Height = 12
Caption = #20135#21697#32534#21495
end
object Label2: TLabel
Left = 369
Top = 13
Width = 24
Height = 12
Caption = #31867#22411
end
object ZdyName: TEdit
Tag = 2
Left = 241
Top = 9
Width = 89
Height = 20
TabOrder = 0
OnChange = ZdyNameChange
end
object ZdyCode: TEdit
Tag = 2
Left = 71
Top = 9
Width = 89
Height = 20
TabOrder = 1
OnChange = ZdyNameChange
end
object DEFstr5: TComboBox
Tag = 1
Left = 398
Top = 8
Width = 81
Height = 20
Style = csDropDownList
ItemHeight = 12
TabOrder = 2
OnChange = ZdyNameChange
Items.Strings = (
#22383#24067
#25104#21697
'')
end
end
object cxGrid2: TcxGrid
Left = 0
Top = 70
Width = 1067
Height = 468
Align = alClient
TabOrder = 2
object Tv2: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
NavigatorButtons.Delete.Enabled = False
NavigatorButtons.Delete.Visible = False
OnCellDblClick = Tv2CellDblClick
DataController.DataSource = DS_HZ
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
OptionsSelection.CellSelect = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
Styles.Inactive = DataLink_PBMDDJ.SHuangSe
Styles.IncSearch = DataLink_PBMDDJ.SHuangSe
Styles.Selection = DataLink_PBMDDJ.SHuangSe
Styles.Header = DataLink_PBMDDJ.handBlack
object v2Column2: TcxGridDBColumn
Caption = #20135#21697#32534#21495
DataBinding.FieldName = 'ZdyCode'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 80
end
object v2Column6: TcxGridDBColumn
Caption = #20135#21697#21517#31216
DataBinding.FieldName = 'ZdyName'
PropertiesClassName = 'TcxButtonEditProperties'
Properties.Buttons = <
item
Default = True
Kind = bkEllipsis
end>
Properties.ReadOnly = True
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Options.Sorting = False
Width = 124
end
object v2Column11: TcxGridDBColumn
Caption = #31867#22411
DataBinding.FieldName = 'DEFstr5'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 53
end
object v2Column3: TcxGridDBColumn
Caption = #35268#26684
DataBinding.FieldName = 'DEFstr1'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 72
end
object v2Column4: TcxGridDBColumn
Caption = #25104#20221
DataBinding.FieldName = 'DEFstr2'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 74
end
object v2Column5: TcxGridDBColumn
Caption = #39068#33394
DataBinding.FieldName = 'DEFstr3'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 68
end
object v2Mrate: TcxGridDBColumn
Caption = #35745#21010#32553#29575'(%)'
DataBinding.FieldName = 'Mrate'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 80
end
object v2Column13: TcxGridDBColumn
Caption = #24037#33402
DataBinding.FieldName = 'defNote2'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 100
end
object v2Column8: TcxGridDBColumn
Caption = #33457#21495
DataBinding.FieldName = 'DEFstr4'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 58
end
object v2Column10: TcxGridDBColumn
Caption = #33394#21495
DataBinding.FieldName = 'DEFstr6'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 61
end
object v2Column9: TcxGridDBColumn
Caption = #38376#24133
DataBinding.FieldName = 'DEFstr7'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 73
end
object v2Column7: TcxGridDBColumn
Caption = #20811#37325
DataBinding.FieldName = 'DEFstr8'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 61
end
object v2Column1: TcxGridDBColumn
Caption = #22791#27880
DataBinding.FieldName = 'Note'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 114
end
object v2Column14: TcxGridDBColumn
Caption = #25805#20316#21592
DataBinding.FieldName = 'Filler'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 60
end
object v2Column15: TcxGridDBColumn
Caption = #25805#20316#26102#38388
DataBinding.FieldName = 'FillTime'
HeaderAlignmentHorz = taCenter
Options.Sorting = False
Width = 80
end
object v2Column16: TcxGridDBColumn
Caption = #20179#20301
DataBinding.FieldName = 'DEFstr4'
Visible = False
HeaderAlignmentHorz = taCenter
Hidden = True
Width = 70
end
object v2Column17: TcxGridDBColumn
Caption = #20179#20301#25968
DataBinding.FieldName = 'DEFstr5'
Visible = False
HeaderAlignmentHorz = taCenter
Hidden = True
Width = 70
end
object v2defflt1: TcxGridDBColumn
Caption = #20215#26684#22686#24133
DataBinding.FieldName = 'defflt1'
Visible = False
HeaderAlignmentHorz = taCenter
Hidden = True
Options.Editing = False
Width = 60
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_PBMDDJ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 789
Top = 9
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_PBMDDJ.ADOLink
Parameters = <>
Left = 829
Top = 1
end
object ADOQueryMain: TADOQuery
Connection = DataLink_PBMDDJ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 741
Top = 161
end
object RM1: TRMGridReport
ThreadPrepareReport = True
InitialZoom = pzDefault
PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator]
DefaultCollate = False
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
PreviewOptions.RulerUnit = rmutScreenPixels
PreviewOptions.RulerVisible = False
PreviewOptions.DrawBorder = False
PreviewOptions.BorderPen.Color = clGray
PreviewOptions.BorderPen.Style = psDash
Dataset = RMDB_Main
CompressLevel = rmzcFastest
CompressThread = False
LaterBuildEvents = True
OnlyOwnerDataSet = False
Left = 864
Top = 224
ReportData = {}
end
object RMDB_Main: TRMDBDataSet
Visible = True
Left = 928
Top = 216
end
object cxGridPopupMenu2: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 888
Top = 224
end
object DS_HZ: TDataSource
DataSet = CDS_HZ
Left = 843
Top = 147
end
object CDS_HZ: TClientDataSet
Aggregates = <>
Params = <>
Left = 840
Top = 128
end
object OpenDialog1: TOpenDialog
Left = 936
Top = 41
end
end

View File

@ -0,0 +1,400 @@
unit U_ZdyAttachCP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ComObj,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit;
type
FdDy=record
inc: integer; //客户端套接字句柄
FDdys:string[32]; //客户端套接字
FdDysName:string[32]; //客户端套接字
end;
TfrmZdyAttachCP = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
ZdyName: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
Label1: TLabel;
ZdyCode: TEdit;
Label2: TLabel;
DEFstr5: TComboBox;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
OpenDialog1: TOpenDialog;
ToolButton5: TToolButton;
v2Mrate: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
v2Column15: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
v2Column17: TcxGridDBColumn;
v2defflt1: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ZdyNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
{ Private declarations }
procedure InitGrid();
public
fkhType:string;
dFdDy: array[0..20] of FdDy; //客户端连接数组
end;
var
frmZdyAttachCP: TfrmZdyAttachCP;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmZdyAttachCP.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select * from KH_Zdy_Attachment where Type=''CP'' ');
sql.Add(' and isnull(khType,'''')='+quotedstr(trim(fkhType)));
sql.Add(' order by zdyCode ');
Open;
end;
SCreateCDS(ADOQueryMain,CDS_HZ);
SInitCDSData(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttachCP.FormDestroy(Sender: TObject);
begin
frmZdyAttachCP:=nil;
end;
procedure TfrmZdyAttachCP.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmZdyAttachCP.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('产品资料',Tv2,'客户自定义');
Close;
end;
procedure TfrmZdyAttachCP.TBDelClick(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit;
if Trim(CDS_HZ.fieldbyname('ATID').AsString)<>'' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete KH_Zdy_Attachment where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
sql.Add('delete KH_Zdy where ZdyNo='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
ExecSQL;
end;
end;
CDS_HZ.Delete;
end;
procedure TfrmZdyAttachCP.FormShow(Sender: TObject);
begin
ReadCxGrid('产品资料',Tv2,'客户自定义');
InitGrid();
end;
procedure TfrmZdyAttachCP.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyAttachCP.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS(ADOQueryMain,CDS_HZ);
SInitCDSData(ADOQueryMain,CDS_HZ);
end;
end;
procedure TfrmZdyAttachCP.ZdyNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachCP.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid2);
// SelExportData(Tv2,ADOQueryMain,'产品资料列表');
end;
procedure TfrmZdyAttachCP.ToolButton4Click(Sender: TObject);
begin
{ try
frmZdyAttInputCP:=TfrmZdyAttInputCP.Create(Application);
with frmZdyAttInputCP do
begin
FCYID:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString);
fkhType:=self.fkhType;
if ShowModal=1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttInputCP.Free;
end; }
end;
procedure TfrmZdyAttachCP.ToolButton3Click(Sender: TObject);
begin
{ try
frmZdyAttInputCP:=TfrmZdyAttInputCP.Create(Application);
with frmZdyAttInputCP do
begin
FCYID:='';
fkhType:=self.fkhType;
if ShowModal=1 then
begin
TBRafresh.Click;
end;
end;
finally
frmZdyAttInputCP.Free;
end; }
end;
procedure TfrmZdyAttachCP.ToolButton5Click(Sender: TObject);
var
excelApp,WorkBook:Variant;
i,j,k,ExcelRowCount:integer;
maxId:string;
begin
try
ExcelApp := CreateOleObject('Excel.Application');
openDialog1.Filter:='*.CSV;*.xls';
if opendialog1.Execute then
begin
WorkBook :=ExcelApp.WorkBooks.Open(OpenDialog1.FileName);
end
else
exit;
ExcelApp.Visible := false;
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
except
application.MessageBox('加载EXCEL错误!','错误信息',MB_ICONERROR);
exit;
end;
try
k:=0;
for i:=1 to 20 do
begin
if trim(excelapp.Cells[1,i].value)='' then break;
if trim(excelapp.Cells[1,i].value)='产品编号' then
begin
dFdDy[k].inc:=i;
dFdDy[k].FDdys:='ZdyCode';
dFdDy[k].FdDysName:='产品编号';
end;
if trim(excelapp.Cells[1,i].value)='产品名称' then
begin
dFdDy[k].inc:=i;
dFdDy[k].FDdys:='ZdyName';
dFdDy[k].FdDysName:='产品名称';
end;
if trim(excelapp.Cells[1,i].value)='名称' then
begin
dFdDy[k].inc:=i;
dFdDy[k].FDdys:='defNote1';
dFdDy[k].FdDysName:='名称';
end;
if trim(excelapp.Cells[1,i].value)='颜色' then
begin
dFdDy[k].inc:=i;
dFdDy[k].FDdys:='DEFstr3';
dFdDy[k].FdDysName:='名称';
end;
if trim(excelapp.Cells[1,i].value)='工艺' then
begin
dFdDy[k].inc:=i;
dFdDy[k].FDdys:='defNote2';
dFdDy[k].FdDysName:='工艺';
end;
if trim(excelapp.Cells[1,i].value)='类型' then
begin
dFdDy[k].inc:=i;
dFdDy[k].FDdys:='DEFstr5';
dFdDy[k].FdDysName:='类型';
end;
if trim(excelapp.Cells[1,i].value)='规格' then
begin
dFdDy[k].inc:=i;
dFdDy[k].FDdys:='DEFstr1';
dFdDy[k].FdDysName:='规格';
end;
if trim(excelapp.Cells[1,i].value)='成份' then
begin
dFdDy[k].inc:=i;
dFdDy[k].FDdys:='DEFstr2';
dFdDy[k].FdDysName:='成份';
end;
k:=k+1;
end;
except
end;
ADOQueryCmd.Connection.BeginTrans;
try
for i := 2 to excelrowcount do
begin
if GetLSNo(ADOQueryCmd,maxId,'AT','KH_Zdy_Attachment',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('取最大号失败!','提示',0);
Exit;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_Attachment where 1=2');
open;
end;
ADOQueryCmd.Append;
for j:=0 to k-1 do
begin
ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value:=excelapp.Cells[i,dFdDy[j].inc].Value;
end;
ADOQueryCmd.FieldByName('ATID').Value:=Trim(maxId);
ADOQueryCmd.FieldByName('Type').Value:='CP';
ADOQueryCmd.FieldByName('Filler').Value:=Trim(DName);
ADOQueryCmd.Post;
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_Attachment where ATID='''+trim(maxId)+''' ');
open;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from KH_Zdy where ZdyNo='''+Trim(maxId)+'''');
Open;
end;
with ADOQueryCmd do
begin
if ADOQueryCmd.IsEmpty then
begin
Append;
end else
begin
Edit;
end;
FieldByName('ZdyNo').Value:=Trim(maxId);
FieldByName('ZdyName').Value:=Trim(ADOQueryTemp.fieldbyname('ZdyName').AsString);
FieldByName('Type').Value:='CP';
FieldByName('MainType').Value:=Trim(ADOQueryTemp.fieldbyname('DEFstr5').AsString);
Post;
end;
end;
WorkBook.Close;
ExcelApp.Quit;
ExcelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.CommitTrans;
InitGrid();
except
WorkBook.Close;
ExcelApp.Quit;
ExcelApp := Unassigned;
WorkBook := Unassigned;
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmZdyAttachCP.Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
IF cds_Hz.IsEmpty then exit;
ModalResult:=1;
end;
end.

View File

@ -0,0 +1,337 @@
object frmZdyAttachGYS: TfrmZdyAttachGYS
Left = 192
Top = 103
Width = 1038
Height = 618
Caption = #20379#24212#21830#36164#26009#31649#29702
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 1022
Height = 31
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_PBMDDJ.ThreeImgList
Flat = True
Images = DataLink_PBMDDJ.ThreeImgList
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 0
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #36807#28388
ImageIndex = 20
OnClick = ToolButton2Click
end
object ToolButton3: TToolButton
Left = 126
Top = 0
AutoSize = True
Caption = #26032#22686
ImageIndex = 1
Visible = False
OnClick = ToolButton3Click
end
object ToolButton4: TToolButton
Left = 189
Top = 0
Caption = #20462#25913
ImageIndex = 11
Visible = False
OnClick = ToolButton4Click
end
object TBDel: TToolButton
Left = 248
Top = 0
AutoSize = True
Caption = #21024#38500
ImageIndex = 3
Visible = False
OnClick = TBDelClick
end
object ToolButton1: TToolButton
Left = 311
Top = 0
AutoSize = True
Caption = #23548#20986
ImageIndex = 68
Visible = False
OnClick = ToolButton1Click
end
object TBClose: TToolButton
Left = 374
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 21
OnClick = TBCloseClick
end
end
object Panel1: TPanel
Left = 0
Top = 31
Width = 1022
Height = 39
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label3: TLabel
Left = 203
Top = 13
Width = 60
Height = 12
Caption = #20379#24212#21830#21517#31216
end
object Label1: TLabel
Left = 22
Top = 13
Width = 60
Height = 12
Caption = #20379#24212#21830#32534#21495
end
object Label2: TLabel
Left = 395
Top = 13
Width = 24
Height = 12
Caption = #31867#22411
end
object ZdyName: TEdit
Tag = 2
Left = 267
Top = 9
Width = 89
Height = 20
TabOrder = 0
OnChange = ZdyNameChange
end
object ZdyCode: TEdit
Tag = 2
Left = 83
Top = 9
Width = 89
Height = 20
TabOrder = 1
OnChange = ZdyNameChange
end
object DEFstr5: TComboBox
Tag = 1
Left = 424
Top = 8
Width = 81
Height = 20
Style = csDropDownList
ItemHeight = 12
TabOrder = 2
OnChange = ZdyNameChange
Items.Strings = (
#22383#24067
#21152#24037#21378)
end
end
object cxGrid2: TcxGrid
Left = 0
Top = 70
Width = 1022
Height = 509
Align = alClient
TabOrder = 2
object Tv2: TcxGridDBTableView
OnDblClick = Tv2DblClick
NavigatorButtons.ConfirmDelete = False
NavigatorButtons.Delete.Enabled = False
NavigatorButtons.Delete.Visible = False
DataController.DataSource = DS_HZ
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
OptionsSelection.CellSelect = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
Styles.Inactive = DataLink_PBMDDJ.SHuangSe
Styles.IncSearch = DataLink_PBMDDJ.SHuangSe
Styles.Selection = DataLink_PBMDDJ.SHuangSe
Styles.Header = DataLink_PBMDDJ.handBlack
object v2Column2: TcxGridDBColumn
Caption = #20379#24212#21830#32534#21495
DataBinding.FieldName = 'ZdyCode'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 80
end
object v2Column6: TcxGridDBColumn
Caption = #20379#24212#21830#21517#31216
DataBinding.FieldName = 'ZdyName'
PropertiesClassName = 'TcxButtonEditProperties'
Properties.Buttons = <
item
Default = True
Kind = bkEllipsis
end>
Properties.ReadOnly = True
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Width = 124
end
object v2Column10: TcxGridDBColumn
Caption = #32479#35745#21333#20301#21517#31216
DataBinding.FieldName = 'zdyNameTj'
HeaderAlignmentHorz = taCenter
Width = 111
end
object v2Column8: TcxGridDBColumn
Caption = #31867#22411
DataBinding.FieldName = 'DEFstr5'
HeaderAlignmentHorz = taCenter
Width = 77
end
object v2Column3: TcxGridDBColumn
Caption = #30005#35805
DataBinding.FieldName = 'DEFstr1'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 72
end
object v2Column4: TcxGridDBColumn
Caption = #25163#26426
DataBinding.FieldName = 'DEFstr2'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 74
end
object v2Column5: TcxGridDBColumn
Caption = #20256#30495
DataBinding.FieldName = 'DEFstr3'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 68
end
object v2Column7: TcxGridDBColumn
Caption = #20844#21496#22320#22336
DataBinding.FieldName = 'DEFNote1'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 69
end
object v2Column9: TcxGridDBColumn
Caption = #32852#31995#20154
DataBinding.FieldName = 'DEFstr4'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 73
end
object v2Column1: TcxGridDBColumn
Caption = #22791#27880
DataBinding.FieldName = 'Note'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 114
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_PBMDDJ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 773
Top = 17
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_PBMDDJ.ADOLink
Parameters = <>
Left = 813
Top = 17
end
object ADOQueryMain: TADOQuery
Connection = DataLink_PBMDDJ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 733
Top = 17
end
object RM1: TRMGridReport
ThreadPrepareReport = True
InitialZoom = pzDefault
PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator]
DefaultCollate = False
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
PreviewOptions.RulerUnit = rmutScreenPixels
PreviewOptions.RulerVisible = False
PreviewOptions.DrawBorder = False
PreviewOptions.BorderPen.Color = clGray
PreviewOptions.BorderPen.Style = psDash
Dataset = RMDB_Main
CompressLevel = rmzcFastest
CompressThread = False
LaterBuildEvents = True
OnlyOwnerDataSet = False
Left = 768
Top = 216
ReportData = {}
end
object RMDB_Main: TRMDBDataSet
Visible = True
Left = 776
Top = 184
end
object cxGridPopupMenu2: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 824
Top = 184
end
object DS_HZ: TDataSource
DataSet = CDS_HZ
Left = 731
Top = 179
end
object CDS_HZ: TClientDataSet
Aggregates = <>
Params = <>
Left = 712
Top = 184
end
end

View File

@ -0,0 +1,214 @@
unit U_ZdyAttachGYS;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit;
type
TfrmZdyAttachGYS = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
ZdyName: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
Label1: TLabel;
ZdyCode: TEdit;
ToolButton4: TToolButton;
v2Column8: TcxGridDBColumn;
Label2: TLabel;
DEFstr5: TComboBox;
v2Column10: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ZdyNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure Tv2DblClick(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
end;
var
frmZdyAttachGYS: TfrmZdyAttachGYS;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmZdyAttachGYS.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select * from KH_Zdy_Attachment where Type=''GYS'' ');
Open;
end;
SCreateCDS(ADOQueryMain,CDS_HZ);
SInitCDSData(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttachGYS.FormDestroy(Sender: TObject);
begin
frmZdyAttachGYS:=nil;
end;
procedure TfrmZdyAttachGYS.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmZdyAttachGYS.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('供应商资料',Tv2);
Close;
end;
procedure TfrmZdyAttachGYS.TBDelClick(Sender: TObject);
begin
{ if CDS_HZ.IsEmpty then Exit;
if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit;
if Trim(CDS_HZ.fieldbyname('ATID').AsString)<>'' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete KH_Zdy_Attachment where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
sql.Add('delete KH_Zdy where ZdyNo='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
ExecSQL;
end;
end;
CDS_HZ.Delete;}
end;
procedure TfrmZdyAttachGYS.FormShow(Sender: TObject);
begin
ReadCxGrid('供应商资料',Tv2);
InitGrid();
end;
procedure TfrmZdyAttachGYS.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyAttachGYS.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS(ADOQueryMain,CDS_HZ);
SInitCDSData(ADOQueryMain,CDS_HZ);
end;
end;
procedure TfrmZdyAttachGYS.ZdyNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachGYS.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
//SelExportData(Tv2,ADOQueryMain,'客户资料列表');
end;
procedure TfrmZdyAttachGYS.ToolButton4Click(Sender: TObject);
begin
{ try
frmZdyAttInputGYS:=TfrmZdyAttInputGYS.Create(Application);
with frmZdyAttInputGYS do
begin
FCYID:=Trim(Self.CDS_HZ.fieldbyname('ATID').AsString);
if ShowModal=1 then
begin
end;
end;
finally
frmZdyAttInputGYS.Free;
end; }
end;
procedure TfrmZdyAttachGYS.ToolButton3Click(Sender: TObject);
begin
{ try
frmZdyAttInputGYS:=TfrmZdyAttInputGYS.Create(Application);
with frmZdyAttInputGYS do
begin
FCYID:='';
if ShowModal=1 then
begin
end;
end;
finally
frmZdyAttInputGYS.Free;
end; }
end;
procedure TfrmZdyAttachGYS.Tv2DblClick(Sender: TObject);
begin
if CDS_HZ.IsEmpty then exit;
ModalResult:=1;
end;
end.

View File

@ -0,0 +1,309 @@
object frmZdyAttachment: TfrmZdyAttachment
Left = 116
Top = 115
Width = 1142
Height = 613
Caption = #23458#25143#36164#26009#31649#29702
Color = clBtnFace
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 12
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 1126
Height = 31
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
Color = clSkyBlue
DisabledImages = DataLink_CYZZ.ThreeImgList
Flat = True
Images = DataLink_CYZZ.ThreeImgList
List = True
ParentColor = False
ShowCaptions = True
TabOrder = 0
object TBRafresh: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #21047#26032
ImageIndex = 9
OnClick = TBRafreshClick
end
object ToolButton2: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #36807#28388
ImageIndex = 59
OnClick = ToolButton2Click
end
object ToolButton3: TToolButton
Left = 126
Top = 0
AutoSize = True
Caption = #26032#22686
ImageIndex = 3
end
object ToolButton4: TToolButton
Left = 189
Top = 0
Caption = #20462#25913
ImageIndex = 54
end
object TBDel: TToolButton
Left = 248
Top = 0
AutoSize = True
Caption = #21024#38500
ImageIndex = 17
OnClick = TBDelClick
end
object ToolButton1: TToolButton
Left = 311
Top = 0
AutoSize = True
Caption = #23548#20986
ImageIndex = 53
end
object TBClose: TToolButton
Left = 374
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 55
OnClick = TBCloseClick
end
end
object Panel1: TPanel
Left = 0
Top = 31
Width = 1126
Height = 39
Align = alTop
BevelInner = bvRaised
BevelOuter = bvLowered
Color = clSkyBlue
TabOrder = 1
object Label3: TLabel
Left = 190
Top = 13
Width = 48
Height = 12
Caption = #23458#25143#21517#31216
end
object Label1: TLabel
Left = 22
Top = 13
Width = 48
Height = 12
Caption = #23458#25143#32534#21495
end
object ZdyName: TEdit
Tag = 2
Left = 238
Top = 9
Width = 89
Height = 20
TabOrder = 0
OnChange = ZdyNameChange
end
object ZdyCode: TEdit
Tag = 2
Left = 70
Top = 9
Width = 89
Height = 20
TabOrder = 1
OnChange = ZdyNameChange
end
end
object cxGrid2: TcxGrid
Left = 0
Top = 70
Width = 1126
Height = 504
Align = alClient
TabOrder = 2
object Tv2: TcxGridDBTableView
NavigatorButtons.ConfirmDelete = False
NavigatorButtons.Delete.Enabled = False
NavigatorButtons.Delete.Visible = False
DataController.DataSource = DS_HZ
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
OptionsSelection.CellSelect = False
OptionsView.Footer = True
OptionsView.GroupByBox = False
Styles.Inactive = DataLink_CYZZ.SHuangSe
Styles.IncSearch = DataLink_CYZZ.SHuangSe
Styles.Selection = DataLink_CYZZ.SHuangSe
Styles.Header = DataLink_CYZZ.handBlack
object v2Column6: TcxGridDBColumn
Caption = #23458#25143#21517#31216
DataBinding.FieldName = 'ZdyName'
PropertiesClassName = 'TcxButtonEditProperties'
Properties.Buttons = <
item
Default = True
Kind = bkEllipsis
end>
Properties.ReadOnly = True
HeaderAlignmentHorz = taCenter
Options.Focusing = False
Width = 127
end
object v2Column2: TcxGridDBColumn
Caption = #23458#25143#32534#21495
DataBinding.FieldName = 'ZdyCode'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 86
end
object v2Column10: TcxGridDBColumn
Caption = #19994#21153#21592
DataBinding.FieldName = 'DEFstr5'
HeaderAlignmentHorz = taCenter
Width = 56
end
object v2Column3: TcxGridDBColumn
Caption = #30005#35805
DataBinding.FieldName = 'DEFstr1'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 71
end
object v2Column4: TcxGridDBColumn
Caption = #25163#26426
DataBinding.FieldName = 'DEFstr2'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 74
end
object v2Column5: TcxGridDBColumn
Caption = #20256#30495
DataBinding.FieldName = 'DEFstr3'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 68
end
object v2Column7: TcxGridDBColumn
Caption = #20844#21496#22320#22336
DataBinding.FieldName = 'DEFNote1'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 67
end
object v2Column8: TcxGridDBColumn
Caption = #21457#36135#22320#22336
DataBinding.FieldName = 'DEFNote2'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 72
end
object v2Column9: TcxGridDBColumn
Caption = #32852#31995#20154
DataBinding.FieldName = 'DEFstr4'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 73
end
object v2Column1: TcxGridDBColumn
Caption = #22791#27880
DataBinding.FieldName = 'Note'
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 165
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv2
end
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_CYZZ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 789
Top = 9
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_CYZZ.ADOLink
Parameters = <>
Left = 829
Top = 1
end
object ADOQueryMain: TADOQuery
Connection = DataLink_CYZZ.ADOLink
LockType = ltReadOnly
Parameters = <>
Left = 949
Top = 225
end
object RM1: TRMGridReport
ThreadPrepareReport = True
InitialZoom = pzDefault
PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator]
DefaultCollate = False
SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\'
PreviewOptions.RulerUnit = rmutScreenPixels
PreviewOptions.RulerVisible = False
PreviewOptions.DrawBorder = False
PreviewOptions.BorderPen.Color = clGray
PreviewOptions.BorderPen.Style = psDash
Dataset = RMDB_Main
CompressLevel = rmzcFastest
CompressThread = False
LaterBuildEvents = True
OnlyOwnerDataSet = False
Left = 864
Top = 224
ReportData = {}
end
object RMDB_Main: TRMDBDataSet
Visible = True
Left = 928
Top = 216
end
object cxGridPopupMenu2: TcxGridPopupMenu
Grid = cxGrid2
PopupMenus = <>
Left = 888
Top = 224
end
object DS_HZ: TDataSource
DataSet = CDS_HZ
Left = 899
Top = 235
end
object CDS_HZ: TClientDataSet
Aggregates = <>
Params = <>
Left = 872
Top = 224
end
end

View File

@ -0,0 +1,162 @@
unit U_ZdyAttachment;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin,
StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar,
cxButtonEdit, cxTextEdit;
type
TfrmZdyAttachment = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
ZdyName: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
ToolButton3: TToolButton;
v2Column6: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
Label1: TLabel;
ZdyCode: TEdit;
v2Column10: TcxGridDBColumn;
ToolButton4: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ZdyNameChange(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
end;
var
frmZdyAttachment: TfrmZdyAttachment;
implementation
uses
U_DataLink,U_RTFun,U_RTZDYHelp;
{$R *.dfm}
procedure TfrmZdyAttachment.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' select * from KH_Zdy_Attachment where Type=''KHName'' ');
Open;
end;
SCreateCDS(ADOQueryMain,CDS_HZ);
SInitCDSData(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttachment.FormDestroy(Sender: TObject);
begin
frmZdyAttachment:=nil;
end;
procedure TfrmZdyAttachment.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmZdyAttachment.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('客户资料',Tv2,'客户自定义');
Close;
end;
procedure TfrmZdyAttachment.TBDelClick(Sender: TObject);
begin
if CDS_HZ.IsEmpty then Exit;
if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit;
if Trim(CDS_HZ.fieldbyname('ATID').AsString)<>'' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete KH_Zdy_Attachment where ATID='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
sql.Add('delete KH_Zdy where ZdyNo='''+Trim(CDS_HZ.fieldbyname('ATID').AsString)+'''');
ExecSQL;
end;
end;
CDS_HZ.Delete;
end;
procedure TfrmZdyAttachment.FormShow(Sender: TObject);
begin
ReadCxGrid('客户资料',Tv2,'客户自定义');
InitGrid();
end;
procedure TfrmZdyAttachment.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyAttachment.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS(ADOQueryMain,CDS_HZ);
SInitCDSData(ADOQueryMain,CDS_HZ);
end;
end;
procedure TfrmZdyAttachment.ZdyNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
end.

View File

@ -0,0 +1,17 @@
object frmZdyInput: TfrmZdyInput
Left = 165
Top = 188
Width = 870
Height = 500
Caption = #23458#25143#36164#26009#24405#20837
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnDestroy = FormDestroy
PixelsPerInch = 96
TextHeight = 13
end

View File

@ -0,0 +1,30 @@
unit U_ZdyInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TfrmZdyInput = class(TForm)
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmZdyInput: TfrmZdyInput;
implementation
{$R *.dfm}
procedure TfrmZdyInput.FormDestroy(Sender: TObject);
begin
frmZdyInput:=nil;
end;
end.

View File

@ -0,0 +1,65 @@
unit U_iniParam;
interface
uses
IniFiles,SysUtils;
var
Filename:string; //文件名
iParam2:integer;
bParam1:Boolean;
bParam2:Boolean;
SCXFlag:String; //生产线 根据此标志获取卷条码前缀 不能包含字母 1,2
SCXCount:String; //机台个数
PortNoStr:string;//端口号
DllName:string;//端口Dll文件
Function IsINIFile():Boolean; //判断InI配置文件是否存在
procedure ReadINIFile();
procedure WriteINIFile();
implementation
///////////////////////////////////////////////////////////////////
//读取ini文件设置参数
//参数:
////////////////////////////////////////////////////////////////////
procedure ReadINIFile();
var
programIni:Tinifile; //配置文件名
begin
FileName:=ExtractFilePath(Paramstr(0))+'File.INI';
programIni:=Tinifile.create(FileName);
SCXFlag:=programIni.ReadString('生产车间配置','卷条码机台标志','1');
SCXCount:=programIni.ReadString('生产车间配置','机台个数','1');
PortNoStr:=programIni.ReadString('生产车间配置','端口号','com1');
DllName:=programIni.ReadString('生产车间配置','端口Dll文件','JZCRS323C.DLL');
programIni.Free;
end;
//////////////////////////////////////////////////////////////////
//写设置信息到INI文件
//参数
//////////////////////////////////////////////////////////////////
procedure WriteINIFile();
var
programIni:Tinifile; //配置文件名
begin
FileName:=ExtractFilePath(Paramstr(0))+'File.INI';
programIni:=Tinifile.create(FileName);
programIni.WriteString('生产车间配置','卷条码机台标志',SCXFlag);
programIni.WriteString('生产车间配置','机台个数',SCXCount);
programIni.WriteString('生产车间配置','端口号',PortNoStr);
programIni.WriteString('生产车间配置','端口Dll文件',DllName);
programIni.Free;
end;
//////////////////////////////////////////////////////////////////
//判断InI文件是否存在
//////////////////////////////////////////////////////////////////
Function IsINIFile():Boolean;
begin
FileName:=ExtractFilePath(Paramstr(0))+'File.INI';
if FileExists(FileName) then
Result:=true
else
Result:=false;
end;
end.

View File

@ -0,0 +1,221 @@
object Form1: TForm1
Left = 203
Top = 121
Caption = 'Form1'
ClientHeight = 390
ClientWidth = 722
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
FormStyle = fsMDIForm
Menu = MainMenu1
OldCreateOrder = False
WindowState = wsMaximized
OnClose = FormClose
OnResize = FormResize
PixelsPerInch = 96
TextHeight = 13
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 722
Height = 25
ButtonWidth = 57
Caption = 'ToolBar1'
Images = ImageList1
TabOrder = 0
ExplicitWidth = 120
object Edit1: TEdit
Left = 0
Top = 0
Width = 81
Height = 22
TabOrder = 0
Text = '1'
end
object ToolButton1: TToolButton
Left = 81
Top = 0
Caption = #20851#38381
ImageIndex = 0
OnClick = ToolButton1Click
end
object Label1: TLabel
Left = 138
Top = 0
Width = 79
Height = 22
Caption = ' DllName'#65306
end
object DllName: TEdit
Left = 217
Top = 0
Width = 135
Height = 22
TabOrder = 1
end
end
object MainMenu1: TMainMenu
Left = 232
Top = 40
object test1: TMenuItem
Caption = 'test'
OnClick = test1Click
end
end
object ImageList1: TImageList
Left = 320
Top = 56
Bitmap = {
494C010101000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000001000000001002000000000000010
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000EFEFEF000000
0000EFEFEF00EFEFEF000000000000000000EFEFEF0000000000000000000000
0000EFEFEF00EFEFEF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000EFEFEF0000000000EFEFEF00EFEFEF0000000000EFEFEF00000000008080
00008080000000000000C0C0C000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000EFEFEF00EFEFEF000000
0000EFEFEF00EFEFEF000000000000000000C0C0C00000000000000000008080
00008080000080800000EFEFEF00EFEFEF000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000EFEFEF0000000000000000000000000000000000000000008080
0000808000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000EFEFEF0000000000808080008080800080808000000000008080
0000808000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000008080000000000000808080008080800080808000000000008080
0000000000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000EFEFEF00EFEF
EF0000000000FFFF000080800000000000008080800080808000000000000000
0000000000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FFFF0000FFFF0000808000000000000080808000000000008080
0000000000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000808000008080
000080800000FFFF0000FFFF0000FFFF00000000000080808000000000008080
0000808000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFF0000FFFF
0000FFFF0000FFFF000000000000FFFF00000000000080808000000000008080
0000808000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000FFFF0000FFFF0000FFFF00000000000080808000000000008080
0000808000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000808000000000000080808000808080008080800080808000FFFF
0000808000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000808080008080800080808000808080000000
0000808000008080000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000100000000100010000000000800000000000000000000000
000000000000000000000000FFFFFF00FFFF000000000000D343000000000000
F4810000000000009340000000000000F801000000000000F001000000000000
F001000000000000C001000000000000C001000000000000C001000000000000
C201000000000000C001000000000000F001000000000000F001000000000000
FC03000000000000FFFF00000000000000000000000000000000000000000000
000000000000}
end
object ADOConnection1: TADOConnection
ConnectionString =
'Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ' +
'ID=sa;Initial Catalog=rzdata;Data Source=6GMFFMYKYMJDZW7'
LoginPrompt = False
Provider = 'SQLOLEDB.1'
Left = 408
Top = 64
end
end

View File

@ -0,0 +1,94 @@
unit U_testdll;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Menus, ToolWin, ComCtrls, ImgList, DB, ADODB,
System.ImageList;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
test1: TMenuItem;
ToolBar1: TToolBar;
Edit1: TEdit;
ToolButton1: TToolButton;
ImageList1: TImageList;
ADOConnection1: TADOConnection;
DllName: TEdit;
Label1: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure test1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
newh: hwnd;
implementation
{$R *.dfm}
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
sendmessage(newh, 1034, 4, 0);
Action := cafree;
end;
procedure TForm1.test1Click(Sender: TObject);
type
TMyFunc = function(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; stdcall;
var
Tf: TMyFunc;
Tp: TFarProc;
Th: Thandle;
begin
//静态加载
//newh:=getForm(Application,1,ADOConnection1,PChar('sa'),PChar('dsa'));
//动态加载
// showMessage(intTostr(application.Handle));
Th := LoadLibrary('BaseInfo.dll');
if Th > 0 then
begin
try
Tp := GetProcAddress(Th, 'GetDllForm');
if Tp <> nil then
begin
Tf := TMyFunc(Tp);
newh := Tf(Application, 0, strToint(edit1.text), 0, 0, PChar('ygcode'), PChar('ygname'), PChar('datebase'), PChar('title'), PChar(''), PChar(''), '', '', '', '', '', '', '', '', '');
end
else
begin
ShowMessage('打印执行错误');
end;
finally
// FreeLibrary();
end;
end
else
begin
ShowMessage('找不到' + Trim(DllName.Text));
end;
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
sendmessage(newh, 1034, 1, 0);
end;
end.

View File

@ -0,0 +1,2 @@
[SERVER]
SERVER=192.168.88.254

View File

@ -0,0 +1,38 @@
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-LE"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-LN"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST

View File

@ -0,0 +1,136 @@
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=0
K=0
L=1
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=0
UnsafeCode=0
UnsafeCast=0
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
Packages=
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=D:\selfware_83398\selfware\马国钢开发代码\项目代码\self\坯布码单待检DDMD.dll)\testDll.exe
Launcher=
UseLauncher=0
DebugCWD=
[Language]
ActiveLang=
ProjectLang=
RootDir=
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=2052
CodePage=936
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=

View File

@ -0,0 +1,14 @@
program testDll;
uses
Forms,
U_testdll in 'U_testdll.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,184 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{B99CD37D-38E0-44D4-8A6D-DAED673AC6C4}</ProjectGuid>
<MainSource>testDll.dpr</MainSource>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Debug</Config>
<TargetedPlatforms>38017</TargetedPlatforms>
<AppType>Application</AppType>
<FrameworkType>VCL</FrameworkType>
<ProjectVersion>19.2</ProjectVersion>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Android64' and '$(Base)'=='true') or '$(Base_Android64)'!=''">
<Base_Android64>true</Base_Android64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSDevice64' and '$(Base)'=='true') or '$(Base_iOSDevice64)'!=''">
<Base_iOSDevice64>true</Base_iOSDevice64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
<Base_Win64>true</Base_Win64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
<Cfg_1_Win32>true</Cfg_1_Win32>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
<Cfg_2>true</Cfg_2>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Android64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Android64)'!=''">
<Cfg_2_Android64>true</Cfg_2_Android64>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='iOSDevice64' and '$(Cfg_2)'=='true') or '$(Cfg_2_iOSDevice64)'!=''">
<Cfg_2_iOSDevice64>true</Cfg_2_iOSDevice64>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='OSX64' and '$(Cfg_2)'=='true') or '$(Cfg_2_OSX64)'!=''">
<Cfg_2_OSX64>true</Cfg_2_OSX64>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
<Cfg_2_Win32>true</Cfg_2_Win32>
<CfgParent>Cfg_2</CfgParent>
<Cfg_2>true</Cfg_2>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Base)'!=''">
<DCC_E>false</DCC_E>
<DCC_F>false</DCC_F>
<DCC_K>false</DCC_K>
<DCC_N>true</DCC_N>
<DCC_S>false</DCC_S>
<DCC_ImageBase>00400000</DCC_ImageBase>
<DCC_DebugInformation>1</DCC_DebugInformation>
<DCC_SymbolReferenceInfo>1</DCC_SymbolReferenceInfo>
<SanitizedProjectName>testDll</SanitizedProjectName>
<DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;Data.Win;$(DCC_Namespace)</DCC_Namespace>
<VerInfo_Locale>2052</VerInfo_Locale>
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Android64)'!=''">
<Android_LauncherIcon192>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png</Android_LauncherIcon192>
<EnabledSysJars>android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar</EnabledSysJars>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_iOSDevice64)'!=''">
<iOS_AppStore1024>$(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png</iOS_AppStore1024>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
<BT_BuildType>Debug</BT_BuildType>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys>
<VerInfo_Locale>1033</VerInfo_Locale>
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<Icon_MainIcon>testDll_Icon.ico</Icon_MainIcon>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win64)'!=''">
<Icon_MainIcon>testDll_Icon.ico</Icon_MainIcon>
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1)'!=''">
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
<DCC_DebugInformation>0</DCC_DebugInformation>
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2)'!=''">
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
<DCC_Optimize>false</DCC_Optimize>
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Android64)'!=''">
<BT_BuildType>Debug</BT_BuildType>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_iOSDevice64)'!=''">
<BT_BuildType>Debug</BT_BuildType>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_OSX64)'!=''">
<BT_BuildType>Debug</BT_BuildType>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys>
</PropertyGroup>
<ItemGroup>
<DelphiCompile Include="$(MainSource)">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="U_testdll.pas">
<Form>Form1</Form>
</DCCReference>
<BuildConfiguration Include="Debug">
<Key>Cfg_2</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
<BuildConfiguration Include="Base">
<Key>Base</Key>
</BuildConfiguration>
<BuildConfiguration Include="Release">
<Key>Cfg_1</Key>
<CfgParent>Base</CfgParent>
</BuildConfiguration>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType/>
<BorlandProject>
<Delphi.Personality>
<Source>
<Source Name="MainSource">testDll.dpr</Source>
</Source>
</Delphi.Personality>
<Platforms>
<Platform value="Android64">True</Platform>
<Platform value="iOSDevice64">True</Platform>
<Platform value="Linux64">True</Platform>
<Platform value="OSX64">True</Platform>
<Platform value="Win32">True</Platform>
<Platform value="Win64">False</Platform>
</Platforms>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
</Project>

Binary file not shown.

View File

@ -0,0 +1,38 @@
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-LE"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-LN"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST

View File

@ -0,0 +1,136 @@
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=0
K=0
L=1
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=0
UnsafeCode=0
UnsafeCast=0
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
Packages=
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=D:\selfware_83398\selfware\马国钢开发代码\项目代码\self\长阳针织(CYZZ.dll)\testDll.exe
Launcher=
UseLauncher=0
DebugCWD=
[Language]
ActiveLang=
ProjectLang=
RootDir=
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=2052
CodePage=936
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

View File

@ -84,7 +84,7 @@ object frmTatInspEdit: TfrmTatInspEdit
Left = 0 Left = 0
Top = 38 Top = 38
Width = 913 Width = 913
Height = 79 Height = 83
Align = alTop Align = alTop
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -188,6 +188,20 @@ object frmTatInspEdit: TfrmTatInspEdit
Height = 12 Height = 12
Caption = #30721#25968 Caption = #30721#25968
end end
object Label16: TLabel
Left = 93
Top = 45
Width = 48
Height = 12
Caption = #35745#31639#31859#25968
end
object Label17: TLabel
Left = 207
Top = 46
Width = 48
Height = 12
Caption = #30721#34920#38271#24230
end
object CIID: TEdit object CIID: TEdit
Left = 803 Left = 803
Top = 49 Top = 49
@ -257,14 +271,31 @@ object frmTatInspEdit: TfrmTatInspEdit
Height = 20 Height = 20
TabOrder = 7 TabOrder = 7
end end
object CalcMeter: TEdit
Left = 147
Top = 41
Width = 54
Height = 20
TabOrder = 8
OnChange = CalcMeterChange
end
object CodeTableLen: TEdit
Left = 261
Top = 43
Width = 54
Height = 20
TabOrder = 9
end
end end
object cxGrid1: TcxGrid object cxGrid1: TcxGrid
Left = 0 Left = 0
Top = 117 Top = 121
Width = 913 Width = 913
Height = 344 Height = 340
Align = alClient Align = alClient
TabOrder = 2 TabOrder = 2
ExplicitTop = 138
ExplicitHeight = 323
object TV1: TcxGridDBTableView object TV1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <> Navigator.Buttons.CustomButtons = <>
ScrollbarAnnotations.CustomAnnotations = <> ScrollbarAnnotations.CustomAnnotations = <>

View File

@ -44,6 +44,10 @@ type
Label15: TLabel; Label15: TLabel;
Label11: TLabel; Label11: TLabel;
Yardage: TEdit; Yardage: TEdit;
Label16: TLabel;
Label17: TLabel;
CalcMeter: TEdit;
CodeTableLen: TEdit;
ToolButton4: TToolButton; ToolButton4: TToolButton;
cxGrid1: TcxGrid; cxGrid1: TcxGrid;
TV1: TcxGridDBTableView; TV1: TcxGridDBTableView;
@ -68,6 +72,7 @@ type
procedure ToolButton4Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject);
procedure cxGridDBColumn3PropertiesEditValueChanged(Sender: TObject); procedure cxGridDBColumn3PropertiesEditValueChanged(Sender: TObject);
procedure TV1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TV1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure CalcMeterChange(Sender: TObject);
private private
{ Private declarations } { Private declarations }
function SaveData(): Boolean; function SaveData(): Boolean;
@ -86,6 +91,8 @@ uses
{$R *.dfm} {$R *.dfm}
procedure TfrmTatInspEdit.GetJYXK(FJYIP: string); procedure TfrmTatInspEdit.GetJYXK(FJYIP: string);
var
MGramW, MGrossW: Double;
begin begin
with ADOTmp do with ADOTmp do
begin begin
@ -110,6 +117,16 @@ begin
Meter.Text := Trim(ADOTmp.fieldbyname('Meter').AsString); Meter.Text := Trim(ADOTmp.fieldbyname('Meter').AsString);
Yardage.Text := Trim(ADOTmp.fieldbyname('Yardage').AsString); Yardage.Text := Trim(ADOTmp.fieldbyname('Yardage').AsString);
//CalcMeter = GrossWeight / C_GramWeight (same as TV3), manual editable
MGrossW := StrToFloatdef(Trim(ADOTmp.fieldbyname('GrossWeight').AsString), 0);
MGramW := StrToFloatdef(Trim(ADOTmp.fieldbyname('C_GramWeight').AsString), 0);
if MGramW > 0 then
CalcMeter.Text := Format('%.1f', [MGrossW / MGramW])
else
CalcMeter.Text := '';
//set after CalcMeter: OnChange would sync CodeTableLen, keep DB value on load
CodeTableLen.Text := Trim(ADOTmp.fieldbyname('code_table_length').AsString);
RadioGroup1.ItemIndex := RadioGroup1.Items.IndexOf(Trim(ADOTmp.fieldbyname('Grade').AsString)); RadioGroup1.ItemIndex := RadioGroup1.Items.IndexOf(Trim(ADOTmp.fieldbyname('Grade').AsString));
if RadioGroup1.ItemIndex < 0 then if RadioGroup1.ItemIndex < 0 then
begin begin
@ -334,6 +351,7 @@ begin
sql.Add(',NetWeight=' + FloatToStr(Strtofloatdef(NetWeight.Text, 0))); sql.Add(',NetWeight=' + FloatToStr(Strtofloatdef(NetWeight.Text, 0)));
sql.Add(',Meter=' + FloatToStr(Strtofloatdef(Meter.Text, 0))); sql.Add(',Meter=' + FloatToStr(Strtofloatdef(Meter.Text, 0)));
sql.Add(',Yardage=' + FloatToStr(Strtofloatdef(Yardage.Text, 0))); sql.Add(',Yardage=' + FloatToStr(Strtofloatdef(Yardage.Text, 0)));
sql.Add(',code_table_length=' + FloatToStr(Strtofloatdef(CodeTableLen.Text, 0)));
if RadioGroup1.ItemIndex < 0 then if RadioGroup1.ItemIndex < 0 then
raise Exception.Create(pchar('ÇëÑ¡ÔñµÈ¼¶£¡')); raise Exception.Create(pchar('ÇëÑ¡ÔñµÈ¼¶£¡'));
@ -395,6 +413,13 @@ begin
end; end;
end; end;
procedure TfrmTatInspEdit.CalcMeterChange(Sender: TObject);
begin
//code_table_length follows the CalcMeter input
if Trim(CalcMeter.Text) <> '' then
CodeTableLen.Text := Trim(CalcMeter.Text);
end;
procedure TfrmTatInspEdit.ToolButton2Click(Sender: TObject); procedure TfrmTatInspEdit.ToolButton2Click(Sender: TObject);
begin begin
if Trim(Label2.Caption) = '' then if Trim(Label2.Caption) = '' then

View File

@ -445,6 +445,7 @@ type
procedure On1201(var Message: Tmessage); message 1201; //µç×Ó³Æ procedure On1201(var Message: Tmessage); message 1201; //µç×Ó³Æ
procedure On1301(var Message: Tmessage); message 1301; //Âë±í procedure On1301(var Message: Tmessage); message 1301; //Âë±í
procedure CalcInputLenByWeightKZ; procedure CalcInputLenByWeightKZ;
function RoundUpToHalf(AValue: Double): Double; //decimal 0.1-0.4 -> 0.5, 0.6-0.9 -> next integer
public public
fmanage: string; fmanage: string;
@ -463,6 +464,7 @@ uses
U_SCPersonColor, U_SCPersonColor5, U_TatConSel; U_SCPersonColor, U_SCPersonColor5, U_TatConSel;
{$R *.dfm} {$R *.dfm}
procedure TfrmTatMachInsp.CalcInputLenByWeightKZ; procedure TfrmTatMachInsp.CalcInputLenByWeightKZ;
var var
W, KZValue: Double; W, KZValue: Double;
@ -1341,6 +1343,22 @@ begin
SInitCDSData(ADOTmp, CDS_1); SInitCDSData(ADOTmp, CDS_1);
end; end;
function TfrmTatMachInsp.RoundUpToHalf(AValue: Double): Double;
var
MIntPart: Double;
begin
Result := AValue;
if AValue <= 0 then
Exit;
MIntPart := Int(AValue);
if Frac(AValue) < 0.05 then
Result := MIntPart //integer, keep as is
else if Frac(AValue) <= 0.5 then
Result := MIntPart + 0.5 //decimal 0.1-0.4 -> 0.5
else
Result := MIntPart + 1; //decimal 0.6-0.9 -> next integer
end;
procedure TfrmTatMachInsp.InitJYGrid(); procedure TfrmTatMachInsp.InitJYGrid();
var var
MNetWeight, MJYLen: double; MNetWeight, MJYLen: double;
@ -1378,6 +1396,26 @@ begin
SCreateCDS(ADOQueryMain, CDS_3); SCreateCDS(ADOQueryMain, CDS_3);
SInitCDSData(ADOQueryMain, CDS_3); SInitCDSData(ADOQueryMain, CDS_3);
//TV3 Meter/CalcMeter: decimal 0.1-0.4 -> 0.5, 0.6-0.9 -> next integer
with CDS_3 do
begin
DisableControls;
try
First;
while not Eof do
begin
Edit;
FieldByName('Meter').Value := RoundUpToHalf(FieldByName('Meter').AsFloat);
FieldByName('CalcMeter').Value := RoundUpToHalf(FieldByName('CalcMeter').AsFloat);
Post;
Next;
end;
First;
finally
EnableControls;
end;
end;
with ADOTmp do with ADOTmp do
begin begin
Close; Close;