Integrar gestión de usuarios
git-svn-id: https://192.168.0.254/svn/Proyectos.Varela_PuntosVenta/trunk@108 1c943782-d109-9647-9548-93b3ac332352
This commit is contained in:
parent
75ab5245cb
commit
19aed4c9ee
592
Build/Build.fbp5
592
Build/Build.fbp5
@ -531,149 +531,6 @@ source_path
|
||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||
</Object>
|
||||
<Object Class="TGroupAction" XMLID="{16BBD182-B44C-4EA2-BD93-D93C06B9A41D}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
|
||||
<Property MultiValue="0" name="ActionDescription" type="string">Servidor</Property>
|
||||
<Property name="ActionTextColor" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ActionTypeID" type="string"></Property>
|
||||
<Property MultiValue="0" name="Description" type="string">Servidor</Property>
|
||||
<Property name="Enabled" type="WordBool">True</Property>
|
||||
<Property name="ExpandActionLogTitle" type="Boolean">True</Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||
<Object Class="TDelphiCompilerAction" XMLID="{BCC90A20-6E68-4CF0-B93D-1182528436DC}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
|
||||
<Property MultiValue="1" name="ActionDescription" type="string"><![CDATA[Compile Servidor\AdminPV_Server.dpr]]>
|
||||
</Property>
|
||||
<Property name="ActionTextColor" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ActionTypeID" type="string"></Property>
|
||||
<Property name="AllowImplicitImport" type="Boolean">True</Property>
|
||||
<Property name="AlwaysUseConditionalsFromDOF" type="WordBool">False</Property>
|
||||
<Property name="AutoIncBuild" type="WordBool">False</Property>
|
||||
<Property name="AutoUpdateFileVersion" type="Boolean">True</Property>
|
||||
<Property name="BuildAll" type="WordBool">True</Property>
|
||||
<Property name="BuildVersion" type="Integer">0</Property>
|
||||
<Property name="CodePage" type="Integer">1252</Property>
|
||||
<Property name="CompilerVersion" type="Integer">12</Property>
|
||||
<Property MultiValue="0" name="ConfigName" type="string">Release</Property>
|
||||
<Property name="DebugVersionNumbers" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="Description" type="string"><![CDATA[Compile Servidor\AdminPV_Server.dpr]]>
|
||||
</Property>
|
||||
<Property name="Enabled" type="WordBool">True</Property>
|
||||
<Property name="ExpandActionLogTitle" type="Boolean">True</Property>
|
||||
<Property MultiValue="0" name="ExtraCommandline" type="WideString"></Property>
|
||||
<Property name="HintsAsError" type="Boolean">False</Property>
|
||||
<Property MultiValue="0" name="IconFile" type="WideString">%project_path%\Resources\Iconos\Servidor.ico</Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">True</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
<Property name="IsDLL" type="WordBool">False</Property>
|
||||
<Property name="IsPreRelease" type="WordBool">False</Property>
|
||||
<Property name="IsPrivate" type="WordBool">False</Property>
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">True</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">2</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="MinorVersion" type="Integer">0</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Servidor\AdminPV_Server.dpr</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||
<Property MultiValue="0" name="StartingDir" type="WideString">%source_path%\Servidor\</Property>
|
||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||
<Property name="UpdateDofFile" type="Boolean">True</Property>
|
||||
<Property name="UpdatePackageSource" type="Boolean">False</Property>
|
||||
<Property name="UseEurekaLogCompiler" type="Boolean">False</Property>
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">True</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=Rodax Software S.L.
|
||||
FileDescription=
|
||||
FileVersion=2.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=AdminPV_Server
|
||||
ProductVersion=1.2.5.0
|
||||
Comments=
|
||||
CompileDate=miércoles, 12 de septiembre de 2007 18:52
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
<Property name="WarningsAsError" type="Boolean">False</Property>
|
||||
<Property name="WorkAroundD5Bug" type="WordBool">False</Property>
|
||||
<Object Class="TDelphiCompilerOptions" XMLID="{50F8565E-B514-4194-9050-D3B469F29817}"><Property name="AlwaysUseConditionalsFromDOF" type="WordBool">False</Property>
|
||||
<Property name="AlwaysUseDelphiLibraryPath" type="WordBool">False</Property>
|
||||
<Property name="AlwaysUseDOFSearchPath" type="WordBool">False</Property>
|
||||
<Property name="Assertions" type="WordBool">True</Property>
|
||||
<Property name="AssignableConst" type="WordBool">False</Property>
|
||||
<Property name="BoolEval" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="BPLOutputDir" type="WideString"></Property>
|
||||
<Property name="CompilerWarnings" type="TStrings"><![CDATA[]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="Conditionals" type="WideString"></Property>
|
||||
<Property name="ConsoleApp" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="DCPOutputDir" type="WideString"></Property>
|
||||
<Property name="DebugInfo" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="DefaultNamespace" type="string"></Property>
|
||||
<Property name="DefinitionsOnly" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="ExeDescription" type="WideString"></Property>
|
||||
<Property name="ExportAllSymbols" type="WordBool">False</Property>
|
||||
<Property name="ExtendedSyntax" type="WordBool">True</Property>
|
||||
<Property name="GenerateDocumentation" type="Boolean">False</Property>
|
||||
<Property name="GenerateHPP" type="WordBool">False</Property>
|
||||
<Property name="HugeStrings" type="WordBool">True</Property>
|
||||
<Property name="ImageBase" type="Cardinal">4194304</Property>
|
||||
<Property name="IncludeNamespaces" type="WordBool">False</Property>
|
||||
<Property name="IncludeRemoteSymbols" type="WordBool">False</Property>
|
||||
<Property name="IncludeTD32" type="WordBool">False</Property>
|
||||
<Property name="IOChecking" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="LibraryPath" type="WideString">%library_path%</Property>
|
||||
<Property name="LinkerOutput" type="Integer">0</Property>
|
||||
<Property name="LocalSymbols" type="WordBool">False</Property>
|
||||
<Property name="Mapfile" type="Integer">3</Property>
|
||||
<Property name="MaxStackSize" type="Cardinal">1048576</Property>
|
||||
<Property name="MinStackSize" type="Cardinal">16384</Property>
|
||||
<Property MultiValue="0" name="NamespacePrefixes" type="string"></Property>
|
||||
<Property name="OpenStrings" type="WordBool">True</Property>
|
||||
<Property name="Optimisation" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="OutputDir" type="WideString">%output_path%\Servidor</Property>
|
||||
<Property name="OverflowChecking" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="Packages" type="WideString"></Property>
|
||||
<Property name="RangeChecking" type="WordBool">False</Property>
|
||||
<Property name="RecordFieldAlign" type="TFieldAlign">fa8</Property>
|
||||
<Property name="ReferenceInfo" type="WordBool">False</Property>
|
||||
<Property name="SafeDivide" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="SearchPath" type="WideString">.\</Property>
|
||||
<Property name="ShowHints" type="WordBool">True</Property>
|
||||
<Property name="ShowWarnings" type="WordBool">True</Property>
|
||||
<Property name="StackFrames" type="WordBool">True</Property>
|
||||
<Property name="TypedPointers" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="UnitAliases" type="WideString">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Property>
|
||||
<Property MultiValue="0" name="UnitOutputDir" type="WideString">.\</Property>
|
||||
<Property name="UseDebugDCU" type="WordBool">False</Property>
|
||||
<Property name="UsePackages" type="WordBool">False</Property>
|
||||
<Property name="VarStringChecks" type="WordBool">True</Property>
|
||||
</Object>
|
||||
</Object>
|
||||
</Object>
|
||||
<Object Class="TCommentAction" XMLID="{A239B00D-1E95-4D41-AF84-C1825C39CDE0}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
|
||||
<Property MultiValue="0" name="ActionDescription" type="string">#</Property>
|
||||
<Property name="ActionTextColor" type="Cardinal">16711680</Property>
|
||||
@ -739,7 +596,7 @@ CompileDate=miércoles, 12 de septiembre de 2007 18:52
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">True</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||
@ -1017,7 +874,7 @@ Comments=
|
||||
<Property MultiValue="0" name="IconFile" type="WideString"></Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
@ -1027,7 +884,7 @@ Comments=
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
@ -1049,7 +906,16 @@ Comments=
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
@ -1110,7 +976,7 @@ Comments=
|
||||
</Object>
|
||||
</Object>
|
||||
<Object Class="TDelphiCompilerAction" XMLID="{8EA2A3AA-98DB-48CB-8B9A-118FE22A444F}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
|
||||
<Property MultiValue="1" name="ActionDescription" type="string"><![CDATA[Compile Usuarios\Usuarios.dpk]]>
|
||||
<Property MultiValue="1" name="ActionDescription" type="string"><![CDATA[Compile ApplicationBase\ApplicationBase.dpk]]>
|
||||
</Property>
|
||||
<Property name="ActionTextColor" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ActionTypeID" type="string"></Property>
|
||||
@ -1124,7 +990,7 @@ Comments=
|
||||
<Property name="CompilerVersion" type="Integer">12</Property>
|
||||
<Property MultiValue="0" name="ConfigName" type="string">Debug</Property>
|
||||
<Property name="DebugVersionNumbers" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="Description" type="string"><![CDATA[Compile Usuarios\Usuarios.dpk]]>
|
||||
<Property MultiValue="1" name="Description" type="string"><![CDATA[Compile ApplicationBase\ApplicationBase.dpk]]>
|
||||
</Property>
|
||||
<Property name="Enabled" type="WordBool">True</Property>
|
||||
<Property name="ExpandActionLogTitle" type="Boolean">True</Property>
|
||||
@ -1150,9 +1016,9 @@ Comments=
|
||||
<Property name="MinorVersion" type="Integer">0</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Usuarios\Usuarios.dpk</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\ApplicationBase\ApplicationBase.dpk</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">3</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
@ -1167,7 +1033,7 @@ Comments=
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.3.0
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
@ -1204,17 +1070,17 @@ Comments=
|
||||
<Property name="ImageBase" type="Cardinal">4194304</Property>
|
||||
<Property name="IncludeNamespaces" type="WordBool">False</Property>
|
||||
<Property name="IncludeRemoteSymbols" type="WordBool">False</Property>
|
||||
<Property name="IncludeTD32" type="WordBool">False</Property>
|
||||
<Property name="IncludeTD32" type="WordBool">True</Property>
|
||||
<Property name="IOChecking" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="LibraryPath" type="WideString">%library_path%</Property>
|
||||
<Property name="LinkerOutput" type="Integer">0</Property>
|
||||
<Property name="LocalSymbols" type="WordBool">True</Property>
|
||||
<Property name="Mapfile" type="Integer">3</Property>
|
||||
<Property name="Mapfile" type="Integer">0</Property>
|
||||
<Property name="MaxStackSize" type="Cardinal">1048576</Property>
|
||||
<Property name="MinStackSize" type="Cardinal">16384</Property>
|
||||
<Property MultiValue="0" name="NamespacePrefixes" type="string"></Property>
|
||||
<Property name="OpenStrings" type="WordBool">True</Property>
|
||||
<Property name="Optimisation" type="WordBool">True</Property>
|
||||
<Property name="Optimisation" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="OutputDir" type="WideString">%output_path%\Cliente</Property>
|
||||
<Property name="OverflowChecking" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="Packages" type="WideString"></Property>
|
||||
@ -1234,122 +1100,6 @@ Comments=
|
||||
<Property name="VarStringChecks" type="WordBool">True</Property>
|
||||
</Object>
|
||||
</Object>
|
||||
<Object Class="TDelphiCompilerAction" XMLID="{FAE0CC1A-C74E-4136-B371-B96AD443C8C3}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
|
||||
<Property MultiValue="1" name="ActionDescription" type="string"><![CDATA[Compile Configuracion\Configuracion.dpk]]>
|
||||
</Property>
|
||||
<Property name="ActionTextColor" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ActionTypeID" type="string"></Property>
|
||||
<Property name="AllowImplicitImport" type="Boolean">True</Property>
|
||||
<Property name="AlwaysUseConditionalsFromDOF" type="WordBool">False</Property>
|
||||
<Property name="AutoIncBuild" type="WordBool">False</Property>
|
||||
<Property name="AutoUpdateFileVersion" type="Boolean">True</Property>
|
||||
<Property name="BuildAll" type="WordBool">True</Property>
|
||||
<Property name="BuildVersion" type="Integer">0</Property>
|
||||
<Property name="CodePage" type="Integer">1252</Property>
|
||||
<Property name="CompilerVersion" type="Integer">12</Property>
|
||||
<Property MultiValue="0" name="ConfigName" type="string">Debug</Property>
|
||||
<Property name="DebugVersionNumbers" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="Description" type="string"><![CDATA[Compile Configuracion\Configuracion.dpk]]>
|
||||
</Property>
|
||||
<Property name="Enabled" type="WordBool">True</Property>
|
||||
<Property name="ExpandActionLogTitle" type="Boolean">True</Property>
|
||||
<Property MultiValue="0" name="ExtraCommandline" type="WideString"></Property>
|
||||
<Property name="HintsAsError" type="Boolean">False</Property>
|
||||
<Property MultiValue="0" name="IconFile" type="WideString"></Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
<Property name="IsDLL" type="WordBool">False</Property>
|
||||
<Property name="IsPreRelease" type="WordBool">False</Property>
|
||||
<Property name="IsPrivate" type="WordBool">False</Property>
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="MinorVersion" type="Integer">0</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Configuracion\Configuracion.dpk</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||
<Property MultiValue="0" name="StartingDir" type="WideString"></Property>
|
||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||
<Property name="UpdateDofFile" type="Boolean">False</Property>
|
||||
<Property name="UpdatePackageSource" type="Boolean">False</Property>
|
||||
<Property name="UseEurekaLogCompiler" type="Boolean">False</Property>
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
<Property name="WarningsAsError" type="Boolean">False</Property>
|
||||
<Property name="WorkAroundD5Bug" type="WordBool">False</Property>
|
||||
<Object Class="TDelphiCompilerOptions" XMLID="{8D02CDDF-9851-475C-BEF3-538FFBD93680}"><Property name="AlwaysUseConditionalsFromDOF" type="WordBool">False</Property>
|
||||
<Property name="AlwaysUseDelphiLibraryPath" type="WordBool">False</Property>
|
||||
<Property name="AlwaysUseDOFSearchPath" type="WordBool">False</Property>
|
||||
<Property name="Assertions" type="WordBool">True</Property>
|
||||
<Property name="AssignableConst" type="WordBool">False</Property>
|
||||
<Property name="BoolEval" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="BPLOutputDir" type="WideString">%package_path%</Property>
|
||||
<Property name="CompilerWarnings" type="TStrings"><![CDATA[]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="Conditionals" type="WideString"></Property>
|
||||
<Property name="ConsoleApp" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="DCPOutputDir" type="WideString">%modules_dcp_path%</Property>
|
||||
<Property name="DebugInfo" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="DefaultNamespace" type="string"></Property>
|
||||
<Property name="DefinitionsOnly" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="ExeDescription" type="WideString"></Property>
|
||||
<Property name="ExportAllSymbols" type="WordBool">False</Property>
|
||||
<Property name="ExtendedSyntax" type="WordBool">True</Property>
|
||||
<Property name="GenerateDocumentation" type="Boolean">False</Property>
|
||||
<Property name="GenerateHPP" type="WordBool">False</Property>
|
||||
<Property name="HugeStrings" type="WordBool">True</Property>
|
||||
<Property name="ImageBase" type="Cardinal">4194304</Property>
|
||||
<Property name="IncludeNamespaces" type="WordBool">False</Property>
|
||||
<Property name="IncludeRemoteSymbols" type="WordBool">False</Property>
|
||||
<Property name="IncludeTD32" type="WordBool">False</Property>
|
||||
<Property name="IOChecking" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="LibraryPath" type="WideString">%library_path%</Property>
|
||||
<Property name="LinkerOutput" type="Integer">0</Property>
|
||||
<Property name="LocalSymbols" type="WordBool">True</Property>
|
||||
<Property name="Mapfile" type="Integer">3</Property>
|
||||
<Property name="MaxStackSize" type="Cardinal">1048576</Property>
|
||||
<Property name="MinStackSize" type="Cardinal">16384</Property>
|
||||
<Property MultiValue="0" name="NamespacePrefixes" type="string"></Property>
|
||||
<Property name="OpenStrings" type="WordBool">True</Property>
|
||||
<Property name="Optimisation" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="OutputDir" type="WideString">%output_path%\Cliente</Property>
|
||||
<Property name="OverflowChecking" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="Packages" type="WideString"></Property>
|
||||
<Property name="RangeChecking" type="WordBool">False</Property>
|
||||
<Property name="RecordFieldAlign" type="TFieldAlign">fa8</Property>
|
||||
<Property name="ReferenceInfo" type="WordBool">True</Property>
|
||||
<Property name="SafeDivide" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="SearchPath" type="WideString"></Property>
|
||||
<Property name="ShowHints" type="WordBool">True</Property>
|
||||
<Property name="ShowWarnings" type="WordBool">True</Property>
|
||||
<Property name="StackFrames" type="WordBool">False</Property>
|
||||
<Property name="TypedPointers" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="UnitAliases" type="WideString">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Property>
|
||||
<Property MultiValue="0" name="UnitOutputDir" type="WideString"></Property>
|
||||
<Property name="UseDebugDCU" type="WordBool">False</Property>
|
||||
<Property name="UsePackages" type="WordBool">False</Property>
|
||||
<Property name="VarStringChecks" type="WordBool">True</Property>
|
||||
</Object>
|
||||
</Object>
|
||||
</Object>
|
||||
<Object Class="TGroupAction" XMLID="{B06E72B1-4F77-4ACA-AAAE-DE2674896609}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
|
||||
<Property MultiValue="0" name="ActionDescription" type="string">Módulos</Property>
|
||||
@ -1363,7 +1113,7 @@ Comments=
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">True</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||
@ -1391,7 +1141,7 @@ Comments=
|
||||
<Property MultiValue="0" name="IconFile" type="WideString"></Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
@ -1401,7 +1151,7 @@ Comments=
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
@ -1410,7 +1160,7 @@ Comments=
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Modulos\FicherosEDI\Cliente\FicherosEDI.dpk</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">3</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
@ -1423,7 +1173,16 @@ Comments=
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.3.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
@ -1632,7 +1391,7 @@ Comments=
|
||||
<Property MultiValue="0" name="IconFile" type="WideString"></Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
@ -1642,7 +1401,7 @@ Comments=
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
@ -1651,7 +1410,7 @@ Comments=
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Modulos\VentasProceso\Cliente\VentasProceso.dpk</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">3</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
@ -1664,7 +1423,16 @@ Comments=
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.3.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
@ -1748,7 +1516,7 @@ Comments=
|
||||
<Property MultiValue="0" name="IconFile" type="WideString"></Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
@ -1758,7 +1526,7 @@ Comments=
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
@ -1767,7 +1535,7 @@ Comments=
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Modulos\ReferenciaGenerica\Cliente\ReferenciaGenerica.dpk</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">3</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
@ -1780,7 +1548,16 @@ Comments=
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.3.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
@ -1864,7 +1641,7 @@ Comments=
|
||||
<Property MultiValue="0" name="IconFile" type="WideString"></Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
@ -1874,7 +1651,7 @@ Comments=
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
@ -1883,7 +1660,7 @@ Comments=
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Modulos\Recepciones\Cliente\Recepciones.dpk</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">3</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
@ -1896,7 +1673,16 @@ Comments=
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.3.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
@ -1980,7 +1766,7 @@ Comments=
|
||||
<Property MultiValue="0" name="IconFile" type="WideString"></Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
@ -1990,7 +1776,7 @@ Comments=
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
@ -2012,7 +1798,16 @@ Comments=
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
@ -2096,7 +1891,7 @@ Comments=
|
||||
<Property MultiValue="0" name="IconFile" type="WideString"></Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
@ -2106,7 +1901,7 @@ Comments=
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
@ -2115,7 +1910,7 @@ Comments=
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Modulos\Traspasos\Cliente\Traspasos.dpk</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">3</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
@ -2128,7 +1923,16 @@ Comments=
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.3.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
@ -2212,7 +2016,7 @@ Comments=
|
||||
<Property MultiValue="0" name="IconFile" type="WideString"></Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
@ -2222,7 +2026,7 @@ Comments=
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
@ -2231,7 +2035,7 @@ Comments=
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Modulos\Stock\Cliente\Stock.dpk</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">2</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
@ -2244,7 +2048,16 @@ Comments=
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.2.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
@ -2347,7 +2160,7 @@ Comments=
|
||||
<Property MultiValue="0" name="IconFile" type="WideString">%project_path%\Resources\Iconos\Cliente.ico</Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">True</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">False</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
@ -2357,16 +2170,16 @@ Comments=
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">False</Property>
|
||||
<Property name="Locale" type="Integer">3081</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">1</Property>
|
||||
<Property name="MajorVersion" type="Integer">2</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="MinorVersion" type="Integer">0</Property>
|
||||
<Property name="MinorVersion" type="Integer">1</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Cliente\AdminPV.dpr</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">1</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
@ -2379,7 +2192,17 @@ Comments=
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">True</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">True</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[FileVersion=1.0.0.0
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=Rodax Software S.L.
|
||||
FileDescription=
|
||||
FileVersion=2.1.1.0
|
||||
InternalName=Administración de puntos de venta
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=Administración de puntos de venta
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
CompileDate=miércoles, 12 de marzo de 2008 12:35
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
@ -2414,7 +2237,7 @@ Comments=
|
||||
<Property MultiValue="0" name="LibraryPath" type="WideString">%library_path%;%modules_dcp_path%</Property>
|
||||
<Property name="LinkerOutput" type="Integer">0</Property>
|
||||
<Property name="LocalSymbols" type="WordBool">True</Property>
|
||||
<Property name="Mapfile" type="Integer">0</Property>
|
||||
<Property name="Mapfile" type="Integer">3</Property>
|
||||
<Property name="MaxStackSize" type="Cardinal">1048576</Property>
|
||||
<Property name="MinStackSize" type="Cardinal">16384</Property>
|
||||
<Property MultiValue="0" name="NamespacePrefixes" type="string"></Property>
|
||||
@ -2422,7 +2245,7 @@ Comments=
|
||||
<Property name="Optimisation" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="OutputDir" type="WideString">%output_path%\Cliente</Property>
|
||||
<Property name="OverflowChecking" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="Packages" type="WideString">BaseD10;Configuracion;ControlesBaseD10;Usuarios;FicherosEDI;VentasProceso;VentasTerminadas;ReferenciaGenerica</Property>
|
||||
<Property MultiValue="0" name="Packages" type="WideString">BaseD10;ControlesBaseD10;ApplicationBase;FicherosEDI;VentasProceso;VentasTerminadas;ReferenciaGenerica</Property>
|
||||
<Property name="RangeChecking" type="WordBool">False</Property>
|
||||
<Property name="RecordFieldAlign" type="TFieldAlign">fa8</Property>
|
||||
<Property name="ReferenceInfo" type="WordBool">True</Property>
|
||||
@ -2479,12 +2302,12 @@ Comments=
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">2</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="MinorVersion" type="Integer">0</Property>
|
||||
<Property name="MinorVersion" type="Integer">1</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\CargaEDI\CargaEDI.dpr</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">0</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">1</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
@ -2499,7 +2322,7 @@ Comments=
|
||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=2.0.0.0
|
||||
FileVersion=2.1.1.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
@ -2549,7 +2372,7 @@ Comments=
|
||||
<Property name="Optimisation" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="OutputDir" type="WideString">%output_path%\Cliente</Property>
|
||||
<Property name="OverflowChecking" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="Packages" type="WideString">BaseD10;Configuracion;FicherosEDI</Property>
|
||||
<Property MultiValue="0" name="Packages" type="WideString">BaseD10;FicherosEDI</Property>
|
||||
<Property name="RangeChecking" type="WordBool">False</Property>
|
||||
<Property name="RecordFieldAlign" type="TFieldAlign">fa8</Property>
|
||||
<Property name="ReferenceInfo" type="WordBool">True</Property>
|
||||
@ -2567,6 +2390,149 @@ Comments=
|
||||
</Object>
|
||||
</Object>
|
||||
</Object>
|
||||
<Object Class="TGroupAction" XMLID="{16BBD182-B44C-4EA2-BD93-D93C06B9A41D}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
|
||||
<Property MultiValue="0" name="ActionDescription" type="string">Servidor</Property>
|
||||
<Property name="ActionTextColor" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ActionTypeID" type="string"></Property>
|
||||
<Property MultiValue="0" name="Description" type="string">Servidor</Property>
|
||||
<Property name="Enabled" type="WordBool">True</Property>
|
||||
<Property name="ExpandActionLogTitle" type="Boolean">True</Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||
<Object Class="TDelphiCompilerAction" XMLID="{BCC90A20-6E68-4CF0-B93D-1182528436DC}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
|
||||
<Property MultiValue="1" name="ActionDescription" type="string"><![CDATA[Compile Servidor\AdminPV_Server.dpr]]>
|
||||
</Property>
|
||||
<Property name="ActionTextColor" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ActionTypeID" type="string"></Property>
|
||||
<Property name="AllowImplicitImport" type="Boolean">True</Property>
|
||||
<Property name="AlwaysUseConditionalsFromDOF" type="WordBool">False</Property>
|
||||
<Property name="AutoIncBuild" type="WordBool">False</Property>
|
||||
<Property name="AutoUpdateFileVersion" type="Boolean">True</Property>
|
||||
<Property name="BuildAll" type="WordBool">True</Property>
|
||||
<Property name="BuildVersion" type="Integer">0</Property>
|
||||
<Property name="CodePage" type="Integer">1252</Property>
|
||||
<Property name="CompilerVersion" type="Integer">12</Property>
|
||||
<Property MultiValue="0" name="ConfigName" type="string">Release</Property>
|
||||
<Property name="DebugVersionNumbers" type="Boolean">False</Property>
|
||||
<Property MultiValue="1" name="Description" type="string"><![CDATA[Compile Servidor\AdminPV_Server.dpr]]>
|
||||
</Property>
|
||||
<Property name="Enabled" type="WordBool">True</Property>
|
||||
<Property name="ExpandActionLogTitle" type="Boolean">True</Property>
|
||||
<Property MultiValue="0" name="ExtraCommandline" type="WideString"></Property>
|
||||
<Property name="HintsAsError" type="Boolean">False</Property>
|
||||
<Property MultiValue="0" name="IconFile" type="WideString">%project_path%\Resources\Iconos\Servidor.ico</Property>
|
||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||
<Property name="IncludeCompileDate" type="WordBool">True</Property>
|
||||
<Property name="IncludeVerInfo" type="WordBool">True</Property>
|
||||
<Property name="IsAction" type="Boolean">True</Property>
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property name="IsDebug" type="WordBool">False</Property>
|
||||
<Property name="IsDLL" type="WordBool">False</Property>
|
||||
<Property name="IsPreRelease" type="WordBool">False</Property>
|
||||
<Property name="IsPrivate" type="WordBool">False</Property>
|
||||
<Property name="IsSpecial" type="WordBool">False</Property>
|
||||
<Property name="KeepCFG" type="Boolean">False</Property>
|
||||
<Property name="LinkProductVersionToFileVersion" type="Boolean">True</Property>
|
||||
<Property name="Locale" type="Integer">3082</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MajorVersion" type="Integer">2</Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="MinorVersion" type="Integer">1</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Servidor\AdminPV_Server.dpr</Property>
|
||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||
<Property name="ReleaseVersion" type="Integer">1</Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||
<Property MultiValue="0" name="StartingDir" type="WideString">%source_path%\Servidor\</Property>
|
||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||
<Property name="UpdateDofFile" type="Boolean">True</Property>
|
||||
<Property name="UpdatePackageSource" type="Boolean">False</Property>
|
||||
<Property name="UseEurekaLogCompiler" type="Boolean">False</Property>
|
||||
<Property name="UseProjectSettings" type="TFBUseProjectSettings">[usPackages,usCompiler,usLinker,usVersionInfo]</Property>
|
||||
<Property name="UsePropertySet" type="Boolean">False</Property>
|
||||
<Property name="UseVersionFromDOF" type="Boolean">True</Property>
|
||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=Rodax Software S.L.
|
||||
FileDescription=
|
||||
FileVersion=2.1.1.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=AdminPV_Server
|
||||
ProductVersion=2.1.0.0
|
||||
Comments=
|
||||
CompileDate=lunes, 10 de marzo de 2008 13:15
|
||||
]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||
<Property name="WarningsAsError" type="Boolean">False</Property>
|
||||
<Property name="WorkAroundD5Bug" type="WordBool">False</Property>
|
||||
<Object Class="TDelphiCompilerOptions" XMLID="{50F8565E-B514-4194-9050-D3B469F29817}"><Property name="AlwaysUseConditionalsFromDOF" type="WordBool">False</Property>
|
||||
<Property name="AlwaysUseDelphiLibraryPath" type="WordBool">False</Property>
|
||||
<Property name="AlwaysUseDOFSearchPath" type="WordBool">False</Property>
|
||||
<Property name="Assertions" type="WordBool">True</Property>
|
||||
<Property name="AssignableConst" type="WordBool">False</Property>
|
||||
<Property name="BoolEval" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="BPLOutputDir" type="WideString"></Property>
|
||||
<Property name="CompilerWarnings" type="TStrings"><![CDATA[]]>
|
||||
</Property>
|
||||
<Property MultiValue="0" name="Conditionals" type="WideString"></Property>
|
||||
<Property name="ConsoleApp" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="DCPOutputDir" type="WideString"></Property>
|
||||
<Property name="DebugInfo" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="DefaultNamespace" type="string"></Property>
|
||||
<Property name="DefinitionsOnly" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="ExeDescription" type="WideString"></Property>
|
||||
<Property name="ExportAllSymbols" type="WordBool">False</Property>
|
||||
<Property name="ExtendedSyntax" type="WordBool">True</Property>
|
||||
<Property name="GenerateDocumentation" type="Boolean">False</Property>
|
||||
<Property name="GenerateHPP" type="WordBool">False</Property>
|
||||
<Property name="HugeStrings" type="WordBool">True</Property>
|
||||
<Property name="ImageBase" type="Cardinal">4194304</Property>
|
||||
<Property name="IncludeNamespaces" type="WordBool">False</Property>
|
||||
<Property name="IncludeRemoteSymbols" type="WordBool">False</Property>
|
||||
<Property name="IncludeTD32" type="WordBool">False</Property>
|
||||
<Property name="IOChecking" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="LibraryPath" type="WideString">%library_path%</Property>
|
||||
<Property name="LinkerOutput" type="Integer">0</Property>
|
||||
<Property name="LocalSymbols" type="WordBool">False</Property>
|
||||
<Property name="Mapfile" type="Integer">3</Property>
|
||||
<Property name="MaxStackSize" type="Cardinal">1048576</Property>
|
||||
<Property name="MinStackSize" type="Cardinal">16384</Property>
|
||||
<Property MultiValue="0" name="NamespacePrefixes" type="string"></Property>
|
||||
<Property name="OpenStrings" type="WordBool">True</Property>
|
||||
<Property name="Optimisation" type="WordBool">True</Property>
|
||||
<Property MultiValue="0" name="OutputDir" type="WideString">%output_path%\Servidor</Property>
|
||||
<Property name="OverflowChecking" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="Packages" type="WideString"></Property>
|
||||
<Property name="RangeChecking" type="WordBool">False</Property>
|
||||
<Property name="RecordFieldAlign" type="TFieldAlign">fa8</Property>
|
||||
<Property name="ReferenceInfo" type="WordBool">False</Property>
|
||||
<Property name="SafeDivide" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="SearchPath" type="WideString">.\</Property>
|
||||
<Property name="ShowHints" type="WordBool">True</Property>
|
||||
<Property name="ShowWarnings" type="WordBool">True</Property>
|
||||
<Property name="StackFrames" type="WordBool">True</Property>
|
||||
<Property name="TypedPointers" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="UnitAliases" type="WideString">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Property>
|
||||
<Property MultiValue="0" name="UnitOutputDir" type="WideString">.\</Property>
|
||||
<Property name="UseDebugDCU" type="WordBool">False</Property>
|
||||
<Property name="UsePackages" type="WordBool">False</Property>
|
||||
<Property name="VarStringChecks" type="WordBool">True</Property>
|
||||
</Object>
|
||||
</Object>
|
||||
</Object>
|
||||
<Object Class="TGroupAction" XMLID="{B6FF24D6-FAF7-4A2C-A3DD-82476DA27DD2}"><Property MultiValue="0" name="ActionComment" type="string"></Property>
|
||||
<Property MultiValue="1" name="ActionDescription" type="string"><![CDATA[Comprimir ejecutables]]>
|
||||
</Property>
|
||||
@ -2581,7 +2547,7 @@ Comments=
|
||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||
<Property name="NodeCollapsed" type="Boolean">True</Property>
|
||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||
@ -2834,7 +2800,7 @@ Comments=
|
||||
<Property name="VariableType" type="TFBVariableType">vtProject</Property>
|
||||
</Object>
|
||||
<Object Class="TFBVariable" XMLID="{E1F16954-518E-44DB-8598-32BD70D0B552}"><Property MultiValue="0" name="Comment" type="string"></Property>
|
||||
<Property MultiValue="0" name="DefaultValue" type="string">%DELPHI2007DIR%\Lib\Indy10;%project_path%\Lib;%project_path%\Lib\RemObjects\RemObjects_SDK;%project_path%\Lib\RemObjects\Data_Abstract;%project_path%\Lib\CCPack;%project_path%\Lib\CFPack;%project_path%\Lib\GUISDK;%project_path%\Lib\PluginSDK;%project_path%\Lib\DevExpressVCL;%project_path%\Lib\FastReport3;%project_path%\Lib\JCL;%project_path%\Lib\JVCL;%project_path%\Lib\PngComponents;%project_path%\Lib\cxIntl5;%project_path%\Lib\cxIntlPrintSys3;%project_path%\Lib\TB2k+TBX;%project_path%\Lib\Mustangpeak\MPCommonLib;%project_path%\Lib\Mustangpeak\EasyListview;%project_path%\Lib\SDAC;</Property>
|
||||
<Property MultiValue="0" name="DefaultValue" type="string">%DELPHI2007DIR%\Lib\Indy10;%project_path%\Lib;%project_path%\Lib\RemObjects\RemObjects_SDK;%project_path%\Lib\RemObjects\Data_Abstract;%project_path%\Lib\CCPack;%project_path%\Lib\CFPack;%project_path%\Lib\GUISDK;%project_path%\Lib\PluginSDK;%project_path%\Lib\DevExpressVCL;%project_path%\Lib\FastReport3;%project_path%\Lib\JCL;%project_path%\Lib\JVCL;%project_path%\Lib\PngComponents;%project_path%\Lib\cxIntl5;%project_path%\Lib\cxIntlPrintSys3;%project_path%\Lib\TB2k+TBX;%project_path%\Lib\Mustangpeak\MPCommonLib;%project_path%\Lib\Mustangpeak\EasyListview;%project_path%\Lib\JSDialog;%project_path%\Lib\UserControl</Property>
|
||||
<Property name="IsMacro" type="Boolean">True</Property>
|
||||
<Property name="IsPersistent" type="Boolean">False</Property>
|
||||
<Property name="MakeEnv" type="Boolean">False</Property>
|
||||
|
||||
@ -873,6 +873,118 @@ ON [RDX_VENTASEDI]
|
||||
TO [public]
|
||||
GO
|
||||
|
||||
|
||||
/*--------------- SQL ---------------*/
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_USUARIOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_USUARIOS]
|
||||
GO
|
||||
|
||||
CREATE TABLE [RDX_USUARIOS](
|
||||
[ID] int NOT NULL,
|
||||
[USERNAME] varchar(30) NULL,
|
||||
[LOGIN] varchar(30) NULL,
|
||||
[PASS] varchar(255) NULL,
|
||||
[PASSEXPIRED] datetime NULL,
|
||||
[BLOQUEADO] smallint NULL,
|
||||
[EMAIL] varchar(150) NULL,
|
||||
[USERDAYSSUN] int NULL,
|
||||
[PRIVILEGED] int NULL,
|
||||
[TIPO] char(1) NULL,
|
||||
[ID_PERFIL] int NULL,
|
||||
[CHECKSUM] varchar(250) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_USUARIOS]
|
||||
ADD CONSTRAINT [RDX_USUARIOS_PK]
|
||||
PRIMARY KEY CLUSTERED ([ID])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_USUARIOS_EVENTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_USUARIOS_EVENTOS]
|
||||
GO
|
||||
|
||||
CREATE TABLE [RDX_USUARIOS_EVENTOS](
|
||||
[APLICACION] VARCHAR(250),
|
||||
[ID_USUARIO] INT,
|
||||
[FECHA] CHAR(10),
|
||||
[HORA] CHAR(8),
|
||||
[FORM] VARCHAR(250),
|
||||
[TITULO_FORM] VARCHAR(100),
|
||||
[EVENTO] VARCHAR(50),
|
||||
[NOTAS] TEXT,
|
||||
[TNAME] VARCHAR(20)
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_USUARIOS_LOGON]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_USUARIOS_LOGON]
|
||||
GO
|
||||
|
||||
CREATE TABLE [RDX_USUARIOS_LOGON] (
|
||||
[LOGONID] CHAR(38) NOT NULL,
|
||||
[ID_USUARIO] INT,
|
||||
[APLICACION] VARCHAR(50),
|
||||
[EQUIPO] VARCHAR(50),
|
||||
[DATA] VARCHAR(14)
|
||||
)
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_USUARIOS_LOGON]
|
||||
ADD CONSTRAINT [RDX_USUARIOS_LOGON_PK]
|
||||
PRIMARY KEY CLUSTERED ([LOGONID])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_PERMISOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_PERMISOS]
|
||||
GO
|
||||
|
||||
|
||||
CREATE TABLE [RDX_PERMISOS] (
|
||||
[ID] INT NOT NULL,
|
||||
[ID_USUARIO] INT,
|
||||
[MODULO] VARCHAR(50),
|
||||
[NOMBRECOMP] VARCHAR(50),
|
||||
[CHECKSUM] VARCHAR(250)
|
||||
)
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_PERMISOS]
|
||||
ADD CONSTRAINT [RDX_PERMISOS_PK]
|
||||
PRIMARY KEY CLUSTERED ([ID])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_PERMISOSEX]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||||
DROP TABLE [RDX_PERMISOSEX]
|
||||
GO
|
||||
|
||||
|
||||
CREATE TABLE [RDX_PERMISOSEX] (
|
||||
[ID] INT NOT NULL,
|
||||
[ID_USUARIO] INT,
|
||||
[MODULO] VARCHAR(50),
|
||||
[NOMBRECOMP] VARCHAR(50),
|
||||
[NOMBREFORM] VARCHAR(50),
|
||||
[CHECKSUM] VARCHAR(250)
|
||||
)
|
||||
GO
|
||||
|
||||
ALTER TABLE [RDX_PERMISOSEX]
|
||||
ADD CONSTRAINT [RDX_PERMISOSEX_PK]
|
||||
PRIMARY KEY CLUSTERED ([ID])
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
/* EOF */
|
||||
|
||||
|
||||
|
||||
@ -4,10 +4,10 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Projects Include="ApplicationBase\ApplicationBase.dproj" />
|
||||
<Projects Include="Base\BaseD10.dproj" />
|
||||
<Projects Include="CargaEDI\CargaEDI.dproj" />
|
||||
<Projects Include="Cliente\AdminPV.dproj" />
|
||||
<Projects Include="Configuracion\Configuracion.dproj" />
|
||||
<Projects Include="ControlesBase\ControlesBaseD10.dproj" />
|
||||
<Projects Include="Modulos\Devoluciones\Cliente\Devoluciones.dproj" />
|
||||
<Projects Include="Modulos\FicherosEDI\Cliente\FicherosEDI.dproj" />
|
||||
@ -19,7 +19,6 @@
|
||||
<Projects Include="Modulos\VentasProceso\Cliente\VentasProceso.dproj" />
|
||||
<Projects Include="Modulos\VentasTerminadas\Cliente\VentasTerminadas.dproj" />
|
||||
<Projects Include="Servidor\AdminPV_Server.dproj" />
|
||||
<Projects Include="Usuarios\Usuarios.dproj" />
|
||||
</ItemGroup>
|
||||
<ProjectExtensions>
|
||||
<Borland.Personality>Default.Personality</Borland.Personality>
|
||||
@ -27,15 +26,6 @@
|
||||
<BorlandProject>
|
||||
<BorlandProject xmlns=""><Default.Personality></Default.Personality></BorlandProject></BorlandProject>
|
||||
</ProjectExtensions>
|
||||
<Target Name="AdminPV_Server">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="AdminPV_Server:Clean">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="AdminPV_Server:Make">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="BaseD10">
|
||||
<MSBuild Projects="Base\BaseD10.dproj" Targets="" />
|
||||
</Target>
|
||||
@ -63,23 +53,14 @@
|
||||
<Target Name="Parametros:Make">
|
||||
<MSBuild Projects="Modulos\Parametros\Cliente\Parametros.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="Usuarios">
|
||||
<MSBuild Projects="Usuarios\Usuarios.dproj" Targets="" />
|
||||
<Target Name="ApplicationBase">
|
||||
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="Usuarios:Clean">
|
||||
<MSBuild Projects="Usuarios\Usuarios.dproj" Targets="Clean" />
|
||||
<Target Name="ApplicationBase:Clean">
|
||||
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="Usuarios:Make">
|
||||
<MSBuild Projects="Usuarios\Usuarios.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="Configuracion">
|
||||
<MSBuild Projects="Configuracion\Configuracion.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="Configuracion:Clean">
|
||||
<MSBuild Projects="Configuracion\Configuracion.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="Configuracion:Make">
|
||||
<MSBuild Projects="Configuracion\Configuracion.dproj" Targets="Make" />
|
||||
<Target Name="ApplicationBase:Make">
|
||||
<MSBuild Projects="ApplicationBase\ApplicationBase.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="FicherosEDI">
|
||||
<MSBuild Projects="Modulos\FicherosEDI\Cliente\FicherosEDI.dproj" Targets="" />
|
||||
@ -171,14 +152,23 @@
|
||||
<Target Name="AdminPV:Make">
|
||||
<MSBuild Projects="Cliente\AdminPV.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="AdminPV_Server">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="AdminPV_Server:Clean">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="AdminPV_Server:Make">
|
||||
<MSBuild Projects="Servidor\AdminPV_Server.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="Build">
|
||||
<CallTarget Targets="AdminPV_Server;BaseD10;ControlesBaseD10;Parametros;Usuarios;Configuracion;FicherosEDI;VentasTerminadas;VentasProceso;ReferenciaGenerica;Recepciones;Devoluciones;Traspasos;Stock;CargaEDI;AdminPV" />
|
||||
<CallTarget Targets="BaseD10;ControlesBaseD10;Parametros;ApplicationBase;FicherosEDI;VentasTerminadas;VentasProceso;ReferenciaGenerica;Recepciones;Devoluciones;Traspasos;Stock;CargaEDI;AdminPV;AdminPV_Server" />
|
||||
</Target>
|
||||
<Target Name="Clean">
|
||||
<CallTarget Targets="AdminPV_Server:Clean;BaseD10:Clean;ControlesBaseD10:Clean;Parametros:Clean;Usuarios:Clean;Configuracion:Clean;FicherosEDI:Clean;VentasTerminadas:Clean;VentasProceso:Clean;ReferenciaGenerica:Clean;Recepciones:Clean;Devoluciones:Clean;Traspasos:Clean;Stock:Clean;CargaEDI:Clean;AdminPV:Clean" />
|
||||
<CallTarget Targets="BaseD10:Clean;ControlesBaseD10:Clean;Parametros:Clean;ApplicationBase:Clean;FicherosEDI:Clean;VentasTerminadas:Clean;VentasProceso:Clean;ReferenciaGenerica:Clean;Recepciones:Clean;Devoluciones:Clean;Traspasos:Clean;Stock:Clean;CargaEDI:Clean;AdminPV:Clean;AdminPV_Server:Clean" />
|
||||
</Target>
|
||||
<Target Name="Make">
|
||||
<CallTarget Targets="AdminPV_Server:Make;BaseD10:Make;ControlesBaseD10:Make;Parametros:Make;Usuarios:Make;Configuracion:Make;FicherosEDI:Make;VentasTerminadas:Make;VentasProceso:Make;ReferenciaGenerica:Make;Recepciones:Make;Devoluciones:Make;Traspasos:Make;Stock:Make;CargaEDI:Make;AdminPV:Make" />
|
||||
<CallTarget Targets="BaseD10:Make;ControlesBaseD10:Make;Parametros:Make;ApplicationBase:Make;FicherosEDI:Make;VentasTerminadas:Make;VentasProceso:Make;ReferenciaGenerica:Make;Recepciones:Make;Devoluciones:Make;Traspasos:Make;Stock:Make;CargaEDI:Make;AdminPV:Make;AdminPV_Server:Make" />
|
||||
</Target>
|
||||
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
|
||||
</Project>
|
||||
2
Source/AdminPVGroup_prjgroup.tvsconfig
Normal file
2
Source/AdminPVGroup_prjgroup.tvsconfig
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0"?>
|
||||
<TgConfig Version="3" SubLevelDisabled="False" />
|
||||
697
Source/ApplicationBase/ApplicationBase.bdsproj
Normal file
697
Source/ApplicationBase/ApplicationBase.bdsproj
Normal file
@ -0,0 +1,697 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<BorlandProject>
|
||||
<PersonalityInfo>
|
||||
<Option>
|
||||
<Option Name="Personality">Delphi.Personality</Option>
|
||||
<Option Name="ProjectType"></Option>
|
||||
<Option Name="Version">1.0</Option>
|
||||
<Option Name="GUID">{14A25028-EC1A-430C-ADE3-13C264E9BAC2}</Option>
|
||||
</Option>
|
||||
</PersonalityInfo>
|
||||
<Delphi.Personality>
|
||||
<Source>
|
||||
<Source Name="MainSource">ApplicationBase.dpk</Source>
|
||||
</Source>
|
||||
<FileVersion>
|
||||
<FileVersion Name="Version">7.0</FileVersion>
|
||||
</FileVersion>
|
||||
<Compiler>
|
||||
<Compiler Name="A">8</Compiler>
|
||||
<Compiler Name="B">0</Compiler>
|
||||
<Compiler Name="C">1</Compiler>
|
||||
<Compiler Name="D">1</Compiler>
|
||||
<Compiler Name="E">0</Compiler>
|
||||
<Compiler Name="F">0</Compiler>
|
||||
<Compiler Name="G">1</Compiler>
|
||||
<Compiler Name="H">1</Compiler>
|
||||
<Compiler Name="I">1</Compiler>
|
||||
<Compiler Name="J">0</Compiler>
|
||||
<Compiler Name="K">0</Compiler>
|
||||
<Compiler Name="L">1</Compiler>
|
||||
<Compiler Name="M">0</Compiler>
|
||||
<Compiler Name="N">1</Compiler>
|
||||
<Compiler Name="O">1</Compiler>
|
||||
<Compiler Name="P">1</Compiler>
|
||||
<Compiler Name="Q">0</Compiler>
|
||||
<Compiler Name="R">0</Compiler>
|
||||
<Compiler Name="S">0</Compiler>
|
||||
<Compiler Name="T">0</Compiler>
|
||||
<Compiler Name="U">0</Compiler>
|
||||
<Compiler Name="V">1</Compiler>
|
||||
<Compiler Name="W">0</Compiler>
|
||||
<Compiler Name="X">1</Compiler>
|
||||
<Compiler Name="Y">1</Compiler>
|
||||
<Compiler Name="Z">1</Compiler>
|
||||
<Compiler Name="ShowHints">True</Compiler>
|
||||
<Compiler Name="ShowWarnings">True</Compiler>
|
||||
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
|
||||
<Compiler Name="NamespacePrefix"></Compiler>
|
||||
<Compiler Name="GenerateDocumentation">False</Compiler>
|
||||
<Compiler Name="DefaultNamespace"></Compiler>
|
||||
<Compiler Name="SymbolDeprecated">True</Compiler>
|
||||
<Compiler Name="SymbolLibrary">True</Compiler>
|
||||
<Compiler Name="SymbolPlatform">True</Compiler>
|
||||
<Compiler Name="SymbolExperimental">True</Compiler>
|
||||
<Compiler Name="UnitLibrary">True</Compiler>
|
||||
<Compiler Name="UnitPlatform">True</Compiler>
|
||||
<Compiler Name="UnitDeprecated">True</Compiler>
|
||||
<Compiler Name="UnitExperimental">True</Compiler>
|
||||
<Compiler Name="HResultCompat">True</Compiler>
|
||||
<Compiler Name="HidingMember">True</Compiler>
|
||||
<Compiler Name="HiddenVirtual">True</Compiler>
|
||||
<Compiler Name="Garbage">True</Compiler>
|
||||
<Compiler Name="BoundsError">True</Compiler>
|
||||
<Compiler Name="ZeroNilCompat">True</Compiler>
|
||||
<Compiler Name="StringConstTruncated">True</Compiler>
|
||||
<Compiler Name="ForLoopVarVarPar">True</Compiler>
|
||||
<Compiler Name="TypedConstVarPar">True</Compiler>
|
||||
<Compiler Name="AsgToTypedConst">True</Compiler>
|
||||
<Compiler Name="CaseLabelRange">True</Compiler>
|
||||
<Compiler Name="ForVariable">True</Compiler>
|
||||
<Compiler Name="ConstructingAbstract">True</Compiler>
|
||||
<Compiler Name="ComparisonFalse">True</Compiler>
|
||||
<Compiler Name="ComparisonTrue">True</Compiler>
|
||||
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
|
||||
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
|
||||
<Compiler Name="UnsupportedConstruct">True</Compiler>
|
||||
<Compiler Name="FileOpen">True</Compiler>
|
||||
<Compiler Name="FileOpenUnitSrc">True</Compiler>
|
||||
<Compiler Name="BadGlobalSymbol">True</Compiler>
|
||||
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
|
||||
<Compiler Name="InvalidDirective">True</Compiler>
|
||||
<Compiler Name="PackageNoLink">True</Compiler>
|
||||
<Compiler Name="PackageThreadVar">True</Compiler>
|
||||
<Compiler Name="ImplicitImport">True</Compiler>
|
||||
<Compiler Name="HPPEMITIgnored">True</Compiler>
|
||||
<Compiler Name="NoRetVal">True</Compiler>
|
||||
<Compiler Name="UseBeforeDef">True</Compiler>
|
||||
<Compiler Name="ForLoopVarUndef">True</Compiler>
|
||||
<Compiler Name="UnitNameMismatch">True</Compiler>
|
||||
<Compiler Name="NoCFGFileFound">True</Compiler>
|
||||
<Compiler Name="ImplicitVariants">True</Compiler>
|
||||
<Compiler Name="UnicodeToLocale">True</Compiler>
|
||||
<Compiler Name="LocaleToUnicode">True</Compiler>
|
||||
<Compiler Name="ImagebaseMultiple">True</Compiler>
|
||||
<Compiler Name="SuspiciousTypecast">True</Compiler>
|
||||
<Compiler Name="PrivatePropAccessor">True</Compiler>
|
||||
<Compiler Name="UnsafeType">False</Compiler>
|
||||
<Compiler Name="UnsafeCode">False</Compiler>
|
||||
<Compiler Name="UnsafeCast">False</Compiler>
|
||||
<Compiler Name="OptionTruncated">True</Compiler>
|
||||
<Compiler Name="WideCharReduced">True</Compiler>
|
||||
<Compiler Name="DuplicatesIgnored">True</Compiler>
|
||||
<Compiler Name="UnitInitSeq">True</Compiler>
|
||||
<Compiler Name="LocalPInvoke">True</Compiler>
|
||||
<Compiler Name="MessageDirective">True</Compiler>
|
||||
<Compiler Name="TypeInfoImplicitlyAdded">True</Compiler>
|
||||
<Compiler Name="XMLWhitespaceNotAllowed">True</Compiler>
|
||||
<Compiler Name="XMLUnknownEntity">True</Compiler>
|
||||
<Compiler Name="XMLInvalidNameStart">True</Compiler>
|
||||
<Compiler Name="XMLInvalidName">True</Compiler>
|
||||
<Compiler Name="XMLExpectedCharacter">True</Compiler>
|
||||
<Compiler Name="XMLCRefNoResolve">True</Compiler>
|
||||
<Compiler Name="XMLNoParm">True</Compiler>
|
||||
<Compiler Name="XMLNoMatchingParm">True</Compiler>
|
||||
<Compiler Name="CodePage"></Compiler>
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Linker Name="MapFile">0</Linker>
|
||||
<Linker Name="OutputObjs">0</Linker>
|
||||
<Linker Name="GenerateHpps">False</Linker>
|
||||
<Linker Name="ConsoleApp">1</Linker>
|
||||
<Linker Name="DebugInfo">False</Linker>
|
||||
<Linker Name="RemoteSymbols">False</Linker>
|
||||
<Linker Name="GenerateDRC">False</Linker>
|
||||
<Linker Name="MinStackSize">16384</Linker>
|
||||
<Linker Name="MaxStackSize">1048576</Linker>
|
||||
<Linker Name="ImageBase">4194304</Linker>
|
||||
<Linker Name="ExeDescription"></Linker>
|
||||
</Linker>
|
||||
<Directories>
|
||||
<Directories Name="OutputDir"></Directories>
|
||||
<Directories Name="UnitOutputDir">.\</Directories>
|
||||
<Directories Name="PackageDLLOutputDir">..\..\..\..\Output\Debug\Cliente</Directories>
|
||||
<Directories Name="PackageDCPOutputDir">..\Lib</Directories>
|
||||
<Directories Name="SearchPath">..\Lib</Directories>
|
||||
<Directories Name="Packages"></Directories>
|
||||
<Directories Name="Conditionals"></Directories>
|
||||
<Directories Name="DebugSourceDirs"></Directories>
|
||||
<Directories Name="UsePackages">False</Directories>
|
||||
</Directories>
|
||||
<Parameters>
|
||||
<Parameters Name="RunParams"></Parameters>
|
||||
<Parameters Name="HostApplication"></Parameters>
|
||||
<Parameters Name="Launcher"></Parameters>
|
||||
<Parameters Name="UseLauncher">False</Parameters>
|
||||
<Parameters Name="DebugCWD"></Parameters>
|
||||
<Parameters Name="Debug Symbols Search Path"></Parameters>
|
||||
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||
</Parameters>
|
||||
<Signing>
|
||||
<Signing Name="SignAssembly">False</Signing>
|
||||
</Signing>
|
||||
<VersionInfo>
|
||||
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||
<VersionInfo Name="MajorVer">1</VersionInfo>
|
||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||
<VersionInfo Name="Release">0</VersionInfo>
|
||||
<VersionInfo Name="Build">0</VersionInfo>
|
||||
<VersionInfo Name="Debug">False</VersionInfo>
|
||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||
<VersionInfo Name="Special">False</VersionInfo>
|
||||
<VersionInfo Name="Private">False</VersionInfo>
|
||||
<VersionInfo Name="DLL">False</VersionInfo>
|
||||
<VersionInfo Name="Locale">3082</VersionInfo>
|
||||
<VersionInfo Name="CodePage">1252</VersionInfo>
|
||||
</VersionInfo>
|
||||
<VersionInfoKeys>
|
||||
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
||||
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
||||
</VersionInfoKeys>
|
||||
<Excluded_Packages>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||
</Excluded_Packages>
|
||||
<buildevents/>
|
||||
</Delphi.Personality>
|
||||
</BorlandProject>
|
||||
|
||||
<!-- EurekaLog First Line
|
||||
[Exception Log]
|
||||
EurekaLog Version=6006
|
||||
Activate=0
|
||||
Activate Handle=1
|
||||
Save Log File=1
|
||||
Foreground Tab=0
|
||||
Freeze Activate=0
|
||||
Freeze Timeout=0
|
||||
SMTP From=eurekalog@email.com
|
||||
SMTP Host=
|
||||
SMTP Port=25
|
||||
SMTP UserID=
|
||||
SMTP Password=
|
||||
Append to Log=0
|
||||
TerminateBtn Operation=2
|
||||
Errors Number=32
|
||||
Errors Terminate=3
|
||||
Email Address=
|
||||
Email Object=
|
||||
Email Send Options=0
|
||||
Output Path=
|
||||
Encrypt Password=
|
||||
AutoCloseDialogSecs=0
|
||||
WebSendMode=0
|
||||
SupportULR=
|
||||
HTMLLayout Count=15
|
||||
HTMLLine0="%3Chtml%3E"
|
||||
HTMLLine1=" %3Chead%3E"
|
||||
HTMLLine2=" %3C/head%3E"
|
||||
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
|
||||
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
|
||||
HTMLLine5=" %3Ctr%3E"
|
||||
HTMLLine6=" %3Ctd nowrap%3E"
|
||||
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
|
||||
HTMLLine8=" %3C%%HTML_TAG%%%3E"
|
||||
HTMLLine9=" %3C/font%3E"
|
||||
HTMLLine10=" %3C/td%3E"
|
||||
HTMLLine11=" %3C/tr%3E"
|
||||
HTMLLine12=" %3C/table%3E"
|
||||
HTMLLine13=" %3C/body%3E"
|
||||
HTMLLine14="%3C/html%3E"
|
||||
AutoCrashOperation=2
|
||||
AutoCrashNumber=10
|
||||
AutoCrashMinutes=1
|
||||
WebURL=
|
||||
WebUserID=
|
||||
WebPassword=
|
||||
WebPort=0
|
||||
AttachedFiles=
|
||||
ProxyURL=
|
||||
ProxyUser=
|
||||
ProxyPassword=
|
||||
ProxyPort=8080
|
||||
TrakerUser=
|
||||
TrakerPassword=
|
||||
TrakerAssignTo=
|
||||
TrakerProject=
|
||||
TrakerCategory=
|
||||
TrakerTrialID=
|
||||
ZipPassword=
|
||||
PreBuildEvent=
|
||||
PostSuccessfulBuildEvent=
|
||||
PostFailureBuildEvent=
|
||||
ExceptionDialogType=2
|
||||
Count=0
|
||||
EMail Message Line Count=0
|
||||
loNoDuplicateErrors=0
|
||||
loAppendReproduceText=0
|
||||
loDeleteLogAtVersionChange=0
|
||||
loAddComputerNameInLogFileName=0
|
||||
loSaveModulesAndProcessesSections=1
|
||||
loSaveAssemblerAndCPUSections=1
|
||||
soAppStartDate=1
|
||||
soAppName=1
|
||||
soAppVersionNumber=1
|
||||
soAppParameters=1
|
||||
soAppCompilationDate=1
|
||||
soAppUpTime=1
|
||||
soExcDate=1
|
||||
soExcAddress=1
|
||||
soExcModuleName=1
|
||||
soExcModuleVersion=1
|
||||
soExcType=1
|
||||
soExcMessage=1
|
||||
soExcID=1
|
||||
soExcCount=1
|
||||
soExcStatus=1
|
||||
soExcNote=1
|
||||
soUserID=1
|
||||
soUserName=1
|
||||
soUserEmail=1
|
||||
soUserPrivileges=1
|
||||
soUserCompany=1
|
||||
soActCtlsFormClass=1
|
||||
soActCtlsFormText=1
|
||||
soActCtlsControlClass=1
|
||||
soActCtlsControlText=1
|
||||
soCmpName=1
|
||||
soCmpTotalMemory=1
|
||||
soCmpFreeMemory=1
|
||||
soCmpTotalDisk=1
|
||||
soCmpFreeDisk=1
|
||||
soCmpSysUpTime=1
|
||||
soCmpProcessor=1
|
||||
soCmpDisplayMode=1
|
||||
soCmpDisplayDPI=1
|
||||
soCmpVideoCard=1
|
||||
soCmpPrinter=1
|
||||
soOSType=1
|
||||
soOSBuildN=1
|
||||
soOSUpdate=1
|
||||
soOSLanguage=1
|
||||
soOSCharset=1
|
||||
soNetIP=1
|
||||
soNetSubmask=1
|
||||
soNetGateway=1
|
||||
soNetDNS1=1
|
||||
soNetDNS2=1
|
||||
soNetDHCP=1
|
||||
soCustomData=1
|
||||
sndShowSendDialog=1
|
||||
sndShowSuccessFailureMsg=0
|
||||
sndSendEntireLog=0
|
||||
sndSendXMLLogCopy=0
|
||||
sndSendScreenshot=1
|
||||
sndUseOnlyActiveWindow=0
|
||||
sndSendLastHTMLPage=1
|
||||
sndSendInSeparatedThread=0
|
||||
sndAddDateInFileName=0
|
||||
sndAddComputerNameInFileName=0
|
||||
edoSendErrorReportChecked=1
|
||||
edoAttachScreenshotChecked=1
|
||||
edoShowCopyToClipOption=1
|
||||
edoShowDetailsButton=1
|
||||
edoShowInDetailedMode=0
|
||||
edoShowInTopMostMode=0
|
||||
edoUseEurekaLogLookAndFeel=0
|
||||
edoShowSendErrorReportOption=1
|
||||
edoShowAttachScreenshotOption=1
|
||||
edoShowCustomButton=0
|
||||
csoShowDLLs=1
|
||||
csoShowBPLs=1
|
||||
csoShowBorlandThreads=1
|
||||
csoShowWindowsThreads=1
|
||||
csoDoNotStoreProcNames=0
|
||||
boPauseBorlandThreads=0
|
||||
boDoNotPauseMainThread=0
|
||||
boPauseWindowsThreads=0
|
||||
boUseMainModuleOptions=1
|
||||
boCopyLogInCaseOfError=1
|
||||
boSaveCompressedCopyInCaseOfError=0
|
||||
boHandleSafeCallExceptions=1
|
||||
boCallRTLExceptionEvent=0
|
||||
boCatchHandledExceptions=0
|
||||
loCatchLeaks=0
|
||||
loGroupsSonLeaks=1
|
||||
loHideBorlandLeaks=1
|
||||
loFreeAllLeaks=1
|
||||
loCatchLeaksExceptions=1
|
||||
cfoReduceFileSize=1
|
||||
cfoCheckFileCorruption=0
|
||||
Count mtInformationMsgCaption=1
|
||||
mtInformationMsgCaption0="Information."
|
||||
Count mtQuestionMsgCaption=1
|
||||
mtQuestionMsgCaption0="Question."
|
||||
Count mtErrorMsgCaption=1
|
||||
mtErrorMsgCaption0="Error."
|
||||
Count mtDialog_Caption=1
|
||||
mtDialog_Caption0="Error occurred"
|
||||
Count mtDialog_ErrorMsgCaption=2
|
||||
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
|
||||
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
|
||||
Count mtDialog_GeneralCaption=1
|
||||
mtDialog_GeneralCaption0="General"
|
||||
Count mtDialog_GeneralHeader=1
|
||||
mtDialog_GeneralHeader0="General Information"
|
||||
Count mtDialog_CallStackCaption=1
|
||||
mtDialog_CallStackCaption0="Call Stack"
|
||||
Count mtDialog_CallStackHeader=1
|
||||
mtDialog_CallStackHeader0="Call Stack Information"
|
||||
Count mtDialog_ModulesCaption=1
|
||||
mtDialog_ModulesCaption0="Modules"
|
||||
Count mtDialog_ModulesHeader=1
|
||||
mtDialog_ModulesHeader0="Modules Information"
|
||||
Count mtDialog_ProcessesCaption=1
|
||||
mtDialog_ProcessesCaption0="Processes"
|
||||
Count mtDialog_ProcessesHeader=1
|
||||
mtDialog_ProcessesHeader0="Processes Information"
|
||||
Count mtDialog_AsmCaption=1
|
||||
mtDialog_AsmCaption0="Assembler"
|
||||
Count mtDialog_AsmHeader=1
|
||||
mtDialog_AsmHeader0="Assembler Information"
|
||||
Count mtDialog_CPUCaption=1
|
||||
mtDialog_CPUCaption0="CPU"
|
||||
Count mtDialog_CPUHeader=1
|
||||
mtDialog_CPUHeader0="CPU Information"
|
||||
Count mtDialog_OKButtonCaption=1
|
||||
mtDialog_OKButtonCaption0="%26OK"
|
||||
Count mtDialog_TerminateButtonCaption=1
|
||||
mtDialog_TerminateButtonCaption0="%26Terminate"
|
||||
Count mtDialog_RestartButtonCaption=1
|
||||
mtDialog_RestartButtonCaption0="%26Restart"
|
||||
Count mtDialog_DetailsButtonCaption=1
|
||||
mtDialog_DetailsButtonCaption0="%26Details"
|
||||
Count mtDialog_CustomButtonCaption=1
|
||||
mtDialog_CustomButtonCaption0="%26Help"
|
||||
Count mtDialog_SendMessage=1
|
||||
mtDialog_SendMessage0="%26Send this error via Internet"
|
||||
Count mtDialog_ScreenshotMessage=1
|
||||
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
|
||||
Count mtDialog_CopyMessage=1
|
||||
mtDialog_CopyMessage0="%26Copy to Clipboard"
|
||||
Count mtDialog_SupportMessage=1
|
||||
mtDialog_SupportMessage0="Go to the Support Page"
|
||||
Count mtMSDialog_ErrorMsgCaption=1
|
||||
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
|
||||
Count mtMSDialog_RestartCaption=1
|
||||
mtMSDialog_RestartCaption0="Restart application."
|
||||
Count mtMSDialog_TerminateCaption=1
|
||||
mtMSDialog_TerminateCaption0="Terminate application."
|
||||
Count mtMSDialog_PleaseCaption=1
|
||||
mtMSDialog_PleaseCaption0="Please tell us about this problem."
|
||||
Count mtMSDialog_DescriptionCaption=1
|
||||
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
|
||||
Count mtMSDialog_SeeDetailsCaption=1
|
||||
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
|
||||
Count mtMSDialog_SeeClickCaption=1
|
||||
mtMSDialog_SeeClickCaption0="click here."
|
||||
Count mtMSDialog_HowToReproduceCaption=1
|
||||
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
|
||||
Count mtMSDialog_EmailCaption=1
|
||||
mtMSDialog_EmailCaption0="Email address (optional):"
|
||||
Count mtMSDialog_SendButtonCaption=1
|
||||
mtMSDialog_SendButtonCaption0="%26Send Error Report"
|
||||
Count mtMSDialog_NoSendButtonCaption=1
|
||||
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
|
||||
Count mtLog_AppHeader=1
|
||||
mtLog_AppHeader0="Application"
|
||||
Count mtLog_AppStartDate=1
|
||||
mtLog_AppStartDate0="Start Date"
|
||||
Count mtLog_AppName=1
|
||||
mtLog_AppName0="Name/Description"
|
||||
Count mtLog_AppVersionNumber=1
|
||||
mtLog_AppVersionNumber0="Version Number"
|
||||
Count mtLog_AppParameters=1
|
||||
mtLog_AppParameters0="Parameters"
|
||||
Count mtLog_AppCompilationDate=1
|
||||
mtLog_AppCompilationDate0="Compilation Date"
|
||||
Count mtLog_AppUpTime=1
|
||||
mtLog_AppUpTime0="Up Time"
|
||||
Count mtLog_ExcHeader=1
|
||||
mtLog_ExcHeader0="Exception"
|
||||
Count mtLog_ExcDate=1
|
||||
mtLog_ExcDate0="Date"
|
||||
Count mtLog_ExcAddress=1
|
||||
mtLog_ExcAddress0="Address"
|
||||
Count mtLog_ExcModuleName=1
|
||||
mtLog_ExcModuleName0="Module Name"
|
||||
Count mtLog_ExcModuleVersion=1
|
||||
mtLog_ExcModuleVersion0="Module Version"
|
||||
Count mtLog_ExcType=1
|
||||
mtLog_ExcType0="Type"
|
||||
Count mtLog_ExcMessage=1
|
||||
mtLog_ExcMessage0="Message"
|
||||
Count mtLog_ExcID=1
|
||||
mtLog_ExcID0="ID"
|
||||
Count mtLog_ExcCount=1
|
||||
mtLog_ExcCount0="Count"
|
||||
Count mtLog_ExcStatus=1
|
||||
mtLog_ExcStatus0="Status"
|
||||
Count mtLog_ExcNote=1
|
||||
mtLog_ExcNote0="Note"
|
||||
Count mtLog_UserHeader=1
|
||||
mtLog_UserHeader0="User"
|
||||
Count mtLog_UserID=1
|
||||
mtLog_UserID0="ID"
|
||||
Count mtLog_UserName=1
|
||||
mtLog_UserName0="Name"
|
||||
Count mtLog_UserEmail=1
|
||||
mtLog_UserEmail0="Email"
|
||||
Count mtLog_UserCompany=1
|
||||
mtLog_UserCompany0="Company"
|
||||
Count mtLog_UserPrivileges=1
|
||||
mtLog_UserPrivileges0="Privileges"
|
||||
Count mtLog_ActCtrlsHeader=1
|
||||
mtLog_ActCtrlsHeader0="Active Controls"
|
||||
Count mtLog_ActCtrlsFormClass=1
|
||||
mtLog_ActCtrlsFormClass0="Form Class"
|
||||
Count mtLog_ActCtrlsFormText=1
|
||||
mtLog_ActCtrlsFormText0="Form Text"
|
||||
Count mtLog_ActCtrlsControlClass=1
|
||||
mtLog_ActCtrlsControlClass0="Control Class"
|
||||
Count mtLog_ActCtrlsControlText=1
|
||||
mtLog_ActCtrlsControlText0="Control Text"
|
||||
Count mtLog_CmpHeader=1
|
||||
mtLog_CmpHeader0="Computer"
|
||||
Count mtLog_CmpName=1
|
||||
mtLog_CmpName0="Name"
|
||||
Count mtLog_CmpTotalMemory=1
|
||||
mtLog_CmpTotalMemory0="Total Memory"
|
||||
Count mtLog_CmpFreeMemory=1
|
||||
mtLog_CmpFreeMemory0="Free Memory"
|
||||
Count mtLog_CmpTotalDisk=1
|
||||
mtLog_CmpTotalDisk0="Total Disk"
|
||||
Count mtLog_CmpFreeDisk=1
|
||||
mtLog_CmpFreeDisk0="Free Disk"
|
||||
Count mtLog_CmpSystemUpTime=1
|
||||
mtLog_CmpSystemUpTime0="System Up Time"
|
||||
Count mtLog_CmpProcessor=1
|
||||
mtLog_CmpProcessor0="Processor"
|
||||
Count mtLog_CmpDisplayMode=1
|
||||
mtLog_CmpDisplayMode0="Display Mode"
|
||||
Count mtLog_CmpDisplayDPI=1
|
||||
mtLog_CmpDisplayDPI0="Display DPI"
|
||||
Count mtLog_CmpVideoCard=1
|
||||
mtLog_CmpVideoCard0="Video Card"
|
||||
Count mtLog_CmpPrinter=1
|
||||
mtLog_CmpPrinter0="Printer"
|
||||
Count mtLog_OSHeader=1
|
||||
mtLog_OSHeader0="Operating System"
|
||||
Count mtLog_OSType=1
|
||||
mtLog_OSType0="Type"
|
||||
Count mtLog_OSBuildN=1
|
||||
mtLog_OSBuildN0="Build #"
|
||||
Count mtLog_OSUpdate=1
|
||||
mtLog_OSUpdate0="Update"
|
||||
Count mtLog_OSLanguage=1
|
||||
mtLog_OSLanguage0="Language"
|
||||
Count mtLog_OSCharset=1
|
||||
mtLog_OSCharset0="Charset"
|
||||
Count mtLog_NetHeader=1
|
||||
mtLog_NetHeader0="Network"
|
||||
Count mtLog_NetIP=1
|
||||
mtLog_NetIP0="IP Address"
|
||||
Count mtLog_NetSubmask=1
|
||||
mtLog_NetSubmask0="Submask"
|
||||
Count mtLog_NetGateway=1
|
||||
mtLog_NetGateway0="Gateway"
|
||||
Count mtLog_NetDNS1=1
|
||||
mtLog_NetDNS10="DNS 1"
|
||||
Count mtLog_NetDNS2=1
|
||||
mtLog_NetDNS20="DNS 2"
|
||||
Count mtLog_NetDHCP=1
|
||||
mtLog_NetDHCP0="DHCP"
|
||||
Count mtLog_CustInfoHeader=1
|
||||
mtLog_CustInfoHeader0="Custom Information"
|
||||
Count mtCallStack_Address=1
|
||||
mtCallStack_Address0="Address"
|
||||
Count mtCallStack_Name=1
|
||||
mtCallStack_Name0="Module"
|
||||
Count mtCallStack_Unit=1
|
||||
mtCallStack_Unit0="Unit"
|
||||
Count mtCallStack_Class=1
|
||||
mtCallStack_Class0="Class"
|
||||
Count mtCallStack_Procedure=1
|
||||
mtCallStack_Procedure0="Procedure/Method"
|
||||
Count mtCallStack_Line=1
|
||||
mtCallStack_Line0="Line"
|
||||
Count mtCallStack_MainThread=1
|
||||
mtCallStack_MainThread0="Main"
|
||||
Count mtCallStack_ExceptionThread=1
|
||||
mtCallStack_ExceptionThread0="Exception Thread"
|
||||
Count mtCallStack_RunningThread=1
|
||||
mtCallStack_RunningThread0="Running Thread"
|
||||
Count mtCallStack_CallingThread=1
|
||||
mtCallStack_CallingThread0="Calling Thread"
|
||||
Count mtCallStack_ThreadID=1
|
||||
mtCallStack_ThreadID0="ID"
|
||||
Count mtCallStack_ThreadPriority=1
|
||||
mtCallStack_ThreadPriority0="Priority"
|
||||
Count mtCallStack_ThreadClass=1
|
||||
mtCallStack_ThreadClass0="Class"
|
||||
Count mtCallStack_LeakCaption=1
|
||||
mtCallStack_LeakCaption0="Memory Leak"
|
||||
Count mtCallStack_LeakData=1
|
||||
mtCallStack_LeakData0="Data"
|
||||
Count mtCallStack_LeakType=1
|
||||
mtCallStack_LeakType0="Type"
|
||||
Count mtCallStack_LeakSize=1
|
||||
mtCallStack_LeakSize0="Total size"
|
||||
Count mtCallStack_LeakCount=1
|
||||
mtCallStack_LeakCount0="Count"
|
||||
Count mtSendDialog_Caption=1
|
||||
mtSendDialog_Caption0="Send."
|
||||
Count mtSendDialog_Message=1
|
||||
mtSendDialog_Message0="Message"
|
||||
Count mtSendDialog_Resolving=1
|
||||
mtSendDialog_Resolving0="Resolving DNS..."
|
||||
Count mtSendDialog_Login=1
|
||||
mtSendDialog_Login0="Login..."
|
||||
Count mtSendDialog_Connecting=1
|
||||
mtSendDialog_Connecting0="Connecting with server..."
|
||||
Count mtSendDialog_Connected=1
|
||||
mtSendDialog_Connected0="Connected with server."
|
||||
Count mtSendDialog_Sending=1
|
||||
mtSendDialog_Sending0="Sending message..."
|
||||
Count mtSendDialog_Sent=1
|
||||
mtSendDialog_Sent0="Message sent."
|
||||
Count mtSendDialog_SelectProject=1
|
||||
mtSendDialog_SelectProject0="Select project..."
|
||||
Count mtSendDialog_Searching=1
|
||||
mtSendDialog_Searching0="Searching..."
|
||||
Count mtSendDialog_Modifying=1
|
||||
mtSendDialog_Modifying0="Modifying..."
|
||||
Count mtSendDialog_Disconnecting=1
|
||||
mtSendDialog_Disconnecting0="Disconnecting..."
|
||||
Count mtSendDialog_Disconnected=1
|
||||
mtSendDialog_Disconnected0="Disconnected."
|
||||
Count mtReproduceDialog_Caption=1
|
||||
mtReproduceDialog_Caption0="Request"
|
||||
Count mtReproduceDialog_Request=1
|
||||
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
|
||||
Count mtReproduceDialog_OKButtonCaption=1
|
||||
mtReproduceDialog_OKButtonCaption0="%26OK"
|
||||
Count mtModules_Handle=1
|
||||
mtModules_Handle0="Handle"
|
||||
Count mtModules_Name=1
|
||||
mtModules_Name0="Name"
|
||||
Count mtModules_Description=1
|
||||
mtModules_Description0="Description"
|
||||
Count mtModules_Version=1
|
||||
mtModules_Version0="Version"
|
||||
Count mtModules_Size=1
|
||||
mtModules_Size0="Size"
|
||||
Count mtModules_LastModified=1
|
||||
mtModules_LastModified0="Modified"
|
||||
Count mtModules_Path=1
|
||||
mtModules_Path0="Path"
|
||||
Count mtProcesses_ID=1
|
||||
mtProcesses_ID0="ID"
|
||||
Count mtProcesses_Name=1
|
||||
mtProcesses_Name0="Name"
|
||||
Count mtProcesses_Description=1
|
||||
mtProcesses_Description0="Description"
|
||||
Count mtProcesses_Version=1
|
||||
mtProcesses_Version0="Version"
|
||||
Count mtProcesses_Memory=1
|
||||
mtProcesses_Memory0="Memory"
|
||||
Count mtProcesses_Priority=1
|
||||
mtProcesses_Priority0="Priority"
|
||||
Count mtProcesses_Threads=1
|
||||
mtProcesses_Threads0="Threads"
|
||||
Count mtProcesses_Path=1
|
||||
mtProcesses_Path0="Path"
|
||||
Count mtCPU_Registers=1
|
||||
mtCPU_Registers0="Registers"
|
||||
Count mtCPU_Stack=1
|
||||
mtCPU_Stack0="Stack"
|
||||
Count mtCPU_MemoryDump=1
|
||||
mtCPU_MemoryDump0="Memory Dump"
|
||||
Count mtSend_SuccessMsg=1
|
||||
mtSend_SuccessMsg0="The message was sent successfully."
|
||||
Count mtSend_FailureMsg=1
|
||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
||||
Count mtSend_BugClosedMsg=2
|
||||
mtSend_BugClosedMsg0="These BUG is just closed."
|
||||
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
|
||||
Count mtSend_UnknownErrorMsg=1
|
||||
mtSend_UnknownErrorMsg0="Unknown error."
|
||||
Count mtSend_InvalidLoginMsg=1
|
||||
mtSend_InvalidLoginMsg0="Invalid login request."
|
||||
Count mtSend_InvalidSearchMsg=1
|
||||
mtSend_InvalidSearchMsg0="Invalid search request."
|
||||
Count mtSend_InvalidSelectionMsg=1
|
||||
mtSend_InvalidSelectionMsg0="Invalid selection request."
|
||||
Count mtSend_InvalidInsertMsg=1
|
||||
mtSend_InvalidInsertMsg0="Invalid insert request."
|
||||
Count mtSend_InvalidModifyMsg=1
|
||||
mtSend_InvalidModifyMsg0="Invalid modify request."
|
||||
Count mtFileCrackedMsg=2
|
||||
mtFileCrackedMsg0="This file is cracked."
|
||||
mtFileCrackedMsg1="The application will be closed."
|
||||
Count mtException_LeakMultiFree=1
|
||||
mtException_LeakMultiFree0="Multi Free memory leak."
|
||||
Count mtException_LeakMemoryOverrun=1
|
||||
mtException_LeakMemoryOverrun0="Memory Overrun leak."
|
||||
Count mtException_AntiFreeze=1
|
||||
mtException_AntiFreeze0="The application seems to be frozen."
|
||||
Count mtInvalidEmailMsg=1
|
||||
mtInvalidEmailMsg0="Invalid email."
|
||||
TextsCollection=English
|
||||
EurekaLog Last Line -->
|
||||
40
Source/ApplicationBase/ApplicationBase.cfg
Normal file
40
Source/ApplicationBase/ApplicationBase.cfg
Normal file
@ -0,0 +1,40 @@
|
||||
-$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
|
||||
-N0".\"
|
||||
-LE"..\..\..\..\Output\Debug\Cliente"
|
||||
-LN"..\Lib"
|
||||
-U"..\Lib"
|
||||
-O"..\Lib"
|
||||
-I"..\Lib"
|
||||
-R"..\Lib"
|
||||
63
Source/ApplicationBase/ApplicationBase.dpk
Normal file
63
Source/ApplicationBase/ApplicationBase.dpk
Normal file
@ -0,0 +1,63 @@
|
||||
package ApplicationBase;
|
||||
|
||||
{$R *.res}
|
||||
{$ALIGN 8}
|
||||
{$ASSERTIONS ON}
|
||||
{$BOOLEVAL OFF}
|
||||
{$DEBUGINFO ON}
|
||||
{$EXTENDEDSYNTAX ON}
|
||||
{$IMPORTEDDATA ON}
|
||||
{$IOCHECKS ON}
|
||||
{$LOCALSYMBOLS ON}
|
||||
{$LONGSTRINGS ON}
|
||||
{$OPENSTRINGS ON}
|
||||
{$OPTIMIZATION OFF}
|
||||
{$OVERFLOWCHECKS OFF}
|
||||
{$RANGECHECKS OFF}
|
||||
{$REFERENCEINFO ON}
|
||||
{$SAFEDIVIDE OFF}
|
||||
{$STACKFRAMES ON}
|
||||
{$TYPEDADDRESS OFF}
|
||||
{$VARSTRINGCHECKS ON}
|
||||
{$WRITEABLECONST OFF}
|
||||
{$MINENUMSIZE 1}
|
||||
{$IMAGEBASE $400000}
|
||||
{$IMPLICITBUILD OFF}
|
||||
{$DEFINE DEBUG}
|
||||
|
||||
requires
|
||||
rtl,
|
||||
vcl,
|
||||
dbrtl,
|
||||
PLuginSDK_D10R,
|
||||
BaseD10,
|
||||
pckMD5,
|
||||
pckUserControl_RT;
|
||||
|
||||
contains
|
||||
uAdminPV_App in 'uAdminPV_App.pas',
|
||||
uIDataModuleUsuarios in 'Usuarios\Model\Data\uIDataModuleUsuarios.pas',
|
||||
uDataModuleUsuarios in 'Usuarios\Data\uDataModuleUsuarios.pas' {DataModuleUsuarios},
|
||||
uUCROConn in 'Usuarios\Data\uUCROConn.pas',
|
||||
uUsuariosController in 'Usuarios\Controller\uUsuariosController.pas',
|
||||
uBizUsuarios in 'Usuarios\Model\uBizUsuarios.pas',
|
||||
uIEditorLogin in 'Usuarios\Controller\View\uIEditorLogin.pas',
|
||||
uEditorLogin in 'Usuarios\Views\uEditorLogin.pas' {fEditorLogin},
|
||||
uUsuariosViewRegister in 'Usuarios\Views\uUsuariosViewRegister.pas',
|
||||
uViewPerfilesUsuario in 'Usuarios\Views\uViewPerfilesUsuario.pas' {frViewPerfilesUsuario: TFrame},
|
||||
uEditorPerfilesUsuario in 'Usuarios\Views\uEditorPerfilesUsuario.pas' {fEditorPerfilesUsuario},
|
||||
uIEditorUsuarios in 'Usuarios\Controller\View\uIEditorUsuarios.pas',
|
||||
uEditorPerfilUsuario in 'Usuarios\Views\uEditorPerfilUsuario.pas' {fEditorPerfilUsuario},
|
||||
uIEditorUsuario in 'Usuarios\Controller\View\uIEditorUsuario.pas',
|
||||
uViewPerfilUsuario in 'Usuarios\Views\uViewPerfilUsuario.pas' {frViewPerfilUsuario: TFrame},
|
||||
uIEditorPerfilesUsuario in 'Usuarios\Controller\View\uIEditorPerfilesUsuario.pas',
|
||||
uIEditorPerfilUsuario in 'Usuarios\Controller\View\uIEditorPerfilUsuario.pas',
|
||||
uEditorUsuarios in 'Usuarios\Views\uEditorUsuarios.pas' {fEditorUsuarios},
|
||||
uViewUsuarios in 'Usuarios\Views\uViewUsuarios.pas' {frViewUsuarios: TFrame},
|
||||
uEditorUsuario in 'Usuarios\Views\uEditorUsuario.pas' {fEditorUsuario: TFrame},
|
||||
uViewUsuario in 'Usuarios\Views\uViewUsuario.pas' {frViewUsuario: TFrame},
|
||||
uEditorCambiarPassword in 'Usuarios\Views\uEditorCambiarPassword.pas' {fEditorCambiarPassword},
|
||||
schUsuariosClient_Intf in 'Usuarios\Model\schUsuariosClient_Intf.pas',
|
||||
schUsuariosServer_Intf in 'Usuarios\Model\schUsuariosServer_Intf.pas';
|
||||
|
||||
end.
|
||||
625
Source/ApplicationBase/ApplicationBase.dproj
Normal file
625
Source/ApplicationBase/ApplicationBase.dproj
Normal file
@ -0,0 +1,625 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{14a25028-ec1a-430c-ade3-13c264e9bac2}</ProjectGuid>
|
||||
<MainSource>ApplicationBase.dpk</MainSource>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\ApplicationBase.bpl</DCC_DependencyCheckOutputName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
<DCC_DebugInformation>False</DCC_DebugInformation>
|
||||
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
||||
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
||||
<DCC_BplOutput>..\..\Output\Release\Cliente</DCC_BplOutput>
|
||||
<DCC_DcpOutput>..\Lib</DCC_DcpOutput>
|
||||
<DCC_UnitSearchPath>..\Lib</DCC_UnitSearchPath>
|
||||
<DCC_ResourcePath>..\Lib</DCC_ResourcePath>
|
||||
<DCC_ObjPath>..\Lib</DCC_ObjPath>
|
||||
<DCC_IncludePath>..\Lib</DCC_IncludePath>
|
||||
<DCC_Define>RELEASE</DCC_Define>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
||||
<DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput>
|
||||
<DCC_DcpOutput>..\Lib</DCC_DcpOutput>
|
||||
<DCC_UnitSearchPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_UnitSearchPath>
|
||||
<DCC_ResourcePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_ResourcePath>
|
||||
<DCC_ObjPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_ObjPath>
|
||||
<DCC_IncludePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_IncludePath>
|
||||
<DCC_Define>DEBUG</DCC_Define>
|
||||
<DCC_Optimize>False</DCC_Optimize>
|
||||
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
|
||||
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
|
||||
<DCC_DebugVN>True</DCC_DebugVN>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||
<Borland.ProjectType>Package</Borland.ProjectType>
|
||||
<BorlandProject>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||
</Excluded_Packages><Source><Source Name="MainSource">ApplicationBase.dpk</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
|
||||
</ProjectExtensions>
|
||||
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||
<ItemGroup>
|
||||
<DelphiCompile Include="ApplicationBase.dpk">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="Empresas\Data\uDataModuleEmpresas.pas">
|
||||
<Form>DataModuleEmpresasObj</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Empresas\Model\Data\uIDataModuleEmpresas.pas" />
|
||||
<DCCReference Include="Empresas\Model\schEmpresasClient_Intf.pas" />
|
||||
<DCCReference Include="Empresas\Model\schEmpresasServer_Intf.pas" />
|
||||
<DCCReference Include="Empresas\Model\uBizEmpresas.pas" />
|
||||
<DCCReference Include="Empresas\Model\uBizEmpresasDatosBancarios.pas" />
|
||||
<DCCReference Include="Empresas\Views\uEditorDatosBancariosEmpresa.pas" />
|
||||
<DCCReference Include="Empresas\Views\uEditorEmpresa.pas" />
|
||||
<DCCReference Include="Empresas\Views\uEmpresasViewRegister.pas" />
|
||||
<DCCReference Include="Empresas\Views\uViewDatosBancarios.pas" />
|
||||
<DCCReference Include="Empresas\Views\uViewEmpresa.pas" />
|
||||
<DCCReference Include="uAdminPV_App.pas" />
|
||||
<DCCReference Include="Usuarios\Controller\uUsuariosController.pas" />
|
||||
<DCCReference Include="Usuarios\Controller\View\uIEditorLogin.pas" />
|
||||
<DCCReference Include="Usuarios\Controller\View\uIEditorPerfilesUsuario.pas" />
|
||||
<DCCReference Include="Usuarios\Controller\View\uIEditorPerfilUsuario.pas" />
|
||||
<DCCReference Include="Usuarios\Controller\View\uIEditorUsuario.pas" />
|
||||
<DCCReference Include="Usuarios\Controller\View\uIEditorUsuarios.pas" />
|
||||
<DCCReference Include="Usuarios\Data\uDataModuleUsuarios.pas">
|
||||
<Form>DataModuleUsuarios</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Data\uUCROConn.pas" />
|
||||
<DCCReference Include="Usuarios\Model\BaseD10.dcp" />
|
||||
<DCCReference Include="Usuarios\Model\Data\uIDataModuleUsuarios.pas" />
|
||||
<DCCReference Include="Usuarios\Model\dbrtl.dcp" />
|
||||
<DCCReference Include="Usuarios\Model\pckMD5.dcp" />
|
||||
<DCCReference Include="Usuarios\Model\pckUserControl_RT.dcp" />
|
||||
<DCCReference Include="Usuarios\Model\PLuginSDK_D10R.dcp" />
|
||||
<DCCReference Include="Usuarios\Model\rtl.dcp" />
|
||||
<DCCReference Include="Usuarios\Model\schUsuariosClient_Intf.pas" />
|
||||
<DCCReference Include="Usuarios\Model\schUsuariosServer_Intf.pas" />
|
||||
<DCCReference Include="Usuarios\Model\uBizUsuarios.pas" />
|
||||
<DCCReference Include="Usuarios\Model\vcl.dcp" />
|
||||
<DCCReference Include="Usuarios\Views\uEditorCambiarPassword.pas">
|
||||
<Form>fEditorCambiarPassword</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Views\uEditorLogin.pas">
|
||||
<Form>fEditorLogin</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Views\uEditorPerfilesUsuario.pas">
|
||||
<Form>fEditorPerfilesUsuario</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Views\uEditorPerfilUsuario.pas">
|
||||
<Form>fEditorPerfilUsuario</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Views\uEditorUsuario.pas">
|
||||
<Form>fEditorUsuario</Form>
|
||||
<DesignClass>TFrame</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Views\uEditorUsuarios.pas">
|
||||
<Form>fEditorUsuarios</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Views\uUsuariosViewRegister.pas" />
|
||||
<DCCReference Include="Usuarios\Views\uViewPerfilesUsuario.pas">
|
||||
<Form>frViewPerfilesUsuario</Form>
|
||||
<DesignClass>TFrame</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Views\uViewPerfilUsuario.pas">
|
||||
<Form>frViewPerfilUsuario</Form>
|
||||
<DesignClass>TFrame</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Views\uViewUsuario.pas">
|
||||
<Form>frViewUsuario</Form>
|
||||
<DesignClass>TFrame</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Usuarios\Views\uViewUsuarios.pas">
|
||||
<Form>frViewUsuarios</Form>
|
||||
<DesignClass>TFrame</DesignClass>
|
||||
</DCCReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
<!-- EurekaLog First Line
|
||||
[Exception Log]
|
||||
EurekaLog Version=6006
|
||||
Activate=0
|
||||
Activate Handle=1
|
||||
Save Log File=1
|
||||
Foreground Tab=0
|
||||
Freeze Activate=0
|
||||
Freeze Timeout=0
|
||||
SMTP From=eurekalog@email.com
|
||||
SMTP Host=
|
||||
SMTP Port=25
|
||||
SMTP UserID=
|
||||
SMTP Password=
|
||||
Append to Log=0
|
||||
TerminateBtn Operation=2
|
||||
Errors Number=32
|
||||
Errors Terminate=3
|
||||
Email Address=
|
||||
Email Object=
|
||||
Email Send Options=0
|
||||
Output Path=
|
||||
Encrypt Password=
|
||||
AutoCloseDialogSecs=0
|
||||
WebSendMode=0
|
||||
SupportULR=
|
||||
HTMLLayout Count=15
|
||||
HTMLLine0="%3Chtml%3E"
|
||||
HTMLLine1=" %3Chead%3E"
|
||||
HTMLLine2=" %3C/head%3E"
|
||||
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
|
||||
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
|
||||
HTMLLine5=" %3Ctr%3E"
|
||||
HTMLLine6=" %3Ctd nowrap%3E"
|
||||
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
|
||||
HTMLLine8=" %3C%%HTML_TAG%%%3E"
|
||||
HTMLLine9=" %3C/font%3E"
|
||||
HTMLLine10=" %3C/td%3E"
|
||||
HTMLLine11=" %3C/tr%3E"
|
||||
HTMLLine12=" %3C/table%3E"
|
||||
HTMLLine13=" %3C/body%3E"
|
||||
HTMLLine14="%3C/html%3E"
|
||||
AutoCrashOperation=2
|
||||
AutoCrashNumber=10
|
||||
AutoCrashMinutes=1
|
||||
WebURL=
|
||||
WebUserID=
|
||||
WebPassword=
|
||||
WebPort=0
|
||||
AttachedFiles=
|
||||
ProxyURL=
|
||||
ProxyUser=
|
||||
ProxyPassword=
|
||||
ProxyPort=8080
|
||||
TrakerUser=
|
||||
TrakerPassword=
|
||||
TrakerAssignTo=
|
||||
TrakerProject=
|
||||
TrakerCategory=
|
||||
TrakerTrialID=
|
||||
ZipPassword=
|
||||
PreBuildEvent=
|
||||
PostSuccessfulBuildEvent=
|
||||
PostFailureBuildEvent=
|
||||
ExceptionDialogType=2
|
||||
Count=0
|
||||
EMail Message Line Count=0
|
||||
loNoDuplicateErrors=0
|
||||
loAppendReproduceText=0
|
||||
loDeleteLogAtVersionChange=0
|
||||
loAddComputerNameInLogFileName=0
|
||||
loSaveModulesAndProcessesSections=1
|
||||
loSaveAssemblerAndCPUSections=1
|
||||
soAppStartDate=1
|
||||
soAppName=1
|
||||
soAppVersionNumber=1
|
||||
soAppParameters=1
|
||||
soAppCompilationDate=1
|
||||
soAppUpTime=1
|
||||
soExcDate=1
|
||||
soExcAddress=1
|
||||
soExcModuleName=1
|
||||
soExcModuleVersion=1
|
||||
soExcType=1
|
||||
soExcMessage=1
|
||||
soExcID=1
|
||||
soExcCount=1
|
||||
soExcStatus=1
|
||||
soExcNote=1
|
||||
soUserID=1
|
||||
soUserName=1
|
||||
soUserEmail=1
|
||||
soUserPrivileges=1
|
||||
soUserCompany=1
|
||||
soActCtlsFormClass=1
|
||||
soActCtlsFormText=1
|
||||
soActCtlsControlClass=1
|
||||
soActCtlsControlText=1
|
||||
soCmpName=1
|
||||
soCmpTotalMemory=1
|
||||
soCmpFreeMemory=1
|
||||
soCmpTotalDisk=1
|
||||
soCmpFreeDisk=1
|
||||
soCmpSysUpTime=1
|
||||
soCmpProcessor=1
|
||||
soCmpDisplayMode=1
|
||||
soCmpDisplayDPI=1
|
||||
soCmpVideoCard=1
|
||||
soCmpPrinter=1
|
||||
soOSType=1
|
||||
soOSBuildN=1
|
||||
soOSUpdate=1
|
||||
soOSLanguage=1
|
||||
soOSCharset=1
|
||||
soNetIP=1
|
||||
soNetSubmask=1
|
||||
soNetGateway=1
|
||||
soNetDNS1=1
|
||||
soNetDNS2=1
|
||||
soNetDHCP=1
|
||||
soCustomData=1
|
||||
sndShowSendDialog=1
|
||||
sndShowSuccessFailureMsg=0
|
||||
sndSendEntireLog=0
|
||||
sndSendXMLLogCopy=0
|
||||
sndSendScreenshot=1
|
||||
sndUseOnlyActiveWindow=0
|
||||
sndSendLastHTMLPage=1
|
||||
sndSendInSeparatedThread=0
|
||||
sndAddDateInFileName=0
|
||||
sndAddComputerNameInFileName=0
|
||||
edoSendErrorReportChecked=1
|
||||
edoAttachScreenshotChecked=1
|
||||
edoShowCopyToClipOption=1
|
||||
edoShowDetailsButton=1
|
||||
edoShowInDetailedMode=0
|
||||
edoShowInTopMostMode=0
|
||||
edoUseEurekaLogLookAndFeel=0
|
||||
edoShowSendErrorReportOption=1
|
||||
edoShowAttachScreenshotOption=1
|
||||
edoShowCustomButton=0
|
||||
csoShowDLLs=1
|
||||
csoShowBPLs=1
|
||||
csoShowBorlandThreads=1
|
||||
csoShowWindowsThreads=1
|
||||
csoDoNotStoreProcNames=0
|
||||
boPauseBorlandThreads=0
|
||||
boDoNotPauseMainThread=0
|
||||
boPauseWindowsThreads=0
|
||||
boUseMainModuleOptions=1
|
||||
boCopyLogInCaseOfError=1
|
||||
boSaveCompressedCopyInCaseOfError=0
|
||||
boHandleSafeCallExceptions=1
|
||||
boCallRTLExceptionEvent=0
|
||||
boCatchHandledExceptions=0
|
||||
loCatchLeaks=0
|
||||
loGroupsSonLeaks=1
|
||||
loHideBorlandLeaks=1
|
||||
loFreeAllLeaks=1
|
||||
loCatchLeaksExceptions=1
|
||||
cfoReduceFileSize=1
|
||||
cfoCheckFileCorruption=0
|
||||
Count mtInformationMsgCaption=1
|
||||
mtInformationMsgCaption0="Information."
|
||||
Count mtQuestionMsgCaption=1
|
||||
mtQuestionMsgCaption0="Question."
|
||||
Count mtErrorMsgCaption=1
|
||||
mtErrorMsgCaption0="Error."
|
||||
Count mtDialog_Caption=1
|
||||
mtDialog_Caption0="Error occurred"
|
||||
Count mtDialog_ErrorMsgCaption=2
|
||||
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
|
||||
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
|
||||
Count mtDialog_GeneralCaption=1
|
||||
mtDialog_GeneralCaption0="General"
|
||||
Count mtDialog_GeneralHeader=1
|
||||
mtDialog_GeneralHeader0="General Information"
|
||||
Count mtDialog_CallStackCaption=1
|
||||
mtDialog_CallStackCaption0="Call Stack"
|
||||
Count mtDialog_CallStackHeader=1
|
||||
mtDialog_CallStackHeader0="Call Stack Information"
|
||||
Count mtDialog_ModulesCaption=1
|
||||
mtDialog_ModulesCaption0="Modules"
|
||||
Count mtDialog_ModulesHeader=1
|
||||
mtDialog_ModulesHeader0="Modules Information"
|
||||
Count mtDialog_ProcessesCaption=1
|
||||
mtDialog_ProcessesCaption0="Processes"
|
||||
Count mtDialog_ProcessesHeader=1
|
||||
mtDialog_ProcessesHeader0="Processes Information"
|
||||
Count mtDialog_AsmCaption=1
|
||||
mtDialog_AsmCaption0="Assembler"
|
||||
Count mtDialog_AsmHeader=1
|
||||
mtDialog_AsmHeader0="Assembler Information"
|
||||
Count mtDialog_CPUCaption=1
|
||||
mtDialog_CPUCaption0="CPU"
|
||||
Count mtDialog_CPUHeader=1
|
||||
mtDialog_CPUHeader0="CPU Information"
|
||||
Count mtDialog_OKButtonCaption=1
|
||||
mtDialog_OKButtonCaption0="%26OK"
|
||||
Count mtDialog_TerminateButtonCaption=1
|
||||
mtDialog_TerminateButtonCaption0="%26Terminate"
|
||||
Count mtDialog_RestartButtonCaption=1
|
||||
mtDialog_RestartButtonCaption0="%26Restart"
|
||||
Count mtDialog_DetailsButtonCaption=1
|
||||
mtDialog_DetailsButtonCaption0="%26Details"
|
||||
Count mtDialog_CustomButtonCaption=1
|
||||
mtDialog_CustomButtonCaption0="%26Help"
|
||||
Count mtDialog_SendMessage=1
|
||||
mtDialog_SendMessage0="%26Send this error via Internet"
|
||||
Count mtDialog_ScreenshotMessage=1
|
||||
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
|
||||
Count mtDialog_CopyMessage=1
|
||||
mtDialog_CopyMessage0="%26Copy to Clipboard"
|
||||
Count mtDialog_SupportMessage=1
|
||||
mtDialog_SupportMessage0="Go to the Support Page"
|
||||
Count mtMSDialog_ErrorMsgCaption=1
|
||||
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
|
||||
Count mtMSDialog_RestartCaption=1
|
||||
mtMSDialog_RestartCaption0="Restart application."
|
||||
Count mtMSDialog_TerminateCaption=1
|
||||
mtMSDialog_TerminateCaption0="Terminate application."
|
||||
Count mtMSDialog_PleaseCaption=1
|
||||
mtMSDialog_PleaseCaption0="Please tell us about this problem."
|
||||
Count mtMSDialog_DescriptionCaption=1
|
||||
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
|
||||
Count mtMSDialog_SeeDetailsCaption=1
|
||||
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
|
||||
Count mtMSDialog_SeeClickCaption=1
|
||||
mtMSDialog_SeeClickCaption0="click here."
|
||||
Count mtMSDialog_HowToReproduceCaption=1
|
||||
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
|
||||
Count mtMSDialog_EmailCaption=1
|
||||
mtMSDialog_EmailCaption0="Email address (optional):"
|
||||
Count mtMSDialog_SendButtonCaption=1
|
||||
mtMSDialog_SendButtonCaption0="%26Send Error Report"
|
||||
Count mtMSDialog_NoSendButtonCaption=1
|
||||
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
|
||||
Count mtLog_AppHeader=1
|
||||
mtLog_AppHeader0="Application"
|
||||
Count mtLog_AppStartDate=1
|
||||
mtLog_AppStartDate0="Start Date"
|
||||
Count mtLog_AppName=1
|
||||
mtLog_AppName0="Name/Description"
|
||||
Count mtLog_AppVersionNumber=1
|
||||
mtLog_AppVersionNumber0="Version Number"
|
||||
Count mtLog_AppParameters=1
|
||||
mtLog_AppParameters0="Parameters"
|
||||
Count mtLog_AppCompilationDate=1
|
||||
mtLog_AppCompilationDate0="Compilation Date"
|
||||
Count mtLog_AppUpTime=1
|
||||
mtLog_AppUpTime0="Up Time"
|
||||
Count mtLog_ExcHeader=1
|
||||
mtLog_ExcHeader0="Exception"
|
||||
Count mtLog_ExcDate=1
|
||||
mtLog_ExcDate0="Date"
|
||||
Count mtLog_ExcAddress=1
|
||||
mtLog_ExcAddress0="Address"
|
||||
Count mtLog_ExcModuleName=1
|
||||
mtLog_ExcModuleName0="Module Name"
|
||||
Count mtLog_ExcModuleVersion=1
|
||||
mtLog_ExcModuleVersion0="Module Version"
|
||||
Count mtLog_ExcType=1
|
||||
mtLog_ExcType0="Type"
|
||||
Count mtLog_ExcMessage=1
|
||||
mtLog_ExcMessage0="Message"
|
||||
Count mtLog_ExcID=1
|
||||
mtLog_ExcID0="ID"
|
||||
Count mtLog_ExcCount=1
|
||||
mtLog_ExcCount0="Count"
|
||||
Count mtLog_ExcStatus=1
|
||||
mtLog_ExcStatus0="Status"
|
||||
Count mtLog_ExcNote=1
|
||||
mtLog_ExcNote0="Note"
|
||||
Count mtLog_UserHeader=1
|
||||
mtLog_UserHeader0="User"
|
||||
Count mtLog_UserID=1
|
||||
mtLog_UserID0="ID"
|
||||
Count mtLog_UserName=1
|
||||
mtLog_UserName0="Name"
|
||||
Count mtLog_UserEmail=1
|
||||
mtLog_UserEmail0="Email"
|
||||
Count mtLog_UserCompany=1
|
||||
mtLog_UserCompany0="Company"
|
||||
Count mtLog_UserPrivileges=1
|
||||
mtLog_UserPrivileges0="Privileges"
|
||||
Count mtLog_ActCtrlsHeader=1
|
||||
mtLog_ActCtrlsHeader0="Active Controls"
|
||||
Count mtLog_ActCtrlsFormClass=1
|
||||
mtLog_ActCtrlsFormClass0="Form Class"
|
||||
Count mtLog_ActCtrlsFormText=1
|
||||
mtLog_ActCtrlsFormText0="Form Text"
|
||||
Count mtLog_ActCtrlsControlClass=1
|
||||
mtLog_ActCtrlsControlClass0="Control Class"
|
||||
Count mtLog_ActCtrlsControlText=1
|
||||
mtLog_ActCtrlsControlText0="Control Text"
|
||||
Count mtLog_CmpHeader=1
|
||||
mtLog_CmpHeader0="Computer"
|
||||
Count mtLog_CmpName=1
|
||||
mtLog_CmpName0="Name"
|
||||
Count mtLog_CmpTotalMemory=1
|
||||
mtLog_CmpTotalMemory0="Total Memory"
|
||||
Count mtLog_CmpFreeMemory=1
|
||||
mtLog_CmpFreeMemory0="Free Memory"
|
||||
Count mtLog_CmpTotalDisk=1
|
||||
mtLog_CmpTotalDisk0="Total Disk"
|
||||
Count mtLog_CmpFreeDisk=1
|
||||
mtLog_CmpFreeDisk0="Free Disk"
|
||||
Count mtLog_CmpSystemUpTime=1
|
||||
mtLog_CmpSystemUpTime0="System Up Time"
|
||||
Count mtLog_CmpProcessor=1
|
||||
mtLog_CmpProcessor0="Processor"
|
||||
Count mtLog_CmpDisplayMode=1
|
||||
mtLog_CmpDisplayMode0="Display Mode"
|
||||
Count mtLog_CmpDisplayDPI=1
|
||||
mtLog_CmpDisplayDPI0="Display DPI"
|
||||
Count mtLog_CmpVideoCard=1
|
||||
mtLog_CmpVideoCard0="Video Card"
|
||||
Count mtLog_CmpPrinter=1
|
||||
mtLog_CmpPrinter0="Printer"
|
||||
Count mtLog_OSHeader=1
|
||||
mtLog_OSHeader0="Operating System"
|
||||
Count mtLog_OSType=1
|
||||
mtLog_OSType0="Type"
|
||||
Count mtLog_OSBuildN=1
|
||||
mtLog_OSBuildN0="Build #"
|
||||
Count mtLog_OSUpdate=1
|
||||
mtLog_OSUpdate0="Update"
|
||||
Count mtLog_OSLanguage=1
|
||||
mtLog_OSLanguage0="Language"
|
||||
Count mtLog_OSCharset=1
|
||||
mtLog_OSCharset0="Charset"
|
||||
Count mtLog_NetHeader=1
|
||||
mtLog_NetHeader0="Network"
|
||||
Count mtLog_NetIP=1
|
||||
mtLog_NetIP0="IP Address"
|
||||
Count mtLog_NetSubmask=1
|
||||
mtLog_NetSubmask0="Submask"
|
||||
Count mtLog_NetGateway=1
|
||||
mtLog_NetGateway0="Gateway"
|
||||
Count mtLog_NetDNS1=1
|
||||
mtLog_NetDNS10="DNS 1"
|
||||
Count mtLog_NetDNS2=1
|
||||
mtLog_NetDNS20="DNS 2"
|
||||
Count mtLog_NetDHCP=1
|
||||
mtLog_NetDHCP0="DHCP"
|
||||
Count mtLog_CustInfoHeader=1
|
||||
mtLog_CustInfoHeader0="Custom Information"
|
||||
Count mtCallStack_Address=1
|
||||
mtCallStack_Address0="Address"
|
||||
Count mtCallStack_Name=1
|
||||
mtCallStack_Name0="Module"
|
||||
Count mtCallStack_Unit=1
|
||||
mtCallStack_Unit0="Unit"
|
||||
Count mtCallStack_Class=1
|
||||
mtCallStack_Class0="Class"
|
||||
Count mtCallStack_Procedure=1
|
||||
mtCallStack_Procedure0="Procedure/Method"
|
||||
Count mtCallStack_Line=1
|
||||
mtCallStack_Line0="Line"
|
||||
Count mtCallStack_MainThread=1
|
||||
mtCallStack_MainThread0="Main"
|
||||
Count mtCallStack_ExceptionThread=1
|
||||
mtCallStack_ExceptionThread0="Exception Thread"
|
||||
Count mtCallStack_RunningThread=1
|
||||
mtCallStack_RunningThread0="Running Thread"
|
||||
Count mtCallStack_CallingThread=1
|
||||
mtCallStack_CallingThread0="Calling Thread"
|
||||
Count mtCallStack_ThreadID=1
|
||||
mtCallStack_ThreadID0="ID"
|
||||
Count mtCallStack_ThreadPriority=1
|
||||
mtCallStack_ThreadPriority0="Priority"
|
||||
Count mtCallStack_ThreadClass=1
|
||||
mtCallStack_ThreadClass0="Class"
|
||||
Count mtCallStack_LeakCaption=1
|
||||
mtCallStack_LeakCaption0="Memory Leak"
|
||||
Count mtCallStack_LeakData=1
|
||||
mtCallStack_LeakData0="Data"
|
||||
Count mtCallStack_LeakType=1
|
||||
mtCallStack_LeakType0="Type"
|
||||
Count mtCallStack_LeakSize=1
|
||||
mtCallStack_LeakSize0="Total size"
|
||||
Count mtCallStack_LeakCount=1
|
||||
mtCallStack_LeakCount0="Count"
|
||||
Count mtSendDialog_Caption=1
|
||||
mtSendDialog_Caption0="Send."
|
||||
Count mtSendDialog_Message=1
|
||||
mtSendDialog_Message0="Message"
|
||||
Count mtSendDialog_Resolving=1
|
||||
mtSendDialog_Resolving0="Resolving DNS..."
|
||||
Count mtSendDialog_Login=1
|
||||
mtSendDialog_Login0="Login..."
|
||||
Count mtSendDialog_Connecting=1
|
||||
mtSendDialog_Connecting0="Connecting with server..."
|
||||
Count mtSendDialog_Connected=1
|
||||
mtSendDialog_Connected0="Connected with server."
|
||||
Count mtSendDialog_Sending=1
|
||||
mtSendDialog_Sending0="Sending message..."
|
||||
Count mtSendDialog_Sent=1
|
||||
mtSendDialog_Sent0="Message sent."
|
||||
Count mtSendDialog_SelectProject=1
|
||||
mtSendDialog_SelectProject0="Select project..."
|
||||
Count mtSendDialog_Searching=1
|
||||
mtSendDialog_Searching0="Searching..."
|
||||
Count mtSendDialog_Modifying=1
|
||||
mtSendDialog_Modifying0="Modifying..."
|
||||
Count mtSendDialog_Disconnecting=1
|
||||
mtSendDialog_Disconnecting0="Disconnecting..."
|
||||
Count mtSendDialog_Disconnected=1
|
||||
mtSendDialog_Disconnected0="Disconnected."
|
||||
Count mtReproduceDialog_Caption=1
|
||||
mtReproduceDialog_Caption0="Request"
|
||||
Count mtReproduceDialog_Request=1
|
||||
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
|
||||
Count mtReproduceDialog_OKButtonCaption=1
|
||||
mtReproduceDialog_OKButtonCaption0="%26OK"
|
||||
Count mtModules_Handle=1
|
||||
mtModules_Handle0="Handle"
|
||||
Count mtModules_Name=1
|
||||
mtModules_Name0="Name"
|
||||
Count mtModules_Description=1
|
||||
mtModules_Description0="Description"
|
||||
Count mtModules_Version=1
|
||||
mtModules_Version0="Version"
|
||||
Count mtModules_Size=1
|
||||
mtModules_Size0="Size"
|
||||
Count mtModules_LastModified=1
|
||||
mtModules_LastModified0="Modified"
|
||||
Count mtModules_Path=1
|
||||
mtModules_Path0="Path"
|
||||
Count mtProcesses_ID=1
|
||||
mtProcesses_ID0="ID"
|
||||
Count mtProcesses_Name=1
|
||||
mtProcesses_Name0="Name"
|
||||
Count mtProcesses_Description=1
|
||||
mtProcesses_Description0="Description"
|
||||
Count mtProcesses_Version=1
|
||||
mtProcesses_Version0="Version"
|
||||
Count mtProcesses_Memory=1
|
||||
mtProcesses_Memory0="Memory"
|
||||
Count mtProcesses_Priority=1
|
||||
mtProcesses_Priority0="Priority"
|
||||
Count mtProcesses_Threads=1
|
||||
mtProcesses_Threads0="Threads"
|
||||
Count mtProcesses_Path=1
|
||||
mtProcesses_Path0="Path"
|
||||
Count mtCPU_Registers=1
|
||||
mtCPU_Registers0="Registers"
|
||||
Count mtCPU_Stack=1
|
||||
mtCPU_Stack0="Stack"
|
||||
Count mtCPU_MemoryDump=1
|
||||
mtCPU_MemoryDump0="Memory Dump"
|
||||
Count mtSend_SuccessMsg=1
|
||||
mtSend_SuccessMsg0="The message was sent successfully."
|
||||
Count mtSend_FailureMsg=1
|
||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
||||
Count mtSend_BugClosedMsg=2
|
||||
mtSend_BugClosedMsg0="These BUG is just closed."
|
||||
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
|
||||
Count mtSend_UnknownErrorMsg=1
|
||||
mtSend_UnknownErrorMsg0="Unknown error."
|
||||
Count mtSend_InvalidLoginMsg=1
|
||||
mtSend_InvalidLoginMsg0="Invalid login request."
|
||||
Count mtSend_InvalidSearchMsg=1
|
||||
mtSend_InvalidSearchMsg0="Invalid search request."
|
||||
Count mtSend_InvalidSelectionMsg=1
|
||||
mtSend_InvalidSelectionMsg0="Invalid selection request."
|
||||
Count mtSend_InvalidInsertMsg=1
|
||||
mtSend_InvalidInsertMsg0="Invalid insert request."
|
||||
Count mtSend_InvalidModifyMsg=1
|
||||
mtSend_InvalidModifyMsg0="Invalid modify request."
|
||||
Count mtFileCrackedMsg=2
|
||||
mtFileCrackedMsg0="This file is cracked."
|
||||
mtFileCrackedMsg1="The application will be closed."
|
||||
Count mtException_LeakMultiFree=1
|
||||
mtException_LeakMultiFree0="Multi Free memory leak."
|
||||
Count mtException_LeakMemoryOverrun=1
|
||||
mtException_LeakMemoryOverrun0="Memory Overrun leak."
|
||||
Count mtException_AntiFreeze=1
|
||||
mtException_AntiFreeze0="The application seems to be frozen."
|
||||
Count mtInvalidEmailMsg=1
|
||||
mtInvalidEmailMsg0="Invalid email."
|
||||
TextsCollection=
|
||||
EurekaLog Last Line -->
|
||||
22
Source/ApplicationBase/ApplicationBase.rc
Normal file
22
Source/ApplicationBase/ApplicationBase.rc
Normal file
@ -0,0 +1,22 @@
|
||||
1 VERSIONINFO
|
||||
FILEVERSION 1,0,0,0
|
||||
PRODUCTVERSION 1,0,0,0
|
||||
FILEFLAGSMASK 0x3FL
|
||||
FILEFLAGS 0x00L
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "0C0A04E4"
|
||||
BEGIN
|
||||
VALUE "FileVersion", "1.0.0.0\0"
|
||||
VALUE "ProductVersion", "1.0.0.0\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x0C0A, 1252
|
||||
END
|
||||
END
|
||||
BIN
Source/ApplicationBase/ApplicationBase.res
Normal file
BIN
Source/ApplicationBase/ApplicationBase.res
Normal file
Binary file not shown.
@ -0,0 +1,22 @@
|
||||
unit uIEditorLogin;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorBase, uUsuariosController;
|
||||
|
||||
type
|
||||
IEditorLogin = interface
|
||||
['{96513A0B-679D-4DD6-8821-C99003DAD2A3}']
|
||||
function ShowModal : Integer;
|
||||
procedure Release;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const AValue : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -0,0 +1,23 @@
|
||||
unit uIEditorPerfilUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorDBBase, uBizUsuarios, uUsuariosController;
|
||||
|
||||
type
|
||||
IEditorPerfilUsuario = interface(IEditorDBBase)
|
||||
['{1DE19CC0-E4FA-4FD7-AE70-6430781CAFE4}']
|
||||
function GetPerfilUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
property PerfilUsuario: IBizPerfilUsuario read GetPerfilUsuario write SetPerfilUsuario;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -0,0 +1,23 @@
|
||||
unit uIEditorPerfilesUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorDBBase, uBizUsuarios, uUsuariosController;
|
||||
|
||||
type
|
||||
IEditorPerfilesUsuario = interface(IEditorDBBase)
|
||||
['{A4EDC876-8290-4AFF-B307-E935CD750842}']
|
||||
function GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
property PerfilesUsuario: IBizPerfilUsuario read GetPerfilesUsuario write SetPerfilesUsuario;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -0,0 +1,22 @@
|
||||
unit uIEditorUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorDBItem, uUsuariosController, uBizUsuarios;
|
||||
|
||||
type
|
||||
IEditorUsuario = interface(IEditorDBItem)
|
||||
['{D016C4C2-F204-47AA-9327-00379CFFFB14}']
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
|
||||
function GetUsuario: IBizUsuario;
|
||||
procedure SetUsuario(const Value: IBizUsuario);
|
||||
property Usuario: IBizUsuario read GetUsuario write SetUsuario;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -0,0 +1,23 @@
|
||||
unit uIEditorUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorGridBase, uUsuariosController, uBizUsuarios;
|
||||
|
||||
type
|
||||
IEditorUsuarios = interface(IEditorGridBase)
|
||||
['{236534A8-F225-4EA0-8917-4228E530C604}']
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
|
||||
function GetUsuarios: IBizUsuario;
|
||||
procedure SetUsuarios(const Value: IBizUsuario);
|
||||
property Usuarios: IBizUsuario read GetUsuarios write SetUsuarios;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -0,0 +1,287 @@
|
||||
unit uPerfilesUsuarioController;
|
||||
|
||||
interface
|
||||
|
||||
|
||||
uses
|
||||
Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
|
||||
uIDataModuleUsuarios, uBizUsuarios;
|
||||
|
||||
type
|
||||
IPerfilesUsuarioController = interface(IObservador)
|
||||
['{3D60BC4E-B244-4C08-9A1A-00A7C3B74558}']
|
||||
function BuscarTodos: IBizPerfilUsuario;
|
||||
procedure VerTodos;
|
||||
procedure Ver(const AIDPerfil : Integer);
|
||||
procedure Anadir(APerfilUsuario : IBizPerfilUsuario);
|
||||
function Eliminar(APerfilUsuario : IBizPerfilUsuario): Boolean; overload;
|
||||
function Eliminar(const AIDPerfil : Integer): Boolean; overload;
|
||||
function Guardar(APerfilUsuario : IBizPerfilUsuario): Boolean;
|
||||
procedure DescartarCambios(APerfilUsuario : IBizPerfilUsuario);
|
||||
function Localizar(APerfilesUsuario: IBizPerfilUsuario; ADescripcion:String): Boolean;
|
||||
function DarListaPerfilesUsuario: TStringList;
|
||||
end;
|
||||
|
||||
TPerfilesUsuarioController = class(TObservador, IPerfilesUsuarioController)
|
||||
protected
|
||||
FDataModule : IDataModuleUsuarios;
|
||||
|
||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
|
||||
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
|
||||
|
||||
//Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
|
||||
//este controller
|
||||
procedure AsignarDataModule; virtual;
|
||||
procedure ValidarObjetos; virtual;
|
||||
|
||||
public
|
||||
constructor Create; override;
|
||||
destructor Destroy; override;
|
||||
|
||||
function Eliminar(APerfilUsuario : IBizPerfilUsuario): Boolean; overload;
|
||||
function Eliminar(const AIDPerfil : Integer): Boolean; overload;
|
||||
function Guardar(APerfilUsuario : IBizPerfilUsuario): Boolean;
|
||||
procedure DescartarCambios(APerfilUsuario : IBizPerfilUsuario); virtual;
|
||||
procedure Anadir(APerfilUsuario : IBizPerfilUsuario);
|
||||
function BuscarTodos: IBizPerfilUsuario;
|
||||
procedure VerTodos;
|
||||
procedure Ver(const AIDPerfil : Integer);
|
||||
function Localizar(APerfilesUsuario: IBizPerfilUsuario; ADescripcion:String): Boolean;
|
||||
function DarListaPerfilesUsuario: TStringList;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
cxControls, DB, uEditorRegistryUtils,
|
||||
uDAInterfaces, uDataTableUtils,
|
||||
uDateUtils, uROTypes, DateUtils, Controls, Windows, schUsuariosClient_Intf,
|
||||
uDataModuleUsuarios, uIEditorPerfilesUsuario, uIEditorPerfilUsuario;
|
||||
|
||||
{ TPerfilesUsuarioController }
|
||||
|
||||
procedure TPerfilesUsuarioController.Anadir(APerfilUsuario: IBizPerfilUsuario);
|
||||
begin
|
||||
APerfilUsuario.Insert;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.AsignarDataModule;
|
||||
begin
|
||||
FDataModule := TDataModuleUsuarios.Create(Nil);
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.BuscarTodos: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FDataModule.GetPerfiles;
|
||||
end;
|
||||
|
||||
constructor TPerfilesUsuarioController.Create;
|
||||
begin
|
||||
inherited;
|
||||
AsignarDataModule;
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
begin
|
||||
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.DarListaPerfilesUsuario: TStringList;
|
||||
var
|
||||
APerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
APerfilesUsuario := BuscarTodos;
|
||||
APerfilesUsuario.DataTable.Active := True;
|
||||
Result := TStringList.Create;
|
||||
try
|
||||
with Result do
|
||||
begin
|
||||
APerfilesUsuario.DataTable.First;
|
||||
while not APerfilesUsuario.DataTable.EOF do
|
||||
begin
|
||||
Add(APerfilesUsuario.USERNAME);
|
||||
APerfilesUsuario.DataTable.Next;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
APerfilesUsuario := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.DescartarCambios(APerfilUsuario: IBizPerfilUsuario);
|
||||
begin
|
||||
if not Assigned(APerfilUsuario) then
|
||||
raise Exception.Create ('Perfil no asignado');
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if (APerfilUsuario.State in dsEditModes) then
|
||||
APerfilUsuario.Cancel;
|
||||
|
||||
APerfilUsuario.DataTable.CancelUpdates;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TPerfilesUsuarioController.Destroy;
|
||||
begin
|
||||
FDataModule := Nil;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.Eliminar(const AIDPerfil: Integer): Boolean;
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.ValidarObjetos;
|
||||
var
|
||||
AEditor : IEditorPerfilesUsuario;
|
||||
APerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
APerfilesUsuario := FDataModule.GetPerfiles;
|
||||
if Assigned(APerfilesUsuario) then
|
||||
begin
|
||||
APerfilesUsuario.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorPerfilesUsuario', IEditorPerfilesUsuario, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorPerfilesUsuario) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
PerfilesUsuario := APerfilesUsuario;
|
||||
ShowEmbedded;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
APerfilesUsuario := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.Ver(const AIDPerfil: Integer);
|
||||
var
|
||||
AEditor : IEditorPerfilUsuario;
|
||||
FPerfil : IBizPerfilUsuario;
|
||||
begin
|
||||
FPerfil := FDataModule.GetPerfil(AIDPerfil);
|
||||
if Assigned(FPerfil) then
|
||||
begin
|
||||
FPerfil.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorPerfilUsuario', IEditorPerfilUsuario, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorPerfilUsuario) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
PerfilUsuario := FPerfil;
|
||||
ShowModal;
|
||||
Release;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
FPerfil := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.VerTodos;
|
||||
var
|
||||
AEditor : IEditorPerfilesUsuario;
|
||||
APerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
APerfilesUsuario := FDataModule.GetPerfiles;
|
||||
if Assigned(APerfilesUsuario) then
|
||||
begin
|
||||
APerfilesUsuario.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorPerfilesUsuario', IEditorPerfilesUsuario, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorPerfilesUsuario) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
PerfilesUsuario := APerfilesUsuario;
|
||||
ShowEmbedded;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
APerfilesUsuario := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.Eliminar(APerfilUsuario: IBizPerfilUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(APerfilUsuario) then
|
||||
raise Exception.Create ('Perfil no asignado');
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if (APerfilUsuario.State in dsEditModes) then
|
||||
APerfilUsuario.Cancel;
|
||||
|
||||
APerfilUsuario.Delete;
|
||||
APerfilUsuario.DataTable.ApplyUpdates;
|
||||
HideHourglassCursor;
|
||||
Result := True;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TPerfilesUsuarioController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
|
||||
begin
|
||||
inherited;
|
||||
//
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.Guardar(APerfilUsuario: IBizPerfilUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(APerfilUsuario) then
|
||||
raise Exception.Create ('Perfil no asignado');
|
||||
|
||||
ValidarObjetos;
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if (APerfilUsuario.DataTable.State in dsEditModes) then
|
||||
APerfilUsuario.DataTable.Post;
|
||||
|
||||
APerfilUsuario.DataTable.ApplyUpdates;
|
||||
|
||||
Result := True;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TPerfilesUsuarioController.Localizar(APerfilesUsuario: IBizPerfilUsuario; ADescripcion: String): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
with APerfilesUsuario.DataTable do
|
||||
begin
|
||||
DisableControls;
|
||||
First;
|
||||
if not Locate(fld_PERFILESUSERNAME, ADescripcion, []) then
|
||||
Result := False;
|
||||
EnableControls;
|
||||
end;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -0,0 +1,923 @@
|
||||
unit uUsuariosController;
|
||||
|
||||
interface
|
||||
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, uDADataTable, uControllerBase,
|
||||
uIDataModuleUsuarios, uDataModuleUsuarios, UCBase, uBizUsuarios;
|
||||
|
||||
type
|
||||
TUCCriptografia = (ucStandard, ucMD5);
|
||||
|
||||
IUsuariosController = interface(IControllerBase)
|
||||
['{DD963EEC-5880-4DE7-AF55-B5080B538D84}']
|
||||
|
||||
procedure Logoff;
|
||||
function StartLogin : Boolean;
|
||||
procedure VerUsuarios;
|
||||
procedure VerPerfiles;
|
||||
procedure VerUsuario(const AIDUser: Integer); overload;
|
||||
procedure VerUsuario(AUser : IBizUsuario); overload;
|
||||
|
||||
procedure VerPerfil(const AIDPerfil: Integer); overload;
|
||||
procedure VerPerfil(APerfil : IBizPerfilUsuario); overload;
|
||||
|
||||
procedure _ShowUserManager;
|
||||
procedure _ShowProfileManager;
|
||||
procedure _ShowLogManager;
|
||||
procedure _ShowChangePassword;
|
||||
function ComprobarUsuario(const User : String; const Password: String): Boolean;
|
||||
function CambiarPassword(const AIDUser: Integer): Boolean;
|
||||
|
||||
function GetMaxIntentosLogin: Integer;
|
||||
procedure SetMaxIntentosLogin(const Value: Integer);
|
||||
property MaxIntentosLogin : Integer read GetMaxIntentosLogin write SetMaxIntentosLogin;
|
||||
|
||||
function GetCurrentUser: IBizUsuario;
|
||||
property CurrentUser: IBizUsuario read GetCurrentUser;
|
||||
|
||||
function GuardarPerfil(APerfil : IBizPerfilUsuario): Boolean;
|
||||
function GuardarUsuario(AUser : IBizUsuario): Boolean;
|
||||
|
||||
function EliminarUsuario(const AIDUser : integer): Boolean; overload;
|
||||
function EliminarUsuario(AUser : IBizUsuario): Boolean; overload;
|
||||
|
||||
function EliminarPerfil(APerfil : IBizPerfilUsuario): Boolean; overload;
|
||||
function EliminarPerfil(const AIDPerfil : integer): Boolean; overload;
|
||||
|
||||
function HayUsuarioConPerfil(const AIDPerfil : integer): Boolean;
|
||||
|
||||
function BuscarUsuario(const AIDUser: Integer): IBizUsuario;
|
||||
function BuscarTodosUsuarios: IBizUsuario;
|
||||
|
||||
function DarListaPerfilesUsuario: TStringList;
|
||||
function DarListaUsuarios: TStringList;
|
||||
|
||||
function ValidarPassword(const APassword : string; const ALogin : String;
|
||||
const ANombre: String; out AMsg : String): boolean;
|
||||
|
||||
function NuevoUsuario : IBizUsuario;
|
||||
function NuevoPerfil : IBizPerfilUsuario;
|
||||
|
||||
function GetCriptografia : TUCCriptografia;
|
||||
property Criptografia: TUCCriptografia read GetCriptografia;
|
||||
|
||||
function GetUsarPasswordsSeguras: Boolean;
|
||||
procedure SetUsarPasswordsSeguras(const Value: Boolean);
|
||||
property UsarPasswordsSeguras : Boolean read GetUsarPasswordsSeguras write SetUsarPasswordsSeguras;
|
||||
|
||||
{
|
||||
procedure ChangePassword(IDUser: Integer; NewPassword: String);
|
||||
procedure AddRight(idUser: Integer; ItemRight: TObject; FullPath: Boolean = True); overload;
|
||||
procedure AddRight(idUser: Integer; ItemRight: String); overload;
|
||||
procedure AddRightEX(idUser: Integer; Module, FormName, ObjName: String);
|
||||
function VerificaLogin(User, Password: String): Boolean;
|
||||
function GetLocalUserName: String;
|
||||
function GetLocalComputerName: String;
|
||||
function AddUser(Login, Password, Name, Mail: String; Profile , UserExpired , DaysExpired : Integer; PrivUser: Boolean): Integer;
|
||||
function ExisteUsuario(Login: String): Boolean;
|
||||
property CurrentUser: TUCCurrentUser read FCurrentUser write FCurrentUser;
|
||||
property CurrentEmpresa : TEmpresaDef read FEmpresaAtual write FEmpresaAtual;
|
||||
property UserSettings: TUCUserSettings read FUserSettings write SetUserSettings;}
|
||||
|
||||
end;
|
||||
|
||||
TUsuariosController = class(TControllerBase, IUsuariosController)
|
||||
private
|
||||
procedure FiltrarEmpresa(AUsuario: IBizUsuario);
|
||||
protected
|
||||
FDataModule : IDataModuleUsuarios;
|
||||
FUserControl: TUserControl;
|
||||
FCurrentUser : IBizUsuario;
|
||||
FUsarPasswordsSeguras : Boolean;
|
||||
|
||||
function GetMaxIntentosLogin: Integer;
|
||||
procedure SetMaxIntentosLogin(const Value: Integer);
|
||||
|
||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
|
||||
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
|
||||
|
||||
procedure AsignarDataModule;
|
||||
procedure InicializarUserControl;
|
||||
function GetCurrentUser: IBizUsuario;
|
||||
|
||||
function AnadirUsuario(AUser : IBizUsuario): Boolean;
|
||||
function ModificarUsuario(AUser : IBizUsuario): Boolean;
|
||||
|
||||
function AnadirPerfil(APerfil : IBizPerfilUsuario): Boolean;
|
||||
function ModificarPerfil(APerfil : IBizPerfilUsuario): Boolean;
|
||||
|
||||
function ValidarUsuario(AUser: IBizUsuario): Boolean;
|
||||
function ValidarPerfil(APerfil: IBizPerfilUsuario): Boolean;
|
||||
|
||||
function GetCriptografia : TUCCriptografia;
|
||||
function CambiarPassword(const AIDUser: Integer; const ANewPassword: String): Boolean; overload;
|
||||
|
||||
function GetUsarPasswordsSeguras: Boolean;
|
||||
procedure SetUsarPasswordsSeguras(const Value: Boolean);
|
||||
public
|
||||
constructor Create; virtual;
|
||||
destructor Destroy; override;
|
||||
|
||||
procedure Logoff;
|
||||
function StartLogin : Boolean;
|
||||
procedure VerUsuarios;
|
||||
procedure VerPerfiles;
|
||||
|
||||
procedure VerUsuario(const AIDUser: Integer); overload;
|
||||
procedure VerUsuario(AUser : IBizUsuario); overload;
|
||||
|
||||
procedure VerPerfil(const AIDPerfil: Integer); overload;
|
||||
procedure VerPerfil(APerfil : IBizPerfilUsuario); overload;
|
||||
|
||||
procedure _ShowUserManager;
|
||||
procedure _ShowProfileManager;
|
||||
procedure _ShowLogManager;
|
||||
procedure _ShowChangePassword;
|
||||
function ComprobarUsuario(const User : String; const Password: String): Boolean;
|
||||
function CambiarPassword(const AIDUser: Integer): Boolean; overload;
|
||||
|
||||
function EliminarUsuario(const AIDUser : integer): Boolean; overload;
|
||||
function EliminarUsuario(AUser : IBizUsuario): Boolean; overload;
|
||||
|
||||
function EliminarPerfil(APerfil : IBizPerfilUsuario): Boolean; overload;
|
||||
function EliminarPerfil(const AIDPerfil : integer): Boolean; overload;
|
||||
|
||||
function NuevoUsuario : IBizUsuario;
|
||||
function NuevoPerfil : IBizPerfilUsuario;
|
||||
|
||||
function GuardarPerfil(APerfil : IBizPerfilUsuario): Boolean;
|
||||
function GuardarUsuario(AUser : IBizUsuario): Boolean;
|
||||
|
||||
function BuscarUsuario(const AIDUser: Integer): IBizUsuario;
|
||||
function BuscarTodosUsuarios: IBizUsuario;
|
||||
|
||||
function DarListaPerfilesUsuario: TStringList;
|
||||
function DarListaUsuarios: TStringList;
|
||||
|
||||
function HayUsuarioConPerfil(const AIDPerfil : integer): Boolean;
|
||||
function ValidarPassword(const APassword : string; const ALogin : String;
|
||||
const ANombre: String; out AMsg : String): boolean;
|
||||
|
||||
property UsarPasswordsSeguras : Boolean read GetUsarPasswordsSeguras write SetUsarPasswordsSeguras;
|
||||
property UserControl : TUserControl read FUserControl;
|
||||
property MaxIntentosLogin : Integer read GetMaxIntentosLogin write SetMaxIntentosLogin;
|
||||
property CurrentUser: IBizUsuario read GetCurrentUser;
|
||||
property Criptografia: TUCCriptografia read GetCriptografia;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
cxControls, DB, uEditorRegistryUtils, schUsuariosClient_Intf,
|
||||
uDAInterfaces, uDataTableUtils, uDialogUtils, uAdminPV_App, Dialogs,
|
||||
uDateUtils, uROTypes, DateUtils, Controls, Windows, uIEditorLogin,
|
||||
uIEditorUsuarios, uIEditorUsuario, uIEditorPerfilesUsuario,
|
||||
uIEditorPerfilUsuario, uEditorCambiarPassword;
|
||||
|
||||
{ TUsuariosController }
|
||||
|
||||
function TUsuariosController.AnadirPerfil(APerfil: IBizPerfilUsuario): Boolean;
|
||||
|
||||
function GetNewIdUser: Integer;
|
||||
var
|
||||
TempDs: TDataset;
|
||||
begin
|
||||
with FUserControl do
|
||||
TempDS := DataConnector.UCGetSQLDataSet('SELECT ' + TableUsers.FieldUserID + ' as MaxUserID from ' + TableUsers.TableName +
|
||||
' ORDER BY ' + TableUsers.FieldUserID + ' DESC');
|
||||
Result := TempDs.FieldByName('MaxUserID').AsInteger + 1;
|
||||
TempDS.Close;
|
||||
FreeAndNil(TempDS);
|
||||
end;
|
||||
|
||||
var
|
||||
ANuevoID : Integer;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(APerfil) then
|
||||
raise Exception.Create('No hay perfil asignado (AnadirPerfil)');
|
||||
|
||||
if ValidarPerfil(APerfil) then
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
ANuevoID := GetNewIdUser;
|
||||
with FUserControl do
|
||||
begin
|
||||
DataConnector.UCExecSQL(Format('INSERT INTO %s(%s, %s, %s) Values(%d,%s,%s)',
|
||||
[TableUsers.TableName,
|
||||
TableUsers.FieldUserID,
|
||||
TableUsers.FieldUserName,
|
||||
TableUsers.FieldTypeRec,
|
||||
ANuevoID,
|
||||
QuotedStr(APerfil.USERNAME),
|
||||
QuotedStr('P')]));
|
||||
end;
|
||||
|
||||
Result := (ANuevoID > 0);
|
||||
|
||||
if Result then
|
||||
begin
|
||||
APerfil.Edit;
|
||||
APerfil.ID := ANuevoID;
|
||||
APerfil.Post;
|
||||
end;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUsuariosController.AnadirUsuario(AUser: IBizUsuario): Boolean;
|
||||
var
|
||||
ANuevoID : Integer;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(AUser) then
|
||||
raise Exception.Create('No hay usuario asignado (AnadirUsuario)');
|
||||
|
||||
if FUserControl.ExisteUsuario(AUser.LOGIN) then
|
||||
begin
|
||||
MessageDlg(Format(FUserControl.UserSettings.CommonMessages.UsuarioExiste, [AUser.LOGIN]), mtWarning, [mbOK], 0);
|
||||
Exit;
|
||||
end;
|
||||
|
||||
if ValidarUsuario(AUser) then
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
ANuevoID := FUserControl.AddUser(AUser.LOGIN, AUser.PASS, AUser.USERNAME, AUser.EMAIL,
|
||||
AUser.ID_PERFIL, AUser.BLOQUEADO, AUser.USERDAYSSUN, (AUser.PRIVILEGED = 1));
|
||||
|
||||
Result := (ANuevoID > 0);
|
||||
|
||||
if Result then
|
||||
begin
|
||||
AUser.Edit;
|
||||
AUser.ID := ANuevoID;
|
||||
AUser.Post;
|
||||
end;
|
||||
|
||||
{ TODO -oLuiz -cUpgrade : Consertar a Senha para poder avisar MD5 }
|
||||
{if (Assigned(MailUserControl)) and (MailUserControl.AdicionaUsuario.Ativo) then
|
||||
try
|
||||
MailUserControl.EnviaEmailAdicionaUsuario(vNome, vLogin, Encrypt(vNovaSenha, EncryptKey), vEmail, IntToStr(vPerfil), EncryptKey);
|
||||
except
|
||||
on E: Exception do
|
||||
Log(E.Message, llMedio);
|
||||
end;}
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.AsignarDataModule;
|
||||
begin
|
||||
FDataModule := TDataModuleUsuarios.Create(Nil);
|
||||
end;
|
||||
|
||||
function TUsuariosController.BuscarTodosUsuarios: IBizUsuario;
|
||||
begin
|
||||
Result := FDataModule.GetUsuarios;
|
||||
FiltrarEmpresa(Result);
|
||||
end;
|
||||
|
||||
function TUsuariosController.BuscarUsuario(const AIDUser: Integer): IBizUsuario;
|
||||
begin
|
||||
Result := FDataModule.GetUsuario(AIDUser);
|
||||
FiltrarEmpresa(Result);
|
||||
end;
|
||||
|
||||
function TUsuariosController.CambiarPassword(const AIDUser: Integer;
|
||||
const ANewPassword: String): Boolean;
|
||||
begin
|
||||
FUserControl.ChangePassword(AIDUser, ANewPassword);
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function TUsuariosController.CambiarPassword(const AIDUser: Integer) : Boolean;
|
||||
var
|
||||
AUser : IBizUsuario;
|
||||
AEditorCambiar : TfEditorCambiarPassword;
|
||||
begin
|
||||
AUser := FDataModule.GetUsuario(AIDUser);
|
||||
if Assigned(AUser) then
|
||||
begin
|
||||
AUser.Active := True;
|
||||
|
||||
AEditorCambiar := TfEditorCambiarPassword.Create(NIL);
|
||||
with AEditorCambiar do
|
||||
try
|
||||
Controller := Self;
|
||||
Usuario := AUser;
|
||||
CambioObligatorio := False;
|
||||
if (Length(Trim(AUser.PASS)) = 0) then
|
||||
EditAtu.Enabled := False;
|
||||
if (ShowModal = mrOk) then
|
||||
Result := CambiarPassword(AIDUser, EditNova.Text);
|
||||
finally
|
||||
Release;
|
||||
AUser.Active := False;
|
||||
AUser := NIL;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUsuariosController.ComprobarUsuario(const User,
|
||||
Password: String): Boolean;
|
||||
begin
|
||||
Result := FUserControl.VerificaLogin(User, Password);
|
||||
if not Result then
|
||||
begin
|
||||
if User = 'admin' then
|
||||
begin
|
||||
if not FUserControl.ExisteUsuario('admin') then
|
||||
begin
|
||||
FUserControl.AddUser('admin', '1', 'Administrador', 'admin@correo.net', 0, 0 , 30, True);
|
||||
Result := ComprobarUsuario(User, Password);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TUsuariosController.Create;
|
||||
begin
|
||||
AsignarDataModule;
|
||||
FCurrentUser := NIL;
|
||||
FUserControl := TUserControl.Create(nil);
|
||||
FUsarPasswordsSeguras := False;
|
||||
InicializarUserControl;
|
||||
end;
|
||||
|
||||
function TUsuariosController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
begin
|
||||
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
|
||||
end;
|
||||
|
||||
function TUsuariosController.DarListaPerfilesUsuario: TStringList;
|
||||
var
|
||||
APerfilesUsuario: IBizPerfilUsuario;
|
||||
i : integer;
|
||||
begin
|
||||
APerfilesUsuario := FDataModule.GetPerfiles;
|
||||
APerfilesUsuario.DataTable.Active := True;
|
||||
|
||||
Result := TStringList.Create;
|
||||
try
|
||||
with Result do
|
||||
begin
|
||||
APerfilesUsuario.DataTable.First;
|
||||
while not APerfilesUsuario.DataTable.EOF do
|
||||
begin
|
||||
Add(Format('%s=%d', [APerfilesUsuario.USERNAME, APerfilesUsuario.ID]));
|
||||
APerfilesUsuario.DataTable.Next;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
APerfilesUsuario := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUsuariosController.DarListaUsuarios: TStringList;
|
||||
var
|
||||
AUsuarios: IBizUsuario;
|
||||
i : integer;
|
||||
begin
|
||||
AUsuarios := FDataModule.GetUsuarios;
|
||||
AUsuarios.DataTable.Active := True;
|
||||
|
||||
Result := TStringList.Create;
|
||||
try
|
||||
with Result do
|
||||
begin
|
||||
AUsuarios.DataTable.First;
|
||||
while not AUsuarios.DataTable.EOF do
|
||||
begin
|
||||
Add(Format('%s=%d', [AUsuarios.USERNAME, AUsuarios.ID]));
|
||||
AUsuarios.DataTable.Next;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
AUsuarios := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TUsuariosController.Destroy;
|
||||
begin
|
||||
FreeAndNIL(FUserControl);
|
||||
FDataModule := NIL;
|
||||
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TUsuariosController.EliminarPerfil(
|
||||
APerfil: IBizPerfilUsuario): Boolean;
|
||||
var
|
||||
CanDelete: Boolean;
|
||||
ErrorMsg: String;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(APerfil) then
|
||||
raise Exception.Create('No hay perfil asignado (EliminarPerfil)');
|
||||
|
||||
if not APerfil.Active then
|
||||
APerfil.Active := True;
|
||||
|
||||
if APerfil.DataTable.RecordCount = 0 then
|
||||
Exit;
|
||||
|
||||
if HayUsuarioConPerfil(APerfil.ID) then
|
||||
begin
|
||||
//changed by fduenas: PromptDelete_WindowCaption
|
||||
if MessageBox(Application.Handle, PChar(Format(FUserControl.UserSettings.UsersProfile.PromptDelete, [APerfil.USERNAME])),
|
||||
PChar(FUserControl.UserSettings.UsersProfile.PromptDelete_WindowCaption), MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON2) <> idYes then
|
||||
Exit;
|
||||
end;
|
||||
|
||||
CanDelete := True;
|
||||
if Assigned(FUserControl.onDeleteProfile) then
|
||||
FUserControl.onDeleteProfile(NIL, APerfil.ID, CanDelete, ErrorMsg);
|
||||
if not CanDelete then
|
||||
begin
|
||||
MessageDlg(ErrorMSG, mtWarning, [mbOK], 0);
|
||||
Exit;
|
||||
end;
|
||||
|
||||
with FUserControl do
|
||||
begin
|
||||
DataConnector.UCExecSQL('Delete from ' + TableUsers.TableName + ' where ' + TableUsers.FieldUserID + ' = ' + IntToStr(APerfil.ID));
|
||||
DataConnector.UCExecSQL('Delete from ' + TableRights.TableName + ' where ' + TableRights.FieldUserID + ' = ' + IntToStr(APerfil.ID));
|
||||
DataConnector.UCExecSQL('Delete from ' + TableRights.TableName + 'EX where ' + TableRights.FieldUserID + ' = ' + IntToStr(APerfil.ID));
|
||||
DataConnector.UCExecSQL('Update ' + TableUsers.TableName +
|
||||
' Set ' + TableUsers.FieldProfile + ' = null where ' + TableUsers.FieldUserID + ' = ' + IntToStr(APerfil.ID));
|
||||
end;
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function TUsuariosController.EliminarPerfil(const AIDPerfil: integer): Boolean;
|
||||
begin
|
||||
Result := EliminarPerfil(FDataModule.GetPerfil(AIDPerfil));
|
||||
end;
|
||||
|
||||
function TUsuariosController.EliminarUsuario(AUser: IBizUsuario): Boolean;
|
||||
begin
|
||||
if not Assigned(AUser) then
|
||||
raise Exception.Create('No hay usuario asignado (EliminarUsuario)');
|
||||
|
||||
if not AUser.Active then
|
||||
AUser.Active := True;
|
||||
|
||||
if AUser.DataTable.RecordCount > 0 then
|
||||
Result := EliminarUsuario(AUser.ID);
|
||||
end;
|
||||
|
||||
function TUsuariosController.EliminarUsuario(const AIDUser: integer): Boolean;
|
||||
begin
|
||||
FUserControl.DataConnector.UCExecSQL('Delete from ' + FUserControl.TableRights.TableName + ' where ' + FUserControl.TableRights.FieldUserID + ' = ' + IntToStr(AIDUser));
|
||||
FUserControl.DataConnector.UCExecSQL('Delete from ' + FUserControl.TableUsers.TableName + ' where ' + FUserControl.TableUsers.FieldUserID + ' = ' + IntToStr(AIDUser));
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function TUsuariosController.GetCriptografia: TUCCriptografia;
|
||||
begin
|
||||
case FUserControl.Criptografia of
|
||||
cPadrao: Result := ucStandard;
|
||||
cMD5: Result := ucMD5;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUsuariosController.GetCurrentUser: IBizUsuario;
|
||||
begin
|
||||
if not Assigned(FCurrentUser) or (FCurrentUser.ID <> FUserControl.CurrentUser.UserID) then
|
||||
FCurrentUser := BuscarUsuario(FUserControl.CurrentUser.UserID);
|
||||
|
||||
if not FCurrentUser.Active then
|
||||
FCurrentUser.Active := True;
|
||||
|
||||
Result := FCurrentUser;
|
||||
end;
|
||||
|
||||
function TUsuariosController.GetMaxIntentosLogin: Integer;
|
||||
begin
|
||||
Result := FUserControl.Login.MaxLoginAttempts;
|
||||
end;
|
||||
|
||||
function TUsuariosController.GetUsarPasswordsSeguras: Boolean;
|
||||
begin
|
||||
Result := FUsarPasswordsSeguras;
|
||||
end;
|
||||
|
||||
function TUsuariosController.GuardarPerfil(APerfil: IBizPerfilUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(APerfil) then
|
||||
raise Exception.Create('No hay perfil asignado (GuardarPerfil)');
|
||||
|
||||
if APerfil.EsNuevo then
|
||||
Result := AnadirPerfil(APerfil)
|
||||
else
|
||||
Result := ModificarPerfil(APerfil);
|
||||
end;
|
||||
|
||||
function TUsuariosController.GuardarUsuario(AUser: IBizUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(AUser) then
|
||||
raise Exception.Create('No hay usuario asignado (GuardarUsuario)');
|
||||
|
||||
if AUser.EsNuevo then
|
||||
Result := AnadirUsuario(AUser)
|
||||
else
|
||||
Result := ModificarUsuario(AUser);
|
||||
end;
|
||||
|
||||
function TUsuariosController.HayUsuarioConPerfil(
|
||||
const AIDPerfil: integer): Boolean;
|
||||
var
|
||||
TempDS: TDataset;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
try
|
||||
TempDS := FUserControl.DataConnector.UCGetSQLDataset('Select ' + FUserControl.TableUsers.FieldUserID + ' as IdUser from ' +
|
||||
FUserControl.TableUsers.TableName +
|
||||
' Where ' + FUserControl.TableUsers.FieldTypeRec + ' = ' + QuotedStr('U') +
|
||||
' AND ' + FUserControl.TableUsers.FieldProfile + ' = ' + IntToStr(AIDPerfil));
|
||||
|
||||
Result := (TempDS.FieldByName('IdUser').AsInteger > 0);
|
||||
TempDS.Close;
|
||||
finally
|
||||
FreeAndNil(TempDS);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.InicializarUserControl;
|
||||
begin
|
||||
with FUserControl do
|
||||
begin
|
||||
ApplicationID := Application.ExeName;
|
||||
AutoStart := False;
|
||||
Criptografia := cMD5;
|
||||
CheckValidationKey := True;
|
||||
Login.MaxLoginAttempts := 3;
|
||||
UserPasswordChange.ForcePassword := True;
|
||||
UserPasswordChange.MinPasswordLength := 3;
|
||||
end;
|
||||
FDataModule.InicializarUserControl(FUserControl);
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.Logoff;
|
||||
begin
|
||||
FUserControl.Logoff;
|
||||
end;
|
||||
|
||||
function TUsuariosController.ModificarPerfil(
|
||||
APerfil: IBizPerfilUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(APerfil) then
|
||||
raise Exception.Create('No hay perfil asignado (ModificarPerfil)');
|
||||
|
||||
if ValidarPerfil(APerfil) then
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
with FUserControl do
|
||||
begin
|
||||
DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s WHERE %s = %d',
|
||||
[TableUsers.TableName,
|
||||
TableUsers.FieldUserName,
|
||||
QuotedStr(APerfil.USERNAME),
|
||||
TableUsers.FieldUserID,
|
||||
APerfil.ID]));
|
||||
end;
|
||||
|
||||
Result := True;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUsuariosController.ModificarUsuario(AUser: IBizUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(AUser) then
|
||||
raise Exception.Create('No hay usuario asignado (ModificarUsuario)');
|
||||
|
||||
if ValidarUsuario(AUser) then
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
FUserControl.ChangeUser(AUser.ID, AUser.LOGIN, AUser.USERNAME, AUser.EMAIL,
|
||||
AUser.ID_PERFIL, AUser.BLOQUEADO , AUser.USERDAYSSUN, (AUser.PRIVILEGED = 1));
|
||||
|
||||
Result := True;
|
||||
|
||||
{ TODO -oLuiz -cUpgrade : Consertar a Senha para poder avisar MD5 }
|
||||
{if (Assigned(MailUserControl)) and (MailUserControl.AlteraUsuario.Ativo) then
|
||||
try
|
||||
MailUserControl.EnviaEmailAlteraUsuario(vNome,
|
||||
vLogin,
|
||||
TfrmCadastrarUsuario(Self.Owner).FDataSetCadastroUsuario.FieldByName('SENHA').AsString,
|
||||
vEmail,
|
||||
IntToStr(vPerfil),
|
||||
EncryptKey);
|
||||
except
|
||||
on E: Exception do
|
||||
Log(E.Message, 2);
|
||||
end;}
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUsuariosController.NuevoPerfil: IBizPerfilUsuario;
|
||||
var
|
||||
APerfil : IBizPerfilUsuario;
|
||||
begin
|
||||
APerfil := FDataModule.NuevoPerfil;
|
||||
APerfil.DataTable.Active := True;
|
||||
APerfil.Insert;
|
||||
Result := APerfil;
|
||||
end;
|
||||
|
||||
function TUsuariosController.NuevoUsuario: IBizUsuario;
|
||||
var
|
||||
AUsuario : IBizUsuario;
|
||||
begin
|
||||
AUsuario := FDataModule.NuevoUsuario;
|
||||
AUsuario.DataTable.Active := True;
|
||||
AUsuario.Insert;
|
||||
Result := AUsuario;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
|
||||
begin
|
||||
inherited;
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.SetMaxIntentosLogin(const Value: Integer);
|
||||
begin
|
||||
FUserControl.Login.MaxLoginAttempts := Value;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.SetUsarPasswordsSeguras(const Value: Boolean);
|
||||
begin
|
||||
FUsarPasswordsSeguras := Value;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController._ShowChangePassword;
|
||||
begin
|
||||
FUserControl.ShowChangePassword;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController._ShowLogManager;
|
||||
begin
|
||||
FUserControl.ShowLogManager;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController._ShowProfileManager;
|
||||
begin
|
||||
FUserControl.ShowProfileManager;
|
||||
end;
|
||||
|
||||
function TUsuariosController.ValidarPassword(const APassword : string;
|
||||
const ALogin : String; const ANombre: String; out AMsg : String): boolean;
|
||||
begin
|
||||
Result := False;
|
||||
AMsg := '';
|
||||
if (FUserControl.UserPasswordChange.ForcePassword) and (Length(Trim(APassword)) = 0) then
|
||||
AMsg := FUserControl.UserSettings.CommonMessages.ChangePasswordError.PasswordRequired
|
||||
else
|
||||
if (Length(Trim(APassword)) < FUserControl.UserPasswordChange.MinPasswordLength) then
|
||||
AMsg := Format(FUserControl.UserSettings.CommonMessages.ChangePasswordError.MinPasswordLength, [FUserControl.UserPasswordChange.MinPasswordLength])
|
||||
else
|
||||
if FUsarPasswordsSeguras and (Pos(LowerCase(APassword), 'abcdeasdfqwerzxcv1234567890321654987test' + LowerCase(ALogin) + LowerCase(AMsg)) > 0) then
|
||||
AMsg := FUserControl.UserSettings.CommonMessages.ChangePasswordError.InvalidNewPassword
|
||||
else
|
||||
Result := true;
|
||||
end;
|
||||
|
||||
function TUsuariosController.ValidarPerfil(APerfil: IBizPerfilUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(APerfil) then
|
||||
raise Exception.Create ('Perfil no asignado (ValidarPerfil)');
|
||||
|
||||
if (APerfil.DataTable.State in dsEditModes) then
|
||||
APerfil.DataTable.Post;
|
||||
|
||||
if Length(APerfil.USERNAME) = 0 then
|
||||
raise Exception.Create('Debe indicar el nombre del perfil.');
|
||||
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function TUsuariosController.ValidarUsuario(AUser: IBizUsuario): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(AUser) then
|
||||
raise Exception.Create ('Usuario no asignado (ValidarUsuario)');
|
||||
|
||||
if (AUser.DataTable.State in dsEditModes) then
|
||||
AUser.DataTable.Post;
|
||||
|
||||
if Length(AUser.USERNAME) = 0 then
|
||||
raise Exception.Create('Debe indicar el nombre completo del usuario.');
|
||||
|
||||
if Length(AUser.LOGIN) = 0 then
|
||||
raise Exception.Create('Debe indicar un login para el usuario.');
|
||||
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
|
||||
procedure TUsuariosController.VerPerfil(const AIDPerfil: Integer);
|
||||
var
|
||||
FPerfil : IBizPerfilUsuario;
|
||||
begin
|
||||
FPerfil := FDataModule.GetPerfil(AIDPerfil);
|
||||
VerPerfil(FPerfil);
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.VerPerfil(APerfil: IBizPerfilUsuario);
|
||||
var
|
||||
AEditor : IEditorPerfilUsuario;
|
||||
begin
|
||||
if not Assigned(APerfil) then
|
||||
raise Exception.Create('Perfil no asignado (VerPerfil)');
|
||||
|
||||
APerfil.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorPerfilUsuario', IEditorPerfilUsuario, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorPerfilUsuario) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
PerfilUsuario := APerfil;
|
||||
ShowModal;
|
||||
Release;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.VerPerfiles;
|
||||
var
|
||||
AEditor : IEditorPerfilesUsuario;
|
||||
APerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
APerfilesUsuario := FDataModule.GetPerfiles;
|
||||
if Assigned(APerfilesUsuario) then
|
||||
begin
|
||||
APerfilesUsuario.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorPerfilesUsuario', IEditorPerfilesUsuario, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorPerfilesUsuario) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
PerfilesUsuario := APerfilesUsuario;
|
||||
ShowEmbedded;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
APerfilesUsuario := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.VerUsuario(const AIDUser: Integer);
|
||||
var
|
||||
FUsuario : IBizUsuario;
|
||||
begin
|
||||
FUsuario := FDataModule.GetUsuario(AIDUser);
|
||||
VerUsuario(FUsuario);
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.VerUsuario(AUser: IBizUsuario);
|
||||
var
|
||||
AEditor : IEditorUsuario;
|
||||
begin
|
||||
if not Assigned(AUser) then
|
||||
raise Exception.Create('Usuario no asignado (VerUsuario)');
|
||||
|
||||
AUser.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorUsuario', IEditorUsuario, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorUsuario) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
Usuario := AUser;
|
||||
ShowModal;
|
||||
Release;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.VerUsuarios;
|
||||
var
|
||||
AEditor : IEditorUsuarios;
|
||||
FUsuarios : IBizUsuario;
|
||||
begin
|
||||
FUsuarios := FDataModule.GetUsuarios;
|
||||
if Assigned(FUsuarios) then
|
||||
begin
|
||||
FUsuarios.Active := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorUsuarios', IEditorUsuarios, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with (AEditor as IEditorUsuarios) do
|
||||
begin
|
||||
Controller := Self; //OJO ORDEN MUY IMPORTANTE
|
||||
Usuarios := FUsuarios;
|
||||
ShowEmbedded;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
FUsuarios := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController._ShowUserManager;
|
||||
begin
|
||||
FUserControl.ShowUserManager;
|
||||
end;
|
||||
|
||||
function TUsuariosController.StartLogin : Boolean;
|
||||
var
|
||||
AEditor : IEditorLogin;
|
||||
begin
|
||||
Result := False;
|
||||
AEditor := NIL;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CreateEditor('EditorLogin', IEditorLogin, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
with AEditor do
|
||||
begin
|
||||
Controller := Self;
|
||||
Result := (AEditor.ShowModal = mrOk);
|
||||
Release;
|
||||
end;
|
||||
finally
|
||||
AEditor := NIL;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUsuariosController.FiltrarEmpresa(AUsuario: IBizUsuario);
|
||||
var
|
||||
Condicion: TDAWhereExpression;
|
||||
begin
|
||||
|
||||
// AQUI HAY QUE TENER EN CUENTA QUE UN USUARIO PUEDE QUE NO TENGA ACCESO
|
||||
// EN UNA DETERMINADA EMPRESA
|
||||
|
||||
|
||||
{ if AUsuario.DataTable.Active then
|
||||
AUsuario.DataTable.Active := False;
|
||||
|
||||
// Filtrar los contactos actuales por empresa
|
||||
with AUsuario.DataTable.DynamicWhere do
|
||||
begin
|
||||
Condicion := NewBinaryExpression(NewField('', fld_U
|
||||
ContactosID_EMPRESA), NewConstant(AppFactuGES.EmpresaActiva.ID, datInteger), dboEqual);
|
||||
|
||||
if IsEmpty then
|
||||
Expression := Condicion
|
||||
else
|
||||
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
|
||||
end;}
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
426
Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.dfm
Normal file
426
Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.dfm
Normal file
@ -0,0 +1,426 @@
|
||||
inherited DataModuleUsuarios: TDataModuleUsuarios
|
||||
OnCreate = DataModuleCreate
|
||||
Height = 215
|
||||
Width = 331
|
||||
object srvUsuarios: TRORemoteService
|
||||
Message = dmBase.ROMessage
|
||||
Channel = dmBase.ROChannel
|
||||
ServiceName = 'srvUsuarios'
|
||||
Left = 40
|
||||
Top = 80
|
||||
end
|
||||
object UCSettingsSpanish: TUCSettings
|
||||
AppMessages.MsgsForm_BtNew = '&Nuevo Mensaje'
|
||||
AppMessages.MsgsForm_BtReplay = '&Responder'
|
||||
AppMessages.MsgsForm_BtForward = '&Reenviar'
|
||||
AppMessages.MsgsForm_BtDelete = '&Borrar'
|
||||
AppMessages.MsgsForm_BtClose = '&Cerrar'
|
||||
AppMessages.MsgsForm_WindowCaption = 'Mensajes de Sistema'
|
||||
AppMessages.MsgsForm_ColFrom = 'Remitente'
|
||||
AppMessages.MsgsForm_ColSubject = 'Asunto'
|
||||
AppMessages.MsgsForm_ColDate = 'Fecha'
|
||||
AppMessages.MsgsForm_PromptDelete = #191'Est'#225' seguro de eliminar los mensajes seleccionados?'
|
||||
AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Eliminar mensajes'
|
||||
AppMessages.MsgsForm_NoMessagesSelected = '!Ning'#250'n mensaje seleccionado'#161
|
||||
AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Informaci'#243'n'
|
||||
AppMessages.MsgRec_BtClose = '&Cerrar'
|
||||
AppMessages.MsgRec_WindowCaption = 'Mensaje'
|
||||
AppMessages.MsgRec_Title = 'Mensaje Recibido'
|
||||
AppMessages.MsgRec_LabelFrom = 'De:'
|
||||
AppMessages.MsgRec_LabelDate = 'Fecha'
|
||||
AppMessages.MsgRec_LabelSubject = 'Asunto'
|
||||
AppMessages.MsgRec_LabelMessage = 'Mensaje'
|
||||
AppMessages.MsgSend_BtSend = '&Enviar'
|
||||
AppMessages.MsgSend_BtCancel = '&Cancelar'
|
||||
AppMessages.MsgSend_WindowCaption = 'Mensaje'
|
||||
AppMessages.MsgSend_Title = 'Enviar Nuevo Mensaje'
|
||||
AppMessages.MsgSend_GroupTo = 'Para:'
|
||||
AppMessages.MsgSend_RadioUser = 'Usuario:'
|
||||
AppMessages.MsgSend_RadioAll = 'Todos'
|
||||
AppMessages.MsgSend_GroupMessage = 'Mensaje'
|
||||
AppMessages.MsgSend_LabelSubject = 'Asunto'
|
||||
AppMessages.MsgSend_LabelMessageText = 'Texto del mensaje'
|
||||
CommonMessages.AutoLogonError =
|
||||
'Error de Ingreso Autom'#225'tico!'#13#10'Especifique un Usuario y Contrase'#241 +
|
||||
'a V'#225'lidos.'
|
||||
CommonMessages.ChangePasswordError.InvalidCurrentPassword = #161'Contrase'#241'a Actual Incorrecta!'
|
||||
CommonMessages.ChangePasswordError.NewPasswordError =
|
||||
'Los campos Contrase'#241'a Nueva y Confirme Contrase'#241'a deben ser igua' +
|
||||
'les'
|
||||
CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nueva Contrase'#241'a y Contrase'#241'a Actual deben ser diferentes'
|
||||
CommonMessages.ChangePasswordError.PasswordRequired = #161'La Contrase'#241'a es obligatoria!'
|
||||
CommonMessages.ChangePasswordError.MinPasswordLength = 'La Contrase'#241'a debe tener un m'#237'nimo de %d caracteres'
|
||||
CommonMessages.ChangePasswordError.InvalidNewPassword = #161'Prohibido utilizar contrase'#241'as NO Seguras!'
|
||||
CommonMessages.InvalidLogin = 'Usuario y/o Contrase'#241'a Incorrectos!'
|
||||
CommonMessages.InitialMessage.Strings = (
|
||||
'ATENCION! Conecci'#243'n Inicial:'
|
||||
''
|
||||
'Usuario : :user'
|
||||
'Contrase'#241'a : :password'
|
||||
''
|
||||
'Defina permisos para este usuario')
|
||||
CommonMessages.MaxLoginAttemptsError = '%d Intentos de conecci'#243'n inv'#225'lidos !'
|
||||
CommonMessages.PasswordChanged = #161'Se ha cambiado la Contrase'#241'a con '#233'xito!'
|
||||
CommonMessages.BlankPassword = 'Contrase'#241'a vac'#237'a para el Usuario %s'
|
||||
CommonMessages.UsuarioExiste = 'O Usu'#225'rio "%s" j'#225' est'#225' cadastrado no sistema !!'
|
||||
CommonMessages.PasswordExpired = 'Aten'#231#227'o, sua senha expirou, favor troca-la'
|
||||
CommonMessages.ForcaTrocaSenha = 'Mudan'#231'a de senha obrigat'#243'ria'
|
||||
Login.WindowCaption = 'Conecci'#243'n'
|
||||
Login.LabelUser = 'Usuario: '
|
||||
Login.LabelPassword = 'Contrase'#241'a:'
|
||||
Login.BtOk = 'Aceptar'
|
||||
Login.BtCancel = '&Cancelar'
|
||||
Login.LeftImage.Data = {
|
||||
07544269746D617016090000424D160900000000000036040000280000003200
|
||||
0000180000000100080000000000E00400000000000000000000000100000000
|
||||
000000000000000080000080000000808000800000008000800080800000C0C0
|
||||
C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
|
||||
E00000400000004020000040400000406000004080000040A0000040C0000040
|
||||
E00000600000006020000060400000606000006080000060A0000060C0000060
|
||||
E00000800000008020000080400000806000008080000080A0000080C0000080
|
||||
E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
|
||||
E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
|
||||
E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
|
||||
E00040000000400020004000400040006000400080004000A0004000C0004000
|
||||
E00040200000402020004020400040206000402080004020A0004020C0004020
|
||||
E00040400000404020004040400040406000404080004040A0004040C0004040
|
||||
E00040600000406020004060400040606000406080004060A0004060C0004060
|
||||
E00040800000408020004080400040806000408080004080A0004080C0004080
|
||||
E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
|
||||
E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
|
||||
E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
|
||||
E00080000000800020008000400080006000800080008000A0008000C0008000
|
||||
E00080200000802020008020400080206000802080008020A0008020C0008020
|
||||
E00080400000804020008040400080406000804080008040A0008040C0008040
|
||||
E00080600000806020008060400080606000806080008060A0008060C0008060
|
||||
E00080800000808020008080400080806000808080008080A0008080C0008080
|
||||
E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
|
||||
E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
|
||||
E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
|
||||
E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
|
||||
E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
|
||||
E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
|
||||
E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
|
||||
E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
|
||||
E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
|
||||
E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
|
||||
A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
|
||||
FF00FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD525252525252525252525252
|
||||
5252FDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDAFB75E5E5E66666767676F6F6F6FB752FDFDFDFDFD0000FDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
|
||||
BFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6FB7B7B7B7B7776F5EB752FD
|
||||
FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFB752FDFDFDFDFD0000FDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFB76F676F6F6FB7B7
|
||||
B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD
|
||||
0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAF
|
||||
B76767676F6F6FB7B7B7776F5EB752FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBFBFBFBFBFBFBFBFBF
|
||||
BFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDAFB76767676F6F6F6FB7B7776F5EB752FDFDFDFDFD0000FDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBF6FBFBF
|
||||
BFBFBFBFBFBFBFBFBFBF52FDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDAFBFB7AFAFB7B7B7B7BFBFBFBFB7B752FD
|
||||
FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDAFB76F675E5E5E5E5E5E676FB7A5FDFDFDFDFDFD0000FDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFD
|
||||
FDFDA4F7A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD
|
||||
0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDF7F79BFDFDFDFDFDFDA407A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F7A4FDFDFDFDFDFDF707
|
||||
A3FDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDF707A49AFDFDFDFDA30707A3FDFDFDFDFDFDFD0000FDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6A4
|
||||
A49B9A9AA3A407079AFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7F6F7F7A4A4F70707A3FDFDFDFD
|
||||
FDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDF7F6F6F6F6F607A3FDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF7A3A3A3
|
||||
A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
|
||||
0000}
|
||||
Login.LabelTentativa = 'Tentativa : '
|
||||
Login.LabelTentativas = 'M'#225'ximo de Tentativas : '
|
||||
Log.WindowCaption = 'Seguridad'
|
||||
Log.LabelDescription = 'Visor de Eventos'
|
||||
Log.LabelUser = 'Usuario:'
|
||||
Log.LabelDate = 'Fecha:'
|
||||
Log.LabelLevel = 'Nivel M'#237'nimo: '
|
||||
Log.ColAppID = 'AppID'
|
||||
Log.ColLevel = 'Nivel'
|
||||
Log.ColMessage = 'Mensaje'
|
||||
Log.ColUser = 'Usuario'
|
||||
Log.ColDate = 'Fecha'
|
||||
Log.BtFilter = '&Aplicar Filtro'
|
||||
Log.BtDelete = '&Borrar Bit'#225'cora'
|
||||
Log.BtClose = '&Cerrar'
|
||||
Log.PromptDelete =
|
||||
#191'Est'#225' seguro de Eliminar todos todos los registros de Bit'#225'cora s' +
|
||||
'eleccionados?'
|
||||
Log.PromptDelete_WindowCaption = 'Confirmaci'#243'n'
|
||||
Log.OptionUserAll = 'Todos'
|
||||
Log.OptionLevelLow = 'Bajo'
|
||||
Log.OptionLevelNormal = 'Normal'
|
||||
Log.OptionLevelHigh = 'Alto'
|
||||
Log.OptionLevelCritic = 'Cr'#237'tico'
|
||||
Log.DeletePerformed =
|
||||
'Borrado de registros de bit'#225'cora realizado: Usuario = "%s" | Fec' +
|
||||
'ha = %s a %s | Nivel <= %s'
|
||||
UsersForm.WindowCaption = 'Seguridad'
|
||||
UsersForm.LabelDescription = 'Administraci'#243'n de Usuarios'
|
||||
UsersForm.ColName = 'Nombre'
|
||||
UsersForm.ColLogin = 'Usuario'
|
||||
UsersForm.ColEmail = 'Correo'
|
||||
UsersForm.BtAdd = '&Nuevo'
|
||||
UsersForm.BtChange = '&Editar'
|
||||
UsersForm.BtDelete = 'E&liminar'
|
||||
UsersForm.PromptDelete = #191'Est'#225' seguro de Eliminar al Usuario "%s"?'
|
||||
UsersForm.PromptDelete_WindowCaption = 'Eliminar usuario'
|
||||
UsersForm.BtRights = '&Accesos'
|
||||
UsersForm.BtPassword = 'C&ontrase'#241'a'
|
||||
UsersForm.BtClose = '&Cerrar'
|
||||
AddChangeUser.WindowCaption = 'Administraci'#243'n de Usuarios'
|
||||
AddChangeUser.LabelAdd = 'Nuevo Usuario'
|
||||
AddChangeUser.LabelChange = 'Editar Usuario'
|
||||
AddChangeUser.LabelName = 'Nombre:'
|
||||
AddChangeUser.LabelLogin = 'Usuario: '
|
||||
AddChangeUser.LabelEmail = 'Correo: '
|
||||
AddChangeUser.LabelPerfil = 'Perfil: '
|
||||
AddChangeUser.CheckPrivileged = 'Usuario Privilegiado'
|
||||
AddChangeUser.BtSave = '&Guardar'
|
||||
AddChangeUser.BtCancel = 'Cancelar'
|
||||
AddChangeUser.CheckExpira = 'Senha do usu'#225'rio n'#227'o expira'
|
||||
AddChangeUser.Day = 'Dias'
|
||||
AddChangeUser.ExpiredIn = 'Expira em'
|
||||
AddChangeProfile.WindowCaption = 'Perfiles de Usuarios'
|
||||
AddChangeProfile.LabelAdd = 'Nuevo Perfil'
|
||||
AddChangeProfile.LabelChange = 'Editar Perfil'
|
||||
AddChangeProfile.LabelName = 'Descripci'#243'n: '
|
||||
AddChangeProfile.BtSave = '&Guardar'
|
||||
AddChangeProfile.BtCancel = 'Cancelar'
|
||||
UsersProfile.WindowCaption = 'Seguridad'
|
||||
UsersProfile.LabelDescription = 'Perfil de Usuario'
|
||||
UsersProfile.ColProfile = 'Perfil'
|
||||
UsersProfile.BtAdd = '&Nuevo'
|
||||
UsersProfile.BtChange = '&Editar'
|
||||
UsersProfile.BtDelete = 'E&liminar'
|
||||
UsersProfile.BtRights = '&Accesos'
|
||||
UsersProfile.PromptDelete =
|
||||
'Existe(n) usuario(s) con el Perfil "%s". '#191'Est'#225' seguro de elimina' +
|
||||
'r el perfil?'
|
||||
UsersProfile.PromptDelete_WindowCaption = 'Eliminar perfil'
|
||||
UsersProfile.BtClose = '&Cerrar'
|
||||
Rights.WindowCaption = 'Seguridad'
|
||||
Rights.LabelUser = 'Permisos de Usuario : '
|
||||
Rights.LabelProfile = 'Permisos del Perfil : '
|
||||
Rights.PageMenu = 'Elementos del Men'#250
|
||||
Rights.PageActions = 'Acciones'
|
||||
Rights.PageControls = 'Controles'
|
||||
Rights.BtUnlock = '&Permitir'
|
||||
Rights.BtLock = '&Bloquear'
|
||||
Rights.BtSave = '&Guardar'
|
||||
Rights.BtCancel = '&Cancelar'
|
||||
ChangePassword.WindowCaption = 'Seguridad'
|
||||
ChangePassword.LabelDescription = 'Cambiar Contrase'#241'a'
|
||||
ChangePassword.LabelCurrentPassword = 'Contrase'#241'a Actual:'
|
||||
ChangePassword.LabelNewPassword = 'Nueva Contrase'#241'a:'
|
||||
ChangePassword.LabelConfirm = 'Confirme Contrase'#241'a:'
|
||||
ChangePassword.BtSave = '&Guardar'
|
||||
ChangePassword.BtCancel = 'Cancelar'
|
||||
ResetPassword.WindowCaption = 'Ingrese Contrase'#241'a de Usuario: "%s"'
|
||||
ResetPassword.LabelPassword = 'Contrase'#241'a: '
|
||||
History.Evento_Insert = 'Nuevo'
|
||||
History.Evento_Delete = 'Eliminar'
|
||||
History.Evento_Edit = 'Editar'
|
||||
History.Evento_NewRecord = 'Nuevo registro'
|
||||
History.Hist_All = 'Todos'
|
||||
History.Msg_LimpHistorico = 'Excluir el contenido entero del hist'#243'rico ?'
|
||||
History.Msg_MensConfirma = 'Confirme'
|
||||
History.Msg_LogEmptyHistory = 'El usuario %s borra la historia de mesa en %s '
|
||||
History.LabelDescricao = 'Hist'#243'rico de tabelas'
|
||||
History.LabelUser = 'Usuario'
|
||||
History.LabelForm = 'Formul'#225'rio'
|
||||
History.LabelEvento = 'Evento'
|
||||
History.LabelTabela = 'Tabela'
|
||||
History.LabelDataEvento = 'Data'
|
||||
History.LabelHoraEvento = 'Hora'
|
||||
History.Msg_NewRecord = '%s Inserte el nuevo registro'
|
||||
History.Hist_MsgExceptPropr = 'Por favor informe la propiedad %s'
|
||||
History.Hist_BtnFiltro = '&Aplicar Filtro'
|
||||
History.Hist_BtnExcluir = '&Borrar Hist'#243'rico'
|
||||
History.Hist_BtnFechar = '&Cerrar'
|
||||
TypeFieldsDB.Type_VarChar = 'VarChar'
|
||||
TypeFieldsDB.Type_Char = 'Char'
|
||||
TypeFieldsDB.Type_Int = 'Int'
|
||||
TypeFieldsDB.Type_MemoField = 'BLOB SUB_TYPE 1 SEGMENT SIZE 1024'
|
||||
Language = ucSpanish
|
||||
Left = 40
|
||||
Top = 16
|
||||
end
|
||||
object rda_Usuarios: TDARemoteDataAdapter
|
||||
GetSchemaCall.RemoteService = srvUsuarios
|
||||
GetDataCall.RemoteService = srvUsuarios
|
||||
UpdateDataCall.RemoteService = srvUsuarios
|
||||
GetScriptsCall.RemoteService = srvUsuarios
|
||||
RemoteService = srvUsuarios
|
||||
DataStreamer = Bin2DataStreamer
|
||||
Left = 176
|
||||
Top = 16
|
||||
end
|
||||
object Bin2DataStreamer: TDABin2DataStreamer
|
||||
Left = 40
|
||||
Top = 144
|
||||
end
|
||||
object tbl_USUARIOS: TDAMemDataTable
|
||||
RemoteUpdatesOptions = []
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
Required = True
|
||||
DictionaryEntry = 'USUARIOS_ID'
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Nombre'
|
||||
DictionaryEntry = 'USUARIOS_USERNAME'
|
||||
end
|
||||
item
|
||||
Name = 'LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Login'
|
||||
DictionaryEntry = 'USUARIOS_LOGIN'
|
||||
end
|
||||
item
|
||||
Name = 'PASS'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DisplayLabel = 'Password'
|
||||
DictionaryEntry = 'USUARIOS_PASS'
|
||||
end
|
||||
item
|
||||
Name = 'PASSEXPIRED'
|
||||
DataType = datDateTime
|
||||
DisplayLabel = 'Expiraci'#243'n de password'
|
||||
DictionaryEntry = 'USUARIOS_PASSEXPIRED'
|
||||
end
|
||||
item
|
||||
Name = 'BLOQUEADO'
|
||||
DataType = datSmallInt
|
||||
DisplayLabel = 'Bloqueado'
|
||||
DictionaryEntry = 'USUARIOS_BLOQUEADO'
|
||||
end
|
||||
item
|
||||
Name = 'EMAIL'
|
||||
DataType = datString
|
||||
Size = 150
|
||||
DisplayLabel = 'Correo electr'#243'nico'
|
||||
DictionaryEntry = 'USUARIOS_EMAIL'
|
||||
end
|
||||
item
|
||||
Name = 'USERDAYSSUN'
|
||||
DataType = datInteger
|
||||
DisplayLabel = 'USUARIOS_USERDAYSSUN'
|
||||
DictionaryEntry = 'USUARIOS_USERDAYSSUN'
|
||||
end
|
||||
item
|
||||
Name = 'PRIVILEGED'
|
||||
DataType = datInteger
|
||||
DisplayLabel = 'Privilegiado'
|
||||
DictionaryEntry = 'USUARIOS_PRIVILEGED'
|
||||
end
|
||||
item
|
||||
Name = 'TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DisplayLabel = 'Tipo'
|
||||
DictionaryEntry = 'USUARIOS_TIPO'
|
||||
end
|
||||
item
|
||||
Name = 'ID_PERFIL'
|
||||
DataType = datInteger
|
||||
DictionaryEntry = 'USUARIOS_ID_PERFIL'
|
||||
end
|
||||
item
|
||||
Name = 'CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DisplayLabel = 'Checksum'
|
||||
DictionaryEntry = 'USUARIOS_CHECKSUM'
|
||||
end>
|
||||
Params = <>
|
||||
StreamingOptions = [soDisableEventsWhileStreaming]
|
||||
RemoteDataAdapter = rda_Usuarios
|
||||
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
|
||||
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
||||
LogicalName = 'USUARIOS'
|
||||
IndexDefs = <>
|
||||
Left = 176
|
||||
Top = 80
|
||||
end
|
||||
object ds_USUARIOS: TDADataSource
|
||||
DataSet = tbl_USUARIOS.Dataset
|
||||
DataTable = tbl_USUARIOS
|
||||
Left = 176
|
||||
Top = 136
|
||||
end
|
||||
object tbl_PERFILES: TDAMemDataTable
|
||||
RemoteUpdatesOptions = []
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
Required = True
|
||||
DictionaryEntry = 'PERFILES_ID'
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Nombre'
|
||||
DictionaryEntry = 'PERFILES_USERNAME'
|
||||
end
|
||||
item
|
||||
Name = 'LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Login'
|
||||
DictionaryEntry = 'PERFILES_LOGIN'
|
||||
end
|
||||
item
|
||||
Name = 'TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DisplayLabel = 'Tipo'
|
||||
DictionaryEntry = 'PERFILES_TIPO'
|
||||
end>
|
||||
Params = <>
|
||||
StreamingOptions = [soDisableEventsWhileStreaming]
|
||||
RemoteDataAdapter = rda_Usuarios
|
||||
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
|
||||
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
||||
LogicalName = 'PERFILES'
|
||||
IndexDefs = <>
|
||||
Left = 272
|
||||
Top = 80
|
||||
end
|
||||
object ds_PERFILES: TDADataSource
|
||||
DataSet = tbl_PERFILES.Dataset
|
||||
DataTable = tbl_PERFILES
|
||||
Left = 272
|
||||
Top = 136
|
||||
end
|
||||
end
|
||||
465
Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.pas
Normal file
465
Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.pas
Normal file
@ -0,0 +1,465 @@
|
||||
unit uDataModuleUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Classes, DB, DBClient, uDADataTable,
|
||||
VARELA_Intf,
|
||||
UCBase, UCDataConnector, uUCROConn, uDARemoteDataAdapter,
|
||||
uDARemoteCommand, uROClient, uRORemoteService, uDADataStreamer,
|
||||
uDABin2DataStreamer, uDAScriptingProvider, uIDataModuleUsuarios, UCSettings,
|
||||
uDataModuleBase, uDAInterfaces, uDAMemDataTable, uBizUsuarios;
|
||||
|
||||
type
|
||||
TDataModuleUsuarios = class(TDataModuleBase, IDataModuleUsuarios)
|
||||
srvUsuarios: TRORemoteService;
|
||||
UCSettingsSpanish: TUCSettings;
|
||||
rda_Usuarios: TDARemoteDataAdapter;
|
||||
Bin2DataStreamer: TDABin2DataStreamer;
|
||||
tbl_USUARIOS: TDAMemDataTable;
|
||||
ds_USUARIOS: TDADataSource;
|
||||
tbl_PERFILES: TDAMemDataTable;
|
||||
ds_PERFILES: TDADataSource;
|
||||
procedure DataModuleCreate(Sender: TObject);
|
||||
private
|
||||
procedure InicializarCamposUserControl(AUserControl: TUserControl);
|
||||
procedure InicializarSettingsUserControl(AUserControl: TUserControl);
|
||||
function CreateConnectorInstance : TUCDataConnector;
|
||||
public
|
||||
function GetUsuario(const ID : Integer) : IBizUsuario;
|
||||
function NuevoUsuario : IBizUsuario;
|
||||
function GetUsuarios : IBizUsuario;
|
||||
|
||||
function NuevoPerfil : IBizPerfilUsuario;
|
||||
function GetPerfiles : IBizPerfilUsuario;
|
||||
function GetPerfil (const ID : Integer) : IBizPerfilUsuario;
|
||||
|
||||
procedure InicializarUserControl (AUserControl : TUserControl);
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.DFM}
|
||||
|
||||
uses
|
||||
Forms, Controls, uDataTableUtils, uDMBase,
|
||||
Dialogs, Windows, cxControls,
|
||||
schUsuariosClient_Intf;
|
||||
|
||||
const
|
||||
ID_NULO = -9000;
|
||||
|
||||
|
||||
{ TDataModuleUsuarios }
|
||||
|
||||
function TDataModuleUsuarios.CreateConnectorInstance: TUCDataConnector;
|
||||
begin
|
||||
// El propietario (Owner) es Application para que se encarge de la
|
||||
// liberación del conector que estamos creando.
|
||||
Result := TUCROConn.Create(Application);
|
||||
with TUCROConn(Result) do
|
||||
begin
|
||||
ROServiceName := srvUsuarios.ServiceName;
|
||||
ROChannel := dmBase.ROChannel;
|
||||
ROMessage := dmBase.ROMessage;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.NuevoPerfil: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := GetPerfil(ID_NULO)
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.NuevoUsuario: IBizUsuario;
|
||||
begin
|
||||
Result := GetUsuario(ID_NULO)
|
||||
end;
|
||||
|
||||
procedure TDataModuleUsuarios.DataModuleCreate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
srvUsuarios.Channel := dmBase.Channel;
|
||||
srvUsuarios.Message := dmBase.Message;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.GetPerfil(const ID: Integer): IBizPerfilUsuario;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
Result := Self.GetPerfiles;
|
||||
|
||||
with Result.DataTable.DynamicWhere do
|
||||
begin
|
||||
Clear;
|
||||
// (ID = :ID)
|
||||
Expression := NewBinaryExpression(NewField('', fld_PERFILESID), NewConstant(ID, datInteger), dboEqual);
|
||||
end;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.GetPerfiles: IBizPerfilUsuario;
|
||||
var
|
||||
AUsuarios : TDAMemDataTable;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
AUsuarios := CloneDataTable(tbl_PERFILES);
|
||||
AUsuarios.BusinessRulesID := BIZ_CLIENT_PERFIL_USUARIO;
|
||||
|
||||
Result := (AUsuarios as IBizPerfilUsuario);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.GetUsuario(const ID: Integer): IBizUsuario;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
Result := Self.GetUsuarios;
|
||||
|
||||
with Result.DataTable.DynamicWhere do
|
||||
begin
|
||||
Clear;
|
||||
// (ID = :ID)
|
||||
Expression := NewBinaryExpression(NewField('', fld_USUARIOSID), NewConstant(ID, datInteger), dboEqual);
|
||||
end;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleUsuarios.GetUsuarios: IBizUsuario;
|
||||
var
|
||||
AUsuarios : TDAMemDataTable;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
AUsuarios := CloneDataTable(tbl_Usuarios);
|
||||
AUsuarios.BusinessRulesID := BIZ_CLIENT_USUARIO;
|
||||
|
||||
Result := (AUsuarios as IBizUsuario);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDataModuleUsuarios.InicializarCamposUserControl(
|
||||
AUserControl: TUserControl);
|
||||
begin
|
||||
if not Assigned(AUserControl) then
|
||||
raise Exception.Create('UserControl no asignado (InicializarUserControl)');
|
||||
|
||||
with AUserControl do
|
||||
begin
|
||||
DataConnector := CreateConnectorInstance;
|
||||
|
||||
with TableUsers do
|
||||
begin
|
||||
TableName := 'RDX_USUARIOS'; //nme_USUARIOS;
|
||||
FieldUserID := fld_USUARIOSID;
|
||||
FieldUserName := fld_USUARIOSUSERNAME;
|
||||
FieldLogin := fld_USUARIOSLOGIN;
|
||||
FieldPassword := fld_USUARIOSPASS;
|
||||
FieldEmail := fld_USUARIOSEMAIL;
|
||||
FieldPrivileged := fld_USUARIOSPRIVILEGED;
|
||||
FieldTypeRec := fld_USUARIOSTIPO;
|
||||
FieldProfile := fld_USUARIOSID_PERFIL;
|
||||
FieldUserExpired := fld_USUARIOSBLOQUEADO;
|
||||
FieldDateExpired := fld_USUARIOSPASSEXPIRED;
|
||||
FieldUserDaysSun := fld_USUARIOSUSERDAYSSUN;
|
||||
FieldKey := fld_USUARIOSCHECKSUM;
|
||||
end;
|
||||
|
||||
with TableRights do
|
||||
begin
|
||||
TableName := 'RDX_PERMISOS'; //nme_PERMISOS;
|
||||
FieldUserID := fld_PERMISOSID_USUARIO;
|
||||
FieldModule := fld_PERMISOSMODULO;
|
||||
FieldComponentName := fld_PERMISOSNOMBRECOMP;
|
||||
FieldFormName := fld_PERMISOSEXNOMBREFORM;
|
||||
FieldKey := fld_PERMISOSCHECKSUM;
|
||||
end;
|
||||
|
||||
with TableUsersLogged do
|
||||
begin
|
||||
TableName := 'RDX_USUARIOS_LOGON'; //nme_USUARIOS_LOGON;
|
||||
FieldLogonID := fld_USUARIOS_LOGONLOGONID;
|
||||
FieldUserID := fld_USUARIOS_LOGONID_USUARIO;
|
||||
FieldApplicationID := fld_USUARIOS_LOGONAPLICACION;
|
||||
FieldMachineName := fld_USUARIOS_LOGONEQUIPO;
|
||||
FieldData := fld_USUARIOS_LOGONDATA;
|
||||
end;
|
||||
|
||||
with TableHistory do
|
||||
begin
|
||||
TableName := 'RDX_USUARIOS_EVENTOS'; //nme_USUARIOS_EVENTOS;
|
||||
FieldApplicationID := fld_USUARIOS_EVENTOSAPLICACION;
|
||||
FieldUserID := fld_USUARIOS_EVENTOSID_USUARIO;
|
||||
FieldEventDate := fld_USUARIOS_EVENTOSFECHA;
|
||||
FieldEventTime := fld_USUARIOS_EVENTOSHORA;
|
||||
FieldForm := fld_USUARIOS_EVENTOSFORM;
|
||||
FieldCaptionForm := fld_USUARIOS_EVENTOSTITULO_FORM;
|
||||
FieldEvent := fld_USUARIOS_EVENTOSEVENTO;
|
||||
FieldObs := fld_USUARIOS_EVENTOSNOTAS;
|
||||
FieldTableName := fld_USUARIOS_EVENTOSTNAME;
|
||||
end;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDataModuleUsuarios.InicializarSettingsUserControl(
|
||||
AUserControl: TUserControl);
|
||||
var
|
||||
SourceSettings : TUCSettings;
|
||||
begin
|
||||
SourceSettings := UCSettingsSpanish;
|
||||
|
||||
with AUserControl do
|
||||
begin
|
||||
with UserSettings.CommonMessages do
|
||||
begin
|
||||
BlankPassword := SourceSettings.CommonMessages.BlankPassword;
|
||||
PasswordChanged := SourceSettings.CommonMessages.PasswordChanged;
|
||||
InitialMessage.Text := SourceSettings.CommonMessages.InitialMessage.Text;
|
||||
MaxLoginAttemptsError := SourceSettings.CommonMessages.MaxLoginAttemptsError;
|
||||
InvalidLogin := SourceSettings.CommonMessages.InvalidLogin;
|
||||
AutoLogonError := SourceSettings.CommonMessages.AutoLogonError;
|
||||
UsuarioExiste := SourceSettings.CommonMessages.UsuarioExiste; // Luiz Benevenuto 20/04/06
|
||||
PasswordExpired := SourceSettings.CommonMessages.PasswordExpired; // vicente barros leonel
|
||||
ForcaTrocaSenha := SourceSettings.CommonMessages.ForcaTrocaSenha;
|
||||
end;
|
||||
|
||||
with UserSettings.Login do
|
||||
begin
|
||||
BtCancel := SourceSettings.Login.BtCancel;
|
||||
BtOK := SourceSettings.Login.BtOK;
|
||||
LabelPassword := SourceSettings.Login.LabelPassword;
|
||||
LabelUser := SourceSettings.Login.LabelUser;
|
||||
WindowCaption := SourceSettings.Login.WindowCaption;
|
||||
LabelTentativa := SourceSettings.Login.LabelTentativa;
|
||||
LabelTentativas := SourceSettings.Login.LabelTentativas;
|
||||
|
||||
if Assigned(SourceSettings.Login.LeftImage.Bitmap) then
|
||||
LeftImage.Bitmap := SourceSettings.Login.LeftImage.Bitmap
|
||||
else
|
||||
LeftImage.Bitmap := nil;
|
||||
|
||||
if Assigned(SourceSettings.Login.TopImage.Bitmap) then
|
||||
TopImage.Bitmap := SourceSettings.Login.TopImage.Bitmap
|
||||
else
|
||||
TopImage.Bitmap := nil;
|
||||
|
||||
if Assigned(SourceSettings.Login.BottomImage.Bitmap) then
|
||||
BottomImage.Bitmap := SourceSettings.Login.BottomImage.Bitmap
|
||||
else
|
||||
BottomImage.Bitmap := nil;
|
||||
end;
|
||||
|
||||
with UserSettings.UsersForm do
|
||||
begin
|
||||
WindowCaption := SourceSettings.UsersForm.WindowCaption;
|
||||
LabelDescription := SourceSettings.UsersForm.LabelDescription;
|
||||
ColName := SourceSettings.UsersForm.ColName;
|
||||
ColLogin := SourceSettings.UsersForm.ColLogin;
|
||||
ColEmail := SourceSettings.UsersForm.ColEmail;
|
||||
BtAdd := SourceSettings.UsersForm.BtAdd;
|
||||
BtChange := SourceSettings.UsersForm.BtChange;
|
||||
BtDelete := SourceSettings.UsersForm.BtDelete;
|
||||
BtRights := SourceSettings.UsersForm.BtRights;
|
||||
BtPassword := SourceSettings.UsersForm.BtPassword;
|
||||
BtClose := SourceSettings.UsersForm.BtClose;
|
||||
PromptDelete := SourceSettings.UsersForm.PromptDelete;
|
||||
PromptDelete_WindowCaption := SourceSettings.UsersForm.PromptDelete_WindowCaption; //added by fduenas
|
||||
end;
|
||||
|
||||
with UserSettings.UsersProfile do
|
||||
begin
|
||||
WindowCaption := SourceSettings.UsersProfile.WindowCaption;
|
||||
LabelDescription := SourceSettings.UsersProfile.LabelDescription;
|
||||
ColProfile := SourceSettings.UsersProfile.ColProfile;
|
||||
BtAdd := SourceSettings.UsersProfile.BtAdd;
|
||||
BtChange := SourceSettings.UsersProfile.BtChange;
|
||||
BtDelete := SourceSettings.UsersProfile.BtDelete;
|
||||
BtRights := SourceSettings.UsersProfile.BtRights; //added by fduenas
|
||||
BtClose := SourceSettings.UsersProfile.BtClose;
|
||||
PromptDelete := SourceSettings.UsersProfile.PromptDelete;
|
||||
PromptDelete_WindowCaption := SourceSettings.UsersProfile.PromptDelete_WindowCaption; //added by fduenas
|
||||
end;
|
||||
|
||||
with UserSettings.AddChangeUser do
|
||||
begin
|
||||
WindowCaption := SourceSettings.AddChangeUser.WindowCaption;
|
||||
LabelAdd := SourceSettings.AddChangeUser.LabelAdd;
|
||||
LabelChange := SourceSettings.AddChangeUser.LabelChange;
|
||||
LabelName := SourceSettings.AddChangeUser.LabelName;
|
||||
LabelLogin := SourceSettings.AddChangeUser.LabelLogin;
|
||||
LabelEmail := SourceSettings.AddChangeUser.LabelEmail;
|
||||
CheckPrivileged := SourceSettings.AddChangeUser.CheckPrivileged;
|
||||
BtSave := SourceSettings.AddChangeUser.BtSave;
|
||||
BtCancel := SourceSettings.AddChangeUser.BtCancel;
|
||||
CheckExpira := SourceSettings.AddChangeUser.CheckExpira;
|
||||
Day := SourceSettings.AddChangeUser.Day;
|
||||
ExpiredIn := SourceSettings.AddChangeUser.ExpiredIn;
|
||||
end;
|
||||
|
||||
with UserSettings.AddChangeProfile do
|
||||
begin
|
||||
WindowCaption := SourceSettings.AddChangeProfile.WindowCaption;
|
||||
LabelAdd := SourceSettings.AddChangeProfile.LabelAdd;
|
||||
LabelChange := SourceSettings.AddChangeProfile.LabelChange;
|
||||
LabelName := SourceSettings.AddChangeProfile.LabelName;
|
||||
BtSave := SourceSettings.AddChangeProfile.BtSave;
|
||||
BtCancel := SourceSettings.AddChangeProfile.BtCancel;
|
||||
end;
|
||||
|
||||
with UserSettings.Rights do
|
||||
begin
|
||||
WindowCaption := SourceSettings.Rights.WindowCaption;
|
||||
LabelUser := SourceSettings.Rights.LabelUser;
|
||||
LabelProfile := SourceSettings.Rights.LabelProfile;
|
||||
PageMenu := SourceSettings.Rights.PageMenu;
|
||||
PageActions := SourceSettings.Rights.PageActions;
|
||||
PageControls := SourceSettings.Rights.PageControls;
|
||||
BtUnlock := SourceSettings.Rights.BtUnlock;
|
||||
BtLock := SourceSettings.Rights.BtLock;
|
||||
BtSave := SourceSettings.Rights.BtSave;
|
||||
BtCancel := SourceSettings.Rights.BtCancel;
|
||||
end;
|
||||
|
||||
with UserSettings.ChangePassword do
|
||||
begin
|
||||
WindowCaption := SourceSettings.ChangePassword.WindowCaption;
|
||||
LabelDescription := SourceSettings.ChangePassword.LabelDescription;
|
||||
LabelCurrentPassword := SourceSettings.ChangePassword.LabelCurrentPassword;
|
||||
LabelNewPassword := SourceSettings.ChangePassword.LabelNewPassword;
|
||||
LabelConfirm := SourceSettings.ChangePassword.LabelConfirm;
|
||||
BtSave := SourceSettings.ChangePassword.BtSave;
|
||||
BtCancel := SourceSettings.ChangePassword.BtCancel;
|
||||
end;
|
||||
|
||||
with UserSettings.CommonMessages.ChangePasswordError do
|
||||
begin
|
||||
InvalidCurrentPassword := SourceSettings.CommonMessages.ChangePasswordError.InvalidCurrentPassword;
|
||||
NewPasswordError := SourceSettings.CommonMessages.ChangePasswordError.NewPasswordError;
|
||||
NewEqualCurrent := SourceSettings.CommonMessages.ChangePasswordError.NewEqualCurrent;
|
||||
PasswordRequired := SourceSettings.CommonMessages.ChangePasswordError.PasswordRequired;
|
||||
MinPasswordLength := SourceSettings.CommonMessages.ChangePasswordError.MinPasswordLength;
|
||||
InvalidNewPassword := SourceSettings.CommonMessages.ChangePasswordError.InvalidNewPassword;
|
||||
end;
|
||||
|
||||
with UserSettings.ResetPassword do
|
||||
begin
|
||||
WindowCaption := SourceSettings.ResetPassword.WindowCaption;
|
||||
LabelPassword := SourceSettings.ResetPassword.LabelPassword;
|
||||
end;
|
||||
|
||||
with UserSettings.Log do
|
||||
begin
|
||||
WindowCaption := SourceSettings.Log.WindowCaption;
|
||||
LabelDescription := SourceSettings.Log.LabelDescription;
|
||||
LabelUser := SourceSettings.Log.LabelUser;
|
||||
LabelDate := SourceSettings.Log.LabelDate;
|
||||
LabelLevel := SourceSettings.Log.LabelLevel;
|
||||
ColLevel := SourceSettings.Log.ColLevel;
|
||||
ColMessage := SourceSettings.Log.ColMessage;
|
||||
ColUser := SourceSettings.Log.ColUser;
|
||||
ColDate := SourceSettings.Log.ColDate;
|
||||
BtFilter := SourceSettings.Log.BtFilter;
|
||||
BtDelete := SourceSettings.Log.BtDelete;
|
||||
BtClose := SourceSettings.Log.BtClose;
|
||||
PromptDelete := SourceSettings.Log.PromptDelete;
|
||||
PromptDelete_WindowCaption := SourceSettings.Log.PromptDelete_WindowCaption; //added by fduenas
|
||||
OptionUserAll := SourceSettings.Log.OptionUserAll; //added by fduenas
|
||||
OptionLevelLow := SourceSettings.Log.OptionLevelLow; //added by fduenas
|
||||
OptionLevelNormal := SourceSettings.Log.OptionLevelNormal; //added by fduenas
|
||||
OptionLevelHigh := SourceSettings.Log.OptionLevelHigh; //added by fduenas
|
||||
OptionLevelCritic := SourceSettings.Log.OptionLevelCritic; //added by fduenas
|
||||
DeletePerformed := SourceSettings.Log.DeletePerformed; //added by fduenas
|
||||
end;
|
||||
|
||||
with UserSettings.AppMessages do
|
||||
begin
|
||||
MsgsForm_BtNew := SourceSettings.AppMessages.MsgsForm_BtNew;
|
||||
MsgsForm_BtReplay := SourceSettings.AppMessages.MsgsForm_BtReplay;
|
||||
MsgsForm_BtForward := SourceSettings.AppMessages.MsgsForm_BtForward;
|
||||
MsgsForm_BtDelete := SourceSettings.AppMessages.MsgsForm_BtDelete;
|
||||
MsgsForm_BtClose := SourceSettings.AppMessages.MsgsForm_BtClose; //added by fduenas
|
||||
MsgsForm_WindowCaption := SourceSettings.AppMessages.MsgsForm_WindowCaption;
|
||||
MsgsForm_ColFrom := SourceSettings.AppMessages.MsgsForm_ColFrom;
|
||||
MsgsForm_ColSubject := SourceSettings.AppMessages.MsgsForm_ColSubject;
|
||||
MsgsForm_ColDate := SourceSettings.AppMessages.MsgsForm_ColDate;
|
||||
MsgsForm_PromptDelete := SourceSettings.AppMessages.MsgsForm_PromptDelete;
|
||||
MsgsForm_PromptDelete_WindowCaption := SourceSettings.AppMessages.MsgsForm_PromptDelete_WindowCaption; //added by fduenas
|
||||
MsgsForm_NoMessagesSelected := SourceSettings.AppMessages.MsgsForm_NoMessagesSelected; //added by fduenas
|
||||
MsgsForm_NoMessagesSelected_WindowCaption := SourceSettings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption; //added by fduenas
|
||||
|
||||
MsgRec_BtClose := SourceSettings.AppMessages.MsgRec_BtClose;
|
||||
MsgRec_WindowCaption := SourceSettings.AppMessages.MsgRec_WindowCaption;
|
||||
MsgRec_Title := SourceSettings.AppMessages.MsgRec_Title;
|
||||
MsgRec_LabelFrom := SourceSettings.AppMessages.MsgRec_LabelFrom;
|
||||
MsgRec_LabelDate := SourceSettings.AppMessages.MsgRec_LabelDate;
|
||||
MsgRec_LabelSubject := SourceSettings.AppMessages.MsgRec_LabelSubject;
|
||||
MsgRec_LabelMessage := SourceSettings.AppMessages.MsgRec_LabelMessage;
|
||||
MsgSend_BtSend := SourceSettings.AppMessages.MsgSend_BtSend;
|
||||
MsgSend_BtCancel := SourceSettings.AppMessages.MsgSend_BtCancel;
|
||||
MsgSend_WindowCaption := SourceSettings.AppMessages.MsgSend_WindowCaption;
|
||||
MsgSend_Title := SourceSettings.AppMessages.MsgSend_Title;
|
||||
MsgSend_GroupTo := SourceSettings.AppMessages.MsgSend_GroupTo;
|
||||
MsgSend_RadioUser := SourceSettings.AppMessages.MsgSend_RadioUser;
|
||||
MsgSend_RadioAll := SourceSettings.AppMessages.MsgSend_RadioAll;
|
||||
MsgSend_GroupMessage := SourceSettings.AppMessages.MsgSend_GroupMessage;
|
||||
MsgSend_LabelSubject := SourceSettings.AppMessages.MsgSend_LabelSubject; //added by fduenas
|
||||
MsgSend_LabelMessageText := SourceSettings.AppMessages.MsgSend_LabelMessageText; //added by fduenas
|
||||
end;
|
||||
|
||||
With UserSettings.History do
|
||||
Begin
|
||||
Evento_edit := SourceSettings.History.Evento_edit;
|
||||
Evento_NewRecord := SourceSettings.History.Evento_NewRecord;
|
||||
Evento_Insert := SourceSettings.History.Evento_Insert;
|
||||
Evento_delete := SourceSettings.History.Evento_Delete;
|
||||
LabelTabela := SourceSettings.History.LabelTabela;
|
||||
Msg_LogEmptyHistory := SourceSettings.History.Msg_LogEmptyHistory;
|
||||
Msg_MensConfirma := SourceSettings.History.Msg_MensConfirma;
|
||||
LabelDescricao := SourceSettings.History.LabelDescricao;
|
||||
Hist_BtnExcluir := SourceSettings.History.Hist_BtnExcluir;
|
||||
Hist_BtnFiltro := SourceSettings.History.Hist_BtnFiltro;
|
||||
LabelForm := SourceSettings.History.LabelForm;
|
||||
Hist_BtnFechar := SourceSettings.History.Hist_BtnFechar;
|
||||
LabelDataEvento := SourceSettings.History.LabelDataEvento;
|
||||
LabelEvento := SourceSettings.History.LabelEvento;
|
||||
Msg_NewRecord := SourceSettings.History.Msg_NewRecord;
|
||||
Hist_All := SourceSettings.History.Hist_All;
|
||||
Msg_LimpHistorico := SourceSettings.History.Msg_LimpHistorico;
|
||||
LabelHoraEvento := SourceSettings.History.LabelHoraEvento;
|
||||
LabelUser := SourceSettings.History.LabelUser;
|
||||
Hist_MsgExceptPropr := SourceSettings.History.Hist_MsgExceptPropr;
|
||||
End;
|
||||
|
||||
with UserSettings.TypeFieldsDB do
|
||||
Begin
|
||||
Type_VarChar := SourceSettings.TypeFieldsDB.Type_VarChar;
|
||||
Type_Char := SourceSettings.TypeFieldsDB.Type_Char;
|
||||
Type_Int := SourceSettings.TypeFieldsDB.Type_Int;
|
||||
Type_MemoField := SourceSettings.TypeFieldsDB.Type_MemoField;
|
||||
end;
|
||||
|
||||
UserSettings.WindowsPosition := SourceSettings.WindowsPosition;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDataModuleUsuarios.InicializarUserControl(AUserControl: TUserControl);
|
||||
begin
|
||||
if Assigned(AUserControl) then
|
||||
begin
|
||||
InicializarCamposUserControl(AUserControl);
|
||||
InicializarSettingsUserControl(AUserControl);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
224
Source/ApplicationBase/Usuarios/Data/uUCROConn.pas
Normal file
224
Source/ApplicationBase/Usuarios/Data/uUCROConn.pas
Normal file
@ -0,0 +1,224 @@
|
||||
{-----------------------------------------------------------------------------
|
||||
Unit Name: UCMidasConn
|
||||
Author : Luiz Benevenuto
|
||||
Date : 31/07/2005
|
||||
Purpose : Midas Suporte ( DataSnap )
|
||||
E-mail : luiz@siffra.com
|
||||
URL : www.siffra.com
|
||||
UC : www.usercontrol.com.br
|
||||
Forum : http://www.usercontrol.com.br/modules.php?name=Forums
|
||||
|
||||
registered in UCMidasConnReg.pas
|
||||
-----------------------------------------------------------------------------}
|
||||
|
||||
unit uUCROConn;
|
||||
|
||||
interface
|
||||
|
||||
//{$I 'UserControl.inc'}
|
||||
|
||||
uses
|
||||
Classes,
|
||||
DB,
|
||||
DBClient,
|
||||
SysUtils,
|
||||
uRORemoteService, uDADataStreamer, uROBinMessage, uROWinInetHttpChannel,
|
||||
uDABin2DataStreamer, uDARemoteDataAdapter, UCDataConnector, uROClient;
|
||||
|
||||
type
|
||||
TUCROConn = class(TUCDataConnector)
|
||||
private
|
||||
FMessage: TROBinMessage;
|
||||
FChannel: TROWinInetHTTPChannel;
|
||||
FRemoteService: TRORemoteService;
|
||||
FDataAdapter : TDARemoteDataAdapter;
|
||||
FDataStreamer : TDABin2DataStreamer;
|
||||
procedure SetServiceName(const Value: String);
|
||||
function GetServiceName: String;
|
||||
procedure SetChannel(const Value: TROWinInetHTTPChannel);
|
||||
procedure SetMessage(const Value: TROBinMessage);
|
||||
protected
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
procedure RefreshROConnection;
|
||||
public
|
||||
function GetDBObjectName: String; override;
|
||||
function GetTransObjectName: String; override;
|
||||
function UCFindDataConnection: Boolean; override;
|
||||
function UCFindTable(const Tablename: String): Boolean; override;
|
||||
function UCGetSQLDataset(FSQL: String): TDataset; override;
|
||||
procedure UCExecSQL(FSQL: String); override;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
published
|
||||
property ROServiceName : String read GetServiceName write SetServiceName;
|
||||
property ROMessage : TROBinMessage read FMessage write SetMessage;
|
||||
property ROChannel : TROWinInetHTTPChannel read FChannel write SetChannel;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Forms, Dialogs, VARELA_Intf, uROTypes, uDAClasses, uDADataTable,
|
||||
uDACDSDataTable, uROEncryption;
|
||||
|
||||
{ TUCROConn }
|
||||
|
||||
constructor TUCROConn.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
FRemoteService := TRORemoteService.Create(nil);
|
||||
FDataStreamer := TDABin2DataStreamer.Create(nil);
|
||||
FDataAdapter := TDARemoteDataAdapter.Create(nil);
|
||||
FDataAdapter.DataStreamer := FDataStreamer;
|
||||
FDataAdapter.SetupDefaultRequest;
|
||||
end;
|
||||
|
||||
destructor TUCROConn.Destroy;
|
||||
begin
|
||||
FreeAndNil(FRemoteService);
|
||||
FreeAndNil(FDataAdapter);
|
||||
FreeAndNil(FDataStreamer);
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TUCROConn.GetDBObjectName: String;
|
||||
begin
|
||||
if Assigned(FRemoteService) then
|
||||
begin
|
||||
if Owner = FRemoteService.Owner then
|
||||
Result := FRemoteService.Name
|
||||
else
|
||||
Result := FRemoteService.Owner.Name + '.' + FRemoteService.Name;
|
||||
end
|
||||
else
|
||||
Result := '';
|
||||
end;
|
||||
|
||||
function TUCROConn.GetServiceName: String;
|
||||
begin
|
||||
Result := FRemoteService.ServiceName;
|
||||
end;
|
||||
|
||||
function TUCROConn.GetTransObjectName: String;
|
||||
begin
|
||||
Result := '';
|
||||
end;
|
||||
|
||||
procedure TUCROConn.Notification(AComponent: TComponent; Operation: TOperation);
|
||||
begin
|
||||
if (Operation = opRemove) and (AComponent = FRemoteService) then
|
||||
begin
|
||||
FreeAndNil(FDataAdapter);
|
||||
FRemoteService := nil;
|
||||
end;
|
||||
inherited Notification(AComponent, Operation);
|
||||
end;
|
||||
|
||||
procedure TUCROConn.RefreshROConnection;
|
||||
begin
|
||||
with FRemoteService do
|
||||
begin
|
||||
FRemoteService.Message := FMessage;
|
||||
FRemoteService.Channel := FChannel;
|
||||
|
||||
with FDataAdapter do
|
||||
begin
|
||||
RemoteService := FRemoteService;
|
||||
GetSchemaCall.RemoteService := FRemoteService;
|
||||
GetDataCall.RemoteService := FRemoteService;
|
||||
UpdateDataCall.RemoteService := FRemoteService;
|
||||
GetScriptsCall.RemoteService := FRemoteService;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TUCROConn.SetChannel(const Value: TROWinInetHTTPChannel);
|
||||
begin
|
||||
FChannel := Value;
|
||||
RefreshROConnection;
|
||||
end;
|
||||
|
||||
procedure TUCROConn.SetMessage(const Value: TROBinMessage);
|
||||
begin
|
||||
FMessage := Value;
|
||||
RefreshROConnection;
|
||||
end;
|
||||
|
||||
procedure TUCROConn.SetServiceName(const Value: String);
|
||||
begin
|
||||
FRemoteService.ServiceName := Value;
|
||||
end;
|
||||
|
||||
procedure TUCROConn.UCExecSQL(FSQL: String);
|
||||
var
|
||||
ASQL : String;
|
||||
begin
|
||||
ASQL := AnsiToUtf8(FSQL);
|
||||
(FRemoteService as IsrvUsuarios).SQLExecuteCommand(ASQL);
|
||||
end;
|
||||
|
||||
function TUCROConn.UCFindDataConnection: Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
if Assigned(FRemoteService) then
|
||||
begin
|
||||
FRemoteService.CheckCanConnect;
|
||||
Result := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TUCROConn.UCFindTable(const Tablename: String): Boolean;
|
||||
var
|
||||
ASchema : TDASchema;
|
||||
begin
|
||||
ASchema := FDataAdapter.ReadSchema;
|
||||
try
|
||||
Result := Assigned(ASchema.FindDataset(TableName));
|
||||
finally
|
||||
FreeAndNil(ASchema);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function TUCROConn.UCGetSQLDataset(FSQL: String): TDataset;
|
||||
var
|
||||
AStream: TMemoryStream;
|
||||
ADataStreamer: TDABin2DataStreamer;
|
||||
ADataTable: TDACDSDataTable;
|
||||
begin
|
||||
Result := NIL;
|
||||
ADataStreamer := TDABin2DataStreamer.Create(NIL);
|
||||
AStream := (FRemoteService as IsrvUsuarios).SQLGetData(FSQL, True, -1);
|
||||
|
||||
if AStream <> nil then
|
||||
try
|
||||
ADataTable := TDACDSDataTable.Create(Application);
|
||||
|
||||
// Generar un nombre aleatorio
|
||||
Randomize;
|
||||
ADataTable.Name := 'SQLResult' + '_' + IntToStr(Random(MAXINT));
|
||||
|
||||
ADataTable.LocalDataStreamer := ADataStreamer;
|
||||
ADataTable.RemoteFetchEnabled := False;
|
||||
try
|
||||
ADataStreamer.ReadDataset(AStream, ADataTable, True);
|
||||
ADataTable.Open;
|
||||
|
||||
{ ¡¡OJO!! Trapicheo!!!!!
|
||||
Forzamos a recuperar en Dataset todas las tuplas
|
||||
recorriendonos toda la tabla.}
|
||||
ADataTable.Last;
|
||||
ADataTable.First;
|
||||
|
||||
Result := ADataTable.Dataset;
|
||||
finally
|
||||
//FreeAndNIL(ADataTable); <-- No liberar, lo hace Application
|
||||
end;
|
||||
finally
|
||||
FreeAndNIL(AStream);
|
||||
FreeAndNIL(ADataStreamer);
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
unit uIDataModuleUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
UCBase, UCSettings, uBizUsuarios;
|
||||
|
||||
type
|
||||
IDataModuleUsuarios = interface
|
||||
['{C0A8481F-4920-414D-A906-EE1EB18DE946}']
|
||||
procedure InicializarUserControl (AUserControl : TUserControl);
|
||||
|
||||
function GetUsuario(const ID : Integer) : IBizUsuario;
|
||||
function NuevoUsuario : IBizUsuario;
|
||||
function GetUsuarios : IBizUsuario;
|
||||
|
||||
function NuevoPerfil : IBizPerfilUsuario;
|
||||
function GetPerfiles : IBizPerfilUsuario;
|
||||
function GetPerfil(const ID : Integer) : IBizPerfilUsuario;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
|
||||
1716
Source/ApplicationBase/Usuarios/Model/schUsuariosClient_Intf.pas
Normal file
1716
Source/ApplicationBase/Usuarios/Model/schUsuariosClient_Intf.pas
Normal file
File diff suppressed because it is too large
Load Diff
2009
Source/ApplicationBase/Usuarios/Model/schUsuariosServer_Intf.pas
Normal file
2009
Source/ApplicationBase/Usuarios/Model/schUsuariosServer_Intf.pas
Normal file
File diff suppressed because it is too large
Load Diff
90
Source/ApplicationBase/Usuarios/Model/uBizUsuarios.pas
Normal file
90
Source/ApplicationBase/Usuarios/Model/uBizUsuarios.pas
Normal file
@ -0,0 +1,90 @@
|
||||
unit uBizUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
UCBase, uDAInterfaces, uDADataTable, schUsuariosClient_Intf;
|
||||
|
||||
const
|
||||
BIZ_CLIENT_USUARIO = 'Client.Usuario';
|
||||
BIZ_CLIENT_PERFIL_USUARIO = 'Client.PerfilUsuario';
|
||||
|
||||
type
|
||||
TUsuario = TUCCurrentUser;
|
||||
|
||||
IBizUsuario = interface (IUSUARIOS)
|
||||
['{1DB69F36-969C-4078-B862-6D697670BCFD}']
|
||||
function EsNuevo : Boolean;
|
||||
end;
|
||||
|
||||
IBizPerfilUsuario = interface (IPERFILES)
|
||||
['{D14DF996-A8CD-400A-BF74-C8B660199C74}']
|
||||
function EsNuevo : Boolean;
|
||||
end;
|
||||
|
||||
|
||||
TBizUsuario = class(TUsuariosDataTableRules, IBizUsuario)
|
||||
protected
|
||||
procedure OnNewRecord(Sender: TDADataTable); override;
|
||||
public
|
||||
function EsNuevo : Boolean;
|
||||
procedure IniciarValoresUsuarioNuevo;
|
||||
end;
|
||||
|
||||
TBizPerfilUsuario = class(TPerfilesDataTableRules, IBizPerfilUsuario)
|
||||
protected
|
||||
procedure OnNewRecord(Sender: TDADataTable); override;
|
||||
public
|
||||
function EsNuevo : Boolean;
|
||||
procedure IniciarValoresPerfilNuevo;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{ TBizUsuario }
|
||||
|
||||
function TBizUsuario.EsNuevo: Boolean;
|
||||
begin
|
||||
Result := (ID < 0);
|
||||
end;
|
||||
|
||||
procedure TBizUsuario.IniciarValoresUsuarioNuevo;
|
||||
begin
|
||||
TIPO := 'U'; // Usuario;
|
||||
end;
|
||||
|
||||
procedure TBizUsuario.OnNewRecord(Sender: TDADataTable);
|
||||
begin
|
||||
inherited;
|
||||
IniciarValoresUsuarioNuevo;
|
||||
end;
|
||||
|
||||
{ TBizPerfilUsuario }
|
||||
|
||||
function TBizPerfilUsuario.EsNuevo: Boolean;
|
||||
begin
|
||||
Result := (ID < 0);
|
||||
end;
|
||||
|
||||
procedure TBizPerfilUsuario.IniciarValoresPerfilNuevo;
|
||||
begin
|
||||
TIPO := 'P'; // Perfil
|
||||
end;
|
||||
|
||||
procedure TBizPerfilUsuario.OnNewRecord(Sender: TDADataTable);
|
||||
begin
|
||||
inherited;
|
||||
IniciarValoresPerfilNuevo;
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterDataTableRules(BIZ_CLIENT_USUARIO, TBizUsuario);
|
||||
RegisterDataTableRules(BIZ_CLIENT_PERFIL_USUARIO, TBizPerfilUsuario);
|
||||
|
||||
finalization
|
||||
|
||||
end.
|
||||
|
||||
|
||||
600
Source/ApplicationBase/Usuarios/Servidor/srvUsuarios_Impl.dfm
Normal file
600
Source/ApplicationBase/Usuarios/Servidor/srvUsuarios_Impl.dfm
Normal file
@ -0,0 +1,600 @@
|
||||
object srvUsuarios: TsrvUsuarios
|
||||
OldCreateOrder = True
|
||||
OnCreate = DataAbstractServiceCreate
|
||||
SessionManager = dmServer.SessionManager
|
||||
ServiceSchema = schUsuarios
|
||||
ServiceDataStreamer = Bin2DataStreamer
|
||||
AllowExecuteSQL = True
|
||||
AllowWhereSQL = True
|
||||
ExportedDataTables = <>
|
||||
BeforeAcquireConnection = DataAbstractServiceBeforeAcquireConnection
|
||||
Height = 163
|
||||
Width = 300
|
||||
object Diagrams: TDADiagrams
|
||||
Left = 150
|
||||
Top = 88
|
||||
DiagramData = '<Diagrams>'#13#10'</Diagrams>'#13#10
|
||||
end
|
||||
object DataDictionary: TDADataDictionary
|
||||
Fields = <
|
||||
item
|
||||
Name = 'USUARIOS_ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
Required = True
|
||||
DisplayLabel = 'ID'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Nombre'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Login'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_PASS'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DisplayLabel = 'Password'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_PASSEXPIRED'
|
||||
DataType = datDateTime
|
||||
DisplayLabel = 'Expiraci'#243'n de password'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_BLOQUEADO'
|
||||
DataType = datSmallInt
|
||||
DisplayLabel = 'Bloqueado'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_EMAIL'
|
||||
DataType = datString
|
||||
Size = 150
|
||||
DisplayLabel = 'Correo electr'#243'nico'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_USERDAYSSUN'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_PRIVILEGED'
|
||||
DataType = datInteger
|
||||
DisplayLabel = 'Privilegiado'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DisplayLabel = 'Tipo'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_ID_PERFIL'
|
||||
DataType = datInteger
|
||||
DisplayLabel = 'ID_PERFIL'
|
||||
end
|
||||
item
|
||||
Name = 'USUARIOS_CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DisplayLabel = 'Checksum'
|
||||
end
|
||||
item
|
||||
Name = 'PERFILES_ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
Required = True
|
||||
DisplayLabel = 'ID'
|
||||
end
|
||||
item
|
||||
Name = 'PERFILES_USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Nombre'
|
||||
end
|
||||
item
|
||||
Name = 'PERFILES_LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DisplayLabel = 'Login'
|
||||
end
|
||||
item
|
||||
Name = 'PERFILES_TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DisplayLabel = 'Tipo'
|
||||
end>
|
||||
Left = 150
|
||||
Top = 24
|
||||
end
|
||||
object schUsuarios: TDASchema
|
||||
ConnectionManager = dmServer.ConnectionManager
|
||||
DataDictionary = DataDictionary
|
||||
Diagrams = Diagrams
|
||||
Datasets = <
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
Default = True
|
||||
TargetTable = 'RDX_USUARIOS'
|
||||
SQL =
|
||||
'SELECT'#10' ID, USERNAME, LOGIN, PASS, PASSEXPIRED, BLOQUEADO,'#10' ' +
|
||||
' EMAIL, USERDAYSSUN, PRIVILEGED, TIPO, ID_PERFIL, CHECKSUM'#10' FR' +
|
||||
'OM'#10' RDX_USUARIOS'#10' WHERE TIPO = '#39'U'#39' AND {Where}'#10' ORDER BY US' +
|
||||
'ERNAME'#10
|
||||
StatementType = stSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'ID'
|
||||
TableField = 'ID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'USERNAME'
|
||||
TableField = 'USERNAME'
|
||||
end
|
||||
item
|
||||
DatasetField = 'LOGIN'
|
||||
TableField = 'LOGIN'
|
||||
end
|
||||
item
|
||||
DatasetField = 'PASS'
|
||||
TableField = 'PASS'
|
||||
end
|
||||
item
|
||||
DatasetField = 'PASSEXPIRED'
|
||||
TableField = 'PASSEXPIRED'
|
||||
end
|
||||
item
|
||||
DatasetField = 'BLOQUEADO'
|
||||
TableField = 'BLOQUEADO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'EMAIL'
|
||||
TableField = 'EMAIL'
|
||||
end
|
||||
item
|
||||
DatasetField = 'USERDAYSSUN'
|
||||
TableField = 'USERDAYSSUN'
|
||||
end
|
||||
item
|
||||
DatasetField = 'PRIVILEGED'
|
||||
TableField = 'PRIVILEGED'
|
||||
end
|
||||
item
|
||||
DatasetField = 'TIPO'
|
||||
TableField = 'TIPO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_PERFIL'
|
||||
TableField = 'ID_PERFIL'
|
||||
end
|
||||
item
|
||||
DatasetField = 'CHECKSUM'
|
||||
TableField = 'CHECKSUM'
|
||||
end>
|
||||
end>
|
||||
Name = 'USUARIOS'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
DictionaryEntry = 'USUARIOS_ID'
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DictionaryEntry = 'USUARIOS_USERNAME'
|
||||
end
|
||||
item
|
||||
Name = 'LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DictionaryEntry = 'USUARIOS_LOGIN'
|
||||
end
|
||||
item
|
||||
Name = 'PASS'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DictionaryEntry = 'USUARIOS_PASS'
|
||||
end
|
||||
item
|
||||
Name = 'PASSEXPIRED'
|
||||
DataType = datDateTime
|
||||
DictionaryEntry = 'USUARIOS_PASSEXPIRED'
|
||||
end
|
||||
item
|
||||
Name = 'BLOQUEADO'
|
||||
DataType = datSmallInt
|
||||
DictionaryEntry = 'USUARIOS_BLOQUEADO'
|
||||
end
|
||||
item
|
||||
Name = 'EMAIL'
|
||||
DataType = datString
|
||||
Size = 150
|
||||
DictionaryEntry = 'USUARIOS_EMAIL'
|
||||
end
|
||||
item
|
||||
Name = 'USERDAYSSUN'
|
||||
DataType = datInteger
|
||||
DictionaryEntry = 'USUARIOS_USERDAYSSUN'
|
||||
end
|
||||
item
|
||||
Name = 'PRIVILEGED'
|
||||
DataType = datInteger
|
||||
DictionaryEntry = 'USUARIOS_PRIVILEGED'
|
||||
end
|
||||
item
|
||||
Name = 'TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DictionaryEntry = 'USUARIOS_TIPO'
|
||||
end
|
||||
item
|
||||
Name = 'ID_PERFIL'
|
||||
DataType = datInteger
|
||||
DictionaryEntry = 'USUARIOS_ID_PERFIL'
|
||||
end
|
||||
item
|
||||
Name = 'CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
DictionaryEntry = 'USUARIOS_CHECKSUM'
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
Default = True
|
||||
TargetTable = 'RDX_USUARIOS_EVENTOS'
|
||||
StatementType = stAutoSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'APLICACION'
|
||||
TableField = 'APLICACION'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_USUARIO'
|
||||
TableField = 'ID_USUARIO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'FECHA'
|
||||
TableField = 'FECHA'
|
||||
end
|
||||
item
|
||||
DatasetField = 'HORA'
|
||||
TableField = 'HORA'
|
||||
end
|
||||
item
|
||||
DatasetField = 'FORM'
|
||||
TableField = 'FORM'
|
||||
end
|
||||
item
|
||||
DatasetField = 'TITULO_FORM'
|
||||
TableField = 'TITULO_FORM'
|
||||
end
|
||||
item
|
||||
DatasetField = 'EVENTO'
|
||||
TableField = 'EVENTO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'NOTAS'
|
||||
TableField = 'NOTAS'
|
||||
end
|
||||
item
|
||||
DatasetField = 'TNAME'
|
||||
TableField = 'TNAME'
|
||||
end>
|
||||
end>
|
||||
Name = 'USUARIOS_EVENTOS'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'APLICACION'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
end
|
||||
item
|
||||
Name = 'ID_USUARIO'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'FECHA'
|
||||
DataType = datString
|
||||
Size = 10
|
||||
end
|
||||
item
|
||||
Name = 'HORA'
|
||||
DataType = datString
|
||||
Size = 8
|
||||
end
|
||||
item
|
||||
Name = 'FORM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
end
|
||||
item
|
||||
Name = 'TITULO_FORM'
|
||||
DataType = datString
|
||||
Size = 100
|
||||
end
|
||||
item
|
||||
Name = 'EVENTO'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'NOTAS'
|
||||
DataType = datMemo
|
||||
end
|
||||
item
|
||||
Name = 'TNAME'
|
||||
DataType = datString
|
||||
Size = 20
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
TargetTable = 'RDX_USUARIOS_LOGON'
|
||||
StatementType = stAutoSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'LOGONID'
|
||||
TableField = 'LOGONID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_USUARIO'
|
||||
TableField = 'ID_USUARIO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'APLICACION'
|
||||
TableField = 'APLICACION'
|
||||
end
|
||||
item
|
||||
DatasetField = 'EQUIPO'
|
||||
TableField = 'EQUIPO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'DATA'
|
||||
TableField = 'DATA'
|
||||
end>
|
||||
end>
|
||||
Name = 'USUARIOS_LOGON'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'LOGONID'
|
||||
DataType = datString
|
||||
Size = 38
|
||||
Required = True
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'ID_USUARIO'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'APLICACION'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'EQUIPO'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'DATA'
|
||||
DataType = datString
|
||||
Size = 14
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
TargetTable = 'RDX_USUARIOS'
|
||||
SQL =
|
||||
'SELECT '#10' ID, USERNAME, LOGIN, TIPO'#10' FROM'#10' RDX_USUARIOS'#10' ' +
|
||||
'WHERE TIPO = '#39'P'#39' AND {Where}'#10' ORDER BY USERNAME'#10
|
||||
StatementType = stSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'ID'
|
||||
TableField = 'ID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'USERNAME'
|
||||
TableField = 'USERNAME'
|
||||
end
|
||||
item
|
||||
DatasetField = 'LOGIN'
|
||||
TableField = 'LOGIN'
|
||||
end
|
||||
item
|
||||
DatasetField = 'TIPO'
|
||||
TableField = 'TIPO'
|
||||
end>
|
||||
end>
|
||||
Name = 'PERFILES'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_USUARIOS_ID'
|
||||
DictionaryEntry = 'PERFILES_ID'
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'USERNAME'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DictionaryEntry = 'PERFILES_USERNAME'
|
||||
end
|
||||
item
|
||||
Name = 'LOGIN'
|
||||
DataType = datString
|
||||
Size = 30
|
||||
DictionaryEntry = 'PERFILES_LOGIN'
|
||||
end
|
||||
item
|
||||
Name = 'TIPO'
|
||||
DataType = datString
|
||||
Size = 1
|
||||
DictionaryEntry = 'PERFILES_TIPO'
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
ConnectionType = 'MSSQL'
|
||||
Default = True
|
||||
TargetTable = 'RDX_PERMISOS'
|
||||
StatementType = stAutoSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'ID'
|
||||
TableField = 'ID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_USUARIO'
|
||||
TableField = 'ID_USUARIO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'MODULO'
|
||||
TableField = 'MODULO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'NOMBRECOMP'
|
||||
TableField = 'NOMBRECOMP'
|
||||
end
|
||||
item
|
||||
DatasetField = 'CHECKSUM'
|
||||
TableField = 'CHECKSUM'
|
||||
end>
|
||||
end>
|
||||
Name = 'PERMISOS'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datInteger
|
||||
Required = True
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'ID_USUARIO'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'MODULO'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'NOMBRECOMP'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
end>
|
||||
end
|
||||
item
|
||||
Params = <>
|
||||
Statements = <
|
||||
item
|
||||
Connection = 'GFT_VARELA'
|
||||
ConnectionType = 'MSSQL'
|
||||
Default = True
|
||||
TargetTable = 'RDX_PERMISOSEX'
|
||||
StatementType = stAutoSQL
|
||||
ColumnMappings = <
|
||||
item
|
||||
DatasetField = 'ID'
|
||||
TableField = 'ID'
|
||||
end
|
||||
item
|
||||
DatasetField = 'ID_USUARIO'
|
||||
TableField = 'ID_USUARIO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'MODULO'
|
||||
TableField = 'MODULO'
|
||||
end
|
||||
item
|
||||
DatasetField = 'NOMBRECOMP'
|
||||
TableField = 'NOMBRECOMP'
|
||||
end
|
||||
item
|
||||
DatasetField = 'NOMBREFORM'
|
||||
TableField = 'NOMBREFORM'
|
||||
end
|
||||
item
|
||||
DatasetField = 'CHECKSUM'
|
||||
TableField = 'CHECKSUM'
|
||||
end>
|
||||
end>
|
||||
Name = 'PERMISOSEX'
|
||||
Fields = <
|
||||
item
|
||||
Name = 'ID'
|
||||
DataType = datInteger
|
||||
Required = True
|
||||
InPrimaryKey = True
|
||||
end
|
||||
item
|
||||
Name = 'ID_USUARIO'
|
||||
DataType = datInteger
|
||||
end
|
||||
item
|
||||
Name = 'MODULO'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'NOMBRECOMP'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'NOMBREFORM'
|
||||
DataType = datString
|
||||
Size = 50
|
||||
end
|
||||
item
|
||||
Name = 'CHECKSUM'
|
||||
DataType = datString
|
||||
Size = 250
|
||||
end>
|
||||
end>
|
||||
JoinDataTables = <>
|
||||
UnionDataTables = <>
|
||||
Commands = <>
|
||||
RelationShips = <>
|
||||
UpdateRules = <>
|
||||
Version = 0
|
||||
Left = 48
|
||||
Top = 24
|
||||
end
|
||||
object Bin2DataStreamer: TDABin2DataStreamer
|
||||
Left = 48
|
||||
Top = 88
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,65 @@
|
||||
unit srvUsuarios_Impl;
|
||||
|
||||
{----------------------------------------------------------------------------}
|
||||
{ This unit was automatically generated by the RemObjects SDK after reading }
|
||||
{ the RODL file associated with this project . }
|
||||
{ }
|
||||
{ This is where you are supposed to code the implementation of your objects. }
|
||||
{----------------------------------------------------------------------------}
|
||||
|
||||
{$I Remobjects.inc}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{vcl:} Classes, SysUtils,
|
||||
{RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
|
||||
{Required:} uRORemoteDataModule,
|
||||
{Ancestor Implementation:} DataAbstractService_Impl,
|
||||
{Used RODLs:} DataAbstract4_Intf,
|
||||
{Generated:} VARELA_Intf, uDADataStreamer, uDABin2DataStreamer, uDAClasses;
|
||||
|
||||
type
|
||||
{ TsrvUsuarios }
|
||||
TsrvUsuarios = class(TDataAbstractService, IsrvUsuarios)
|
||||
Diagrams: TDADiagrams;
|
||||
Bin2DataStreamer: TDABin2DataStreamer;
|
||||
schUsuarios: TDASchema;
|
||||
DataDictionary: TDADataDictionary;
|
||||
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
|
||||
var aConnectionName: string);
|
||||
procedure DataAbstractServiceCreate(Sender: TObject);
|
||||
private
|
||||
protected
|
||||
{ IsrvUsuarios methods }
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
uses
|
||||
{Generated:} VARELA_Invk, uDataModuleServer;
|
||||
|
||||
procedure Create_srvUsuarios(out anInstance : IUnknown);
|
||||
begin
|
||||
anInstance := TsrvUsuarios.Create(nil);
|
||||
end;
|
||||
|
||||
{ srvUsuarios }
|
||||
procedure TsrvUsuarios.DataAbstractServiceBeforeAcquireConnection(
|
||||
aSender: TObject; var aConnectionName: string);
|
||||
begin
|
||||
ConnectionName := dmServer.ConnectionName;
|
||||
end;
|
||||
|
||||
procedure TsrvUsuarios.DataAbstractServiceCreate(Sender: TObject);
|
||||
begin
|
||||
SessionManager := dmServer.SessionManager;
|
||||
end;
|
||||
|
||||
initialization
|
||||
TROClassFactory.Create('srvUsuarios', Create_srvUsuarios, TsrvUsuarios_Invoker);
|
||||
|
||||
finalization
|
||||
|
||||
end.
|
||||
45
Source/ApplicationBase/Usuarios/Usuarios.cfg
Normal file
45
Source/ApplicationBase/Usuarios/Usuarios.cfg
Normal file
@ -0,0 +1,45 @@
|
||||
-$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
|
||||
-GD
|
||||
-cg
|
||||
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||
-H+
|
||||
-W+
|
||||
-M
|
||||
-$M16384,1048576
|
||||
-K$00400000
|
||||
-N".\"
|
||||
-LE"..\..\Output\Cliente"
|
||||
-LN"..\Lib"
|
||||
-U"..\Lib"
|
||||
-O"..\Lib"
|
||||
-I"..\Lib"
|
||||
-R"..\Lib"
|
||||
-Z
|
||||
-w-UNSAFE_TYPE
|
||||
-w-UNSAFE_CODE
|
||||
-w-UNSAFE_CAST
|
||||
471
Source/ApplicationBase/Usuarios/Usuarios.dof
Normal file
471
Source/ApplicationBase/Usuarios/Usuarios.dof
Normal file
@ -0,0 +1,471 @@
|
||||
[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=3
|
||||
OutputObjs=0
|
||||
ConsoleApp=1
|
||||
DebugInfo=0
|
||||
RemoteSymbols=0
|
||||
MinStackSize=16384
|
||||
MaxStackSize=1048576
|
||||
ImageBase=4194304
|
||||
ExeDescription=Pedidos a proveedor
|
||||
[Directories]
|
||||
OutputDir=
|
||||
UnitOutputDir=.\
|
||||
PackageDLLOutputDir=..\..\Output\Cliente
|
||||
PackageDCPOutputDir=..\Lib
|
||||
SearchPath=..\Lib
|
||||
Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7
|
||||
Conditionals=
|
||||
DebugSourceDirs=
|
||||
UsePackages=0
|
||||
[Parameters]
|
||||
RunParams=
|
||||
HostApplication=
|
||||
Launcher=
|
||||
UseLauncher=0
|
||||
DebugCWD=
|
||||
[Language]
|
||||
ActiveLang=
|
||||
ProjectLang=
|
||||
RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\
|
||||
[Version Info]
|
||||
IncludeVerInfo=1
|
||||
AutoIncBuild=0
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
Release=3
|
||||
Build=0
|
||||
Debug=0
|
||||
PreRelease=0
|
||||
Special=0
|
||||
Private=0
|
||||
DLL=0
|
||||
Locale=3082
|
||||
CodePage=1252
|
||||
[Version Info Keys]
|
||||
CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.3.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
[Excluded Packages]
|
||||
c:\archivos de programa\borland\delphi7\Bin\designdgm70.bpl=Borland Module Diagram Editview
|
||||
T:\BPL_D7\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc.
|
||||
[HistoryLists\hlUnitAliases]
|
||||
Count=1
|
||||
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||
[HistoryLists\hlSearchPath]
|
||||
Count=1
|
||||
Item0=..\Lib
|
||||
[HistoryLists\hlUnitOutputDirectory]
|
||||
Count=1
|
||||
Item0=.\
|
||||
[HistoryLists\hlBPLOutput]
|
||||
Count=1
|
||||
Item0=..\..\Output\Cliente
|
||||
[HistoryLists\hlDCPOutput]
|
||||
Count=1
|
||||
Item0=..\Lib
|
||||
[Exception Log]
|
||||
EurekaLog Version=519
|
||||
Activate=1
|
||||
Activate Handle=1
|
||||
Save Log File=1
|
||||
Foreground Tab=0
|
||||
Freeze Activate=0
|
||||
Freeze Timeout=60
|
||||
Freeze Message=The application seems to be frozen.
|
||||
SMTP From=eurekalog@email.com
|
||||
SMTP Host=
|
||||
SMTP Port=25
|
||||
SMTP UserID=
|
||||
SMTP Password=
|
||||
Append to Log=0
|
||||
Show TerminateBtn=1
|
||||
TerminateBtn Operation=1
|
||||
Errors Number=32
|
||||
Errors Terminate=3
|
||||
Email Address=
|
||||
Email Object=
|
||||
Email Send Options=0
|
||||
Output Path=
|
||||
Encrypt Password=
|
||||
AutoCloseDialogSecs=0
|
||||
WebSendMode=0
|
||||
SupportULR=
|
||||
HTMLLayout Count=15
|
||||
HTMLLine0="%3Chtml%3E"
|
||||
HTMLLine1=" %3Chead%3E"
|
||||
HTMLLine2=" %3C/head%3E"
|
||||
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
|
||||
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
|
||||
HTMLLine5=" %3Ctr%3E"
|
||||
HTMLLine6=" %3Ctd nowrap%3E"
|
||||
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
|
||||
HTMLLine8=" %3C%%HTML_TAG%%%3E"
|
||||
HTMLLine9=" %3C/font%3E"
|
||||
HTMLLine10=" %3C/td%3E"
|
||||
HTMLLine11=" %3C/tr%3E"
|
||||
HTMLLine12=" %3C/table%3E"
|
||||
HTMLLine13=" %3C/body%3E"
|
||||
HTMLLine14="%3C/html%3E"
|
||||
AutoCrashOperation=1
|
||||
AutoCrashNumber=10
|
||||
AutoCrashMinutes=1
|
||||
WebURL=
|
||||
WebUserID=
|
||||
WebPassword=
|
||||
WebPort=0
|
||||
AttachedFiles=
|
||||
Count=0
|
||||
EMail Message Line Count=0
|
||||
loNoDuplicateErrors=0
|
||||
loAppendReproduceText=0
|
||||
loDeleteLogAtVersionChange=0
|
||||
loAddComputerNameInLogFileName=0
|
||||
loSaveModulesSection=1
|
||||
loSaveCPUSection=1
|
||||
soAppStartDate=1
|
||||
soAppName=1
|
||||
soAppVersionNumber=1
|
||||
soAppParameters=1
|
||||
soAppCompilationDate=1
|
||||
soExcDate=1
|
||||
soExcAddress=1
|
||||
soExcModule=1
|
||||
soExcType=1
|
||||
soExcMessage=1
|
||||
soActCtlsFormClass=1
|
||||
soActCtlsFormText=1
|
||||
soActCtlsControlClass=1
|
||||
soActCtlsControlText=1
|
||||
soCmpName=1
|
||||
soCmpUser=1
|
||||
soCmpTotalMemory=1
|
||||
soCmpFreeMemory=1
|
||||
soCmpTotalDisk=1
|
||||
soCmpFreeDisk=1
|
||||
soCmpSysUpTime=1
|
||||
soCmpProcessor=1
|
||||
soCmpDisplayMode=1
|
||||
soOSType=1
|
||||
soOSBuildN=1
|
||||
soOSUpdate=1
|
||||
soOSLanguage=1
|
||||
soNetIP=1
|
||||
soNetSubmask=1
|
||||
soNetGateway=1
|
||||
soNetDNS1=1
|
||||
soNetDNS2=1
|
||||
soNetDHCP=1
|
||||
sndShowSendDialog=1
|
||||
sndShowSuccessFailureMsg=0
|
||||
sndSendEntireLog=0
|
||||
sndSendXMLLogCopy=0
|
||||
sndSendScreenshot=1
|
||||
sndUseOnlyActiveWindow=0
|
||||
sndSendLastHTMLPage=1
|
||||
sndSendInSeparatedThread=0
|
||||
sndAddDateInFileName=0
|
||||
sndCompressAllFiles=0
|
||||
edoShowExceptionDialog=1
|
||||
edoSendEmailChecked=1
|
||||
edoAttachScreenshotChecked=1
|
||||
edoShowCopyToClipOption=1
|
||||
edoShowDetailsButton=1
|
||||
edoShowInDetailedMode=0
|
||||
edoShowInTopMostMode=0
|
||||
edoUseEurekaLogLookAndFeel=0
|
||||
csoShowDLLs=1
|
||||
csoShowBPLs=1
|
||||
csoShowBorlandThreads=1
|
||||
csoShowWindowsThreads=1
|
||||
csoShowProcedureOffset=0
|
||||
boActivateCrashDetection=0
|
||||
boPauseBorlandThreads=0
|
||||
boDoNotPauseMainThread=0
|
||||
boPauseWindowsThreads=0
|
||||
boUseMainModuleOptions=1
|
||||
boCopyLogInCaseOfError=1
|
||||
boSaveCompressedCopyInCaseOfError=0
|
||||
Count mtInformationMsgCaption=1
|
||||
mtInformationMsgCaption0="Information."
|
||||
Count mtQuestionMsgCaption=1
|
||||
mtQuestionMsgCaption0="Question."
|
||||
Count mtDialog_Caption=1
|
||||
mtDialog_Caption0="Error."
|
||||
Count mtDialog_ErrorMsgCaption=2
|
||||
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
|
||||
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
|
||||
Count mtDialog_GeneralCaption=1
|
||||
mtDialog_GeneralCaption0="General"
|
||||
Count mtDialog_GeneralHeader=1
|
||||
mtDialog_GeneralHeader0="General Information"
|
||||
Count mtDialog_CallStackCaption=1
|
||||
mtDialog_CallStackCaption0="Call Stack"
|
||||
Count mtDialog_CallStackHeader=1
|
||||
mtDialog_CallStackHeader0="Call Stack Information"
|
||||
Count mtDialog_ModulesCaption=1
|
||||
mtDialog_ModulesCaption0="Modules"
|
||||
Count mtDialog_ModulesHeader=1
|
||||
mtDialog_ModulesHeader0="Modules Information"
|
||||
Count mtDialog_CPUCaption=1
|
||||
mtDialog_CPUCaption0="CPU"
|
||||
Count mtDialog_CPUHeader=1
|
||||
mtDialog_CPUHeader0="CPU Information"
|
||||
Count mtDialog_CustomDataCaption=1
|
||||
mtDialog_CustomDataCaption0="Other"
|
||||
Count mtDialog_CustomDataHeader=1
|
||||
mtDialog_CustomDataHeader0="Other Information"
|
||||
Count mtDialog_OKButtonCaption=1
|
||||
mtDialog_OKButtonCaption0="%26OK"
|
||||
Count mtDialog_TerminateButtonCaption=1
|
||||
mtDialog_TerminateButtonCaption0="%26Terminate"
|
||||
Count mtDialog_RestartButtonCaption=1
|
||||
mtDialog_RestartButtonCaption0="%26Restart"
|
||||
Count mtDialog_DetailsButtonCaption=1
|
||||
mtDialog_DetailsButtonCaption0="%26Details"
|
||||
Count mtDialog_SendMessage=1
|
||||
mtDialog_SendMessage0="%26Send this error via Internet"
|
||||
Count mtDialog_ScreenshotMessage=1
|
||||
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
|
||||
Count mtDialog_CopyMessage=1
|
||||
mtDialog_CopyMessage0="%26Copy to Clipboard"
|
||||
Count mtDialog_SupportMessage=1
|
||||
mtDialog_SupportMessage0="Go to the Support Page"
|
||||
Count mtLog_AppHeader=1
|
||||
mtLog_AppHeader0="Application"
|
||||
Count mtLog_AppStartDate=1
|
||||
mtLog_AppStartDate0="Start Date"
|
||||
Count mtLog_AppName=1
|
||||
mtLog_AppName0="Name/Description"
|
||||
Count mtLog_AppVersionNumber=1
|
||||
mtLog_AppVersionNumber0="Version Number"
|
||||
Count mtLog_AppParameters=1
|
||||
mtLog_AppParameters0="Parameters"
|
||||
Count mtLog_AppCompilationDate=1
|
||||
mtLog_AppCompilationDate0="Compilation Date"
|
||||
Count mtLog_ExcHeader=1
|
||||
mtLog_ExcHeader0="Exception"
|
||||
Count mtLog_ExcDate=1
|
||||
mtLog_ExcDate0="Date"
|
||||
Count mtLog_ExcAddress=1
|
||||
mtLog_ExcAddress0="Address"
|
||||
Count mtLog_ExcModule=1
|
||||
mtLog_ExcModule0="Module"
|
||||
Count mtLog_ExcType=1
|
||||
mtLog_ExcType0="Type"
|
||||
Count mtLog_ExcMessage=1
|
||||
mtLog_ExcMessage0="Message"
|
||||
Count mtLog_ActCtrlsHeader=1
|
||||
mtLog_ActCtrlsHeader0="Active Controls"
|
||||
Count mtLog_ActCtrlsFormClass=1
|
||||
mtLog_ActCtrlsFormClass0="Form Class"
|
||||
Count mtLog_ActCtrlsFormText=1
|
||||
mtLog_ActCtrlsFormText0="Form Text"
|
||||
Count mtLog_ActCtrlsControlClass=1
|
||||
mtLog_ActCtrlsControlClass0="Control Class"
|
||||
Count mtLog_ActCtrlsControlText=1
|
||||
mtLog_ActCtrlsControlText0="Control Text"
|
||||
Count mtLog_CmpHeader=1
|
||||
mtLog_CmpHeader0="Computer"
|
||||
Count mtLog_CmpName=1
|
||||
mtLog_CmpName0="Name"
|
||||
Count mtLog_CmpUser=1
|
||||
mtLog_CmpUser0="User"
|
||||
Count mtLog_CmpTotalMemory=1
|
||||
mtLog_CmpTotalMemory0="Total Memory"
|
||||
Count mtLog_CmpFreeMemory=1
|
||||
mtLog_CmpFreeMemory0="Free Memory"
|
||||
Count mtLog_CmpTotalDisk=1
|
||||
mtLog_CmpTotalDisk0="Total Disk"
|
||||
Count mtLog_CmpFreeDisk=1
|
||||
mtLog_CmpFreeDisk0="Free Disk"
|
||||
Count mtLog_CmpSystemUpTime=1
|
||||
mtLog_CmpSystemUpTime0="System Up Time"
|
||||
Count mtLog_CmpProcessor=1
|
||||
mtLog_CmpProcessor0="Processor"
|
||||
Count mtLog_CmpDisplayMode=1
|
||||
mtLog_CmpDisplayMode0="Display Mode"
|
||||
Count mtLog_OSHeader=1
|
||||
mtLog_OSHeader0="Operating System"
|
||||
Count mtLog_OSType=1
|
||||
mtLog_OSType0="Type"
|
||||
Count mtLog_OSBuildN=1
|
||||
mtLog_OSBuildN0="Build #"
|
||||
Count mtLog_OSUpdate=1
|
||||
mtLog_OSUpdate0="Update"
|
||||
Count mtLog_OSLanguage=1
|
||||
mtLog_OSLanguage0="Language"
|
||||
Count mtLog_NetHeader=1
|
||||
mtLog_NetHeader0="Network"
|
||||
Count mtLog_NetIP=1
|
||||
mtLog_NetIP0="IP Address"
|
||||
Count mtLog_NetSubmask=1
|
||||
mtLog_NetSubmask0="Submask"
|
||||
Count mtLog_NetGateway=1
|
||||
mtLog_NetGateway0="Gateway"
|
||||
Count mtLog_NetDNS1=1
|
||||
mtLog_NetDNS10="DNS 1"
|
||||
Count mtLog_NetDNS2=1
|
||||
mtLog_NetDNS20="DNS 2"
|
||||
Count mtLog_NetDHCP=1
|
||||
mtLog_NetDHCP0="DHCP"
|
||||
Count mtLog_CustInfoHeader=1
|
||||
mtLog_CustInfoHeader0="Custom Information"
|
||||
Count mtCallStack_Address=1
|
||||
mtCallStack_Address0="Address"
|
||||
Count mtCallStack_Name=1
|
||||
mtCallStack_Name0="Module"
|
||||
Count mtCallStack_Unit=1
|
||||
mtCallStack_Unit0="Unit"
|
||||
Count mtCallStack_Class=1
|
||||
mtCallStack_Class0="Class"
|
||||
Count mtCallStack_Procedure=1
|
||||
mtCallStack_Procedure0="Procedure/Method"
|
||||
Count mtCallStack_Line=1
|
||||
mtCallStack_Line0="Line"
|
||||
Count mtCallStack_MainThread=1
|
||||
mtCallStack_MainThread0="Main"
|
||||
Count mtCallStack_ExceptionThread=1
|
||||
mtCallStack_ExceptionThread0="Exception Thread"
|
||||
Count mtCallStack_RunningThread=1
|
||||
mtCallStack_RunningThread0="Running Thread"
|
||||
Count mtCallStack_CallingThread=1
|
||||
mtCallStack_CallingThread0="Calling Thread"
|
||||
Count mtCallStack_ThreadID=1
|
||||
mtCallStack_ThreadID0="ID"
|
||||
Count mtCallStack_ThreadPriority=1
|
||||
mtCallStack_ThreadPriority0="Priority"
|
||||
Count mtCallStack_ThreadClass=1
|
||||
mtCallStack_ThreadClass0="Class"
|
||||
Count mtSendDialog_Caption=1
|
||||
mtSendDialog_Caption0="Send."
|
||||
Count mtSendDialog_Message=1
|
||||
mtSendDialog_Message0="Message"
|
||||
Count mtSendDialog_Resolving=1
|
||||
mtSendDialog_Resolving0="Resolving DNS..."
|
||||
Count mtSendDialog_Connecting=1
|
||||
mtSendDialog_Connecting0="Connecting with server..."
|
||||
Count mtSendDialog_Connected=1
|
||||
mtSendDialog_Connected0="Connected with server."
|
||||
Count mtSendDialog_Sending=1
|
||||
mtSendDialog_Sending0="Sending message..."
|
||||
Count mtReproduceDialog_Caption=1
|
||||
mtReproduceDialog_Caption0="Request"
|
||||
Count mtReproduceDialog_Request=1
|
||||
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
|
||||
Count mtReproduceDialog_OKButtonCaption=1
|
||||
mtReproduceDialog_OKButtonCaption0="%26OK"
|
||||
Count mtModules_Handle=1
|
||||
mtModules_Handle0="Handle"
|
||||
Count mtModules_Name=1
|
||||
mtModules_Name0="Name"
|
||||
Count mtModules_Description=1
|
||||
mtModules_Description0="Description"
|
||||
Count mtModules_Version=1
|
||||
mtModules_Version0="Version"
|
||||
Count mtModules_Size=1
|
||||
mtModules_Size0="Size"
|
||||
Count mtModules_LastModified=1
|
||||
mtModules_LastModified0="Modified"
|
||||
Count mtModules_Path=1
|
||||
mtModules_Path0="Path"
|
||||
Count mtCPU_Registers=1
|
||||
mtCPU_Registers0="Registers"
|
||||
Count mtCPU_Stack=1
|
||||
mtCPU_Stack0="Stack"
|
||||
Count mtCPU_MemoryDump=1
|
||||
mtCPU_MemoryDump0="Memory Dump"
|
||||
Count mtSend_SuccessMsg=1
|
||||
mtSend_SuccessMsg0="The message was sent successfully."
|
||||
Count mtSend_FailureMsg=1
|
||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
||||
|
||||
|
||||
67
Source/ApplicationBase/Usuarios/Usuarios.dpk
Normal file
67
Source/ApplicationBase/Usuarios/Usuarios.dpk
Normal file
@ -0,0 +1,67 @@
|
||||
package Usuarios;
|
||||
|
||||
{$R *.res}
|
||||
{$ALIGN 8}
|
||||
{$ASSERTIONS ON}
|
||||
{$BOOLEVAL OFF}
|
||||
{$DEBUGINFO ON}
|
||||
{$EXTENDEDSYNTAX ON}
|
||||
{$IMPORTEDDATA ON}
|
||||
{$IOCHECKS ON}
|
||||
{$LOCALSYMBOLS ON}
|
||||
{$LONGSTRINGS ON}
|
||||
{$OPENSTRINGS ON}
|
||||
{$OPTIMIZATION ON}
|
||||
{$OVERFLOWCHECKS OFF}
|
||||
{$RANGECHECKS OFF}
|
||||
{$REFERENCEINFO ON}
|
||||
{$SAFEDIVIDE OFF}
|
||||
{$STACKFRAMES ON}
|
||||
{$TYPEDADDRESS OFF}
|
||||
{$VARSTRINGCHECKS ON}
|
||||
{$WRITEABLECONST OFF}
|
||||
{$MINENUMSIZE 1}
|
||||
{$IMAGEBASE $400000}
|
||||
{$DESCRIPTION 'Pedidos a proveedor'}
|
||||
{$IMPLICITBUILD ON}
|
||||
{$DEFINE DEBUG}
|
||||
|
||||
requires
|
||||
vcl,
|
||||
vcldb,
|
||||
PngComponentsD10,
|
||||
PNG_D10,
|
||||
vclactnband,
|
||||
vclx,
|
||||
vcljpg,
|
||||
BaseD10;
|
||||
|
||||
contains
|
||||
uUsuariosController in 'Controller\uUsuariosController.pas',
|
||||
uPerfilesUsuarioController in 'Controller\uPerfilesUsuarioController.pas',
|
||||
uUCROConn in 'Data\uUCROConn.pas',
|
||||
uDataModuleUsuarios in 'Data\uDataModuleUsuarios.pas',
|
||||
uBizUsuarios in 'Model\uBizUsuarios.pas',
|
||||
uIEditorUsuarios in 'Controller\View\uIEditorUsuarios.pas',
|
||||
uIEditorLogin in 'Controller\View\uIEditorLogin.pas',
|
||||
uIEditorPerfilesUsuario in 'Controller\View\uIEditorPerfilesUsuario.pas',
|
||||
uIEditorPerfilUsuario in 'Controller\View\uIEditorPerfilUsuario.pas',
|
||||
uIEditorUsuario in 'Controller\View\uIEditorUsuario.pas',
|
||||
uIDataModuleUsuarios in 'Model\Data\uIDataModuleUsuarios.pas',
|
||||
uViewUsuarios in 'Views\uViewUsuarios.pas',
|
||||
uEditorCambiarPassword in 'Views\uEditorCambiarPassword.pas',
|
||||
uEditorLogin in 'Views\uEditorLogin.pas',
|
||||
uEditorPerfilesUsuario in 'Views\uEditorPerfilesUsuario.pas',
|
||||
uEditorPerfilUsuario in 'Views\uEditorPerfilUsuario.pas',
|
||||
uEditorUsuario in 'Views\uEditorUsuario.pas',
|
||||
uEditorUsuarios in 'Views\uEditorUsuarios.pas',
|
||||
uUsuario in 'Views\uUsuario.pas',
|
||||
uUsuarios in 'Views\uUsuarios.pas',
|
||||
uUsuariosViewRegister in 'Views\uUsuariosViewRegister.pas',
|
||||
uViewPerfilesUsuario in 'Views\uViewPerfilesUsuario.pas',
|
||||
uViewPerfilUsuario in 'Views\uViewPerfilUsuario.pas',
|
||||
uViewUsuario in 'Views\uViewUsuario.pas',
|
||||
schUsuariosClient_Intf in 'Model\schUsuariosClient_Intf.pas',
|
||||
schUsuariosServer_Intf in 'Model\schUsuariosServer_Intf.pas';
|
||||
|
||||
end.
|
||||
598
Source/ApplicationBase/Usuarios/Usuarios.dproj
Normal file
598
Source/ApplicationBase/Usuarios/Usuarios.dproj
Normal file
@ -0,0 +1,598 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{c2514fab-bd64-47eb-ac2d-4b0b5460f98f}</ProjectGuid>
|
||||
<MainSource>Usuarios.dpk</MainSource>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\Usuarios.bpl</DCC_DependencyCheckOutputName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
<DCC_DebugInformation>False</DCC_DebugInformation>
|
||||
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
||||
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||
<DCC_MapFile>3</DCC_MapFile>
|
||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
||||
<DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput>
|
||||
<DCC_DcpOutput>..\Lib</DCC_DcpOutput>
|
||||
<DCC_UnitSearchPath>..\Lib;..\Base</DCC_UnitSearchPath>
|
||||
<DCC_ResourcePath>..\Lib;..\Base</DCC_ResourcePath>
|
||||
<DCC_ObjPath>..\Lib;..\Base</DCC_ObjPath>
|
||||
<DCC_IncludePath>..\Lib;..\Base</DCC_IncludePath>
|
||||
<DCC_Define>RELEASE</DCC_Define>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
<DCC_MapFile>3</DCC_MapFile>
|
||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
||||
<DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput>
|
||||
<DCC_DcpOutput>..\Lib</DCC_DcpOutput>
|
||||
<DCC_UnitSearchPath>..\Lib;..\Base</DCC_UnitSearchPath>
|
||||
<DCC_ResourcePath>..\Lib;..\Base</DCC_ResourcePath>
|
||||
<DCC_ObjPath>..\Lib;..\Base</DCC_ObjPath>
|
||||
<DCC_IncludePath>..\Lib;..\Base</DCC_IncludePath>
|
||||
<DCC_Define>DEBUG</DCC_Define>
|
||||
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||
<Borland.ProjectType>Package</Borland.ProjectType>
|
||||
<BorlandProject>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">Pedidos a proveedor</Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">3</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.3.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Usuarios.dpk</Source></Source><Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||
</Excluded_Packages></Delphi.Personality></BorlandProject></BorlandProject>
|
||||
</ProjectExtensions>
|
||||
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||
<ItemGroup>
|
||||
<DelphiCompile Include="Usuarios.dpk">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="Controller\uPerfilesUsuarioController.pas" />
|
||||
<DCCReference Include="Controller\uUsuariosController.pas" />
|
||||
<DCCReference Include="Controller\View\uIEditorLogin.pas" />
|
||||
<DCCReference Include="Controller\View\uIEditorPerfilesUsuario.pas" />
|
||||
<DCCReference Include="Controller\View\uIEditorPerfilUsuario.pas" />
|
||||
<DCCReference Include="Controller\View\uIEditorUsuario.pas" />
|
||||
<DCCReference Include="Controller\View\uIEditorUsuarios.pas" />
|
||||
<DCCReference Include="Data\uDataModuleUsuarios.pas" />
|
||||
<DCCReference Include="Data\uUCROConn.pas" />
|
||||
<DCCReference Include="Model\BaseD10.dcp" />
|
||||
<DCCReference Include="Model\Data\uIDataModuleUsuarios.pas" />
|
||||
<DCCReference Include="Model\PngComponentsD10.dcp" />
|
||||
<DCCReference Include="Model\PNG_D10.dcp" />
|
||||
<DCCReference Include="Model\schUsuariosClient_Intf.pas" />
|
||||
<DCCReference Include="Model\schUsuariosServer_Intf.pas" />
|
||||
<DCCReference Include="Model\uBizUsuarios.pas" />
|
||||
<DCCReference Include="Model\vcl.dcp" />
|
||||
<DCCReference Include="Model\vclactnband.dcp" />
|
||||
<DCCReference Include="Model\vcldb.dcp" />
|
||||
<DCCReference Include="Model\vcljpg.dcp" />
|
||||
<DCCReference Include="Model\vclx.dcp" />
|
||||
<DCCReference Include="Views\uEditorCambiarPassword.pas" />
|
||||
<DCCReference Include="Views\uEditorLogin.pas" />
|
||||
<DCCReference Include="Views\uEditorPerfilesUsuario.pas" />
|
||||
<DCCReference Include="Views\uEditorPerfilUsuario.pas" />
|
||||
<DCCReference Include="Views\uEditorUsuario.pas" />
|
||||
<DCCReference Include="Views\uEditorUsuarios.pas" />
|
||||
<DCCReference Include="Views\uUsuario.pas" />
|
||||
<DCCReference Include="Views\uUsuarios.pas" />
|
||||
<DCCReference Include="Views\uUsuariosViewRegister.pas" />
|
||||
<DCCReference Include="Views\uViewPerfilesUsuario.pas" />
|
||||
<DCCReference Include="Views\uViewPerfilUsuario.pas" />
|
||||
<DCCReference Include="Views\uViewUsuario.pas" />
|
||||
<DCCReference Include="Views\uViewUsuarios.pas" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
<!-- EurekaLog First Line
|
||||
[Exception Log]
|
||||
EurekaLog Version=6006
|
||||
Activate=1
|
||||
Activate Handle=1
|
||||
Save Log File=1
|
||||
Foreground Tab=0
|
||||
Freeze Activate=0
|
||||
Freeze Timeout=60
|
||||
Freeze Message=The application seems to be frozen.
|
||||
SMTP From=eurekalog@email.com
|
||||
SMTP Host=
|
||||
SMTP Port=25
|
||||
SMTP UserID=
|
||||
SMTP Password=
|
||||
Append to Log=0
|
||||
Show TerminateBtn=1
|
||||
TerminateBtn Operation=1
|
||||
Errors Number=32
|
||||
Errors Terminate=3
|
||||
Email Address=
|
||||
Email Object=
|
||||
Email Send Options=0
|
||||
Output Path=
|
||||
Encrypt Password=
|
||||
AutoCloseDialogSecs=0
|
||||
WebSendMode=0
|
||||
SupportULR=
|
||||
HTMLLayout Count=15
|
||||
HTMLLine0="%3Chtml%3E"
|
||||
HTMLLine1=" %3Chead%3E"
|
||||
HTMLLine2=" %3C/head%3E"
|
||||
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
|
||||
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
|
||||
HTMLLine5=" %3Ctr%3E"
|
||||
HTMLLine6=" %3Ctd nowrap%3E"
|
||||
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
|
||||
HTMLLine8=" %3C%%HTML_TAG%%%3E"
|
||||
HTMLLine9=" %3C/font%3E"
|
||||
HTMLLine10=" %3C/td%3E"
|
||||
HTMLLine11=" %3C/tr%3E"
|
||||
HTMLLine12=" %3C/table%3E"
|
||||
HTMLLine13=" %3C/body%3E"
|
||||
HTMLLine14="%3C/html%3E"
|
||||
AutoCrashOperation=1
|
||||
AutoCrashNumber=10
|
||||
AutoCrashMinutes=1
|
||||
WebURL=
|
||||
WebUserID=
|
||||
WebPassword=
|
||||
WebPort=0
|
||||
AttachedFiles=
|
||||
Count=0
|
||||
EMail Message Line Count=0
|
||||
loNoDuplicateErrors=0
|
||||
loAppendReproduceText=0
|
||||
loDeleteLogAtVersionChange=0
|
||||
loAddComputerNameInLogFileName=0
|
||||
loSaveModulesSection=1
|
||||
loSaveCPUSection=1
|
||||
soAppStartDate=1
|
||||
soAppName=1
|
||||
soAppVersionNumber=1
|
||||
soAppParameters=1
|
||||
soAppCompilationDate=1
|
||||
soExcDate=1
|
||||
soExcAddress=1
|
||||
soExcModule=1
|
||||
soExcType=1
|
||||
soExcMessage=1
|
||||
soActCtlsFormClass=1
|
||||
soActCtlsFormText=1
|
||||
soActCtlsControlClass=1
|
||||
soActCtlsControlText=1
|
||||
soCmpName=1
|
||||
soCmpUser=1
|
||||
soCmpTotalMemory=1
|
||||
soCmpFreeMemory=1
|
||||
soCmpTotalDisk=1
|
||||
soCmpFreeDisk=1
|
||||
soCmpSysUpTime=1
|
||||
soCmpProcessor=1
|
||||
soCmpDisplayMode=1
|
||||
soOSType=1
|
||||
soOSBuildN=1
|
||||
soOSUpdate=1
|
||||
soOSLanguage=1
|
||||
soNetIP=1
|
||||
soNetSubmask=1
|
||||
soNetGateway=1
|
||||
soNetDNS1=1
|
||||
soNetDNS2=1
|
||||
soNetDHCP=1
|
||||
sndShowSendDialog=1
|
||||
sndShowSuccessFailureMsg=0
|
||||
sndSendEntireLog=0
|
||||
sndSendXMLLogCopy=0
|
||||
sndSendScreenshot=1
|
||||
sndUseOnlyActiveWindow=0
|
||||
sndSendLastHTMLPage=1
|
||||
sndSendInSeparatedThread=0
|
||||
sndAddDateInFileName=0
|
||||
sndCompressAllFiles=0
|
||||
edoShowExceptionDialog=1
|
||||
edoSendEmailChecked=1
|
||||
edoAttachScreenshotChecked=1
|
||||
edoShowCopyToClipOption=1
|
||||
edoShowDetailsButton=1
|
||||
edoShowInDetailedMode=0
|
||||
edoShowInTopMostMode=0
|
||||
edoUseEurekaLogLookAndFeel=0
|
||||
csoShowDLLs=1
|
||||
csoShowBPLs=1
|
||||
csoShowBorlandThreads=1
|
||||
csoShowWindowsThreads=1
|
||||
csoShowProcedureOffset=0
|
||||
boActivateCrashDetection=0
|
||||
boPauseBorlandThreads=0
|
||||
boDoNotPauseMainThread=0
|
||||
boPauseWindowsThreads=0
|
||||
boUseMainModuleOptions=1
|
||||
boCopyLogInCaseOfError=1
|
||||
boSaveCompressedCopyInCaseOfError=0
|
||||
Count mtInformationMsgCaption=1
|
||||
mtInformationMsgCaption0="Information."
|
||||
Count mtQuestionMsgCaption=1
|
||||
mtQuestionMsgCaption0="Question."
|
||||
Count mtDialog_Caption=1
|
||||
mtDialog_Caption0="Error occurred"
|
||||
Count mtDialog_ErrorMsgCaption=2
|
||||
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
|
||||
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
|
||||
Count mtDialog_GeneralCaption=1
|
||||
mtDialog_GeneralCaption0="General"
|
||||
Count mtDialog_GeneralHeader=1
|
||||
mtDialog_GeneralHeader0="General Information"
|
||||
Count mtDialog_CallStackCaption=1
|
||||
mtDialog_CallStackCaption0="Call Stack"
|
||||
Count mtDialog_CallStackHeader=1
|
||||
mtDialog_CallStackHeader0="Call Stack Information"
|
||||
Count mtDialog_ModulesCaption=1
|
||||
mtDialog_ModulesCaption0="Modules"
|
||||
Count mtDialog_ModulesHeader=1
|
||||
mtDialog_ModulesHeader0="Modules Information"
|
||||
Count mtDialog_CPUCaption=1
|
||||
mtDialog_CPUCaption0="CPU"
|
||||
Count mtDialog_CPUHeader=1
|
||||
mtDialog_CPUHeader0="CPU Information"
|
||||
Count mtDialog_CustomDataCaption=1
|
||||
mtDialog_CustomDataCaption0="Other"
|
||||
Count mtDialog_CustomDataHeader=1
|
||||
mtDialog_CustomDataHeader0="Other Information"
|
||||
Count mtDialog_OKButtonCaption=1
|
||||
mtDialog_OKButtonCaption0="%26OK"
|
||||
Count mtDialog_TerminateButtonCaption=1
|
||||
mtDialog_TerminateButtonCaption0="%26Terminate"
|
||||
Count mtDialog_RestartButtonCaption=1
|
||||
mtDialog_RestartButtonCaption0="%26Restart"
|
||||
Count mtDialog_DetailsButtonCaption=1
|
||||
mtDialog_DetailsButtonCaption0="%26Details"
|
||||
Count mtDialog_SendMessage=1
|
||||
mtDialog_SendMessage0="%26Send this error via Internet"
|
||||
Count mtDialog_ScreenshotMessage=1
|
||||
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
|
||||
Count mtDialog_CopyMessage=1
|
||||
mtDialog_CopyMessage0="%26Copy to Clipboard"
|
||||
Count mtDialog_SupportMessage=1
|
||||
mtDialog_SupportMessage0="Go to the Support Page"
|
||||
Count mtLog_AppHeader=1
|
||||
mtLog_AppHeader0="Application"
|
||||
Count mtLog_AppStartDate=1
|
||||
mtLog_AppStartDate0="Start Date"
|
||||
Count mtLog_AppName=1
|
||||
mtLog_AppName0="Name/Description"
|
||||
Count mtLog_AppVersionNumber=1
|
||||
mtLog_AppVersionNumber0="Version Number"
|
||||
Count mtLog_AppParameters=1
|
||||
mtLog_AppParameters0="Parameters"
|
||||
Count mtLog_AppCompilationDate=1
|
||||
mtLog_AppCompilationDate0="Compilation Date"
|
||||
Count mtLog_ExcHeader=1
|
||||
mtLog_ExcHeader0="Exception"
|
||||
Count mtLog_ExcDate=1
|
||||
mtLog_ExcDate0="Date"
|
||||
Count mtLog_ExcAddress=1
|
||||
mtLog_ExcAddress0="Address"
|
||||
Count mtLog_ExcModule=1
|
||||
mtLog_ExcModule0="Module"
|
||||
Count mtLog_ExcType=1
|
||||
mtLog_ExcType0="Type"
|
||||
Count mtLog_ExcMessage=1
|
||||
mtLog_ExcMessage0="Message"
|
||||
Count mtLog_ActCtrlsHeader=1
|
||||
mtLog_ActCtrlsHeader0="Active Controls"
|
||||
Count mtLog_ActCtrlsFormClass=1
|
||||
mtLog_ActCtrlsFormClass0="Form Class"
|
||||
Count mtLog_ActCtrlsFormText=1
|
||||
mtLog_ActCtrlsFormText0="Form Text"
|
||||
Count mtLog_ActCtrlsControlClass=1
|
||||
mtLog_ActCtrlsControlClass0="Control Class"
|
||||
Count mtLog_ActCtrlsControlText=1
|
||||
mtLog_ActCtrlsControlText0="Control Text"
|
||||
Count mtLog_CmpHeader=1
|
||||
mtLog_CmpHeader0="Computer"
|
||||
Count mtLog_CmpName=1
|
||||
mtLog_CmpName0="Name"
|
||||
Count mtLog_CmpUser=1
|
||||
mtLog_CmpUser0="User"
|
||||
Count mtLog_CmpTotalMemory=1
|
||||
mtLog_CmpTotalMemory0="Total Memory"
|
||||
Count mtLog_CmpFreeMemory=1
|
||||
mtLog_CmpFreeMemory0="Free Memory"
|
||||
Count mtLog_CmpTotalDisk=1
|
||||
mtLog_CmpTotalDisk0="Total Disk"
|
||||
Count mtLog_CmpFreeDisk=1
|
||||
mtLog_CmpFreeDisk0="Free Disk"
|
||||
Count mtLog_CmpSystemUpTime=1
|
||||
mtLog_CmpSystemUpTime0="System Up Time"
|
||||
Count mtLog_CmpProcessor=1
|
||||
mtLog_CmpProcessor0="Processor"
|
||||
Count mtLog_CmpDisplayMode=1
|
||||
mtLog_CmpDisplayMode0="Display Mode"
|
||||
Count mtLog_OSHeader=1
|
||||
mtLog_OSHeader0="Operating System"
|
||||
Count mtLog_OSType=1
|
||||
mtLog_OSType0="Type"
|
||||
Count mtLog_OSBuildN=1
|
||||
mtLog_OSBuildN0="Build #"
|
||||
Count mtLog_OSUpdate=1
|
||||
mtLog_OSUpdate0="Update"
|
||||
Count mtLog_OSLanguage=1
|
||||
mtLog_OSLanguage0="Language"
|
||||
Count mtLog_NetHeader=1
|
||||
mtLog_NetHeader0="Network"
|
||||
Count mtLog_NetIP=1
|
||||
mtLog_NetIP0="IP Address"
|
||||
Count mtLog_NetSubmask=1
|
||||
mtLog_NetSubmask0="Submask"
|
||||
Count mtLog_NetGateway=1
|
||||
mtLog_NetGateway0="Gateway"
|
||||
Count mtLog_NetDNS1=1
|
||||
mtLog_NetDNS10="DNS 1"
|
||||
Count mtLog_NetDNS2=1
|
||||
mtLog_NetDNS20="DNS 2"
|
||||
Count mtLog_NetDHCP=1
|
||||
mtLog_NetDHCP0="DHCP"
|
||||
Count mtLog_CustInfoHeader=1
|
||||
mtLog_CustInfoHeader0="Custom Information"
|
||||
Count mtCallStack_Address=1
|
||||
mtCallStack_Address0="Address"
|
||||
Count mtCallStack_Name=1
|
||||
mtCallStack_Name0="Module"
|
||||
Count mtCallStack_Unit=1
|
||||
mtCallStack_Unit0="Unit"
|
||||
Count mtCallStack_Class=1
|
||||
mtCallStack_Class0="Class"
|
||||
Count mtCallStack_Procedure=1
|
||||
mtCallStack_Procedure0="Procedure/Method"
|
||||
Count mtCallStack_Line=1
|
||||
mtCallStack_Line0="Line"
|
||||
Count mtCallStack_MainThread=1
|
||||
mtCallStack_MainThread0="Main"
|
||||
Count mtCallStack_ExceptionThread=1
|
||||
mtCallStack_ExceptionThread0="Exception Thread"
|
||||
Count mtCallStack_RunningThread=1
|
||||
mtCallStack_RunningThread0="Running Thread"
|
||||
Count mtCallStack_CallingThread=1
|
||||
mtCallStack_CallingThread0="Calling Thread"
|
||||
Count mtCallStack_ThreadID=1
|
||||
mtCallStack_ThreadID0="ID"
|
||||
Count mtCallStack_ThreadPriority=1
|
||||
mtCallStack_ThreadPriority0="Priority"
|
||||
Count mtCallStack_ThreadClass=1
|
||||
mtCallStack_ThreadClass0="Class"
|
||||
Count mtSendDialog_Caption=1
|
||||
mtSendDialog_Caption0="Send."
|
||||
Count mtSendDialog_Message=1
|
||||
mtSendDialog_Message0="Message"
|
||||
Count mtSendDialog_Resolving=1
|
||||
mtSendDialog_Resolving0="Resolving DNS..."
|
||||
Count mtSendDialog_Connecting=1
|
||||
mtSendDialog_Connecting0="Connecting with server..."
|
||||
Count mtSendDialog_Connected=1
|
||||
mtSendDialog_Connected0="Connected with server."
|
||||
Count mtSendDialog_Sending=1
|
||||
mtSendDialog_Sending0="Sending message..."
|
||||
Count mtReproduceDialog_Caption=1
|
||||
mtReproduceDialog_Caption0="Request"
|
||||
Count mtReproduceDialog_Request=1
|
||||
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
|
||||
Count mtReproduceDialog_OKButtonCaption=1
|
||||
mtReproduceDialog_OKButtonCaption0="%26OK"
|
||||
Count mtModules_Handle=1
|
||||
mtModules_Handle0="Handle"
|
||||
Count mtModules_Name=1
|
||||
mtModules_Name0="Name"
|
||||
Count mtModules_Description=1
|
||||
mtModules_Description0="Description"
|
||||
Count mtModules_Version=1
|
||||
mtModules_Version0="Version"
|
||||
Count mtModules_Size=1
|
||||
mtModules_Size0="Size"
|
||||
Count mtModules_LastModified=1
|
||||
mtModules_LastModified0="Modified"
|
||||
Count mtModules_Path=1
|
||||
mtModules_Path0="Path"
|
||||
Count mtCPU_Registers=1
|
||||
mtCPU_Registers0="Registers"
|
||||
Count mtCPU_Stack=1
|
||||
mtCPU_Stack0="Stack"
|
||||
Count mtCPU_MemoryDump=1
|
||||
mtCPU_MemoryDump0="Memory Dump"
|
||||
Count mtSend_SuccessMsg=1
|
||||
mtSend_SuccessMsg0="The message was sent successfully."
|
||||
Count mtSend_FailureMsg=1
|
||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
||||
ProxyURL=
|
||||
ProxyUser=
|
||||
ProxyPassword=
|
||||
ProxyPort=8080
|
||||
TrakerUser=
|
||||
TrakerPassword=
|
||||
TrakerAssignTo=
|
||||
TrakerProject=
|
||||
TrakerCategory=
|
||||
TrakerTrialID=
|
||||
ZipPassword=
|
||||
PreBuildEvent=
|
||||
PostSuccessfulBuildEvent=
|
||||
PostFailureBuildEvent=
|
||||
ExceptionDialogType=2
|
||||
loSaveModulesAndProcessesSections=1
|
||||
loSaveAssemblerAndCPUSections=1
|
||||
soAppUpTime=1
|
||||
soExcModuleName=1
|
||||
soExcModuleVersion=1
|
||||
soExcID=1
|
||||
soExcCount=1
|
||||
soExcStatus=1
|
||||
soExcNote=1
|
||||
soUserID=1
|
||||
soUserName=1
|
||||
soUserEmail=1
|
||||
soUserPrivileges=1
|
||||
soUserCompany=1
|
||||
soCmpDisplayDPI=1
|
||||
soCmpVideoCard=1
|
||||
soCmpPrinter=1
|
||||
soOSCharset=1
|
||||
soCustomData=1
|
||||
sndAddComputerNameInFileName=0
|
||||
edoSendErrorReportChecked=1
|
||||
edoShowSendErrorReportOption=1
|
||||
edoShowAttachScreenshotOption=1
|
||||
edoShowCustomButton=0
|
||||
csoDoNotStoreProcNames=0
|
||||
boHandleSafeCallExceptions=1
|
||||
boCallRTLExceptionEvent=0
|
||||
boCatchHandledExceptions=0
|
||||
loCatchLeaks=1
|
||||
loGroupsSonLeaks=1
|
||||
loHideBorlandLeaks=1
|
||||
loFreeAllLeaks=1
|
||||
loCatchLeaksExceptions=1
|
||||
cfoReduceFileSize=1
|
||||
cfoCheckFileCorruption=0
|
||||
Count mtErrorMsgCaption=1
|
||||
mtErrorMsgCaption0="Error."
|
||||
Count mtDialog_ProcessesCaption=1
|
||||
mtDialog_ProcessesCaption0="Processes"
|
||||
Count mtDialog_ProcessesHeader=1
|
||||
mtDialog_ProcessesHeader0="Processes Information"
|
||||
Count mtDialog_AsmCaption=1
|
||||
mtDialog_AsmCaption0="Assembler"
|
||||
Count mtDialog_AsmHeader=1
|
||||
mtDialog_AsmHeader0="Assembler Information"
|
||||
Count mtDialog_CustomButtonCaption=1
|
||||
mtDialog_CustomButtonCaption0="%26Help"
|
||||
Count mtMSDialog_ErrorMsgCaption=1
|
||||
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
|
||||
Count mtMSDialog_RestartCaption=1
|
||||
mtMSDialog_RestartCaption0="Restart application."
|
||||
Count mtMSDialog_TerminateCaption=1
|
||||
mtMSDialog_TerminateCaption0="Terminate application."
|
||||
Count mtMSDialog_PleaseCaption=1
|
||||
mtMSDialog_PleaseCaption0="Please tell us about this problem."
|
||||
Count mtMSDialog_DescriptionCaption=1
|
||||
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
|
||||
Count mtMSDialog_SeeDetailsCaption=1
|
||||
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
|
||||
Count mtMSDialog_SeeClickCaption=1
|
||||
mtMSDialog_SeeClickCaption0="click here."
|
||||
Count mtMSDialog_HowToReproduceCaption=1
|
||||
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
|
||||
Count mtMSDialog_EmailCaption=1
|
||||
mtMSDialog_EmailCaption0="Email address (optional):"
|
||||
Count mtMSDialog_SendButtonCaption=1
|
||||
mtMSDialog_SendButtonCaption0="%26Send Error Report"
|
||||
Count mtMSDialog_NoSendButtonCaption=1
|
||||
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
|
||||
Count mtLog_AppUpTime=1
|
||||
mtLog_AppUpTime0="Up Time"
|
||||
Count mtLog_ExcModuleName=1
|
||||
mtLog_ExcModuleName0="Module Name"
|
||||
Count mtLog_ExcModuleVersion=1
|
||||
mtLog_ExcModuleVersion0="Module Version"
|
||||
Count mtLog_ExcID=1
|
||||
mtLog_ExcID0="ID"
|
||||
Count mtLog_ExcCount=1
|
||||
mtLog_ExcCount0="Count"
|
||||
Count mtLog_ExcStatus=1
|
||||
mtLog_ExcStatus0="Status"
|
||||
Count mtLog_ExcNote=1
|
||||
mtLog_ExcNote0="Note"
|
||||
Count mtLog_UserHeader=1
|
||||
mtLog_UserHeader0="User"
|
||||
Count mtLog_UserID=1
|
||||
mtLog_UserID0="ID"
|
||||
Count mtLog_UserName=1
|
||||
mtLog_UserName0="Name"
|
||||
Count mtLog_UserEmail=1
|
||||
mtLog_UserEmail0="Email"
|
||||
Count mtLog_UserCompany=1
|
||||
mtLog_UserCompany0="Company"
|
||||
Count mtLog_UserPrivileges=1
|
||||
mtLog_UserPrivileges0="Privileges"
|
||||
Count mtLog_CmpDisplayDPI=1
|
||||
mtLog_CmpDisplayDPI0="Display DPI"
|
||||
Count mtLog_CmpVideoCard=1
|
||||
mtLog_CmpVideoCard0="Video Card"
|
||||
Count mtLog_CmpPrinter=1
|
||||
mtLog_CmpPrinter0="Printer"
|
||||
Count mtLog_OSCharset=1
|
||||
mtLog_OSCharset0="Charset"
|
||||
Count mtCallStack_LeakCaption=1
|
||||
mtCallStack_LeakCaption0="Memory Leak"
|
||||
Count mtCallStack_LeakData=1
|
||||
mtCallStack_LeakData0="Data"
|
||||
Count mtCallStack_LeakType=1
|
||||
mtCallStack_LeakType0="Type"
|
||||
Count mtCallStack_LeakSize=1
|
||||
mtCallStack_LeakSize0="Total size"
|
||||
Count mtCallStack_LeakCount=1
|
||||
mtCallStack_LeakCount0="Count"
|
||||
Count mtSendDialog_Login=1
|
||||
mtSendDialog_Login0="Login..."
|
||||
Count mtSendDialog_Sent=1
|
||||
mtSendDialog_Sent0="Message sent."
|
||||
Count mtSendDialog_SelectProject=1
|
||||
mtSendDialog_SelectProject0="Select project..."
|
||||
Count mtSendDialog_Searching=1
|
||||
mtSendDialog_Searching0="Searching..."
|
||||
Count mtSendDialog_Modifying=1
|
||||
mtSendDialog_Modifying0="Modifying..."
|
||||
Count mtSendDialog_Disconnecting=1
|
||||
mtSendDialog_Disconnecting0="Disconnecting..."
|
||||
Count mtSendDialog_Disconnected=1
|
||||
mtSendDialog_Disconnected0="Disconnected."
|
||||
Count mtProcesses_ID=1
|
||||
mtProcesses_ID0="ID"
|
||||
Count mtProcesses_Name=1
|
||||
mtProcesses_Name0="Name"
|
||||
Count mtProcesses_Description=1
|
||||
mtProcesses_Description0="Description"
|
||||
Count mtProcesses_Version=1
|
||||
mtProcesses_Version0="Version"
|
||||
Count mtProcesses_Memory=1
|
||||
mtProcesses_Memory0="Memory"
|
||||
Count mtProcesses_Priority=1
|
||||
mtProcesses_Priority0="Priority"
|
||||
Count mtProcesses_Threads=1
|
||||
mtProcesses_Threads0="Threads"
|
||||
Count mtProcesses_Path=1
|
||||
mtProcesses_Path0="Path"
|
||||
Count mtSend_BugClosedMsg=2
|
||||
mtSend_BugClosedMsg0="These BUG is just closed."
|
||||
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
|
||||
Count mtSend_UnknownErrorMsg=1
|
||||
mtSend_UnknownErrorMsg0="Unknown error."
|
||||
Count mtSend_InvalidLoginMsg=1
|
||||
mtSend_InvalidLoginMsg0="Invalid login request."
|
||||
Count mtSend_InvalidSearchMsg=1
|
||||
mtSend_InvalidSearchMsg0="Invalid search request."
|
||||
Count mtSend_InvalidSelectionMsg=1
|
||||
mtSend_InvalidSelectionMsg0="Invalid selection request."
|
||||
Count mtSend_InvalidInsertMsg=1
|
||||
mtSend_InvalidInsertMsg0="Invalid insert request."
|
||||
Count mtSend_InvalidModifyMsg=1
|
||||
mtSend_InvalidModifyMsg0="Invalid modify request."
|
||||
Count mtFileCrackedMsg=2
|
||||
mtFileCrackedMsg0="This file is cracked."
|
||||
mtFileCrackedMsg1="The application will be closed."
|
||||
Count mtException_LeakMultiFree=1
|
||||
mtException_LeakMultiFree0="Multi Free memory leak."
|
||||
Count mtException_LeakMemoryOverrun=1
|
||||
mtException_LeakMemoryOverrun0="Memory Overrun leak."
|
||||
Count mtException_AntiFreeze=1
|
||||
mtException_AntiFreeze0="The application seems to be frozen."
|
||||
Count mtInvalidEmailMsg=1
|
||||
mtInvalidEmailMsg0="Invalid email."
|
||||
TextsCollection=
|
||||
EurekaLog Last Line -->
|
||||
21
Source/ApplicationBase/Usuarios/Usuarios.drc
Normal file
21
Source/ApplicationBase/Usuarios/Usuarios.drc
Normal file
@ -0,0 +1,21 @@
|
||||
/* VER185
|
||||
Generated by the CodeGear Delphi Pascal Compiler
|
||||
because -GD or --drc was supplied to the compiler.
|
||||
|
||||
This file contains compiler-generated resources that
|
||||
were bound to the executable.
|
||||
If this file is empty, then no compiler-generated
|
||||
resources were bound to the produced executable.
|
||||
*/
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
END
|
||||
|
||||
/* C:\Varela_D2007\Source\Usuarios\uLoginForm.dfm */
|
||||
/* C:\Varela_D2007\Source\Usuarios\uCambiarPassword.dfm */
|
||||
/* C:\Varela_D2007\Source\Usuarios\uDataModuleUsuarios.dfm */
|
||||
/* C:\Varela_D2007\Source\Usuarios\uUsuarios.dfm */
|
||||
/* C:\Varela_D2007\Source\Usuarios\uUsuario.dfm */
|
||||
/* C:\Varela_D2007\Source\Usuarios\Usuarios.res */
|
||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtfF.tmp */
|
||||
22
Source/ApplicationBase/Usuarios/Usuarios.rc
Normal file
22
Source/ApplicationBase/Usuarios/Usuarios.rc
Normal file
@ -0,0 +1,22 @@
|
||||
1 VERSIONINFO
|
||||
FILEVERSION 1,0,3,0
|
||||
PRODUCTVERSION 1,0,3,0
|
||||
FILEFLAGSMASK 0x3FL
|
||||
FILEFLAGS 0x00L
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "0C0A04E4"
|
||||
BEGIN
|
||||
VALUE "FileVersion", "1.0.3.0\0"
|
||||
VALUE "ProductVersion", "1.0.0.0\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x0C0A, 1252
|
||||
END
|
||||
END
|
||||
BIN
Source/ApplicationBase/Usuarios/Usuarios.res
Normal file
BIN
Source/ApplicationBase/Usuarios/Usuarios.res
Normal file
Binary file not shown.
123
Source/ApplicationBase/Usuarios/Views/uEditorCambiarPassword.dfm
Normal file
123
Source/ApplicationBase/Usuarios/Views/uEditorCambiarPassword.dfm
Normal file
@ -0,0 +1,123 @@
|
||||
object fEditorCambiarPassword: TfEditorCambiarPassword
|
||||
Left = 398
|
||||
Top = 263
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Cambiar la contrase'#241'a'
|
||||
ClientHeight = 217
|
||||
ClientWidth = 406
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
Position = poScreenCenter
|
||||
OnClose = FormClose
|
||||
OnCloseQuery = FormCloseQuery
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Bevel4: TBevel
|
||||
Left = 8
|
||||
Top = 154
|
||||
Width = 388
|
||||
Height = 10
|
||||
Shape = bsBottomLine
|
||||
end
|
||||
object lbConfirma: TLabel
|
||||
Left = 35
|
||||
Top = 88
|
||||
Width = 103
|
||||
Height = 13
|
||||
Alignment = taRightJustify
|
||||
Caption = 'Confirmar contrase'#241'a:'
|
||||
end
|
||||
object lbNovaSenha: TLabel
|
||||
Left = 47
|
||||
Top = 57
|
||||
Width = 91
|
||||
Height = 13
|
||||
Alignment = taRightJustify
|
||||
Caption = 'Nueva contrase'#241'a:'
|
||||
end
|
||||
object lbSenhaAtu: TLabel
|
||||
Left = 49
|
||||
Top = 27
|
||||
Width = 89
|
||||
Height = 13
|
||||
Alignment = taRightJustify
|
||||
Caption = 'Contrase'#241'a actual:'
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 19
|
||||
Top = 132
|
||||
Width = 360
|
||||
Height = 13
|
||||
Caption =
|
||||
'Si hace clic en Cancelar, no se realizar'#225' ning'#250'n cambio sobre la' +
|
||||
' contrase'#241'a.'
|
||||
end
|
||||
object bAceptar: TButton
|
||||
Left = 234
|
||||
Top = 178
|
||||
Width = 75
|
||||
Height = 23
|
||||
Action = actAceptar
|
||||
TabOrder = 0
|
||||
end
|
||||
object bCancelar: TButton
|
||||
Left = 319
|
||||
Top = 178
|
||||
Width = 75
|
||||
Height = 23
|
||||
Action = actCancelar
|
||||
Cancel = True
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
end
|
||||
object EditAtu: TEdit
|
||||
Left = 143
|
||||
Top = 24
|
||||
Width = 202
|
||||
Height = 21
|
||||
Ctl3D = True
|
||||
MaxLength = 10
|
||||
ParentCtl3D = False
|
||||
PasswordChar = '*'
|
||||
TabOrder = 2
|
||||
end
|
||||
object EditConfirma: TEdit
|
||||
Left = 143
|
||||
Top = 85
|
||||
Width = 202
|
||||
Height = 21
|
||||
Ctl3D = True
|
||||
MaxLength = 10
|
||||
ParentCtl3D = False
|
||||
PasswordChar = '*'
|
||||
TabOrder = 4
|
||||
end
|
||||
object EditNova: TEdit
|
||||
Left = 143
|
||||
Top = 54
|
||||
Width = 202
|
||||
Height = 21
|
||||
Ctl3D = True
|
||||
MaxLength = 10
|
||||
ParentCtl3D = False
|
||||
PasswordChar = '*'
|
||||
TabOrder = 3
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
Left = 136
|
||||
Top = 169
|
||||
object actAceptar: TAction
|
||||
Caption = 'C&ambiar'
|
||||
OnExecute = actAceptarExecute
|
||||
end
|
||||
object actCancelar: TAction
|
||||
Caption = '&Cancelar'
|
||||
OnExecute = actCancelarExecute
|
||||
end
|
||||
end
|
||||
end
|
||||
101
Source/ApplicationBase/Usuarios/Views/uEditorCambiarPassword.pas
Normal file
101
Source/ApplicationBase/Usuarios/Views/uEditorCambiarPassword.pas
Normal file
@ -0,0 +1,101 @@
|
||||
unit uEditorCambiarPassword;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Forms, UCBase, ExtCtrls, Classes, ActnList, StdCtrls, Controls, Buttons,
|
||||
uBizUsuarios, uUsuariosController;
|
||||
|
||||
type
|
||||
TfEditorCambiarPassword = class(TForm)
|
||||
lbSenhaAtu: TLabel;
|
||||
lbNovaSenha: TLabel;
|
||||
lbConfirma: TLabel;
|
||||
EditAtu: TEdit;
|
||||
EditNova: TEdit;
|
||||
EditConfirma: TEdit;
|
||||
ActionList1: TActionList;
|
||||
actAceptar: TAction;
|
||||
actCancelar: TAction;
|
||||
Bevel4: TBevel;
|
||||
bAceptar: TButton;
|
||||
bCancelar: TButton;
|
||||
Label1: TLabel;
|
||||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure actCancelarExecute(Sender: TObject);
|
||||
procedure actAceptarExecute(Sender: TObject);
|
||||
public
|
||||
Usuario : IBizUsuario;
|
||||
Controller : IUsuariosController;
|
||||
CambioObligatorio : Boolean;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDialogUtils;
|
||||
|
||||
procedure TfEditorCambiarPassword.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
begin
|
||||
Action := caHide;
|
||||
end;
|
||||
|
||||
procedure TfEditorCambiarPassword.actAceptarExecute(Sender: TObject);
|
||||
var
|
||||
AuxPass : String;
|
||||
AMensaje : String;
|
||||
begin
|
||||
case Controller.Criptografia of
|
||||
ucStandard: AuxPass := EditAtu.Text;
|
||||
ucMD5: AuxPass := MD5Sum(EditAtu.Text);
|
||||
end;
|
||||
|
||||
if Usuario.PASS <> AuxPass then
|
||||
begin
|
||||
ShowWarningMessage('Cambiar la contraseña', 'La contraseña actual no es correcta.' + #10#13 +
|
||||
'Asegúrese de que la contraseña actual está bien introduccida.');
|
||||
EditAtu.SetFocus;
|
||||
Exit;
|
||||
end;
|
||||
|
||||
if (EditNova.Text <> EditConfirma.Text) then
|
||||
begin
|
||||
ShowWarningMessage('Cambiar la contraseña', 'La contraseña no se confirmó correctamente' + #10#13 +
|
||||
'Asegúrese de que la contraseña y su confirmación sean iguales.');
|
||||
EditNova.SetFocus;
|
||||
Exit;
|
||||
end
|
||||
else begin
|
||||
if not Controller.ValidarPassword(EditNova.Text, Usuario.LOGIN, Usuario.USERNAME, AMensaje) then
|
||||
begin
|
||||
ShowWarningMessage('Cambiar la contraseña', AMensaje);
|
||||
EditNova.SetFocus;
|
||||
Exit;
|
||||
end
|
||||
else begin
|
||||
if CambioObligatorio = True then
|
||||
CambioObligatorio := False;
|
||||
ModalResult := mrOK;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorCambiarPassword.actCancelarExecute(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfEditorCambiarPassword.FormCloseQuery(Sender: TObject;
|
||||
var CanClose: Boolean);
|
||||
begin
|
||||
if CambioObligatorio then
|
||||
begin
|
||||
CanClose := False;
|
||||
ShowWarningMessage('Cambiar la contraseña', 'El cambio de la contraseña es obligatorio');
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
1101
Source/ApplicationBase/Usuarios/Views/uEditorLogin.dfm
Normal file
1101
Source/ApplicationBase/Usuarios/Views/uEditorLogin.dfm
Normal file
File diff suppressed because it is too large
Load Diff
140
Source/ApplicationBase/Usuarios/Views/uEditorLogin.pas
Normal file
140
Source/ApplicationBase/Usuarios/Views/uEditorLogin.pas
Normal file
@ -0,0 +1,140 @@
|
||||
unit uEditorLogin;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, StdCtrls, ExtCtrls, ComCtrls, cxGraphics, cxControls,
|
||||
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit,
|
||||
cxImageComboBox, ImgList, PngImageList, pngimage, ToolWin, JvExControls,
|
||||
JvComponent, JvGradient, JvGIF, JvComponentBase, JvFormPlacement,
|
||||
JvAppStorage, JvAppRegistryStorage, uIEditorLogin, uUsuariosController;
|
||||
|
||||
type
|
||||
TfEditorLogin = class(TForm, IEditorLogin)
|
||||
Panel1: TPanel;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
edtPassword: TEdit;
|
||||
bAceptar: TButton;
|
||||
bCancelar: TButton;
|
||||
Label1: TLabel;
|
||||
edtUser: TEdit;
|
||||
JvGradient1: TJvGradient;
|
||||
Button1: TButton;
|
||||
Timer1: TTimer;
|
||||
JvAppRegistryStorage1: TJvAppRegistryStorage;
|
||||
JvFormStorage1: TJvFormStorage;
|
||||
Image1: TImage;
|
||||
procedure bAceptarClick(Sender: TObject);
|
||||
procedure ToolButton4Click(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure Timer1Timer(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure edtUserKeyPress(Sender: TObject; var Key: Char);
|
||||
private
|
||||
FController : IUsuariosController;
|
||||
FIntentos : Integer;
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const AValue : IUsuariosController);
|
||||
published
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uAdminPV_App, uDMBase;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{
|
||||
********************************* TfEditorLogin **********************************
|
||||
}
|
||||
procedure TfEditorLogin.bAceptarClick(Sender: TObject);
|
||||
var
|
||||
bOk : Boolean;
|
||||
begin
|
||||
Timer1.Enabled := False;
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
bOK := FController.ComprobarUsuario(edtUser.Text, edtPassword.Text);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
|
||||
if bOk then
|
||||
ModalResult := mrOK
|
||||
else begin
|
||||
Application.MessageBox('Usuario no válido. Compruebe si ha escrito correctamente'
|
||||
+ #13 + #10 + 'el usuario y la contraseña.', 'Atención', MB_OK);
|
||||
Inc(FIntentos);
|
||||
if (Controller.MaxIntentosLogin > 0) and (FIntentos = Controller.MaxIntentosLogin) then
|
||||
ModalResult := mrCancel;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.ToolButton4Click(Sender: TObject);
|
||||
var
|
||||
ATimer : Boolean;
|
||||
begin
|
||||
ATimer := False;
|
||||
if Timer1.Enabled then
|
||||
begin
|
||||
ATimer := True;
|
||||
Timer1.Enabled := False;
|
||||
end;
|
||||
|
||||
dmBase.ConfigurarConexion;
|
||||
|
||||
if ATimer then
|
||||
Timer1.Enabled := True;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.edtUserKeyPress(Sender: TObject; var Key: Char);
|
||||
begin
|
||||
// Desactivar el timer cuando el usuario empieza a escribir
|
||||
Timer1.Enabled := False;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.FormCreate(Sender: TObject);
|
||||
begin
|
||||
FIntentos := 0;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
FController := NIL;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.FormShow(Sender: TObject);
|
||||
begin
|
||||
Self.Caption := AppAdminPV.AppFullName;
|
||||
JvFormStorage1.RestoreFormPlacement;
|
||||
|
||||
// Hacer login automática si hay usuario/password y no hay más de una base
|
||||
// de datos como opción para conectarse.
|
||||
if ((Length(edtUser.Text) > 0) and (Length(edtPassword.Text) > 0)) then
|
||||
Timer1.Enabled := True;
|
||||
end;
|
||||
|
||||
function TfEditorLogin.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.SetController(const AValue: IUsuariosController);
|
||||
begin
|
||||
FController := AValue;
|
||||
end;
|
||||
|
||||
procedure TfEditorLogin.Timer1Timer(Sender: TObject);
|
||||
begin
|
||||
Timer1.Enabled := False;
|
||||
bAceptar.Click;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -0,0 +1,48 @@
|
||||
inherited fEditorPerfilUsuario: TfEditorPerfilUsuario
|
||||
Caption = 'fEditorPerfilUsuario'
|
||||
ExplicitHeight = 492
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited TBXDock: TTBXDock
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 273
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Panels = <
|
||||
item
|
||||
Width = 200
|
||||
end>
|
||||
Visible = True
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
inherited actNuevo: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actModificar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actPrevisualizar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actImprimir: TAction
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
inherited dsDataTable: TDADataSource
|
||||
OnDataChange = dsDataTableDataChange
|
||||
end
|
||||
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
|
||||
Left = 248
|
||||
Top = 168
|
||||
object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel
|
||||
GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET
|
||||
GroupOptions.CaptionOptions.Font.Color = clWindowText
|
||||
GroupOptions.CaptionOptions.Font.Height = -11
|
||||
GroupOptions.CaptionOptions.Font.Name = 'Tahoma'
|
||||
GroupOptions.CaptionOptions.Font.Style = [fsBold]
|
||||
GroupOptions.CaptionOptions.TextColor = clHighlight
|
||||
GroupOptions.CaptionOptions.UseDefaultFont = False
|
||||
end
|
||||
end
|
||||
end
|
||||
240
Source/ApplicationBase/Usuarios/Views/uEditorPerfilUsuario.pas
Normal file
240
Source/ApplicationBase/Usuarios/Views/uEditorPerfilUsuario.pas
Normal file
@ -0,0 +1,240 @@
|
||||
unit uEditorPerfilUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Menus, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorDBItem, JvAppStorage, JvAppRegistryStorage, DB, uDAInterfaces,
|
||||
uDADataTable, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
|
||||
StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX, TB2Item,
|
||||
TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvNavigationPane,
|
||||
uIEditorPerfilUsuario, uUsuariosController, uCustomView, uViewBase,
|
||||
uViewPerfilUsuario, uBizUsuarios, dxLayoutLookAndFeels;
|
||||
|
||||
type
|
||||
TfEditorPerfilUsuario = class(TfEditorDBItem, IEditorPerfilUsuario)
|
||||
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
||||
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
|
||||
procedure actGuardarExecute(Sender: TObject);
|
||||
procedure actGuardarCerrarExecute(Sender: TObject);
|
||||
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
FController : IUsuariosController;
|
||||
FPerfilUsuario : IBizPerfilUsuario;
|
||||
FViewPerfilUsuario : IViewPerfilUsuario;
|
||||
protected
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetPerfilUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
|
||||
procedure GuardarInterno;
|
||||
procedure EliminarInterno;
|
||||
procedure ActualizarEstadoEditor;
|
||||
function HayDatos: Boolean;
|
||||
//Si queremos crear otra vista para el editor heredado solo tendriamos que
|
||||
//sobreescribir este metodo
|
||||
procedure AsignarVista; virtual;
|
||||
procedure PonerTitulos(const ATitulo: string = '');
|
||||
|
||||
function GetViewPerfilUsuario: IViewPerfilUsuario;
|
||||
procedure SetViewPerfilUsuario(const Value: IViewPerfilUsuario);
|
||||
property ViewPerfilUsuario: IViewPerfilUsuario read GetViewPerfilUsuario write SetViewPerfilUsuario;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
property PerfilUsuario: IBizPerfilUsuario read GetPerfilUsuario write SetPerfilUsuario;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{ TfEditorUsuario }
|
||||
|
||||
uses
|
||||
cxControls, uDialogUtils;
|
||||
|
||||
var
|
||||
FIDNuevoGuardado : Integer = -1;
|
||||
|
||||
procedure TfEditorPerfilUsuario.actGuardarCerrarExecute(Sender: TObject);
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if actGuardar.Execute then
|
||||
actCerrar.Execute;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.actGuardarExecute(Sender: TObject);
|
||||
begin
|
||||
if actGuardar.Enabled then
|
||||
begin
|
||||
GuardarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.ActualizarEstadoEditor;
|
||||
begin
|
||||
PonerTitulos;
|
||||
if HayDatos then
|
||||
begin
|
||||
if (Self.Modified) and (dsDataTable.DataTable.State <> dsInsert) then
|
||||
StatusBar.Panels[0].Text := ' Se han producido cambios'
|
||||
else
|
||||
StatusBar.Panels[0].Text := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.AsignarVista;
|
||||
var
|
||||
AViewPerfilUsuario: TfrViewPerfilUsuario;
|
||||
begin
|
||||
AViewPerfilUsuario := TfrViewPerfilUsuario.Create(Self);
|
||||
with AViewPerfilUsuario do
|
||||
begin
|
||||
Parent := Self;
|
||||
Align := alClient;
|
||||
dxLayoutControlArticulo.LookAndFeel := dxLayoutOfficeLookAndFeel1;
|
||||
end;
|
||||
ViewPerfilUsuario := AViewPerfilUsuario;
|
||||
end;
|
||||
|
||||
constructor TfEditorPerfilUsuario.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
AsignarVista;
|
||||
end;
|
||||
|
||||
destructor TfEditorPerfilUsuario.Destroy;
|
||||
begin
|
||||
// Utilizar mejor OnClose;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.dsDataTableDataChange(Sender: TObject;
|
||||
Field: TField);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.EliminarInterno;
|
||||
begin
|
||||
if (ShowConfirmMessage('Eliminar el perfil', '¿Desea eliminar este perfil?') = IDYES) then
|
||||
begin
|
||||
inherited;
|
||||
if not FController.EliminarPerfil(FPerfilUsuario) then
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
if Assigned(Parent) then
|
||||
begin
|
||||
StatusBar.Visible := False;
|
||||
actCerrar.ShortCut := 0
|
||||
end
|
||||
else begin
|
||||
StatusBar.Visible := True;
|
||||
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TfEditorPerfilUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfEditorPerfilUsuario.GetPerfilUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FPerfilUsuario;
|
||||
end;
|
||||
|
||||
function TfEditorPerfilUsuario.GetViewPerfilUsuario: IViewPerfilUsuario;
|
||||
begin
|
||||
Result := FViewPerfilUsuario;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.GuardarInterno;
|
||||
begin
|
||||
inherited;
|
||||
if FController.GuardarPerfil(FPerfilUsuario) then
|
||||
begin
|
||||
FIDNuevoGuardado := FPerfilUsuario.ID;
|
||||
FPerfilUsuario.DataTable.CancelUpdates;
|
||||
Modified := False;
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TfEditorPerfilUsuario.HayDatos: Boolean;
|
||||
begin
|
||||
Result := Assigned(dsDataTable.DataTable) and (dsDataTable.DataTable.State <> dsInactive)
|
||||
and (not dsDataTable.DataTable.IsEmpty);
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.PonerTitulos(const ATitulo: string);
|
||||
var
|
||||
FTitulo : String;
|
||||
begin
|
||||
if Assigned(FPerfilUsuario) then
|
||||
begin
|
||||
if FPerfilUsuario.EsNuevo then
|
||||
FTitulo := 'Nuevo perfil'
|
||||
else
|
||||
FTitulo := 'Perfil';
|
||||
|
||||
if Length(FPerfilUsuario.USERNAME) > 0 then
|
||||
FTitulo := FTitulo + ' - ' + FPerfilUsuario.USERNAME;
|
||||
end;
|
||||
|
||||
if ReadOnly then
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
end
|
||||
else
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo;
|
||||
Caption := FTitulo;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
if Assigned(FViewPerfilUsuario) and Assigned(FController) then
|
||||
FViewPerfilUsuario.Controller := FController;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.SetPerfilUsuario(
|
||||
const Value: IBizPerfilUsuario);
|
||||
begin
|
||||
FPerfilUsuario := Value;
|
||||
dsDataTable.DataTable := FPerfilUsuario.DataTable;
|
||||
|
||||
if Assigned(FViewPerfilUsuario) and Assigned(FPerfilUsuario) then
|
||||
FViewPerfilUsuario.PerfilUsuario := FPerfilUsuario;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilUsuario.SetViewPerfilUsuario(const Value: IViewPerfilUsuario);
|
||||
begin
|
||||
FViewPerfilUsuario := Value;
|
||||
|
||||
if Assigned(FViewPerfilUsuario) and Assigned(FPerfilUsuario) then
|
||||
FViewPerfilUsuario.PerfilUsuario := FPerfilUsuario;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -0,0 +1,59 @@
|
||||
inherited fEditorPerfilesUsuario: TfEditorPerfilesUsuario
|
||||
Caption = 'fEditorPerfilesUsuario'
|
||||
ClientHeight = 493
|
||||
ClientWidth = 840
|
||||
ExplicitWidth = 848
|
||||
ExplicitHeight = 520
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Width = 840
|
||||
ExplicitWidth = 840
|
||||
inherited Image1: TImage
|
||||
Left = 813
|
||||
ExplicitLeft = 813
|
||||
end
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Width = 840
|
||||
ExplicitWidth = 840
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 213
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
ExplicitWidth = 840
|
||||
end
|
||||
inherited tbxFiltro: TTBXToolbar
|
||||
Left = 213
|
||||
DockPos = 208
|
||||
Visible = False
|
||||
ExplicitLeft = 213
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Top = 474
|
||||
Width = 840
|
||||
ExplicitTop = 474
|
||||
ExplicitWidth = 840
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
inherited actNuevo: TAction
|
||||
OnExecute = actNuevoExecute
|
||||
end
|
||||
inherited actModificar: TAction
|
||||
OnExecute = actModificarExecute
|
||||
end
|
||||
inherited actPrevisualizar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actImprimir: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actDuplicar: TAction
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
inherited dsDataTable: TDADataSource
|
||||
OnDataChange = dsDataTableDataChange
|
||||
end
|
||||
end
|
||||
199
Source/ApplicationBase/Usuarios/Views/uEditorPerfilesUsuario.pas
Normal file
199
Source/ApplicationBase/Usuarios/Views/uEditorPerfilesUsuario.pas
Normal file
@ -0,0 +1,199 @@
|
||||
unit uEditorPerfilesUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorGridBase, Menus, JvAppStorage, JvAppRegistryStorage, DB,
|
||||
uDAInterfaces, uDADataTable, JvComponentBase, JvFormPlacement, ImgList,
|
||||
PngImageList, StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX,
|
||||
TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls,
|
||||
JvExControls, JvNavigationPane, uIEditorPerfilesUsuario,
|
||||
uUsuariosController, uBizUsuarios, uViewPerfilesUsuario;
|
||||
|
||||
type
|
||||
TfEditorPerfilesUsuario = class(TfEditorGridBase, IEditorPerfilesUsuario)
|
||||
procedure actNuevoExecute(Sender: TObject);
|
||||
procedure actModificarExecute(Sender: TObject);
|
||||
procedure actEliminarExecute(Sender: TObject);
|
||||
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
FPerfiles : IBizPerfilUsuario;
|
||||
FController : IUsuariosController;
|
||||
protected
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
|
||||
procedure NuevoInterno;
|
||||
procedure EliminarInterno;
|
||||
procedure ModificarInterno;
|
||||
procedure ActualizarEstadoEditor;
|
||||
//Si queremos crear otra vista para el editor heredado solo tendriamos que
|
||||
//sobreescribir este metodo
|
||||
procedure AsignarVista; virtual;
|
||||
public
|
||||
procedure PonerTitulos(const ATitulo: string = '');
|
||||
property PerfilesUsuario: IBizPerfilUsuario read GetPerfilesUsuario write SetPerfilesUsuario;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDialogUtils;
|
||||
|
||||
{ TfEditorUsuarios }
|
||||
|
||||
procedure TfEditorPerfilesUsuario.actEliminarExecute(Sender: TObject);
|
||||
begin
|
||||
if actEliminar.Enabled then
|
||||
begin
|
||||
EliminarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.actModificarExecute(Sender: TObject);
|
||||
begin
|
||||
if actModificar.Enabled then
|
||||
begin
|
||||
ModificarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.actNuevoExecute(Sender: TObject);
|
||||
begin
|
||||
if actNuevo.Enabled then
|
||||
begin
|
||||
NuevoInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.ActualizarEstadoEditor;
|
||||
begin
|
||||
PonerTitulos;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.AsignarVista;
|
||||
begin
|
||||
ViewGrid := CreateView(TfrViewPerfilesUsuario) as IViewPerfilesUsuario;
|
||||
end;
|
||||
|
||||
constructor TfEditorPerfilesUsuario.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
AsignarVista;
|
||||
end;
|
||||
|
||||
destructor TfEditorPerfilesUsuario.Destroy;
|
||||
begin
|
||||
FPerfiles := NIL;
|
||||
FController := NIl;
|
||||
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.dsDataTableDataChange(Sender: TObject;
|
||||
Field: TField);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.EliminarInterno;
|
||||
begin
|
||||
if (ShowConfirmMessage('Eliminar un perfil', Format('¿Desea eliminar el perfil %s?', [FPerfiles.USERNAME])) = IDYES) then
|
||||
begin
|
||||
inherited;
|
||||
//Para que en el caso de no poderse realizar la operación se refresquen
|
||||
//los datos y no nos permita eliminar un registro a la segunda
|
||||
FController.EliminarPerfil(FPerfiles);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
if Assigned(Parent) then
|
||||
begin
|
||||
StatusBar.Visible := False;
|
||||
actCerrar.ShortCut := 0
|
||||
end
|
||||
else begin
|
||||
StatusBar.Visible := True;
|
||||
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TfEditorPerfilesUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfEditorPerfilesUsuario.GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FPerfiles;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.ModificarInterno;
|
||||
begin
|
||||
inherited;
|
||||
FController.VerPerfil(FPerfiles.ID);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.NuevoInterno;
|
||||
var
|
||||
ANuevoPerfil : IBizPerfilUsuario;
|
||||
begin
|
||||
inherited;
|
||||
ANuevoPerfil := FController.NuevoPerfil;
|
||||
FController.VerPerfil(ANuevoPerfil);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.PonerTitulos(const ATitulo: string);
|
||||
var
|
||||
FTitulo : String;
|
||||
begin
|
||||
FTitulo := 'Lista de perfiles de usuario';
|
||||
|
||||
if ReadOnly then
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
end
|
||||
else
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo;
|
||||
Caption := FTitulo;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
end;
|
||||
|
||||
procedure TfEditorPerfilesUsuario.SetPerfilesUsuario(
|
||||
const Value: IBizPerfilUsuario);
|
||||
begin
|
||||
FPerfiles := Value;
|
||||
dsDataTable.DataTable := FPerfiles.DataTable;
|
||||
if Assigned(ViewGrid) then
|
||||
(ViewGrid as IViewPerfilesUsuario).PerfilesUsuario := FPerfiles;
|
||||
end;
|
||||
|
||||
end.
|
||||
139
Source/ApplicationBase/Usuarios/Views/uEditorUsuario.dfm
Normal file
139
Source/ApplicationBase/Usuarios/Views/uEditorUsuario.dfm
Normal file
@ -0,0 +1,139 @@
|
||||
inherited fEditorUsuario: TfEditorUsuario
|
||||
Caption = 'fEditorUsuario'
|
||||
ExplicitHeight = 492
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited TBXDock: TTBXDock
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 408
|
||||
object TBXItem33: TTBXItem [7]
|
||||
Action = actCambiarPassword
|
||||
end
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
object TBXSubmenuItem2: TTBXSubmenuItem [4]
|
||||
Caption = '&Herramientas'
|
||||
object TBXItem7: TTBXItem
|
||||
Action = actCambiarPassword
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Panels = <
|
||||
item
|
||||
Width = 200
|
||||
end>
|
||||
Visible = True
|
||||
end
|
||||
inline frViewUsuario1: TfrViewUsuario [3]
|
||||
Left = 0
|
||||
Top = 76
|
||||
Width = 656
|
||||
Height = 370
|
||||
Align = alClient
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
TabOrder = 3
|
||||
ReadOnly = False
|
||||
ExplicitTop = 76
|
||||
ExplicitWidth = 656
|
||||
ExplicitHeight = 370
|
||||
inherited dxLayoutControlArticulo: TdxLayoutControl
|
||||
Width = 656
|
||||
ExplicitWidth = 656
|
||||
inherited PngSpeedButton3: TPngSpeedButton
|
||||
Top = 84
|
||||
ExplicitTop = 84
|
||||
end
|
||||
inherited eNombre: TcxDBTextEdit
|
||||
Top = 30
|
||||
ExplicitTop = 30
|
||||
ExplicitWidth = 164
|
||||
Width = 164
|
||||
end
|
||||
inherited eUsuario: TcxDBTextEdit
|
||||
Top = 57
|
||||
ExplicitTop = 57
|
||||
ExplicitWidth = 108
|
||||
Width = 108
|
||||
end
|
||||
inherited eMail: TcxDBHyperLinkEdit
|
||||
Top = 84
|
||||
Properties.Prefix = 'mailto:'
|
||||
ExplicitTop = 84
|
||||
end
|
||||
inherited ePassword: TcxTextEdit
|
||||
Top = 163
|
||||
ExplicitTop = 163
|
||||
ExplicitWidth = 121
|
||||
Width = 121
|
||||
end
|
||||
inherited eConfirmarPassword: TcxTextEdit
|
||||
Top = 190
|
||||
ExplicitTop = 190
|
||||
ExplicitWidth = 372
|
||||
Width = 372
|
||||
end
|
||||
inherited cbPerfil: TcxComboBox
|
||||
Top = 112
|
||||
ExplicitTop = 112
|
||||
end
|
||||
inherited dxLayoutGroup1: TdxLayoutGroup
|
||||
LookAndFeel = dxLayoutOfficeLookAndFeel1
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited EditorActionList: TActionList [4]
|
||||
inherited actNuevo: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actModificar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actConfPagina: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actPrevisualizar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actImprimir: TAction
|
||||
Visible = False
|
||||
end
|
||||
object actCambiarPassword: TAction
|
||||
Category = 'Herramientas'
|
||||
Caption = 'Cambiar la contrase'#241'a...'
|
||||
OnExecute = actCambiarPasswordExecute
|
||||
OnUpdate = actCambiarPasswordUpdate
|
||||
end
|
||||
end
|
||||
inherited SmallImages: TPngImageList [5]
|
||||
end
|
||||
inherited LargeImages: TPngImageList [6]
|
||||
end
|
||||
inherited JvFormStorage: TJvFormStorage [7]
|
||||
end
|
||||
inherited JvAppRegistryStorage: TJvAppRegistryStorage [8]
|
||||
end
|
||||
inherited dsDataTable: TDADataSource
|
||||
OnDataChange = dsDataTableDataChange
|
||||
Top = 80
|
||||
end
|
||||
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
|
||||
Left = 336
|
||||
Top = 160
|
||||
object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel
|
||||
GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET
|
||||
GroupOptions.CaptionOptions.Font.Color = clWindowText
|
||||
GroupOptions.CaptionOptions.Font.Height = -11
|
||||
GroupOptions.CaptionOptions.Font.Name = 'Tahoma'
|
||||
GroupOptions.CaptionOptions.Font.Style = [fsBold]
|
||||
GroupOptions.CaptionOptions.TextColor = clHighlight
|
||||
GroupOptions.CaptionOptions.UseDefaultFont = False
|
||||
end
|
||||
end
|
||||
end
|
||||
308
Source/ApplicationBase/Usuarios/Views/uEditorUsuario.pas
Normal file
308
Source/ApplicationBase/Usuarios/Views/uEditorUsuario.pas
Normal file
@ -0,0 +1,308 @@
|
||||
unit uEditorUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Menus, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorDBItem, JvAppStorage, JvAppRegistryStorage, DB, uDAInterfaces,
|
||||
uDADataTable, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
|
||||
StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX, TB2Item,
|
||||
TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvNavigationPane,
|
||||
uIEditorUsuario, uUsuariosController, uCustomView, uViewBase, uViewUsuario,
|
||||
uBizUsuarios, dxLayoutLookAndFeels;
|
||||
|
||||
type
|
||||
TfEditorUsuario = class(TfEditorDBItem, IEditorUsuario)
|
||||
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
||||
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
|
||||
actCambiarPassword: TAction;
|
||||
TBXSubmenuItem2: TTBXSubmenuItem;
|
||||
TBXItem7: TTBXItem;
|
||||
TBXItem33: TTBXItem;
|
||||
frViewUsuario1: TfrViewUsuario;
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actCambiarPasswordExecute(Sender: TObject);
|
||||
procedure actCambiarPasswordUpdate(Sender: TObject);
|
||||
procedure actGuardarCerrarExecute(Sender: TObject);
|
||||
procedure actGuardarExecute(Sender: TObject);
|
||||
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
procedure actRefrescarExecute(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
FController : IUsuariosController;
|
||||
FUsuario : IBizUsuario;
|
||||
FViewUsuario : IViewUsuario;
|
||||
protected
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetUsuario: IBizUsuario;
|
||||
procedure SetUsuario(const Value: IBizUsuario);
|
||||
|
||||
procedure GuardarInterno;
|
||||
procedure EliminarInterno;
|
||||
procedure RefrescarInterno;
|
||||
|
||||
procedure ActualizarEstadoEditor;
|
||||
procedure PonerTitulos(const ATitulo: string = '');
|
||||
function HayDatos: Boolean;
|
||||
function GetViewUsuario: IViewUsuario;
|
||||
procedure SetViewUsuario(const Value: IViewUsuario);
|
||||
property ViewUsuario: IViewUsuario read GetViewUsuario write SetViewUsuario;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
property Usuario: IBizUsuario read GetUsuario write SetUsuario;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDialogUtils, cxControls;
|
||||
|
||||
{ TfEditorUsuario }
|
||||
|
||||
var
|
||||
FIDNuevoGuardado : Integer = -1;
|
||||
|
||||
procedure TfEditorUsuario.actCambiarPasswordExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FController.CambiarPassword(FUsuario.ID);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actCambiarPasswordUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := not FUsuario.EsNuevo;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := (FUsuario.PRIVILEGED = 0);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actGuardarCerrarExecute(Sender: TObject);
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if actGuardar.Execute then
|
||||
actCerrar.Execute;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actGuardarExecute(Sender: TObject);
|
||||
begin
|
||||
if actModificar.Enabled then
|
||||
begin
|
||||
GuardarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.actRefrescarExecute(Sender: TObject);
|
||||
begin
|
||||
if actRefrescar.Enabled then
|
||||
begin
|
||||
RefrescarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.ActualizarEstadoEditor;
|
||||
begin
|
||||
PonerTitulos;
|
||||
if HayDatos then
|
||||
begin
|
||||
if (Self.Modified) and (dsDataTable.DataTable.State <> dsInsert) then
|
||||
StatusBar.Panels[0].Text := ' Se han producido cambios'
|
||||
else
|
||||
StatusBar.Panels[0].Text := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TfEditorUsuario.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
//pgPaginas.ActivePageIndex := 0;
|
||||
FViewUsuario := frViewUsuario1;
|
||||
end;
|
||||
|
||||
destructor TfEditorUsuario.Destroy;
|
||||
begin
|
||||
// Utilizar mejor OnClose;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.EliminarInterno;
|
||||
begin
|
||||
if (Application.MessageBox('¿Desea borrar este usuario?', 'Atención', MB_YESNO) = IDYES) then
|
||||
begin
|
||||
inherited;
|
||||
if not FController.EliminarUsuario(FUsuario.ID) then
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
if Assigned(Parent) then
|
||||
begin
|
||||
StatusBar.Visible := False;
|
||||
actCerrar.ShortCut := 0
|
||||
end
|
||||
else begin
|
||||
StatusBar.Visible := True;
|
||||
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TfEditorUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfEditorUsuario.GetUsuario: IBizUsuario;
|
||||
begin
|
||||
Result := FUsuario;
|
||||
end;
|
||||
|
||||
function TfEditorUsuario.GetViewUsuario: IViewUsuario;
|
||||
begin
|
||||
Result := FViewUsuario;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.GuardarInterno;
|
||||
var
|
||||
AMensaje : String;
|
||||
AContinuar : Boolean;
|
||||
begin
|
||||
inherited;
|
||||
if FUsuario.EsNuevo then
|
||||
begin
|
||||
if (frViewUsuario1.ePassword.Text <> frViewUsuario1.eConfirmarPassword.Text) then
|
||||
raise Exception.Create('La contraseña no se confirmó correctamente' + #10#13 +
|
||||
'Asegúrese de que la contraseña y su confirmación sean iguales.')
|
||||
else
|
||||
if not FController.ValidarPassword(frViewUsuario1.ePassword.Text,
|
||||
frViewUsuario1.eUsuario.Text, frViewUsuario1.eNombre.Text, AMensaje) then
|
||||
raise Exception.Create(AMensaje)
|
||||
else begin
|
||||
FUsuario.Edit;
|
||||
FUsuario.PASS := frViewUsuario1.ePassword.Text;
|
||||
FUsuario.Edit;
|
||||
AContinuar := True;
|
||||
end;
|
||||
end
|
||||
else
|
||||
AContinuar := True;
|
||||
|
||||
if AContinuar then
|
||||
begin
|
||||
if FController.GuardarUsuario(FUsuario) then
|
||||
begin
|
||||
FIDNuevoGuardado := FUsuario.ID;
|
||||
FUsuario.DataTable.CancelUpdates;
|
||||
Modified := False;
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end
|
||||
end;
|
||||
|
||||
function TfEditorUsuario.HayDatos: Boolean;
|
||||
begin
|
||||
Result := Assigned(dsDataTable.DataTable) and (dsDataTable.DataTable.State <> dsInactive)
|
||||
and (not dsDataTable.DataTable.IsEmpty);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.PonerTitulos(const ATitulo: string);
|
||||
var
|
||||
FTitulo : String;
|
||||
begin
|
||||
if Assigned(Usuario) then
|
||||
begin
|
||||
if Usuario.EsNuevo then
|
||||
FTitulo := 'Nuevo usuario'
|
||||
else
|
||||
FTitulo := 'Usuario';
|
||||
|
||||
if Length(Usuario.USERNAME) > 0 then
|
||||
FTitulo := FTitulo + ' - ' + Usuario.USERNAME;
|
||||
end;
|
||||
|
||||
if ReadOnly then
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
end
|
||||
else
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo;
|
||||
Caption := FTitulo;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.RefrescarInterno;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
if (FIDNuevoGuardado > 0) and (FUsuario.ID <> FIDNuevoGuardado) then
|
||||
begin
|
||||
if (dsDataTable.DataTable.IsEmpty) or (not ModifiedQuery) then
|
||||
Exit; // No continuar con el refresco
|
||||
|
||||
dsDataTable.DataTable.DisableControls; //<- No descomentar
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
dsDataTable.DataTable.First;
|
||||
if dsDataTable.DataTable.Locate('ID', FIDNuevoGuardado, []) then
|
||||
FIDNuevoGuardado := -1;
|
||||
finally
|
||||
dsDataTable.DataTable.EnableControls; //<- No descomentar
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
if Assigned(FViewUsuario) and Assigned(FController) then
|
||||
FViewUsuario.Controller := FController;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.SetUsuario(const Value: IBizUsuario);
|
||||
begin
|
||||
FUsuario := Value;
|
||||
dsDataTable.DataTable := FUsuario.DataTable;
|
||||
|
||||
if Assigned(FViewUsuario) and Assigned(Usuario) then
|
||||
FViewUsuario.Usuario := Usuario;
|
||||
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuario.SetViewUsuario(const Value: IViewUsuario);
|
||||
begin
|
||||
FViewUsuario := Value;
|
||||
|
||||
if Assigned(FViewUsuario) and Assigned(Usuario) then
|
||||
FViewUsuario.Usuario := Usuario;
|
||||
end;
|
||||
|
||||
end.
|
||||
71
Source/ApplicationBase/Usuarios/Views/uEditorUsuarios.dfm
Normal file
71
Source/ApplicationBase/Usuarios/Views/uEditorUsuarios.dfm
Normal file
@ -0,0 +1,71 @@
|
||||
inherited fEditorUsuarios: TfEditorUsuarios
|
||||
Caption = 'fEditorUsuarios'
|
||||
ClientHeight = 493
|
||||
ClientWidth = 840
|
||||
ExplicitWidth = 848
|
||||
ExplicitHeight = 520
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Width = 840
|
||||
ExplicitWidth = 840
|
||||
inherited Image1: TImage
|
||||
Left = 813
|
||||
ExplicitLeft = 813
|
||||
end
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Width = 840
|
||||
ExplicitWidth = 840
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 348
|
||||
object TBXItem39: TTBXItem [8]
|
||||
Action = actCambiarPassword
|
||||
end
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
ExplicitWidth = 840
|
||||
object TBXSubmenuItem2: TTBXSubmenuItem [4]
|
||||
Caption = '&Herramientas'
|
||||
object TBXItem38: TTBXItem
|
||||
Action = actCambiarPassword
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited tbxFiltro: TTBXToolbar
|
||||
Left = 348
|
||||
DockPos = 346
|
||||
Visible = False
|
||||
ExplicitLeft = 348
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Top = 474
|
||||
Width = 840
|
||||
ExplicitTop = 474
|
||||
ExplicitWidth = 840
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
inherited actNuevo: TAction
|
||||
OnExecute = actNuevoExecute
|
||||
end
|
||||
inherited actModificar: TAction
|
||||
OnExecute = actModificarExecute
|
||||
end
|
||||
inherited actPrevisualizar: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actImprimir: TAction
|
||||
Visible = False
|
||||
end
|
||||
inherited actDuplicar: TAction
|
||||
Visible = False
|
||||
end
|
||||
object actCambiarPassword: TAction
|
||||
Category = 'Herramientas'
|
||||
Caption = 'Cambiar la contrase'#241'a...'
|
||||
OnExecute = actCambiarPasswordExecute
|
||||
OnUpdate = actCambiarPasswordUpdate
|
||||
end
|
||||
end
|
||||
end
|
||||
239
Source/ApplicationBase/Usuarios/Views/uEditorUsuarios.pas
Normal file
239
Source/ApplicationBase/Usuarios/Views/uEditorUsuarios.pas
Normal file
@ -0,0 +1,239 @@
|
||||
unit uEditorUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorGridBase, Menus, JvAppStorage, JvAppRegistryStorage, DB,
|
||||
uDAInterfaces, uDADataTable, JvComponentBase, JvFormPlacement, ImgList,
|
||||
PngImageList, StdActns, ActnList, ComCtrls, JvExComCtrls, JvStatusBar, TBX,
|
||||
TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls,
|
||||
JvExControls, JvNavigationPane, uCustomView, uViewBase, uViewGridBase,
|
||||
uViewGrid, uViewUsuarios, uIEditorUsuarios, uUsuariosController,
|
||||
uBizUsuarios;
|
||||
|
||||
type
|
||||
TfEditorUsuarios = class(TfEditorGridBase, IEditorUsuarios)
|
||||
actCambiarPassword: TAction;
|
||||
TBXSubmenuItem2: TTBXSubmenuItem;
|
||||
TBXItem38: TTBXItem;
|
||||
TBXItem39: TTBXItem;
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actCambiarPasswordUpdate(Sender: TObject);
|
||||
procedure actCambiarPasswordExecute(Sender: TObject);
|
||||
procedure actNuevoExecute(Sender: TObject);
|
||||
procedure actEliminarExecute(Sender: TObject);
|
||||
procedure actModificarExecute(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
FUsuarios : IBizUsuario;
|
||||
FController : IUsuariosController;
|
||||
protected
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetUsuarios: IBizUsuario;
|
||||
procedure SetUsuarios(const Value: IBizUsuario);
|
||||
|
||||
procedure ActualizarEstadoEditor;
|
||||
procedure NuevoInterno;
|
||||
procedure EliminarInterno;
|
||||
procedure ModificarInterno;
|
||||
procedure ImprimirInterno;
|
||||
procedure PrevisualizarInterno;
|
||||
procedure DuplicarInterno;
|
||||
|
||||
//Si queremos crear otra vista para el editor heredado solo tendriamos que
|
||||
//sobreescribir este metodo
|
||||
procedure AsignarVista; virtual;
|
||||
public
|
||||
procedure PonerTitulos(const ATitulo: string = '');
|
||||
property Usuarios: IBizUsuario read GetUsuarios write SetUsuarios;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDialogUtils;
|
||||
|
||||
{ TfEditorUsuarios }
|
||||
|
||||
procedure TfEditorUsuarios.actCambiarPasswordExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FController.CambiarPassword(FUsuarios.ID);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actCambiarPasswordUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
{ if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := HayDatos;}
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actEliminarExecute(Sender: TObject);
|
||||
begin
|
||||
if actEliminar.Enabled then
|
||||
begin
|
||||
EliminarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := (FUsuarios.PRIVILEGED = 0);
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actModificarExecute(Sender: TObject);
|
||||
begin
|
||||
if actModificar.Enabled then
|
||||
begin
|
||||
ModificarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.actNuevoExecute(Sender: TObject);
|
||||
begin
|
||||
if actNuevo.Enabled then
|
||||
begin
|
||||
NuevoInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.ActualizarEstadoEditor;
|
||||
begin
|
||||
PonerTitulos;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.AsignarVista;
|
||||
begin
|
||||
ViewGrid := CreateView(TfrViewUsuarios) as IViewUsuarios;
|
||||
end;
|
||||
|
||||
constructor TfEditorUsuarios.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
AsignarVista;
|
||||
end;
|
||||
|
||||
destructor TfEditorUsuarios.Destroy;
|
||||
begin
|
||||
FUsuarios := NIL;
|
||||
FController := NIl;
|
||||
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.DuplicarInterno;
|
||||
begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.EliminarInterno;
|
||||
begin
|
||||
if (ShowConfirmMessage('Eliminar un usuario', Format('¿Desea borrar el usuario %s?', [FUsuarios.USERNAME])) = IDYES) then
|
||||
begin
|
||||
inherited;
|
||||
//Para que en el caso de no poderse realizar la operación se refresquen
|
||||
//los datos y no nos permita eliminar un registro a la segunda
|
||||
FController.EliminarUsuario(FUsuarios.ID);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
if Assigned(Parent) then
|
||||
begin
|
||||
StatusBar.Visible := False;
|
||||
actCerrar.ShortCut := 0
|
||||
end
|
||||
else begin
|
||||
StatusBar.Visible := True;
|
||||
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TfEditorUsuarios.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfEditorUsuarios.GetUsuarios: IBizUsuario;
|
||||
begin
|
||||
Result := FUsuarios;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.ImprimirInterno;
|
||||
begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.ModificarInterno;
|
||||
begin
|
||||
inherited;
|
||||
FController.VerUsuario(FUsuarios.ID);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.NuevoInterno;
|
||||
var
|
||||
ANuevoUsuario : IBizUsuario;
|
||||
begin
|
||||
inherited;
|
||||
ANuevoUsuario := FController.NuevoUsuario;
|
||||
FController.VerUsuario(ANuevoUsuario);
|
||||
actRefrescar.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.PonerTitulos(const ATitulo: string);
|
||||
var
|
||||
FTitulo : String;
|
||||
begin
|
||||
FTitulo := 'Lista de usuarios';
|
||||
|
||||
if ReadOnly then
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
Caption := FTitulo + ' (NO MODIFICABLE)';
|
||||
end
|
||||
else
|
||||
begin
|
||||
JvNavPanelHeader.Caption := FTitulo;
|
||||
Caption := FTitulo;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.PrevisualizarInterno;
|
||||
begin
|
||||
inherited;
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
end;
|
||||
|
||||
procedure TfEditorUsuarios.SetUsuarios(const Value: IBizUsuario);
|
||||
begin
|
||||
FUsuarios := Value;
|
||||
dsDataTable.DataTable := FUsuarios.DataTable;
|
||||
if Assigned(ViewGrid) then
|
||||
(ViewGrid as IViewUsuarios).Usuarios := FUsuarios;
|
||||
end;
|
||||
|
||||
end.
|
||||
123
Source/ApplicationBase/Usuarios/Views/uUsuario.dfm
Normal file
123
Source/ApplicationBase/Usuarios/Views/uUsuario.dfm
Normal file
@ -0,0 +1,123 @@
|
||||
object fUsuario: TfUsuario
|
||||
Left = 523
|
||||
Top = 415
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Datos del usuario'
|
||||
ClientHeight = 309
|
||||
ClientWidth = 308
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
Position = poScreenCenter
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Button1: TButton
|
||||
Left = 138
|
||||
Top = 273
|
||||
Width = 75
|
||||
Height = 25
|
||||
Action = actAceptar
|
||||
TabOrder = 1
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 226
|
||||
Top = 273
|
||||
Width = 75
|
||||
Height = 25
|
||||
Action = actCancelar
|
||||
TabOrder = 2
|
||||
end
|
||||
object TabControl1: TPageControl
|
||||
Left = 8
|
||||
Top = 8
|
||||
Width = 293
|
||||
Height = 257
|
||||
ActivePage = pagUsuario
|
||||
TabOrder = 0
|
||||
object pagUsuario: TTabSheet
|
||||
Caption = 'Usuario'
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 6
|
||||
Top = 5
|
||||
Width = 274
|
||||
Height = 99
|
||||
Caption = 'GroupBox1'
|
||||
TabOrder = 0
|
||||
DesignSize = (
|
||||
274
|
||||
99)
|
||||
object Label4: TLabel
|
||||
Left = 34
|
||||
Top = 28
|
||||
Width = 39
|
||||
Height = 13
|
||||
Caption = 'Usuario:'
|
||||
Transparent = False
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 16
|
||||
Top = 60
|
||||
Width = 57
|
||||
Height = 13
|
||||
Caption = 'Contrase'#241'a:'
|
||||
Transparent = False
|
||||
end
|
||||
object edtUser: TEdit
|
||||
Left = 88
|
||||
Top = 24
|
||||
Width = 169
|
||||
Height = 21
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
TabOrder = 0
|
||||
end
|
||||
object edtPassword: TEdit
|
||||
Left = 88
|
||||
Top = 56
|
||||
Width = 169
|
||||
Height = 21
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
PasswordChar = '*'
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object GroupBox2: TGroupBox
|
||||
Left = 7
|
||||
Top = 111
|
||||
Width = 273
|
||||
Height = 110
|
||||
Caption = 'Permisos y seguridad'
|
||||
TabOrder = 1
|
||||
object Label1: TLabel
|
||||
Left = 47
|
||||
Top = 36
|
||||
Width = 26
|
||||
Height = 13
|
||||
Caption = 'Perfil:'
|
||||
Transparent = False
|
||||
end
|
||||
object cbPerfil: TComboBox
|
||||
Left = 88
|
||||
Top = 28
|
||||
Width = 169
|
||||
Height = 21
|
||||
ItemHeight = 13
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object ActionList: TActionList
|
||||
Left = 8
|
||||
Top = 272
|
||||
object actAceptar: TAction
|
||||
Caption = '&Aceptar'
|
||||
end
|
||||
object actCancelar: TAction
|
||||
Caption = '&Cancelar'
|
||||
end
|
||||
end
|
||||
end
|
||||
39
Source/ApplicationBase/Usuarios/Views/uUsuario.pas
Normal file
39
Source/ApplicationBase/Usuarios/Views/uUsuario.pas
Normal file
@ -0,0 +1,39 @@
|
||||
unit uUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, StdCtrls, ComCtrls, ActnList;
|
||||
|
||||
type
|
||||
TfUsuario = class(TForm)
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
TabControl1: TPageControl;
|
||||
pagUsuario: TTabSheet;
|
||||
GroupBox1: TGroupBox;
|
||||
Label4: TLabel;
|
||||
Label5: TLabel;
|
||||
edtUser: TEdit;
|
||||
edtPassword: TEdit;
|
||||
GroupBox2: TGroupBox;
|
||||
Label1: TLabel;
|
||||
cbPerfil: TComboBox;
|
||||
ActionList: TActionList;
|
||||
actAceptar: TAction;
|
||||
actCancelar: TAction;
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
fUsuario: TfUsuario;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
end.
|
||||
118
Source/ApplicationBase/Usuarios/Views/uUsuarios.dfm
Normal file
118
Source/ApplicationBase/Usuarios/Views/uUsuarios.dfm
Normal file
@ -0,0 +1,118 @@
|
||||
object fUsuarios: TfUsuarios
|
||||
Left = 490
|
||||
Top = 417
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Administraci'#243'n de usuarios'
|
||||
ClientHeight = 401
|
||||
ClientWidth = 550
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
Position = poScreenCenter
|
||||
OnCreate = FormCreate
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Grid: TDBGrid
|
||||
Left = 8
|
||||
Top = 40
|
||||
Width = 425
|
||||
Height = 313
|
||||
DataSource = DADataSource
|
||||
TabOrder = 0
|
||||
TitleFont.Charset = DEFAULT_CHARSET
|
||||
TitleFont.Color = clWindowText
|
||||
TitleFont.Height = -11
|
||||
TitleFont.Name = 'MS Sans Serif'
|
||||
TitleFont.Style = []
|
||||
end
|
||||
object JvNavPanelHeader1: TJvNavPanelHeader
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 550
|
||||
Align = alTop
|
||||
Caption = 'Panel de control'
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindow
|
||||
Font.Height = -16
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
ColorFrom = 8684164
|
||||
ColorTo = 8684164
|
||||
ImageIndex = 0
|
||||
StyleManager = dmBase.StyleManager
|
||||
ParentStyleManager = False
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 448
|
||||
Top = 40
|
||||
Width = 91
|
||||
Height = 25
|
||||
Action = actNuevo
|
||||
TabOrder = 2
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 448
|
||||
Top = 136
|
||||
Width = 91
|
||||
Height = 25
|
||||
Action = actModificar
|
||||
TabOrder = 3
|
||||
end
|
||||
object Button3: TButton
|
||||
Left = 448
|
||||
Top = 176
|
||||
Width = 91
|
||||
Height = 25
|
||||
Action = actEliminar
|
||||
TabOrder = 4
|
||||
end
|
||||
object Button4: TButton
|
||||
Left = 448
|
||||
Top = 368
|
||||
Width = 91
|
||||
Height = 25
|
||||
Action = actCerrar
|
||||
TabOrder = 5
|
||||
end
|
||||
object Button5: TButton
|
||||
Left = 448
|
||||
Top = 96
|
||||
Width = 91
|
||||
Height = 25
|
||||
Action = actCambiarPassword
|
||||
TabOrder = 6
|
||||
end
|
||||
object DADataSource: TDADataSource
|
||||
Left = 368
|
||||
Top = 40
|
||||
end
|
||||
object ActionList: TActionList
|
||||
Left = 8
|
||||
Top = 360
|
||||
object actCerrar: TAction
|
||||
Caption = '&Cerrar'
|
||||
OnExecute = actCerrarExecute
|
||||
end
|
||||
object actNuevo: TAction
|
||||
Caption = 'Nuevo usuario'
|
||||
OnUpdate = actNuevoUpdate
|
||||
end
|
||||
object actCambiarPassword: TAction
|
||||
Caption = 'Cambiar contrase'#241'a'
|
||||
OnUpdate = actCambiarPasswordUpdate
|
||||
end
|
||||
object actModificar: TAction
|
||||
Caption = 'Modificar usuario'
|
||||
OnUpdate = actModificarUpdate
|
||||
end
|
||||
object actEliminar: TAction
|
||||
Caption = 'Eliminar usuario'
|
||||
OnUpdate = actEliminarUpdate
|
||||
end
|
||||
end
|
||||
end
|
||||
89
Source/ApplicationBase/Usuarios/Views/uUsuarios.pas
Normal file
89
Source/ApplicationBase/Usuarios/Views/uUsuarios.pas
Normal file
@ -0,0 +1,89 @@
|
||||
unit uUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, DB, uDADataTable, dbcgrids, uDataModuleUsuarios, StdCtrls,
|
||||
DBCtrls, JvExControls, JvComponent, JvNavigationPane,
|
||||
Grids, DBGrids, ActnList, uDAInterfaces;
|
||||
|
||||
type
|
||||
TfUsuarios = class(TForm)
|
||||
DADataSource: TDADataSource;
|
||||
Grid: TDBGrid;
|
||||
JvNavPanelHeader1: TJvNavPanelHeader;
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
Button3: TButton;
|
||||
Button4: TButton;
|
||||
Button5: TButton;
|
||||
ActionList: TActionList;
|
||||
actCerrar: TAction;
|
||||
actNuevo: TAction;
|
||||
actCambiarPassword: TAction;
|
||||
actModificar: TAction;
|
||||
actEliminar: TAction;
|
||||
procedure actCerrarExecute(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actModificarUpdate(Sender: TObject);
|
||||
procedure actCambiarPasswordUpdate(Sender: TObject);
|
||||
procedure actNuevoUpdate(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
procedure AdministrarUsuarios;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
procedure AdministrarUsuarios;
|
||||
var
|
||||
fUsuarios: TfUsuarios;
|
||||
begin
|
||||
fUsuarios := TfUsuarios.Create(NIL);
|
||||
try
|
||||
fUsuarios.ShowModal;
|
||||
finally
|
||||
fUsuarios.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfUsuarios.actCerrarExecute(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfUsuarios.FormCreate(Sender: TObject);
|
||||
begin
|
||||
{ DADataSource.DataTable := dmUsuarios.tbl_Usuarios;
|
||||
DADataSource.DataTable.Active := True;}
|
||||
end;
|
||||
|
||||
procedure TfUsuarios.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
(Sender as TAction).Enabled := not (DADataSource.DataTable.IsEmpty);
|
||||
end;
|
||||
|
||||
procedure TfUsuarios.actModificarUpdate(Sender: TObject);
|
||||
begin
|
||||
(Sender as TAction).Enabled := not (DADataSource.DataTable.IsEmpty);
|
||||
end;
|
||||
|
||||
procedure TfUsuarios.actCambiarPasswordUpdate(Sender: TObject);
|
||||
begin
|
||||
(Sender as TAction).Enabled := not (DADataSource.DataTable.IsEmpty);
|
||||
end;
|
||||
|
||||
procedure TfUsuarios.actNuevoUpdate(Sender: TObject);
|
||||
begin
|
||||
(Sender as TAction).Enabled := Assigned(DADataSource.DataTable);
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -0,0 +1,33 @@
|
||||
unit uUsuariosViewRegister;
|
||||
|
||||
interface
|
||||
|
||||
procedure RegisterViews;
|
||||
procedure UnregisterViews;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uEditorRegistryUtils, uEditorLogin, Dialogs, uEditorUsuario, uEditorUsuarios,
|
||||
uEditorPerfilesUsuario, uEditorPerfilUsuario;
|
||||
|
||||
procedure RegisterViews;
|
||||
begin
|
||||
EditorRegistry.RegisterClass(TfEditorLogin, 'EditorLogin');
|
||||
EditorRegistry.RegisterClass(TfEditorUsuarios, 'EditorUsuarios');
|
||||
EditorRegistry.RegisterClass(TfEditorUsuario, 'EditorUsuario');
|
||||
EditorRegistry.RegisterClass(TfEditorPerfilesUsuario, 'EditorPerfilesUsuario');
|
||||
EditorRegistry.RegisterClass(TfEditorPerfilUsuario, 'EditorPerfilUsuario');
|
||||
|
||||
end;
|
||||
|
||||
procedure UnregisterViews;
|
||||
begin
|
||||
EditorRegistry.UnRegisterClass(TfEditorLogin);
|
||||
EditorRegistry.UnRegisterClass(TfEditorUsuarios);
|
||||
EditorRegistry.UnRegisterClass(TfEditorUsuario);
|
||||
EditorRegistry.UnRegisterClass(TfEditorPerfilesUsuario);
|
||||
EditorRegistry.UnRegisterClass(TfEditorPerfilUsuario);
|
||||
end;
|
||||
|
||||
end.
|
||||
68
Source/ApplicationBase/Usuarios/Views/uViewPerfilUsuario.dfm
Normal file
68
Source/ApplicationBase/Usuarios/Views/uViewPerfilUsuario.dfm
Normal file
@ -0,0 +1,68 @@
|
||||
inherited frViewPerfilUsuario: TfrViewPerfilUsuario
|
||||
Width = 509
|
||||
Height = 122
|
||||
ExplicitWidth = 509
|
||||
ExplicitHeight = 122
|
||||
object dxLayoutControlArticulo: TdxLayoutControl
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 509
|
||||
Height = 113
|
||||
Align = alTop
|
||||
ParentBackground = True
|
||||
TabOrder = 0
|
||||
AutoContentSizes = [acsWidth]
|
||||
DesignSize = (
|
||||
509
|
||||
113)
|
||||
object eNombre: TcxDBTextEdit
|
||||
Left = 68
|
||||
Top = 28
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DataBinding.DataField = 'USERNAME'
|
||||
DataBinding.DataSource = dsUsuario
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Color = 14745599
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 0
|
||||
Width = 164
|
||||
end
|
||||
object dxLayoutGroup1: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
ShowBorder = False
|
||||
object dxLayoutGroup2: TdxLayoutGroup
|
||||
AutoAligns = []
|
||||
AlignHorz = ahClient
|
||||
AlignVert = avClient
|
||||
Caption = 'Datos del perfil'
|
||||
object dxLayoutControlArticuloItem3: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Nombre:'
|
||||
Control = eNombre
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControlArticuloGroup3: TdxLayoutGroup
|
||||
Caption = 'New Group'
|
||||
ShowCaption = False
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object dsUsuario: TDADataSource
|
||||
Left = 152
|
||||
Top = 24
|
||||
end
|
||||
end
|
||||
82
Source/ApplicationBase/Usuarios/Views/uViewPerfilUsuario.pas
Normal file
82
Source/ApplicationBase/Usuarios/Views/uViewPerfilUsuario.pas
Normal file
@ -0,0 +1,82 @@
|
||||
unit uViewPerfilUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, uUsuariosController, cxGraphics, ImgList, PngImageList,
|
||||
dxLayoutControl, cxCurrencyEdit, uCustomView, cxControls, DB, uDAInterfaces,
|
||||
uDADataTable, ActnList, cxCheckBox, cxDBEdit, cxMaskEdit, cxSpinEdit,
|
||||
cxHyperLinkEdit, cxContainer, cxEdit, cxTextEdit, Buttons, PngSpeedButton,
|
||||
uBizUsuarios, cxDropDownEdit;
|
||||
|
||||
type
|
||||
IViewPerfilUsuario = interface(IViewBase)
|
||||
['{555B4B64-BE32-4036-B741-DCC7AD80D7B9}']
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
|
||||
function GetPerfilUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
property PerfilUsuario: IBizPerfilUsuario read GetPerfilUsuario write SetPerfilUsuario;
|
||||
end;
|
||||
|
||||
TfrViewPerfilUsuario = class(TfrViewBase, IViewPerfilUsuario)
|
||||
dsUsuario: TDADataSource;
|
||||
dxLayoutControlArticulo: TdxLayoutControl;
|
||||
eNombre: TcxDBTextEdit;
|
||||
dxLayoutGroup1: TdxLayoutGroup;
|
||||
dxLayoutGroup2: TdxLayoutGroup;
|
||||
dxLayoutControlArticuloItem3: TdxLayoutItem;
|
||||
dxLayoutControlArticuloGroup3: TdxLayoutGroup;
|
||||
protected
|
||||
FController: IUsuariosController;
|
||||
FPerfilUsuario : IBizPerfilUsuario;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetPerfilUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
public
|
||||
property PerfilUsuario: IBizPerfilUsuario read GetPerfilUsuario write SetPerfilUsuario;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
{ TfrViewUsuario }
|
||||
|
||||
function TfrViewPerfilUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfrViewPerfilUsuario.GetPerfilUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FPerfilUsuario;
|
||||
end;
|
||||
|
||||
procedure TfrViewPerfilUsuario.SetController(const Value: IUsuariosController);
|
||||
begin
|
||||
FController := Value;
|
||||
end;
|
||||
|
||||
procedure TfrViewPerfilUsuario.SetPerfilUsuario(const Value: IBizPerfilUsuario);
|
||||
begin
|
||||
FPerfilUsuario := Value;
|
||||
|
||||
if Assigned(FPerfilUsuario) then
|
||||
dsUsuario.DataTable := FPerfilUsuario.DataTable
|
||||
else begin
|
||||
dsUsuario.DataTable := NIL;
|
||||
FPerfilUsuario := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
@ -0,0 +1,38 @@
|
||||
inherited frViewPerfilesUsuario: TfrViewPerfilesUsuario
|
||||
Width = 426
|
||||
Height = 247
|
||||
ExplicitWidth = 426
|
||||
ExplicitHeight = 247
|
||||
inherited cxGrid: TcxGrid
|
||||
Width = 426
|
||||
Height = 247
|
||||
inherited cxGridView: TcxGridDBTableView
|
||||
object cxGridViewID: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'ID'
|
||||
Visible = False
|
||||
BestFitMaxWidth = 20
|
||||
Width = 20
|
||||
end
|
||||
object cxGridViewUSERNAME: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'USERNAME'
|
||||
Width = 150
|
||||
end
|
||||
object cxGridViewTIPO: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'TIPO'
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited dxComponentPrinter: TdxComponentPrinter
|
||||
Left = 40
|
||||
Top = 16
|
||||
end
|
||||
inherited dxPSEngineController1: TdxPSEngineController
|
||||
Left = 304
|
||||
Top = 168
|
||||
end
|
||||
inherited cxStyleRepository1: TcxStyleRepository
|
||||
Left = 280
|
||||
Top = 160
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,56 @@
|
||||
unit uViewPerfilesUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||
cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg,
|
||||
dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||
dxPSEdgePatterns, dxPgsDlg, dxPSCore, ImgList, PngImageList, ActnList,
|
||||
cxGridCustomPopupMenu, cxGridPopupMenu,
|
||||
uDAInterfaces, uDADataTable, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock,
|
||||
cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
|
||||
uBizUsuarios;
|
||||
|
||||
type
|
||||
IViewPerfilesUsuario = interface(IViewGrid)
|
||||
['{C6125F2F-5EDC-4019-BD5F-9AC9741F0F77}']
|
||||
function GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
property PerfilesUsuario: IBizPerfilUsuario read GetPerfilesUsuario write SetPerfilesUsuario;
|
||||
end;
|
||||
|
||||
TfrViewPerfilesUsuario = class(TfrViewGrid, IViewPerfilesUsuario)
|
||||
cxGridViewID: TcxGridDBColumn;
|
||||
cxGridViewUSERNAME: TcxGridDBColumn;
|
||||
cxGridViewTIPO: TcxGridDBColumn;
|
||||
protected
|
||||
FPerfiles : IBizPerfilUsuario;
|
||||
function GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
procedure SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
public
|
||||
property PerfilesUsuario: IBizPerfilUsuario read GetPerfilesUsuario write SetPerfilesUsuario;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{ TfrViewPerfilesUsuario }
|
||||
|
||||
function TfrViewPerfilesUsuario.GetPerfilesUsuario: IBizPerfilUsuario;
|
||||
begin
|
||||
Result := FPerfiles;
|
||||
end;
|
||||
|
||||
procedure TfrViewPerfilesUsuario.SetPerfilesUsuario(const Value: IBizPerfilUsuario);
|
||||
begin
|
||||
FPerfiles := Value;
|
||||
if Assigned(FPerfiles) then
|
||||
dsDataSource.DataTable := FPerfiles.DataTable;
|
||||
end;
|
||||
|
||||
end.
|
||||
300
Source/ApplicationBase/Usuarios/Views/uViewUsuario.dfm
Normal file
300
Source/ApplicationBase/Usuarios/Views/uViewUsuario.dfm
Normal file
@ -0,0 +1,300 @@
|
||||
inherited frViewUsuario: TfrViewUsuario
|
||||
Width = 509
|
||||
Height = 275
|
||||
OnCreate = CustomViewCreate
|
||||
OnDestroy = CustomViewDestroy
|
||||
ExplicitWidth = 509
|
||||
ExplicitHeight = 275
|
||||
object dxLayoutControlArticulo: TdxLayoutControl
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 509
|
||||
Height = 249
|
||||
Align = alTop
|
||||
ParentBackground = True
|
||||
TabOrder = 0
|
||||
AutoContentSizes = [acsWidth]
|
||||
DesignSize = (
|
||||
509
|
||||
249)
|
||||
object PngSpeedButton3: TPngSpeedButton
|
||||
Left = 335
|
||||
Top = 82
|
||||
Width = 23
|
||||
Height = 22
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001964944415478DA
|
||||
63FCFFFF3F03232323033A58BCE9F87F647EAC9F258622B05E6C068034873B8A
|
||||
80D92019C62F8F194C1356339CDF399D91A0014B361FFB1FE6208AA299E1F323
|
||||
306D52F90CC5100C03566E3DFC3FD04E02A2F9F727064690462066006A66FC02
|
||||
64FFFAC8603451096E088A01CB361FFDFF8F819981183077D11A86FDAB7B18E1
|
||||
062CDD7CE27F14573FC3B2EF450CD13E86181ABE7DFFCDF0F5DB6F866FDFFE30
|
||||
1CB97897218AB38FC1B85B98E1DC8E698C600396000D8861696058FAB7116CC0
|
||||
94C5FBB0DAEC6CAECF70EED6238668E67AB057500CF8F0E10383A0A0208A0B90
|
||||
6D06B1BF01D9379E3C67387AFE09C389A37BD15CE06B01B47907434EAC13C3EF
|
||||
3F7F19662E3F8862BB898606C3EFDFFF1896EF3DCFA0A5C0CD306FE9265403FC
|
||||
9D20362F5CB71F4CE7C47AA01890D5BC164C7716F980D56018606BAC0656B079
|
||||
EF2986F82047AC6150DEB785A13CD911AC06C300234D05867DC72F30B8D818E1
|
||||
8DC2494B0E63F702281075D455884A07576EDEC134404A5480E1DAED07441900
|
||||
021806F44D5D44B46618801B400900007F4518F05E90AAF20000000049454E44
|
||||
AE426082}
|
||||
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||
end
|
||||
object eNombre: TcxDBTextEdit
|
||||
Left = 135
|
||||
Top = 28
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DataBinding.DataField = 'USERNAME'
|
||||
DataBinding.DataSource = dsUsuario
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Color = 14745599
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 0
|
||||
Width = 164
|
||||
end
|
||||
object eUsuario: TcxDBTextEdit
|
||||
Left = 135
|
||||
Top = 55
|
||||
DataBinding.DataField = 'LOGIN'
|
||||
DataBinding.DataSource = dsUsuario
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Color = 14745599
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 1
|
||||
Width = 108
|
||||
end
|
||||
object eMail: TcxDBHyperLinkEdit
|
||||
Left = 135
|
||||
Top = 82
|
||||
DataBinding.DataField = 'EMAIL'
|
||||
DataBinding.DataSource = dsUsuario
|
||||
Properties.ValidateOnEnter = True
|
||||
Properties.OnEditValueChanged = eMailPropertiesEditValueChanged
|
||||
Properties.OnValidate = eMailPropertiesValidate
|
||||
Properties.Prefix = 'mailto:'
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 2
|
||||
Width = 194
|
||||
end
|
||||
object ePassword: TcxTextEdit
|
||||
Left = 135
|
||||
Top = 167
|
||||
Properties.EchoMode = eemPassword
|
||||
Properties.PasswordChar = '*'
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 4
|
||||
Width = 121
|
||||
end
|
||||
object eConfirmarPassword: TcxTextEdit
|
||||
Left = 135
|
||||
Top = 194
|
||||
Properties.EchoMode = eemPassword
|
||||
Properties.PasswordChar = '*'
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 5
|
||||
Width = 372
|
||||
end
|
||||
object cbPerfil: TcxComboBox
|
||||
Left = 135
|
||||
Top = 110
|
||||
Properties.DropDownListStyle = lsEditFixedList
|
||||
Properties.ImmediatePost = True
|
||||
Properties.ImmediateUpdateText = True
|
||||
Properties.PostPopupValueOnTab = True
|
||||
Properties.OnValidate = cbPerfilPropertiesValidate
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 3
|
||||
Width = 194
|
||||
end
|
||||
object dxLayoutGroup1: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
ShowBorder = False
|
||||
object dxLayoutGroup2: TdxLayoutGroup
|
||||
AutoAligns = []
|
||||
AlignHorz = ahClient
|
||||
AlignVert = avClient
|
||||
Caption = 'Datos del usuario'
|
||||
object dxLayoutControlArticuloItem3: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Nombre completo:'
|
||||
Control = eNombre
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControlArticuloItem8: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Usuario:'
|
||||
Control = eUsuario
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControlArticuloGroup2: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControlArticuloItem4: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
Caption = 'Correo electr'#243'nico'
|
||||
Control = eMail
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControlArticuloItem5: TdxLayoutItem
|
||||
ShowCaption = False
|
||||
Control = PngSpeedButton3
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControlArticuloItem1: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
Caption = 'Perfil de usuario:'
|
||||
Control = cbPerfil
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControlArticuloGroup5: TdxLayoutGroup
|
||||
Caption = 'Seguridad'
|
||||
object dxLayoutControlArticuloItem11: TdxLayoutItem
|
||||
Caption = 'Contrase'#241'a:'
|
||||
Control = ePassword
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControlArticuloItem12: TdxLayoutItem
|
||||
Caption = 'Confirmar contrase'#241'a:'
|
||||
Control = eConfirmarPassword
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControlArticuloGroup3: TdxLayoutGroup
|
||||
Caption = 'New Group'
|
||||
ShowCaption = False
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
Images = SmallImages
|
||||
Left = 72
|
||||
Top = 48
|
||||
object actMandarCorreo: TAction
|
||||
Caption = 'Mandar un correo'
|
||||
ImageIndex = 0
|
||||
OnExecute = actMandarCorreoExecute
|
||||
OnUpdate = actMandarCorreoUpdate
|
||||
end
|
||||
end
|
||||
object dsUsuario: TDADataSource
|
||||
Left = 104
|
||||
Top = 48
|
||||
end
|
||||
object SmallImages: TPngImageList
|
||||
PngImages = <
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001EB4944415478DA
|
||||
A5D34B68135114C6F1FF746692462D24D5A8F5B52B81B448501475E142D4EAA2
|
||||
3420E8C68A0A45345BC19DE24A74D50AE2424A11041105DD28A8881411174A70
|
||||
E58BA4149A1A0D8D1D9B669E997B9D14B1A44491E6C2D9DDF3BB1F877B94DB8F
|
||||
5E4B5A384A1D3831B06759CDDB0E9D5B04865FD9CD6F49C95A374B4ADC20AAE4
|
||||
9936B6F244CF70299DFA3F40F5AB1C74CEB225FE1C654E4796DA7963A6D977F2
|
||||
FABF81E061EAC3D1EC0247C531A27A017E846026CC844890CC3CFE3B506F1641
|
||||
D9025CCFA4DF384FD27F419BA1231C9D67917ED267AE3507A414E4BF8DD3B1AA
|
||||
07A97562F92A31EB037B8D313658137CD292DC5D719A7B83C9E640AEF892F1DC
|
||||
454A5FABEC4E5D21BEBE0FD397411217E15599911D547C8DEC60A411B8FC34C7
|
||||
C3F7C71710BD73927CB686E785D87FE01D22483267FDC45156620A0DAB069F4F
|
||||
B53702A9ABBB08AF2E20DB7C1CB386517698FE52A56BE31136272EF0F16D1F44
|
||||
7610EF7D802554A68696003B6F6D42517DAC6A0D3B006CCB67B6686356248944
|
||||
0F8635C9F7A90A91F800E1EE51CA99D81260B40B27C8F607307DECF91AF38687
|
||||
A6AB74A7A2940A26E5A28B164FE38CDC67FBE1CC22D03BB226007E2708202700
|
||||
5CAB5E62E14344D785084734664B0EBE8CE18D951A81967661F8E69DE56FA394
|
||||
2D6D33BF00C89C2C72EBA3BC190000000049454E44AE426082}
|
||||
Name = 'PngImage0'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA
|
||||
A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304
|
||||
451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994
|
||||
9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F
|
||||
9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546
|
||||
031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8
|
||||
1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA
|
||||
9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E
|
||||
9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8
|
||||
E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0
|
||||
3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8
|
||||
5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37
|
||||
60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB
|
||||
7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932
|
||||
75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04
|
||||
E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148
|
||||
D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2
|
||||
45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56
|
||||
A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E
|
||||
AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13
|
||||
7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058
|
||||
5538F0EAB25B380000000049454E44AE426082}
|
||||
Name = 'PngImage1'
|
||||
Background = clWindow
|
||||
end>
|
||||
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||
Left = 43
|
||||
Top = 48
|
||||
Bitmap = {}
|
||||
end
|
||||
end
|
||||
210
Source/ApplicationBase/Usuarios/Views/uViewUsuario.pas
Normal file
210
Source/ApplicationBase/Usuarios/Views/uViewUsuario.pas
Normal file
@ -0,0 +1,210 @@
|
||||
unit uViewUsuario;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, uUsuariosController, cxGraphics, ImgList, PngImageList,
|
||||
dxLayoutControl, cxCurrencyEdit, uCustomView, cxControls, DB, uDAInterfaces,
|
||||
uDADataTable, ActnList, cxCheckBox, cxDBEdit, cxMaskEdit, cxSpinEdit,
|
||||
cxHyperLinkEdit, cxContainer, cxEdit, cxTextEdit, Buttons, PngSpeedButton,
|
||||
uBizUsuarios, cxDropDownEdit, ExtCtrls;
|
||||
|
||||
type
|
||||
IViewUsuario = interface(IViewBase)
|
||||
['{E47D5136-A50C-4757-9352-4745518A899D}']
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
|
||||
function GetUsuario: IBizUsuario;
|
||||
procedure SetUsuario(const Value: IBizUsuario);
|
||||
property Usuario: IBizUsuario read GetUsuario write SetUsuario;
|
||||
end;
|
||||
|
||||
TfrViewUsuario = class(TfrViewBase, IViewUsuario)
|
||||
ActionList1: TActionList;
|
||||
dsUsuario: TDADataSource;
|
||||
dxLayoutControlArticulo: TdxLayoutControl;
|
||||
eNombre: TcxDBTextEdit;
|
||||
eUsuario: TcxDBTextEdit;
|
||||
dxLayoutGroup1: TdxLayoutGroup;
|
||||
dxLayoutGroup2: TdxLayoutGroup;
|
||||
dxLayoutControlArticuloItem3: TdxLayoutItem;
|
||||
dxLayoutControlArticuloItem8: TdxLayoutItem;
|
||||
dxLayoutControlArticuloGroup3: TdxLayoutGroup;
|
||||
SmallImages: TPngImageList;
|
||||
dxLayoutControlArticuloItem4: TdxLayoutItem;
|
||||
eMail: TcxDBHyperLinkEdit;
|
||||
dxLayoutControlArticuloItem5: TdxLayoutItem;
|
||||
PngSpeedButton3: TPngSpeedButton;
|
||||
actMandarCorreo: TAction;
|
||||
dxLayoutControlArticuloGroup2: TdxLayoutGroup;
|
||||
ePassword: TcxTextEdit;
|
||||
dxLayoutControlArticuloItem11: TdxLayoutItem;
|
||||
dxLayoutControlArticuloItem12: TdxLayoutItem;
|
||||
eConfirmarPassword: TcxTextEdit;
|
||||
dxLayoutControlArticuloGroup5: TdxLayoutGroup;
|
||||
cbPerfil: TcxComboBox;
|
||||
dxLayoutControlArticuloItem1: TdxLayoutItem;
|
||||
procedure actMandarCorreoExecute(Sender: TObject);
|
||||
procedure actMandarCorreoUpdate(Sender: TObject);
|
||||
procedure cbPerfilPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
procedure CustomViewCreate(Sender: TObject);
|
||||
procedure CustomViewDestroy(Sender: TObject);
|
||||
procedure eMailPropertiesEditValueChanged(Sender: TObject);
|
||||
procedure eMailPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
protected
|
||||
FController: IUsuariosController;
|
||||
FUsuario : IBizUsuario;
|
||||
FListaPerfiles : TStringList;
|
||||
|
||||
function GetController : IUsuariosController;
|
||||
procedure SetController (const Value : IUsuariosController);
|
||||
|
||||
function GetUsuario: IBizUsuario;
|
||||
procedure SetUsuario(const Value: IBizUsuario);
|
||||
public
|
||||
property Usuario: IBizUsuario read GetUsuario write SetUsuario;
|
||||
property Controller : IUsuariosController read GetController write SetController;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
type
|
||||
THackcxDBHyperLinkEdit = class(TcxDBHyperLinkEdit);
|
||||
|
||||
{ TfrViewUsuario }
|
||||
|
||||
procedure TfrViewUsuario.actMandarCorreoExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
THackcxDBHyperLinkEdit(eMail).DoStart;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.actMandarCorreoUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := (Length(eMail.Text) > 0)
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.cbPerfilPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
var
|
||||
AIndex : integer;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
if Assigned(FUsuario) and FUsuario.Active then
|
||||
begin
|
||||
if DisplayValue = cbPerfil.Properties.Items[0] then
|
||||
AIndex := 0
|
||||
else
|
||||
AIndex := StrToInt(FListaPerfiles.Values[DisplayValue]);
|
||||
|
||||
FUsuario.Edit;
|
||||
FUsuario.ID_PERFIL := AIndex;
|
||||
FUsuario.Post;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TfrViewUsuario.CustomViewCreate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FListaPerfiles := NIL;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.CustomViewDestroy(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FreeAndNIL(FListaPerfiles);
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.eMailPropertiesEditValueChanged(Sender: TObject);
|
||||
begin
|
||||
if not VarIsNull((Sender as TcxDBHyperLinkEdit).EditValue) then
|
||||
(Sender as TcxDBHyperLinkEdit).EditValue := StringReplace((Sender as TcxDBHyperLinkEdit).EditValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.eMailPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
begin
|
||||
if not VarIsNull(DisplayValue) then
|
||||
DisplayValue := StringReplace(DisplayValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
|
||||
end;
|
||||
|
||||
function TfrViewUsuario.GetController: IUsuariosController;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfrViewUsuario.GetUsuario: IBizUsuario;
|
||||
begin
|
||||
Result := FUsuario;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.SetController(const Value: IUsuariosController);
|
||||
var
|
||||
i : integer;
|
||||
begin
|
||||
FController := Value;
|
||||
|
||||
if Assigned(FController) then
|
||||
begin
|
||||
FListaPerfiles := FController.DarListaPerfilesUsuario;
|
||||
|
||||
with cbPerfil.Properties.Items do
|
||||
begin
|
||||
BeginUpdate;
|
||||
try
|
||||
Clear;
|
||||
Add('<Ninguno>');
|
||||
for i := 0 to FListaPerfiles.Count - 1 do
|
||||
Add(FListaPerfiles.Names[i]);
|
||||
finally
|
||||
EndUpdate;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuario.SetUsuario(const Value: IBizUsuario);
|
||||
var
|
||||
i : integer;
|
||||
begin
|
||||
FUsuario := Value;
|
||||
|
||||
if Assigned(FUsuario) then
|
||||
begin
|
||||
dsUsuario.DataTable := FUsuario.DataTable;
|
||||
if FUsuario.EsNuevo then
|
||||
begin
|
||||
dxLayoutControlArticuloGroup5.Visible := True;
|
||||
cbPerfil.Text := cbPerfil.Properties.Items[0];
|
||||
end
|
||||
else begin
|
||||
dxLayoutControlArticuloGroup5.Visible := False;
|
||||
|
||||
cbPerfil.Text := cbPerfil.Properties.Items[0];
|
||||
for i := 0 to FListaPerfiles.Count-1 do
|
||||
begin
|
||||
if FListaPerfiles.ValueFromIndex[i] = IntToStr(FUsuario.ID_PERFIL) then
|
||||
begin
|
||||
cbPerfil.Text := FListaPerfiles.Names[i];
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
else begin
|
||||
dsUsuario.DataTable := NIL;
|
||||
FUsuario := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
70
Source/ApplicationBase/Usuarios/Views/uViewUsuarios.dfm
Normal file
70
Source/ApplicationBase/Usuarios/Views/uViewUsuarios.dfm
Normal file
@ -0,0 +1,70 @@
|
||||
inherited frViewUsuarios: TfrViewUsuarios
|
||||
inherited cxGrid: TcxGrid
|
||||
inherited cxGridView: TcxGridDBTableView
|
||||
object cxGridViewID: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'ID'
|
||||
Visible = False
|
||||
BestFitMaxWidth = 20
|
||||
Width = 20
|
||||
end
|
||||
object cxGridViewUSERNAME: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'USERNAME'
|
||||
Width = 150
|
||||
end
|
||||
object cxGridViewLOGIN: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'LOGIN'
|
||||
BestFitMaxWidth = 75
|
||||
Width = 75
|
||||
end
|
||||
object cxGridViewPASS: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'PASS'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewPASSEXPIRED: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'PASSEXPIRED'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewBLOQUEADO: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'BLOQUEADO'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewEMAIL: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'EMAIL'
|
||||
BestFitMaxWidth = 120
|
||||
Width = 120
|
||||
end
|
||||
object cxGridViewUSERDAYSSUN: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'USERDAYSSUN'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewPRIVILEGED: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'PRIVILEGED'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewTIPO: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'TIPO'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewID_PERFIL: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'ID_PERFIL'
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited dsDataSource: TDADataSource
|
||||
Left = 360
|
||||
Top = 136
|
||||
end
|
||||
inherited dxComponentPrinter: TdxComponentPrinter
|
||||
Left = 328
|
||||
Top = 136
|
||||
end
|
||||
inherited dxPSEngineController1: TdxPSEngineController
|
||||
Left = 296
|
||||
Top = 136
|
||||
end
|
||||
inherited cxStyleRepository1: TcxStyleRepository
|
||||
Left = 264
|
||||
Top = 136
|
||||
end
|
||||
end
|
||||
64
Source/ApplicationBase/Usuarios/Views/uViewUsuarios.pas
Normal file
64
Source/ApplicationBase/Usuarios/Views/uViewUsuarios.pas
Normal file
@ -0,0 +1,64 @@
|
||||
unit uViewUsuarios;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||
cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg,
|
||||
dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||
dxPSEdgePatterns, dxPgsDlg, dxPSCore, ImgList, PngImageList, ActnList,
|
||||
cxGridCustomPopupMenu, cxGridPopupMenu, dxPScxCommon,
|
||||
uDAInterfaces, uDADataTable, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock,
|
||||
cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
|
||||
uBizUsuarios;
|
||||
|
||||
type
|
||||
IViewUsuarios = interface(IViewGrid)
|
||||
['{2F46A4FC-6501-47B2-AAB3-28B552DDA455}']
|
||||
function GetUsuarios: IBizUsuario;
|
||||
procedure SetUsuarios(const Value: IBizUsuario);
|
||||
property Usuarios: IBizUsuario read GetUsuarios write SetUsuarios;
|
||||
end;
|
||||
|
||||
TfrViewUsuarios = class(TfrViewGrid, IViewUsuarios)
|
||||
cxGridViewID: TcxGridDBColumn;
|
||||
cxGridViewUSERNAME: TcxGridDBColumn;
|
||||
cxGridViewLOGIN: TcxGridDBColumn;
|
||||
cxGridViewPASS: TcxGridDBColumn;
|
||||
cxGridViewPASSEXPIRED: TcxGridDBColumn;
|
||||
cxGridViewBLOQUEADO: TcxGridDBColumn;
|
||||
cxGridViewEMAIL: TcxGridDBColumn;
|
||||
cxGridViewUSERDAYSSUN: TcxGridDBColumn;
|
||||
cxGridViewPRIVILEGED: TcxGridDBColumn;
|
||||
cxGridViewTIPO: TcxGridDBColumn;
|
||||
cxGridViewID_PERFIL: TcxGridDBColumn;
|
||||
protected
|
||||
FUsuarios : IBizUsuario;
|
||||
function GetUsuarios: IBizUsuario;
|
||||
procedure SetUsuarios(const Value: IBizUsuario);
|
||||
public
|
||||
property Usuarios: IBizUsuario read GetUsuarios write SetUsuarios;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{ TfrViewUsuarios }
|
||||
|
||||
function TfrViewUsuarios.GetUsuarios: IBizUsuario;
|
||||
begin
|
||||
Result := FUsuarios;
|
||||
end;
|
||||
|
||||
procedure TfrViewUsuarios.SetUsuarios(const Value: IBizUsuario);
|
||||
begin
|
||||
FUsuarios := Value;
|
||||
if Assigned(FUsuarios) then
|
||||
dsDataSource.DataTable := FUsuarios.DataTable;
|
||||
end;
|
||||
|
||||
end.
|
||||
326
Source/ApplicationBase/uAdminPV_App.pas
Normal file
326
Source/ApplicationBase/uAdminPV_App.pas
Normal file
@ -0,0 +1,326 @@
|
||||
unit uAdminPV_App;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Classes, Forms, uBizUsuarios, uControllerBase,
|
||||
uUsuariosController, uHostManager;
|
||||
|
||||
type
|
||||
TDoLoadModulesEvent = procedure;
|
||||
TDoMainFormEvent = procedure;
|
||||
|
||||
IAppSplashForm = interface
|
||||
['{9905DF57-4476-42E6-A7CD-B1479A84E220}']
|
||||
procedure Show;
|
||||
procedure Hide;
|
||||
procedure Update;
|
||||
function GetMensaje: String;
|
||||
procedure SetMensaje(const AMensaje : String);
|
||||
property Mensaje : String read GetMensaje write SetMensaje;
|
||||
end;
|
||||
|
||||
IAppAdminPV = interface
|
||||
['{FB6A0F3C-C1D1-462D-AFD4-2A368F85E920}']
|
||||
function GetMainForm: TCustomForm;
|
||||
function GetUsuariosController: IUsuariosController;
|
||||
function GetAppName: String;
|
||||
function GetAppVersion: String;
|
||||
function GetAppFullName: String;
|
||||
function GetUsuarioActivo: IBizUsuario;
|
||||
function GetModuleManager : THostManager;
|
||||
function GetTerminated: Boolean;
|
||||
|
||||
function GetLoadModulesEvent : TDoLoadModulesEvent;
|
||||
procedure SetLoadModulesEvent (ALoadModulesEvent : TDoLoadModulesEvent);
|
||||
|
||||
function GetDoMainFormEvent : TDoMainFormEvent;
|
||||
procedure SetDoMainFormEvent (AMainFormEvent : TDoMainFormEvent);
|
||||
|
||||
function GetAppSplashForm : IAppSplashForm;
|
||||
procedure SetAppSplashForm (AAppSplashForm : IAppSplashForm);
|
||||
|
||||
procedure ShowSplashForm;
|
||||
procedure HideSplashForm;
|
||||
|
||||
procedure Run;
|
||||
procedure Terminate;
|
||||
|
||||
property AppVersion : String read GetAppVersion;
|
||||
property AppName : String read GetAppName;
|
||||
property AppFullName : String read GetAppFullName;
|
||||
property MainForm : TCustomForm read GetMainForm;
|
||||
property UsuarioActivo : IBizUsuario read GetUsuarioActivo;
|
||||
property UsuariosController : IUsuariosController read GetUsuariosController;
|
||||
property AppSplashForm : IAppSplashForm read GetAppSplashForm write SetAppSplashForm;
|
||||
property ModuleManager : THostManager read GetModuleManager;
|
||||
property DoMainFormEvent : TDoMainFormEvent read GetDoMainFormEvent write SetDoMainFormEvent;
|
||||
property DoLoadModulesEvent : TDoLoadModulesEvent read GetLoadModulesEvent write SetLoadModulesEvent;
|
||||
property Terminated : Boolean read GetTerminated;
|
||||
|
||||
procedure ShowCapado;
|
||||
end;
|
||||
|
||||
|
||||
TAppAdminPV = class(TInterfacedObject, IAppAdminPV)
|
||||
private
|
||||
FUsuariosController: IUsuariosController;
|
||||
FAppSplashForm : IAppSplashForm;
|
||||
FHostManager : THostManager;
|
||||
FTerminated : Boolean;
|
||||
|
||||
FDoMainFormEvent: TDoMainFormEvent;
|
||||
FDoLoadModulesEvent: TDoMainFormEvent;
|
||||
|
||||
function GetMainForm: TCustomForm;
|
||||
function GetUsuariosController: IUsuariosController;
|
||||
function GetAppName: String;
|
||||
function GetAppVersion: String;
|
||||
function GetAppFullName: String;
|
||||
function GetUsuarioActivo: IBizUsuario;
|
||||
function GetModuleManager : THostManager;
|
||||
function GetTerminated: Boolean;
|
||||
|
||||
function GetLoadModulesEvent : TDoLoadModulesEvent;
|
||||
procedure SetLoadModulesEvent (ALoadModulesEvent : TDoLoadModulesEvent);
|
||||
|
||||
function GetDoMainFormEvent : TDoMainFormEvent;
|
||||
procedure SetDoMainFormEvent (AMainFormEvent : TDoMainFormEvent);
|
||||
|
||||
function GetAppSplashForm : IAppSplashForm;
|
||||
procedure SetAppSplashForm (AAppSplashForm : IAppSplashForm);
|
||||
|
||||
procedure AfterLoadModule(Sender: TObject; AModuleInfo: TModuleInfo);
|
||||
procedure RegisterModule(AModuleInfo : TModuleInfo);
|
||||
protected
|
||||
procedure DoMainForm;
|
||||
|
||||
procedure CargarModulos;
|
||||
procedure ShowSplashForm;
|
||||
procedure HideSplashForm;
|
||||
procedure UpdateSplashForm;
|
||||
public
|
||||
constructor Create; virtual;
|
||||
destructor Destroy; override;
|
||||
|
||||
procedure Run;
|
||||
procedure Terminate;
|
||||
|
||||
property AppVersion : String read GetAppVersion;
|
||||
property AppName : String read GetAppName;
|
||||
property AppFullName : String read GetAppFullName;
|
||||
property MainForm : TCustomForm read GetMainForm;
|
||||
property AppSplashForm : IAppSplashForm read GetAppSplashForm write SetAppSplashForm;
|
||||
property UsuarioActivo : IBizUsuario read GetUsuarioActivo;
|
||||
property UsuariosController : IUsuariosController read GetUsuariosController;
|
||||
property ModuleManager : THostManager read GetModuleManager;
|
||||
property DoMainFormEvent : TDoMainFormEvent read GetDoMainFormEvent write SetDoMainFormEvent;
|
||||
property DoLoadModulesEvent : TDoLoadModulesEvent read GetLoadModulesEvent write SetLoadModulesEvent;
|
||||
property Terminated : Boolean read GetTerminated;
|
||||
|
||||
procedure ShowCapado;
|
||||
end;
|
||||
|
||||
var
|
||||
AppAdminPV : IAppAdminPV = nil;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Dialogs, uDialogUtils, cxControls, uUsuariosViewRegister,
|
||||
uAppInfoUtils;
|
||||
|
||||
|
||||
procedure TAppAdminPV.CargarModulos;
|
||||
begin
|
||||
if not Assigned(FDoLoadModulesEvent) then
|
||||
raise Exception.Create('Evento para la carga de los módulos de la aplicación no asignado (CargarModulos)');
|
||||
|
||||
FDoLoadModulesEvent();
|
||||
end;
|
||||
|
||||
constructor TAppAdminPV.Create;
|
||||
begin
|
||||
FTerminated := False;
|
||||
FDoMainFormEvent := NIL;
|
||||
FDoLoadModulesEvent := NIL;
|
||||
FAppSplashForm := NIL;
|
||||
FUsuariosController := NIL; // Se crea la primera vez que se usa
|
||||
|
||||
|
||||
FHostManager := THostManager.Create(NIL);
|
||||
with FHostManager do
|
||||
begin
|
||||
OnAfterLoad := AfterLoadModule;
|
||||
// Ruta por defecto de los módulos
|
||||
BPLPath := ExtractFilePath(Application.ExeName) + PathDelim;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TAppAdminPV.Destroy;
|
||||
begin
|
||||
FAppSplashForm := NIL;
|
||||
|
||||
FHostManager.UnloadModules;
|
||||
FreeAndNIL(FHostManager);
|
||||
|
||||
FUsuariosController := NIL;
|
||||
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.DoMainForm;
|
||||
begin
|
||||
if not Assigned(FDoMainFormEvent) then
|
||||
raise Exception.Create('Evento para la creación del formulario principal no asignado (DoMainForm)');
|
||||
|
||||
FDoMainFormEvent();
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetMainForm: TCustomForm;
|
||||
begin
|
||||
Result := Application.MainForm;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetDoMainFormEvent: TDoMainFormEvent;
|
||||
begin
|
||||
Result := FDoMainFormEvent;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetAppFullName: String;
|
||||
begin
|
||||
Result := uAppInfoUtils.GetAppFullName;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetAppName: String;
|
||||
begin
|
||||
Result := uAppInfoUtils.GetAppName;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetAppSplashForm: IAppSplashForm;
|
||||
begin
|
||||
Result := FAppSplashForm;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetAppVersion: String;
|
||||
begin
|
||||
Result := uAppInfoUtils.GetAppVersion;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetLoadModulesEvent: TDoLoadModulesEvent;
|
||||
begin
|
||||
Result := FDoLoadModulesEvent;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetModuleManager: THostManager;
|
||||
begin
|
||||
Result := FHostManager;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetTerminated: Boolean;
|
||||
begin
|
||||
Result := FTerminated;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetUsuarioActivo: IBizUsuario;
|
||||
begin
|
||||
Result := UsuariosController.CurrentUser;
|
||||
end;
|
||||
|
||||
function TAppAdminPV.GetUsuariosController: IUsuariosController;
|
||||
begin
|
||||
if not Assigned(FUsuariosController) then
|
||||
FUsuariosController := TUsuariosController.Create;
|
||||
|
||||
Result := FUsuariosController;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.HideSplashForm;
|
||||
begin
|
||||
if not Assigned(FAppSplashForm) then
|
||||
raise Exception.Create('AppSplashForm no asignado (HideSplashForm)');
|
||||
|
||||
FAppSplashForm.Hide;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.AfterLoadModule(Sender: TObject;
|
||||
AModuleInfo: TModuleInfo);
|
||||
begin
|
||||
RegisterModule(AModuleInfo);
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.RegisterModule(AModuleInfo: TModuleInfo);
|
||||
begin
|
||||
AppSplashForm.Mensaje := 'Cargando ''' + AModuleInfo.Module.ModuleName + '''...';
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.Run;
|
||||
begin
|
||||
if UsuariosController.StartLogin then
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
CargarModulos;
|
||||
DoMainForm;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
HideSplashForm;
|
||||
end;
|
||||
end;
|
||||
Application.Run;
|
||||
Terminate;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.SetDoMainFormEvent(
|
||||
AMainFormEvent: TDoMainFormEvent);
|
||||
begin
|
||||
FDoMainFormEvent := AMainFormEvent;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.SetAppSplashForm(AAppSplashForm: IAppSplashForm);
|
||||
begin
|
||||
FAppSplashForm := AAppSplashForm;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.SetLoadModulesEvent(
|
||||
ALoadModulesEvent: TDoLoadModulesEvent);
|
||||
begin
|
||||
FDoLoadModulesEvent := ALoadModulesEvent;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.ShowCapado;
|
||||
begin
|
||||
ShowInfoMessage('Sin Acceso', 'Funcionalidad en desarrollo, disculpen las molestias');
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.ShowSplashForm;
|
||||
begin
|
||||
if not Assigned(FAppSplashForm) then
|
||||
raise Exception.Create('AppSplashForm no asignado (ShowSplashForm)');
|
||||
|
||||
FAppSplashForm.Show;
|
||||
FAppSplashForm.Update;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.Terminate;
|
||||
begin
|
||||
ModuleManager.UnloadModules;
|
||||
FTerminated := True;
|
||||
end;
|
||||
|
||||
procedure TAppAdminPV.UpdateSplashForm;
|
||||
begin
|
||||
FAppSplashForm.Update;
|
||||
end;
|
||||
|
||||
initialization
|
||||
// Pongo esto aquí por ahora
|
||||
uUsuariosViewRegister.RegisterViews;
|
||||
|
||||
finalization
|
||||
// Pongo esto aquí por ahora
|
||||
AppAdminPV := NIL;
|
||||
|
||||
uUsuariosViewRegister.UnregisterViews;
|
||||
|
||||
end.
|
||||
@ -77,16 +77,15 @@ requires
|
||||
dxPSLnksD10,
|
||||
vclshlctrls,
|
||||
dclcxLibraryD10,
|
||||
RemObjects_Core_D10,
|
||||
DataAbstract_Core_D10;
|
||||
RemObjects_Core_D11,
|
||||
DataAbstract_Core_D11,
|
||||
JSDialog100;
|
||||
|
||||
contains
|
||||
uDataModuleBase in 'uDataModuleBase.pas' {dmBase: TDAClientDataModule},
|
||||
uDMBase in 'uDMBase.pas' {dmBase: TDAClientDataModule},
|
||||
uEditorBase in 'uEditorBase.pas' {fEditorBase},
|
||||
uEditorGridBase in 'uEditorGridBase.pas' {fEditorGridBase},
|
||||
uEditorItem in 'uEditorItem.pas' {fEditorItem},
|
||||
uDataTableUtils in 'uDataTableUtils.pas',
|
||||
uEditorUtils in 'uEditorUtils.pas',
|
||||
uEditorPreview in 'uEditorPreview.pas' {fEditorPreview},
|
||||
uViewPreview in 'uViewPreview.pas' {frViewPreview: TFrame},
|
||||
uViewBase in 'uViewBase.pas' {frViewBase: TCustomView},
|
||||
@ -95,15 +94,24 @@ contains
|
||||
uEditorDBItem in 'uEditorDBItem.pas' {fEditorDBItem: TCustomEditor},
|
||||
uExceptions in 'uExceptions.pas',
|
||||
uViewBarraSeleccion in 'uViewBarraSeleccion.pas' {frViewBarraSeleccion: TFrame},
|
||||
uDBSelectionList in 'uDBSelectionList.pas',
|
||||
uConfigurarConexion in 'uConfigurarConexion.pas' {fConfigurarConexion},
|
||||
uBizInformesBase in 'uBizInformesBase.pas',
|
||||
uSysFunc in 'uSysFunc.pas',
|
||||
VARELA_Intf in '..\Servidor\VARELA_Intf.pas',
|
||||
uViewGrid in 'uViewGrid.pas' {frViewGrid: TCustomView},
|
||||
uIntegerList in 'uIntegerList.pas',
|
||||
schStockClient_Intf in '..\Modulos\Stock\Reglas\schStockClient_Intf.pas',
|
||||
schStockServer_Intf in '..\Modulos\Stock\Reglas\schStockServer_Intf.pas',
|
||||
uGridUtils in 'uGridUtils.pas';
|
||||
VARELA_Intf in '..\Servicios\VARELA_Intf.pas',
|
||||
uControllerBase in 'Controladores\uControllerBase.pas',
|
||||
uDataModuleBase in 'uDataModuleBase.pas' {fDataModuleBase: TDataModuleBase},
|
||||
uSysFunc in 'Utiles\uSysFunc.pas',
|
||||
uDataTableUtils in 'Utiles\uDataTableUtils.pas',
|
||||
uDBSelectionList in 'Utiles\uDBSelectionList.pas',
|
||||
uDialogUtils in 'Utiles\uDialogUtils.pas',
|
||||
uEditorUtils in 'Utiles\uEditorUtils.pas',
|
||||
uGridUtils in 'Utiles\uGridUtils.pas',
|
||||
uIntegerList in 'Utiles\uIntegerList.pas',
|
||||
uViewRegistryUtils in 'ClassRegistry\uViewRegistryUtils.pas',
|
||||
uClassRegistryUtils in 'ClassRegistry\uClassRegistryUtils.pas',
|
||||
uEditorRegistryUtils in 'ClassRegistry\uEditorRegistryUtils.pas',
|
||||
uInformeRegistryUtils in 'ClassRegistry\uInformeRegistryUtils.pas',
|
||||
uAppInfoUtils in 'Utiles\uAppInfoUtils.pas',
|
||||
uDateUtils in 'Utiles\uDateUtils.pas';
|
||||
|
||||
end.
|
||||
|
||||
@ -53,9 +53,7 @@
|
||||
<DelphiCompile Include="BaseD10.dpk">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="..\Modulos\Stock\Reglas\schStockClient_Intf.pas" />
|
||||
<DCCReference Include="..\Modulos\Stock\Reglas\schStockServer_Intf.pas" />
|
||||
<DCCReference Include="..\Servidor\VARELA_Intf.pas" />
|
||||
<DCCReference Include="..\Servicios\VARELA_Intf.pas" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\ccpack10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxDataD10.dcp" />
|
||||
@ -67,7 +65,7 @@
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntlPrintSys3D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\cxPageControlD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dclcxLibraryD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
|
||||
@ -84,12 +82,11 @@
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\frx10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\frxe10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\frxTee10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\fs10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\fsTee10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JSDialog100.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD10R.dcp" />
|
||||
@ -99,35 +96,44 @@
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD10R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\tb2k_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_D10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\tee.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\teeui.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclshlctrls.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
|
||||
<DCCReference Include="ClassRegistry\uClassRegistryUtils.pas" />
|
||||
<DCCReference Include="ClassRegistry\uEditorRegistryUtils.pas" />
|
||||
<DCCReference Include="ClassRegistry\uInformeRegistryUtils.pas" />
|
||||
<DCCReference Include="ClassRegistry\uViewRegistryUtils.pas" />
|
||||
<DCCReference Include="Controladores\uControllerBase.pas" />
|
||||
<DCCReference Include="uBizInformesBase.pas" />
|
||||
<DCCReference Include="uConfigurarConexion.pas">
|
||||
<Form>fConfigurarConexion</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uDataModuleBase.pas">
|
||||
<Form>dmBase</Form>
|
||||
<Form>fDataModuleBase</Form>
|
||||
<DesignClass>TDataModuleBase</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uDMBase.pas">
|
||||
<Form>dmBase</Form>
|
||||
<DesignClass>TDAClientDataModule</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uDataTableUtils.pas" />
|
||||
<DCCReference Include="uDBSelectionList.pas" />
|
||||
<DCCReference Include="uEditorBase.pas">
|
||||
<Form>fEditorBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorDBBase.pas">
|
||||
<Form>fEditorDBBase</Form>
|
||||
<DesignClass>TCustomEditor</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorDBItem.pas">
|
||||
<Form>fEditorDBItem</Form>
|
||||
<DesignClass>TCustomEditor</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorGridBase.pas">
|
||||
<Form>fEditorGridBase</Form>
|
||||
@ -138,25 +144,35 @@
|
||||
<DCCReference Include="uEditorPreview.pas">
|
||||
<Form>fEditorPreview</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorUtils.pas" />
|
||||
<DCCReference Include="uExceptions.pas" />
|
||||
<DCCReference Include="uGridUtils.pas" />
|
||||
<DCCReference Include="uIntegerList.pas" />
|
||||
<DCCReference Include="uSysFunc.pas" />
|
||||
<DCCReference Include="Utiles\uAppInfoUtils.pas" />
|
||||
<DCCReference Include="Utiles\uDataTableUtils.pas" />
|
||||
<DCCReference Include="Utiles\uDateUtils.pas" />
|
||||
<DCCReference Include="Utiles\uDBSelectionList.pas" />
|
||||
<DCCReference Include="Utiles\uDialogUtils.pas" />
|
||||
<DCCReference Include="Utiles\uEditorUtils.pas" />
|
||||
<DCCReference Include="Utiles\uGridUtils.pas" />
|
||||
<DCCReference Include="Utiles\uIntegerList.pas" />
|
||||
<DCCReference Include="Utiles\uSysFunc.pas" />
|
||||
<DCCReference Include="uViewBarraSeleccion.pas">
|
||||
<Form>frViewBarraSeleccion</Form>
|
||||
<DesignClass>TFrame</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewBase.pas">
|
||||
<Form>frViewBase</Form>
|
||||
<DesignClass>TCustomView</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewGrid.pas">
|
||||
<Form>frViewGrid</Form>
|
||||
<DesignClass>TCustomView</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewGridBase.pas">
|
||||
<Form>frViewGridBase</Form>
|
||||
<DesignClass>TCustomView</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewPreview.pas">
|
||||
<Form>frViewPreview</Form>
|
||||
<DesignClass>TFrame</DesignClass>
|
||||
</DCCReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@ -8,14 +8,17 @@
|
||||
resources were bound to the produced executable.
|
||||
*/
|
||||
|
||||
#define uClassRegistryUtils_eClassnotFound 65520
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
uClassRegistryUtils_eClassnotFound, "Class \"%s\" was not found in the registry."
|
||||
END
|
||||
|
||||
/* C:\Varela_D2007\Source\Base\uConfigurarConexion.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uDataModuleBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uDMBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uViewBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uEditorBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uDataModuleBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uViewGridBase.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uEditorItem.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uEditorDBBase.dfm */
|
||||
@ -26,4 +29,4 @@ END
|
||||
/* C:\Varela_D2007\Source\Base\uViewBarraSeleccion.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\uViewGrid.dfm */
|
||||
/* C:\Varela_D2007\Source\Base\BaseD10.res */
|
||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf9.tmp */
|
||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf21.tmp */
|
||||
|
||||
Binary file not shown.
336
Source/Base/ClassRegistry/uClassRegistryUtils.pas
Normal file
336
Source/Base/ClassRegistry/uClassRegistryUtils.pas
Normal file
@ -0,0 +1,336 @@
|
||||
unit uClassRegistryUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, uGUIBase;
|
||||
|
||||
type
|
||||
IClassRegistry = Interface
|
||||
['{FD23C946-4103-4C67-9C3F-644B52826833}']
|
||||
procedure RegisterClass( aClass: TClass; const aDisplayname: String = '');
|
||||
procedure RegisterClasses( const aClasses: array of TClass;
|
||||
const aDisplaynames: array of String );
|
||||
procedure UnRegisterClass( aClass: TClass );
|
||||
function FindClass( const aClassOrDisplayname: String ): Tclass;
|
||||
function IsClassRegistered( aClass: TClass ): Boolean; overload;
|
||||
function IsClassRegistered( const aDisplayname: String ): Boolean; overload;
|
||||
procedure GetRegisteredClasses( aList: TStrings; aMinClass: TClass = nil);
|
||||
function CreateObject( const aClassOrDisplayname: String ): TObject;
|
||||
end;
|
||||
|
||||
IComponentRegistry = Interface( IClassRegistry )
|
||||
['{04BAA01F-9AF4-4E60-9922-641E127A35C2}']
|
||||
function CreateComponent( const aClassOrDisplayname: String;
|
||||
aOwner:TComponent = nil ): TComponent;
|
||||
end;
|
||||
|
||||
IFormRegistry = Interface( IComponentRegistry )
|
||||
['{28E3BF72-1378-4136-B1FB-027FBB8FE99B}']
|
||||
function CreateForm( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TForm;
|
||||
end;
|
||||
|
||||
IDataModuleRegistry = Interface( IComponentRegistry )
|
||||
['{9D8D1D23-6A5C-4351-9393-093CD8B76788}']
|
||||
function CreateDatamodule( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TDatamodule;
|
||||
end;
|
||||
|
||||
IReportRegistry = Interface( IComponentRegistry )
|
||||
['{49D3C8D5-8FEE-4F15-A6D2-51CB1DB29F8D}']
|
||||
function CreateReport( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TInterfacedObject;
|
||||
end;
|
||||
|
||||
TClassRegistry = class( TInterfacedObject, IClassRegistry )
|
||||
private
|
||||
FList: TStringlist;
|
||||
FMinAcceptableClass: TClass;
|
||||
|
||||
function FindClassByClassname( const aClassname: String ): Tclass;
|
||||
function FindClassByDisplayname( const aDisplayname: String ): TClass;
|
||||
function IsClassAcceptable( aClass: TClass ): Boolean;
|
||||
function GetClasses(index: integer): TClass;
|
||||
function GetCount: Integer;
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); virtual;
|
||||
procedure RegisterClass( aClass: TClass; const aDisplayname: String = '');
|
||||
procedure RegisterClasses( const aClasses: array of TClass;
|
||||
const aDisplaynames: array of String );
|
||||
procedure UnRegisterClass( aClass: TClass );
|
||||
function FindClass( const aClassOrDisplayname: String ): Tclass;
|
||||
function IsClassRegistered( aClass: TClass ): Boolean; overload;
|
||||
function IsClassRegistered( const aDisplayname: String ): Boolean; overload;
|
||||
procedure GetRegisteredClasses( aList: TStrings; aMinClass: TClass = nil);
|
||||
function CreateObject( const aClassOrDisplayname: String ): TObject;
|
||||
property MinAcceptableClass: TClass read FMinAcceptableClass;
|
||||
property List: TStringlist read FList;
|
||||
property Count: Integer read GetCount;
|
||||
property Classes[ index: integer ]: TClass read GetClasses;
|
||||
public
|
||||
constructor Create( minAcceptableClass: TClass = nil ); virtual;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
TComponentRegistry = class( TClassRegistry, IComponentRegistry )
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); override;
|
||||
function CreateComponent( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TComponent;
|
||||
end;
|
||||
|
||||
TFormRegistry = class( TComponentRegistry, IFormRegistry )
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); override;
|
||||
function CreateForm( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TForm;
|
||||
end;
|
||||
|
||||
TDataModuleRegistry = class( TComponentRegistry, IDataModuleRegistry )
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass); override;
|
||||
function CreateDatamodule( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TDatamodule;
|
||||
end;
|
||||
|
||||
TReportRegistry = class( TComponentRegistry, IReportRegistry )
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass ); override;
|
||||
function CreateReport( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TInterfacedObject;
|
||||
end;
|
||||
|
||||
EClassRegistryError = class( Exception );
|
||||
|
||||
implementation
|
||||
|
||||
{ TClassRegistry }
|
||||
|
||||
ResourceString
|
||||
eClassnotFound = 'Class "%s" was not found in the registry.';
|
||||
|
||||
constructor TClassRegistry.Create(minAcceptableClass: TClass);
|
||||
begin
|
||||
inherited Create;
|
||||
FList := Tstringlist.Create;
|
||||
ValidateMinAcceptableClass( minAcceptableClass );
|
||||
FMinAcceptableClass := minAcceptableClass;
|
||||
end;
|
||||
|
||||
function TClassRegistry.CreateObject(
|
||||
const aClassOrDisplayname: String): TObject;
|
||||
begin
|
||||
Result := FindClass( aClassOrDisplayname ).Create;
|
||||
end;
|
||||
|
||||
destructor TClassRegistry.Destroy;
|
||||
begin
|
||||
Flist.Free;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TClassRegistry.FindClass(
|
||||
const aClassOrDisplayname: String): Tclass;
|
||||
begin
|
||||
Result := FindClassByDisplayname( aClassOrDisplayname );
|
||||
If not Assigned( Result ) Then
|
||||
Result := FindClassByClassname( aClassOrDisplayname );
|
||||
If not Assigned( Result ) Then
|
||||
raise EClassRegistryError.CreateFmt
|
||||
( eClassnotFound, [ aClassOrDisplayname ] );
|
||||
end;
|
||||
|
||||
function TClassRegistry.FindClassByClassname(
|
||||
const aClassname: String): Tclass;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
for i:= 0 to count-1 do begin
|
||||
Result := classes[i];
|
||||
If Result.ClassNameIs( aClassname ) Then
|
||||
Exit;
|
||||
end;
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
function TClassRegistry.FindClassByDisplayname(
|
||||
const aDisplayname: String): TClass;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
i:= List.IndexOf( aDisplayname );
|
||||
If i >= 0 Then
|
||||
Result := Classes[i]
|
||||
Else
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
function TClassRegistry.GetClasses(index: integer): TClass;
|
||||
begin
|
||||
Result := TClass( List.Objects[index] );
|
||||
end;
|
||||
|
||||
function TClassRegistry.GetCount: Integer;
|
||||
begin
|
||||
Result := List.Count;
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.GetRegisteredClasses(aList: TStrings;
|
||||
aMinClass: TClass);
|
||||
var
|
||||
i: Integer;
|
||||
aClass: TClass;
|
||||
begin
|
||||
Assert( Assigned( aList ));
|
||||
aList.BeginUpdate;
|
||||
try
|
||||
aList.Clear;
|
||||
If not Assigned( aMinClass ) Then
|
||||
aList.Assign( List )
|
||||
else begin
|
||||
For i:= 0 To Count-1 Do Begin
|
||||
aClass := Classes[i];
|
||||
If aClass.InheritsFrom( aMinClass ) Then
|
||||
aList.AddObject( List[i], TObject( aClass ));
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
aList.EndUpdate
|
||||
end;
|
||||
end;
|
||||
|
||||
function TClassRegistry.IsClassAcceptable(aClass: TClass): Boolean;
|
||||
begin
|
||||
Result := Assigned( aClass ) and
|
||||
aClass.InheritsFrom( MinAcceptableClass );
|
||||
end;
|
||||
|
||||
function TClassRegistry.IsClassRegistered(const aDisplayname: String): Boolean;
|
||||
begin
|
||||
Result := List.IndexOf(aDisplayname) >= 0;
|
||||
end;
|
||||
|
||||
function TClassRegistry.IsClassRegistered(aClass: TClass): Boolean;
|
||||
begin
|
||||
Result := List.IndexOfObject( TObject( aClass )) >= 0;
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.RegisterClass(aClass: TClass;
|
||||
const aDisplayname: String);
|
||||
begin
|
||||
Assert( Assigned( aClass ), 'Cannot register Nil class' );
|
||||
If aDisplayname = '' Then
|
||||
RegisterClass( aClass, aClass.Classname )
|
||||
else begin
|
||||
Assert( IsClassAcceptable( aClass ),
|
||||
format('Cannot register %s since it does not inherit from %s',
|
||||
[aclass.classname, MinAcceptableClass.classname] ));
|
||||
Assert( not IsClassRegistered( aClass ),
|
||||
Format('Class %s is already registered.', [aClass.Classname]));
|
||||
List.AddObject( aDisplayname, TObject( aClass ));
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.RegisterClasses(const aClasses: array of TClass;
|
||||
const aDisplaynames: array of String);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Assert( High( aClasses ) = High( aDisplaynames ),
|
||||
'Size of both parameter arrays has to be the same.' );
|
||||
for i:= Low( aClasses ) to High( aClasses ) do
|
||||
RegisterClass( aClasses[i], aDisplaynames[i] );
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.UnRegisterClass(aClass: TClass);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
i:= List.IndexOfObject( TObject( aClass ));
|
||||
If i >= 0 Then
|
||||
List.Delete( i );
|
||||
// does not consider attempt to unregister a class that is not
|
||||
// registered as an error.
|
||||
end;
|
||||
|
||||
procedure TClassRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
If not Assigned( aMinAcceptableClass ) Then
|
||||
aMinAcceptableClass := TObject;
|
||||
end;
|
||||
|
||||
{ TComponentRegistry }
|
||||
|
||||
function TComponentRegistry.CreateComponent(
|
||||
const aClassOrDisplayname: String; aOwner: TComponent): TComponent;
|
||||
var
|
||||
aClass: TComponentClass;
|
||||
begin
|
||||
aClass := TComponentClass( FindClass( aClassOrDisplayname ));
|
||||
Result := aClass.Create( aOwner );
|
||||
end;
|
||||
|
||||
procedure TComponentRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
If not aMinAcceptableClass.InheritsFrom( TComponent )
|
||||
Then
|
||||
aMinAcceptableClass := TComponent;
|
||||
end;
|
||||
|
||||
{ TFormRegistry }
|
||||
|
||||
function TFormRegistry.CreateForm(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TForm;
|
||||
begin
|
||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) As TForm;
|
||||
end;
|
||||
|
||||
procedure TFormRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
If not aMinAcceptableClass.InheritsFrom( TForm )
|
||||
Then
|
||||
aMinAcceptableClass := TForm;
|
||||
end;
|
||||
|
||||
{ TDataModuleRegistry }
|
||||
|
||||
function TDataModuleRegistry.CreateDatamodule(
|
||||
const aClassOrDisplayname: String; aOwner: TComponent): TDatamodule;
|
||||
begin
|
||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) As TDatamodule;
|
||||
end;
|
||||
|
||||
procedure TDataModuleRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
If not aMinAcceptableClass.InheritsFrom( TDatamodule )
|
||||
Then
|
||||
aMinAcceptableClass := TDatamodule;
|
||||
end;
|
||||
|
||||
{ TReportRegistry }
|
||||
|
||||
function TReportRegistry.CreateReport(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TInterfacedObject;
|
||||
begin
|
||||
Result := CreateObject( aClassOrDisplayname) As TInterfacedObject;
|
||||
// Result := CreateComponent( aClassOrDisplayname, aOwner ) As TInterfacedObject;
|
||||
end;
|
||||
|
||||
procedure TReportRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
If not aMinAcceptableClass.InheritsFrom( TInterfacedObject )
|
||||
Then
|
||||
aMinAcceptableClass := TInterfacedObject;
|
||||
end;
|
||||
|
||||
end.
|
||||
81
Source/Base/ClassRegistry/uEditorRegistryUtils.pas
Normal file
81
Source/Base/ClassRegistry/uEditorRegistryUtils.pas
Normal file
@ -0,0 +1,81 @@
|
||||
unit uEditorRegistryUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Forms, uClassRegistryUtils, uCustomEditor;
|
||||
|
||||
type
|
||||
{
|
||||
IEditorRegistry = interface (IComponentRegistry)
|
||||
22F14B82-AC61-4987-847E-AF8513DE2A10
|
||||
function CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = NIL): TCustomEditor;
|
||||
end;
|
||||
|
||||
TEditorRegistry = class(TComponentRegistry, IEditorRegistry)
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass); override;
|
||||
function CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil): TCustomEditor;
|
||||
end;
|
||||
}
|
||||
|
||||
IEditorRegistry = interface (IFormRegistry)
|
||||
['{F6AC050F-5547-4E1F-AA44-DA0D06EDA4D7}']
|
||||
function CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = NIL): TForm;
|
||||
end;
|
||||
|
||||
TEditorRegistry = class(TFormRegistry, IEditorRegistry)
|
||||
protected
|
||||
function CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil): TForm;
|
||||
end;
|
||||
|
||||
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
|
||||
var
|
||||
EditorRegistry : IEditorRegistry;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
SysUtils, cxControls;
|
||||
|
||||
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
Result := Supports(EditorRegistry.CreateEditor(AName, Application), IID, Intf);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{ TEditorRegistry }
|
||||
|
||||
function TEditorRegistry.CreateEditor(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TForm;
|
||||
begin
|
||||
if not Assigned(AOwner) then
|
||||
AOwner := Application;
|
||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) as TForm;
|
||||
end;
|
||||
|
||||
{procedure TEditorRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
if not aMinAcceptableClass.InheritsFrom(TCustomEditor) then
|
||||
aMinAcceptableClass := TCustomEditor;
|
||||
end;}
|
||||
|
||||
initialization
|
||||
EditorRegistry := TEditorRegistry.Create;
|
||||
|
||||
finalization
|
||||
EditorRegistry := NIL;
|
||||
|
||||
end.
|
||||
59
Source/Base/ClassRegistry/uInformeRegistryUtils.pas
Normal file
59
Source/Base/ClassRegistry/uInformeRegistryUtils.pas
Normal file
@ -0,0 +1,59 @@
|
||||
unit uInformeRegistryUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Forms, uClassRegistryUtils;
|
||||
|
||||
type
|
||||
IInformeRegistry = interface (IReportRegistry)
|
||||
['{F6AC050F-5547-4E1F-AA44-DA0D06EDA4D7}']
|
||||
function CreateInforme(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = NIL): TInterfacedObject;
|
||||
end;
|
||||
|
||||
TInformeRegistry = class(TReportRegistry, IInformeRegistry)
|
||||
protected
|
||||
function CreateInforme(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil): TInterfacedObject;
|
||||
end;
|
||||
|
||||
function CreateInforme(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
|
||||
var
|
||||
InformeRegistry : IInformeRegistry;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
SysUtils, cxControls;
|
||||
|
||||
function CreateInforme(const AName: String; const IID: TGUID; out Intf): Boolean;
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
Result := Supports(InformeRegistry.CreateInforme(AName, Application), IID, Intf);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{ TInformeRegistry }
|
||||
|
||||
function TInformeRegistry.CreateInforme(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TInterfacedObject;
|
||||
begin
|
||||
{ if not Assigned(AOwner) then
|
||||
AOwner := Application;}
|
||||
Result := CreateObject( aClassOrDisplayname) as TInterfacedObject;
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
InformeRegistry := TInformeRegistry.Create;
|
||||
|
||||
finalization
|
||||
InformeRegistry := NIL;
|
||||
|
||||
end.
|
||||
50
Source/Base/ClassRegistry/uViewRegistryUtils.pas
Normal file
50
Source/Base/ClassRegistry/uViewRegistryUtils.pas
Normal file
@ -0,0 +1,50 @@
|
||||
unit uViewRegistryUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Forms, uClassRegistryUtils, uCustomView;
|
||||
|
||||
type
|
||||
IViewRegistry = interface (IComponentRegistry)
|
||||
['{F49AE52F-47EC-42AF-8365-A09270E4B45D}']
|
||||
function CreateView(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil): TCustomView;
|
||||
end;
|
||||
|
||||
|
||||
TViewRegistry = class(TComponentRegistry, IViewRegistry)
|
||||
protected
|
||||
procedure ValidateMinAcceptableClass(var aMinAcceptableClass: TClass); override;
|
||||
function CreateView( const aClassOrDisplayname: String;
|
||||
aOwner: TComponent = nil ): TCustomView;
|
||||
end;
|
||||
|
||||
var
|
||||
ViewRegistry : IViewRegistry;
|
||||
|
||||
implementation
|
||||
|
||||
{ TViewRegistry }
|
||||
|
||||
function TViewRegistry.CreateView(const aClassOrDisplayname: String;
|
||||
aOwner: TComponent): TCustomView;
|
||||
begin
|
||||
Result := CreateComponent( aClassOrDisplayname, aOwner ) as TCustomView;
|
||||
end;
|
||||
|
||||
procedure TViewRegistry.ValidateMinAcceptableClass(
|
||||
var aMinAcceptableClass: TClass);
|
||||
begin
|
||||
inherited;
|
||||
if not aMinAcceptableClass.InheritsFrom(TCustomView) then
|
||||
aMinAcceptableClass := TCustomView;
|
||||
end;
|
||||
|
||||
initialization
|
||||
ViewRegistry := TViewRegistry.Create;
|
||||
|
||||
finalization
|
||||
ViewRegistry := NIL;
|
||||
|
||||
end.
|
||||
280
Source/Base/Controladores/uControllerBase.pas
Normal file
280
Source/Base/Controladores/uControllerBase.pas
Normal file
@ -0,0 +1,280 @@
|
||||
unit uControllerBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, uDADataTable, Forms;
|
||||
|
||||
type
|
||||
ISujeto = interface;
|
||||
|
||||
IObservador = interface (IInterface)
|
||||
['{679D5CF2-D5DC-4A52-9FF3-04AD91402483}']
|
||||
procedure AddSujeto(Sujeto: ISujeto);
|
||||
procedure DeleteSujeto(Sujeto: ISujeto);
|
||||
procedure RecibirAviso(ASujeto: ISujeto); overload;
|
||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload;
|
||||
end;
|
||||
|
||||
ISujeto = interface (IInterface)
|
||||
['{CDB691CD-D1D6-4F2E-AA34-93B1CD0E6030}']
|
||||
procedure AddObservador(Observador: IObservador);
|
||||
procedure DeleteObservador(Observador: IObservador);
|
||||
end;
|
||||
|
||||
{ ******************* PARA PRUEBAS ******************************************}
|
||||
TMiInterfacedObject = class(TObject, IInterface)
|
||||
protected
|
||||
FRefCount: Integer;
|
||||
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
|
||||
function _AddRef: Integer; stdcall;
|
||||
function _Release: Integer; virtual; stdcall;
|
||||
function GetRefCount : Integer;
|
||||
public
|
||||
procedure AfterConstruction; override;
|
||||
procedure BeforeDestruction; override;
|
||||
class function NewInstance: TObject; override;
|
||||
property RefCount: Integer read FRefCount;
|
||||
end;
|
||||
|
||||
|
||||
{ ***************************************************************************}
|
||||
|
||||
|
||||
TObservador = class(TObject, IObservador)
|
||||
private
|
||||
fSujetos: IInterfaceList;
|
||||
protected
|
||||
FRefCount: Integer;
|
||||
procedure RecibirAviso(ASujeto: ISujeto); overload; virtual;
|
||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload; virtual; abstract;
|
||||
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
|
||||
function _AddRef: Integer; stdcall;
|
||||
function _Release: Integer; stdcall;
|
||||
function GetRefCount : Integer;
|
||||
public
|
||||
constructor Create; virtual;
|
||||
procedure AddSujeto(Sujeto: ISujeto);
|
||||
procedure DeleteSujeto(Sujeto: ISujeto);
|
||||
destructor Destroy; override;
|
||||
|
||||
procedure AfterConstruction; override;
|
||||
procedure BeforeDestruction; override;
|
||||
class function NewInstance: TObject; override;
|
||||
property RefCount: Integer read FRefCount;
|
||||
end;
|
||||
|
||||
TSujeto = class(TInterfacedObject, ISujeto)
|
||||
private
|
||||
fObservadores: IInterfaceList;
|
||||
protected
|
||||
procedure AvisarObservadores; overload;
|
||||
procedure AvisarObservadores(ADataTable: IDAStronglyTypedDataTable); overload;
|
||||
public
|
||||
constructor Create; virtual;
|
||||
procedure AddObservador(Observador: IObservador);
|
||||
procedure DeleteObservador(Observador: IObservador);
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
IControllerBase = IObservador;
|
||||
TControllerBase = TObservador;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Dialogs, SysUtils;
|
||||
|
||||
|
||||
function InterlockedIncrement(var I: Integer): Integer;
|
||||
asm
|
||||
MOV EDX,1
|
||||
XCHG EAX,EDX
|
||||
LOCK XADD [EDX],EAX
|
||||
INC EAX
|
||||
end;
|
||||
|
||||
function InterlockedDecrement(var I: Integer): Integer;
|
||||
asm
|
||||
MOV EDX,-1
|
||||
XCHG EAX,EDX
|
||||
LOCK XADD [EDX],EAX
|
||||
DEC EAX
|
||||
end;
|
||||
|
||||
{ TMiInterfacedObject }
|
||||
|
||||
procedure TMiInterfacedObject.AfterConstruction;
|
||||
begin
|
||||
// Release the constructor's implicit refcount
|
||||
InterlockedDecrement(FRefCount);
|
||||
end;
|
||||
|
||||
procedure TMiInterfacedObject.BeforeDestruction;
|
||||
begin
|
||||
// if RefCount <> 0 then
|
||||
// Error(reInvalidPtr);
|
||||
end;
|
||||
|
||||
function TMiInterfacedObject.GetRefCount: Integer;
|
||||
begin
|
||||
Result := FRefCount;
|
||||
end;
|
||||
|
||||
// Set an implicit refcount so that refcounting
|
||||
// during construction won't destroy the object.
|
||||
class function TMiInterfacedObject.NewInstance: TObject;
|
||||
begin
|
||||
Result := inherited NewInstance;
|
||||
TMiInterfacedObject(Result).FRefCount := 1;
|
||||
end;
|
||||
|
||||
function TMiInterfacedObject.QueryInterface(const IID: TGUID; out Obj): HResult;
|
||||
begin
|
||||
if GetInterface(IID, Obj) then
|
||||
Result := 0
|
||||
else
|
||||
Result := E_NOINTERFACE;
|
||||
end;
|
||||
|
||||
function TMiInterfacedObject._AddRef: Integer;
|
||||
begin
|
||||
Result := InterlockedIncrement(FRefCount);
|
||||
// ShowMessage('_AddRef: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
|
||||
end;
|
||||
|
||||
function TMiInterfacedObject._Release: Integer;
|
||||
begin
|
||||
Result := InterlockedDecrement(FRefCount);
|
||||
// ShowMessage('_Release: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
|
||||
if Result = 0 then
|
||||
Destroy;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
{ TSujeto }
|
||||
|
||||
procedure TSujeto.addObservador(Observador: IObservador);
|
||||
begin
|
||||
FObservadores.Add(Observador);
|
||||
Observador.AddSujeto(Self);
|
||||
end;
|
||||
|
||||
procedure TSujeto.AvisarObservadores;
|
||||
var
|
||||
i: Integer;
|
||||
AObs : IObservador;
|
||||
begin
|
||||
for i := 0 to Pred(FObservadores.Count) do
|
||||
begin
|
||||
if Supports(FObservadores[i], IObservador, AObs) then
|
||||
AObs.RecibirAviso(Self);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSujeto.AvisarObservadores(ADataTable: IDAStronglyTypedDataTable);
|
||||
var
|
||||
i: Integer;
|
||||
AObs : IObservador;
|
||||
begin
|
||||
for i := 0 to Pred(FObservadores.Count) do
|
||||
begin
|
||||
if Supports(FObservadores[i], IObservador, AObs) then
|
||||
AObs.RecibirAviso(Self, ADataTable);
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TSujeto.Create;
|
||||
begin
|
||||
inherited;
|
||||
FObservadores := TInterfaceList.Create;
|
||||
end;
|
||||
|
||||
procedure TSujeto.DeleteObservador(Observador: IObservador);
|
||||
begin
|
||||
FObservadores.Remove(Observador);
|
||||
end;
|
||||
|
||||
destructor TSujeto.Destroy;
|
||||
begin
|
||||
FObservadores := NIL;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
{ TObservador }
|
||||
|
||||
procedure TObservador.RecibirAviso(ASujeto: ISujeto);
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
function TObservador._AddRef: Integer;
|
||||
begin
|
||||
Result := InterlockedIncrement(FRefCount);
|
||||
// ShowMessage('_AddRef: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
|
||||
end;
|
||||
|
||||
function TObservador._Release: Integer;
|
||||
begin
|
||||
Result := InterlockedDecrement(FRefCount);
|
||||
// ShowMessage('_Release: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
|
||||
// if (Result = 0)
|
||||
if (Assigned(fSujetos) and (fSujetos.Count = FRefCount)) then
|
||||
Destroy;
|
||||
end;
|
||||
|
||||
procedure TObservador.AddSujeto(Sujeto: ISujeto);
|
||||
begin
|
||||
FSujetos.Add(Sujeto);
|
||||
end;
|
||||
|
||||
procedure TObservador.AfterConstruction;
|
||||
begin
|
||||
// Release the constructor's implicit refcount
|
||||
InterlockedDecrement(FRefCount);
|
||||
end;
|
||||
|
||||
procedure TObservador.BeforeDestruction;
|
||||
begin
|
||||
// if RefCount <> 0 then
|
||||
// Error(reInvalidPtr);
|
||||
end;
|
||||
|
||||
constructor TObservador.Create;
|
||||
begin
|
||||
inherited;
|
||||
FSujetos := TInterfaceList.Create;
|
||||
end;
|
||||
|
||||
procedure TObservador.DeleteSujeto(Sujeto: ISujeto);
|
||||
begin
|
||||
FSujetos.Remove(Sujeto);
|
||||
end;
|
||||
|
||||
destructor TObservador.Destroy;
|
||||
begin
|
||||
FSujetos := NIL;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TObservador.GetRefCount: Integer;
|
||||
begin
|
||||
Result := FRefCount;
|
||||
end;
|
||||
|
||||
class function TObservador.NewInstance: TObject;
|
||||
begin
|
||||
Result := inherited NewInstance;
|
||||
TObservador(Result).FRefCount := 1;
|
||||
end;
|
||||
|
||||
function TObservador.QueryInterface(const IID: TGUID; out Obj): HResult;
|
||||
begin
|
||||
if GetInterface(IID, Obj) then
|
||||
Result := 0
|
||||
else
|
||||
Result := E_NOINTERFACE;
|
||||
end;
|
||||
|
||||
end.
|
||||
52
Source/Base/Utiles/uAppInfoUtils.pas
Normal file
52
Source/Base/Utiles/uAppInfoUtils.pas
Normal file
@ -0,0 +1,52 @@
|
||||
unit uAppInfoUtils;
|
||||
|
||||
interface
|
||||
|
||||
function GetAppName: String;
|
||||
function GetAppVersion: String;
|
||||
function GetAppFullName: String;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Forms, SysUtils, JclFileUtils;
|
||||
|
||||
function GetAppName: String;
|
||||
var
|
||||
FAppInfo : TJclFileVersionInfo;
|
||||
begin
|
||||
FAppInfo := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := FAppInfo.ProductName;
|
||||
finally
|
||||
FreeANDNil(FAppInfo);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function GetAppVersion: String;
|
||||
var
|
||||
FAppInfo : TJclFileVersionInfo;
|
||||
begin
|
||||
FAppInfo := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := FAppInfo.ProductVersion;
|
||||
finally
|
||||
FreeANDNil(FAppInfo);
|
||||
end;
|
||||
end;
|
||||
|
||||
function GetAppFullName: String;
|
||||
var
|
||||
FAppInfo : TJclFileVersionInfo;
|
||||
begin
|
||||
FAppInfo := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := FAppInfo.ProductName + ' ' + FAppInfo.ProductVersion;
|
||||
finally
|
||||
FreeANDNil(FAppInfo);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
@ -3,22 +3,27 @@ unit uDataTableUtils;
|
||||
interface
|
||||
|
||||
uses
|
||||
uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta;
|
||||
uDACDSDataTable, uDADataTable, uDAInterfaces, uDADelta, uDAMemDataTable;
|
||||
|
||||
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
||||
var ATarget : TDACDSDataTable;
|
||||
RemoteUpdate: Boolean = True);
|
||||
RemoteUpdate: Boolean = True); overload;
|
||||
|
||||
function CloneDataTable(const ASource : TDAMemDataTable;
|
||||
RemoteUpdate: Boolean = True): TDAMemDataTable; overload;
|
||||
|
||||
procedure CopyDataTable(ASource : IDADataset; ATarget : TDADataTable;
|
||||
const OnlySelectedRows : Boolean = False);
|
||||
procedure DeleteAllTable(const ADataTable : TDADataTable);
|
||||
function DeltaValuesAreDifferent(const aDelta : IDADelta): boolean;
|
||||
|
||||
function DataTableModified (const ADataTable : TDADataTable): Boolean;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uDAClasses, SysUtils, uDABINAdapter, uROTypes, uDBSelectionList, cxControls,
|
||||
Dialogs, Variants, uDADataStreamer;
|
||||
DB, Classes, uDAClasses, SysUtils, uDABINAdapter, uROTypes, uDBSelectionList,
|
||||
cxControls, Dialogs, Variants, uDADataStreamer;
|
||||
|
||||
|
||||
{procedure EliminarNoSeleccionados(const ASource : IDADataset;
|
||||
@ -144,6 +149,80 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function CloneDataTable(const ASource : TDAMemDataTable;
|
||||
RemoteUpdate: Boolean = True): TDAMemDataTable;
|
||||
var
|
||||
i : Integer;
|
||||
ATarget : TDAMemDataTable;
|
||||
begin
|
||||
if not Assigned(ASource) then
|
||||
raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)');
|
||||
|
||||
ATarget := TDAMemDataTable.Create(NIL);
|
||||
with ATarget do
|
||||
begin
|
||||
|
||||
{ ATENCIÓN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
--------------------------------------------------------------------
|
||||
DA5 tiene un fallo en el cual las tablas definidas como detalle no
|
||||
tienen asociados los eventos internos before... y after... por lo
|
||||
que los campos AutoInc no funcionan (no pone el -1, -2...).
|
||||
La forma de arreglarlo es llamar a DisableEventHandlers/EnableEventHandlers
|
||||
que realiza la asociación de los eventos.
|
||||
}
|
||||
ATarget.DisableEventHandlers; // <--- INDISPENSABLE!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
try
|
||||
if not Assigned(ASource.RemoteDataAdapter) then
|
||||
raise Exception.Create('No está asignado RemoteDataAdapter (' + ASource.Name + ')');
|
||||
|
||||
LogicalName := ASource.LogicalName;
|
||||
CustomAttributes.Assign(ASource.CustomAttributes);
|
||||
Fields.AssignFieldCollection(ASource.Fields); // o también ATarget.LoadSchema;
|
||||
Params.AssignParamCollection(ASource.Params);
|
||||
|
||||
RemoteDataAdapter := ASource.RemoteDataAdapter;
|
||||
|
||||
Randomize;
|
||||
Name := ASource.Name + '_' + IntToStr(Random(MAXINT));
|
||||
|
||||
BusinessRulesID := ASource.BusinessRulesID;
|
||||
|
||||
with MasterParamsMappings do
|
||||
for i := 0 to ASource.MasterParamsMappings.Count - 1 do
|
||||
Add(ASource.MasterParamsMappings.Strings[i]);
|
||||
|
||||
with MasterRequestMappings do
|
||||
for i := 0 to ASource.MasterRequestMappings.Count - 1 do
|
||||
Add(ASource.MasterRequestMappings.Strings[i]);
|
||||
|
||||
MasterMappingMode := ASource.MasterMappingMode;
|
||||
|
||||
MasterFields := ASource.MasterFields;
|
||||
MasterOptions := ASource.MasterOptions;
|
||||
|
||||
DetailFields := ASource.DetailFields;
|
||||
DetailOptions := ASource.DetailOptions;
|
||||
|
||||
RemoteUpdatesOptions := ASource.RemoteUpdatesOptions;
|
||||
StreamingOptions := ASource.StreamingOptions;
|
||||
RemoteFetchEnabled := ASource.RemoteFetchEnabled;
|
||||
finally
|
||||
ATarget.EnableEventHandlers; // <--- INDISPENSABLE!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
end;
|
||||
end;
|
||||
|
||||
if not RemoteUpdate then
|
||||
begin
|
||||
ATarget.LogChanges := False;
|
||||
ATarget.RemoteFetchEnabled := False;
|
||||
end;
|
||||
|
||||
Result := ATarget;
|
||||
end;
|
||||
|
||||
|
||||
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
||||
var ATarget : TDACDSDataTable; RemoteUpdate: Boolean);
|
||||
var
|
||||
@ -194,131 +273,36 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
procedure CloneDataTable(const ASource : TDACDSDataTable;
|
||||
var ATarget : TDACDSDataTable; RemoteUpdate: Boolean);
|
||||
function DataTableModified (const ADataTable : TDADataTable): Boolean;
|
||||
var
|
||||
i : Integer;
|
||||
bCambiado : Boolean;
|
||||
dtDetails : TList;
|
||||
i : integer;
|
||||
begin
|
||||
with ATarget do
|
||||
bCambiado := False;
|
||||
|
||||
if Assigned(ADataTable) and (ADataTable.Active) then
|
||||
begin
|
||||
// ****** Inicio migración DA 5
|
||||
bCambiado :=(ADataTable.State = dsEdit) or
|
||||
(ADataTable.HasDelta and DeltaValuesAreDifferent(ADataTable.Delta));
|
||||
|
||||
//RemoteService := ASource.GetRemoteService;
|
||||
//Adapter := ASource.GetAdapter;
|
||||
RemoteDataAdapter.Assign(ASource.RemoteDataAdapter);
|
||||
// ****** Fin migración DA 5
|
||||
|
||||
BusinessRulesID := ASource.BusinessRulesID;
|
||||
Randomize;
|
||||
Name := ASource.Name + '_' + IntToStr(Random(MAXINT));
|
||||
LogicalName := ASource.LogicalName;
|
||||
|
||||
Params.AssignParamCollection(ASource.Params);
|
||||
|
||||
if Assigned(ASource.LocalSchema) then
|
||||
LocalSchema := ASource.LocalSchema
|
||||
else begin
|
||||
// ****** Inicio migración DA 5
|
||||
{
|
||||
with SchemaCall do
|
||||
if (not bCambiado) then
|
||||
begin
|
||||
MethodName := ASource.SchemaCall.MethodName;
|
||||
for i := 0 to ASource.SchemaCall.Params.Count - 1 do
|
||||
dtDetails := ADataTable.GetDetailDataTables;
|
||||
for i := 0 to dtDetails.Count - 1 do
|
||||
begin
|
||||
with Params.Add do begin
|
||||
Name := ASource.SchemaCall.Params[i].Name;
|
||||
ParamType := ASource.SchemaCall.Params[i].ParamType;
|
||||
DataType := ASource.SchemaCall.Params[i].DataType;
|
||||
Value := ASource.SchemaCall.Params[i].Value;
|
||||
UserClassName := ASource.SchemaCall.Params[i].UserClassName;
|
||||
bCambiado := bCambiado or
|
||||
((TDADataTable(dtDetails.Items[i])).State in dsEditModes) or
|
||||
((TDADataTable(dtDetails.Items[i])).HasDelta and
|
||||
DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta));
|
||||
if bCambiado then
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
}
|
||||
// ****** Fin migración DA 5
|
||||
ATarget.Fields.AssignFieldCollection(ASource.Fields); // o también ATarget.LoadSchema;
|
||||
end;
|
||||
|
||||
// ****** Inicio migración DA 5
|
||||
{
|
||||
with DataUpdateCall do
|
||||
begin
|
||||
MethodName := ASource.DataUpdateCall.MethodName;
|
||||
for i := 0 to ASource.DataUpdateCall.Params.Count - 1 do
|
||||
begin
|
||||
with Params.Add do begin
|
||||
Name := ASource.DataUpdateCall.Params[i].Name;
|
||||
ParamType := ASource.DataUpdateCall.Params[i].ParamType;
|
||||
DataType := ASource.DataUpdateCall.Params[i].DataType;
|
||||
Value := ASource.DataUpdateCall.Params[i].Value;
|
||||
UserClassName := ASource.DataUpdateCall.Params[i].UserClassName;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
with ScriptCall do
|
||||
begin
|
||||
MethodName := ASource.ScriptCall.MethodName;
|
||||
for i := 0 to ASource.ScriptCall.Params.Count - 1 do
|
||||
begin
|
||||
with Params.Add do begin
|
||||
Name := ASource.ScriptCall.Params[i].Name;
|
||||
ParamType := ASource.ScriptCall.Params[i].ParamType;
|
||||
DataType := ASource.ScriptCall.Params[i].DataType;
|
||||
Value := ASource.ScriptCall.Params[i].Value;
|
||||
UserClassName := ASource.ScriptCall.Params[i].UserClassName;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
with DataRequestCall do
|
||||
begin
|
||||
MethodName := ASource.DataRequestCall.MethodName;
|
||||
for i := 0 to ASource.DataRequestCall.Params.Count - 1 do
|
||||
begin
|
||||
with Params.Add do begin
|
||||
begin
|
||||
Name := ASource.DataRequestCall.Params[i].Name;
|
||||
ParamType := ASource.DataRequestCall.Params[i].ParamType;
|
||||
DataType := ASource.DataRequestCall.Params[i].DataType;
|
||||
Value := ASource.DataRequestCall.Params[i].Value;
|
||||
UserClassName := ASource.DataRequestCall.Params[i].UserClassName;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
}
|
||||
// ****** Fin migración DA 5
|
||||
|
||||
with MasterParamsMappings do
|
||||
for i := 0 to ASource.MasterParamsMappings.Count - 1 do
|
||||
Add(ASource.MasterParamsMappings.Strings[i]);
|
||||
|
||||
with MasterRequestMappings do
|
||||
for i := 0 to ASource.MasterRequestMappings.Count - 1 do
|
||||
Add(ASource.MasterRequestMappings.Strings[i]);
|
||||
|
||||
MasterMappingMode := ASource.MasterMappingMode;
|
||||
|
||||
MasterFields := ASource.MasterFields;
|
||||
MasterOptions := ASource.MasterOptions;
|
||||
|
||||
DetailFields := ASource.DetailFields;
|
||||
DetailOptions := ASource.DetailOptions;
|
||||
|
||||
RemoteUpdatesOptions := ASource.RemoteUpdatesOptions;
|
||||
StreamingOptions := ASource.StreamingOptions;
|
||||
RemoteFetchEnabled := ASource.RemoteFetchEnabled;
|
||||
end;
|
||||
|
||||
if not RemoteUpdate then
|
||||
begin
|
||||
ATarget.LogChanges := False;
|
||||
ATarget.RemoteFetchEnabled := False;
|
||||
end;
|
||||
Result := bCambiado;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
@ -1,15 +1,13 @@
|
||||
{*******************************************************}
|
||||
{ }
|
||||
{ Administración de puntos de venta }
|
||||
{ }
|
||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
||||
{ }
|
||||
{*******************************************************}
|
||||
|
||||
unit uDateUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Classes;
|
||||
|
||||
function DarFechaPrimerDia(Date: TDateTime): TDateTime;
|
||||
function DarFechaUltimoDia(Date: TDateTime): TDateTime;
|
||||
function EsFechaVacia(AFecha : TDateTime): Boolean;
|
||||
function NumberDayOfTheWeek(const ADay : String) : Word;
|
||||
function NumberMonthOfTheYear(const AMonth : String) : Word;
|
||||
|
||||
@ -18,6 +16,9 @@ implementation
|
||||
uses
|
||||
DateUtils;
|
||||
|
||||
const
|
||||
FECHA_NULA = -700000;
|
||||
|
||||
function NumberDayOfTheWeek(const ADay : String) : Word;
|
||||
begin
|
||||
if (ADay = 'Monday') or (ADay = 'Lunes') then
|
||||
@ -64,5 +65,29 @@ begin
|
||||
Result := 12;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
function EsFechaVacia(AFecha : TDateTime): Boolean;
|
||||
begin
|
||||
Result := (AFecha = FECHA_NULA) or (AFecha = 0);
|
||||
end;
|
||||
|
||||
function DarFechaPrimerDia(Date: TDateTime): TDateTime;
|
||||
var
|
||||
Year, Month, Day: Word;
|
||||
begin
|
||||
DecodeDate(Date, Year, Month, Day);
|
||||
Result := EncodeDate(Year, Month, 1);
|
||||
end;
|
||||
|
||||
function DarFechaUltimoDia(Date: TDateTime): TDateTime;
|
||||
var
|
||||
Year, Month, Day: Word;
|
||||
begin
|
||||
DecodeDate(Date, Year, Month, Day);
|
||||
// (if Month < 12 then inc(Month)
|
||||
// else begin Month := 1; inc(Year) end;
|
||||
// Result := EncodeDate(Year, Month, 1) - 1;
|
||||
Result := EncodeDate(Year, Month,
|
||||
MonthDays[IsLeapYear(Year), Month]);
|
||||
end;
|
||||
end.
|
||||
287
Source/Base/Utiles/uDialogUtils.pas
Normal file
287
Source/Base/Utiles/uDialogUtils.pas
Normal file
@ -0,0 +1,287 @@
|
||||
unit uDialogUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Controls, SysUtils;
|
||||
|
||||
type
|
||||
TDlgButton = (TDlgButton_SI, TDlgButton_NO, TDlgButton_CANCELAR,
|
||||
TDlgButton_ACEPTAR, TDlgButton_OK, TDlgButton_CERRAR);
|
||||
TDlgButtonSet = set of TDlgButton;
|
||||
|
||||
|
||||
//For example:
|
||||
//1. to display the "OpenDialog" for text files
|
||||
//
|
||||
// s := 'aaa.txt';
|
||||
// if OpenFileDialog(Application.Handle, 'txt', 'Text Files|*.txt', 'c:\', 'Select text file', s) then
|
||||
// ShowMessage(s + ' file was selected for open')
|
||||
//
|
||||
//2. to display the "Save dialog":
|
||||
//
|
||||
// s := 'data.dbf';
|
||||
// if SaveFileDialog(Application.Handle, 'dbf', 'dBase tables|*.dbf|All files|*.*', 'c:\', 'Select table', s) then
|
||||
// ShowMessage(s + ' table was selected for save')
|
||||
|
||||
function OpenFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||
function SaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure ShowInfoMessage(const AMessage : String); overload;
|
||||
procedure ShowInfoMessage(const AHeader : String; const AMessage : String); overload;
|
||||
procedure ShowWarningMessage(const AMessage : String); overload;
|
||||
procedure ShowWarningMessage(const AHeader : String; const AMessage : String); overload;
|
||||
procedure ShowErrorMessage(const AHeader : String; const AMessage : String); overload;
|
||||
procedure ShowErrorMessage(const AHeader : String; const AMessage : String; AException: Exception); overload;
|
||||
|
||||
function ShowConfirmMessage(const AHeader : String;
|
||||
const AMessage : String) : TModalResult; overload;
|
||||
|
||||
function ShowConfirmMessage(const ATitle : String;
|
||||
const AHeader : String;
|
||||
const AMessage : String;
|
||||
const AButtonSet: TDlgButtonSet) : TModalResult; overload;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Forms,
|
||||
CommDlg,
|
||||
JSDialog,
|
||||
JSDialogs,
|
||||
Classes,
|
||||
StrUtils;
|
||||
|
||||
const
|
||||
sBtnSi = '&Si';
|
||||
sBtnNo = '&No';
|
||||
sBtnCancelar = '&Cancelar';
|
||||
sBtnAceptar = '&Aceptar';
|
||||
sBtnOK = '&OK';
|
||||
sBtnCerrar = '&Cerrar';
|
||||
|
||||
|
||||
function CharReplace(const Source: string; oldChar, newChar: Char): string;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Result := Source;
|
||||
for i := 1 to Length(Result) do
|
||||
if Result[i] = oldChar then
|
||||
Result[i] := newChar
|
||||
end;
|
||||
|
||||
function OpenSaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string;
|
||||
MustExist, OverwritePrompt, NoChangeDir, DoOpen: Boolean): Boolean;
|
||||
var
|
||||
ofn: TOpenFileName;
|
||||
szFile: array[0..MAX_PATH] of Char;
|
||||
begin
|
||||
Result := False;
|
||||
FillChar(ofn, SizeOf(TOpenFileName), 0);
|
||||
FillChar(szFile, SizeOf(szFile), 0);
|
||||
with ofn do
|
||||
begin
|
||||
lStructSize := SizeOf(TOpenFileName);
|
||||
hwndOwner := ParentHandle;
|
||||
lpstrFile := szFile;
|
||||
nMaxFile := SizeOf(szFile);
|
||||
if (Title <> '') then
|
||||
lpstrTitle := PChar(Title);
|
||||
if (InitialDir <> '') then
|
||||
lpstrInitialDir := PChar(InitialDir);
|
||||
StrPCopy(lpstrFile, FileName);
|
||||
lpstrFilter := PChar(ReplaceStr(Filter, '|', #0)+#0#0);
|
||||
if DefExt <> '' then
|
||||
lpstrDefExt := PChar(DefExt);
|
||||
end;
|
||||
|
||||
if MustExist then
|
||||
ofn.Flags := ofn.Flags or OFN_FILEMUSTEXIST;
|
||||
|
||||
if OverwritePrompt then
|
||||
ofn.Flags := ofn.Flags or OFN_OVERWRITEPROMPT;
|
||||
|
||||
if NoChangeDir then
|
||||
ofn.Flags := ofn.Flags or OFN_NOCHANGEDIR;
|
||||
|
||||
if DoOpen then
|
||||
begin
|
||||
if GetOpenFileName(ofn) then
|
||||
begin
|
||||
Result := True;
|
||||
FileName := StrPas(szFile);
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if GetSaveFileName(ofn) then
|
||||
begin
|
||||
Result := True;
|
||||
FileName := StrPas(szFile);
|
||||
end;
|
||||
end
|
||||
end;
|
||||
|
||||
function OpenFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||
begin
|
||||
Result := OpenSaveFileDialog(ParentHandle, DefExt, Filter, InitialDir, Title, FileName, True, False, False, True);
|
||||
end;
|
||||
|
||||
function SaveFileDialog(ParentHandle: THandle; const DefExt, Filter, InitialDir, Title: string; var FileName: string): Boolean;
|
||||
begin
|
||||
Result := OpenSaveFileDialog(ParentHandle, DefExt, Filter, InitialDir, Title, FileName, False, True, True, False);
|
||||
end;
|
||||
|
||||
|
||||
function CreateTaskDialog(const ATitle: String;
|
||||
const AInstruction: String;
|
||||
const AMessage: String;
|
||||
const AIcon: TTaskDialogIcon): TJSDialog;
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := TJSDialog.Create(NIL);
|
||||
with ADialog do
|
||||
begin
|
||||
Position := dpScreenCenter;
|
||||
ButtonBar.Buttons := [];
|
||||
DialogOptions := [doModal, doTopMost];
|
||||
|
||||
Title := ATitle;
|
||||
Instruction.Text := AInstruction;
|
||||
Content.Text := AMessage;
|
||||
MainIcon := AIcon;
|
||||
end;
|
||||
Result := ADialog;
|
||||
end;
|
||||
|
||||
procedure CreateCustomButtons(const AButtonSet: TDlgButtonSet;
|
||||
ACustomButtons : TJSCustomButtons);
|
||||
|
||||
function CreateButton(const ACaption: String; const AModalResult: TModalResult): TJSCustomButtonItem;
|
||||
begin
|
||||
Result := ACustomButtons.Add;
|
||||
Result.Caption := ACaption;
|
||||
Result.ModalResult := AModalResult;
|
||||
end;
|
||||
|
||||
begin
|
||||
with ACustomButtons do
|
||||
begin
|
||||
Clear;
|
||||
|
||||
if TDlgButton_SI in AButtonSet then
|
||||
CreateButton(sBtnSi, mrYes);
|
||||
|
||||
if TDlgButton_NO in AButtonSet then
|
||||
CreateButton(sBtnNo, mrNo);
|
||||
|
||||
if TDlgButton_CANCELAR in AButtonSet then
|
||||
CreateButton(sBtnCancelar, mrCancel);
|
||||
|
||||
if TDlgButton_ACEPTAR in AButtonSet then
|
||||
CreateButton(sBtnAceptar, mrOk);
|
||||
|
||||
if TDlgButton_OK in AButtonSet then
|
||||
CreateButton(sBtnOK, mrOk);
|
||||
|
||||
if TDlgButton_CERRAR in AButtonSet then
|
||||
CreateButton(sBtnCerrar, mrNone);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ShowInfoMessage(const AHeader : String; const AMessage : String); overload;
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog('Información', AHeader, AMessage, tdiInformation);
|
||||
try
|
||||
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||
ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ShowInfoMessage(const AMessage : String);
|
||||
begin
|
||||
ShowInfoMessage('', AMessage);
|
||||
end;
|
||||
|
||||
procedure ShowWarningMessage(const AHeader : String; const AMessage : String); overload;
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog('¡Atención!', AHeader, AMessage, tdiWarning);
|
||||
try
|
||||
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||
ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ShowWarningMessage(const AMessage : String);
|
||||
begin
|
||||
ShowWarningMessage('', AMessage);
|
||||
end;
|
||||
|
||||
procedure ShowErrorMessage(const AHeader : String; const AMessage : String);
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog(Application.Title, AHeader, AMessage, tdiError);
|
||||
try
|
||||
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||
ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure ShowErrorMessage(const AHeader : String; const AMessage : String; AException: Exception);
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog(Application.Title, AHeader, AMessage, tdiError);
|
||||
try
|
||||
CreateCustomButtons([TDlgButton_CERRAR], ADialog.CustomButtons);
|
||||
ADialog.Expando.Lines.Text := #13#13 + AException.Message;
|
||||
ADialog.Expando.ShowText := 'Mostrar información sobre el error';
|
||||
ADialog.Expando.HideText := 'No mostrar información sobre el error';
|
||||
ADialog.Expando.Visible := True;
|
||||
ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
function ShowConfirmMessage(const AHeader : String;
|
||||
const AMessage : String) : TModalResult;
|
||||
begin
|
||||
Result := ShowConfirmMessage(Application.Title, AHeader,
|
||||
AMessage, [TDlgButton_SI, TDlgButton_NO]);
|
||||
end;
|
||||
|
||||
function ShowConfirmMessage(const ATitle : String;
|
||||
const AHeader : String;
|
||||
const AMessage : String;
|
||||
const AButtonSet: TDlgButtonSet) : TModalResult;
|
||||
var
|
||||
ADialog : TJSDialog;
|
||||
begin
|
||||
ADialog := CreateTaskDialog(Application.Title, AHeader, AMessage, tdiConfirmation);
|
||||
try
|
||||
CreateCustomButtons(AButtonSet, ADialog.CustomButtons);
|
||||
Result := ADialog.Execute;
|
||||
finally
|
||||
FreeAndNIL(ADialog);
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@ -2,7 +2,6 @@ object fConfigurarConexion: TfConfigurarConexion
|
||||
Left = 663
|
||||
Top = 468
|
||||
ActiveControl = edtServer
|
||||
AutoScroll = False
|
||||
Caption = 'Configuraci'#243'n de la conexi'#243'n'
|
||||
ClientHeight = 149
|
||||
ClientWidth = 392
|
||||
@ -90,12 +89,10 @@ object fConfigurarConexion: TfConfigurarConexion
|
||||
TabOrder = 3
|
||||
end
|
||||
object HTTPChannel: TROWinInetHTTPChannel
|
||||
ServerLocators = <>
|
||||
DispatchOptions = []
|
||||
ProbeServers = False
|
||||
ProbeFrequency = 60000
|
||||
UserAgent = 'AdminPV'
|
||||
TargetURL = 'http://localhost:8099/BIN'
|
||||
ServerLocators = <>
|
||||
DispatchOptions = []
|
||||
Left = 120
|
||||
Top = 112
|
||||
end
|
||||
@ -104,9 +101,9 @@ object fConfigurarConexion: TfConfigurarConexion
|
||||
Top = 112
|
||||
end
|
||||
object CoService: TRORemoteService
|
||||
ServiceName = 'srvLogin'
|
||||
Message = ROBinMessage
|
||||
Channel = HTTPChannel
|
||||
ServiceName = 'srvLogin'
|
||||
Left = 184
|
||||
Top = 112
|
||||
end
|
||||
|
||||
@ -36,7 +36,7 @@ var
|
||||
implementation
|
||||
|
||||
uses
|
||||
StrUtils, JclStrings, uDataModuleBase, VARELA_Intf;
|
||||
StrUtils, JclStrings, uDMBase, VARELA_Intf;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
1660
Source/Base/uDMBase.dfm
Normal file
1660
Source/Base/uDMBase.dfm
Normal file
File diff suppressed because it is too large
Load Diff
254
Source/Base/uDMBase.pas
Normal file
254
Source/Base/uDMBase.pas
Normal file
@ -0,0 +1,254 @@
|
||||
unit uDMBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
|
||||
TBXOffice2003Theme, Classes, ImgList, uROClient, uROBinMessage,
|
||||
uROServiceComponent, uRORemoteService, uROWinInetHttpChannel,
|
||||
DataAbstract3_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3,
|
||||
JvAppStorage, JvAppRegistryStorage, SysUtils,
|
||||
JvComponentBase, uDADataStreamer;
|
||||
|
||||
type
|
||||
TdmBase = class(TDataModule)
|
||||
ROChannel: TROWinInetHTTPChannel;
|
||||
SmallImages: TPngImageList;
|
||||
StyleManager: TJvNavPaneStyleManager;
|
||||
TBXSwitcher: TTBXSwitcher;
|
||||
cxIntl: TcxIntl;
|
||||
cxIntlPrintSys3: TcxIntlPrintSys3;
|
||||
ROMessage: TROBinMessage;
|
||||
DABINAdapter: TDABINAdapter;
|
||||
JvAppRegistryStorage: TJvAppRegistryStorage;
|
||||
RORemoteService: TRORemoteService;
|
||||
procedure DAClientDataModuleCreate(Sender: TObject);
|
||||
procedure ROChannelFailure(Sender: TROTransportChannel;
|
||||
anException: Exception; var Retry: Boolean);
|
||||
procedure ROChannelProgress(iSender: TObject; iType: TProgressType;
|
||||
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
|
||||
private
|
||||
FOnThemeChange: TNotifyEvent;
|
||||
function GetAdapter: TDABINAdapter;
|
||||
function GetChannel: TROWinInetHTTPChannel;
|
||||
function GetCodigoEmpresa: Integer;
|
||||
function GetMessage: TROBinMessage;
|
||||
procedure InitStyleManager;
|
||||
procedure OnTBXThemeChange(Sender: TObject);
|
||||
procedure LeerConfiguracion;
|
||||
procedure SalvarConfiguracion;
|
||||
public
|
||||
function DarVersion : String;
|
||||
procedure ConfigurarConexion;
|
||||
function HayConexion(const ATargetURL : String = ''): Boolean;
|
||||
property Adapter: TDABINAdapter read GetAdapter;
|
||||
property Channel: TROWinInetHTTPChannel read GetChannel;
|
||||
property CodigoEmpresa: Integer read GetCodigoEmpresa;
|
||||
property Message: TROBinMessage read GetMessage;
|
||||
property OnThemeChange: TNotifyEvent read FOnThemeChange write
|
||||
FOnThemeChange;
|
||||
end;
|
||||
|
||||
var
|
||||
dmBase: TdmBase;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.DFM}
|
||||
|
||||
uses
|
||||
Dialogs, TBX, TBXThemes, uConfigurarConexion, WinInet, Forms, Windows,
|
||||
JclFileUtils, VARELA_Intf, cxControls;
|
||||
|
||||
const
|
||||
SERVER_URL = 'http://localhost:8099/bin';
|
||||
IE_OFFLINE_ERROR = 'Unexpected error in WinInet HTTP Channel (2)';
|
||||
|
||||
{
|
||||
*********************************** TdmBase ************************************
|
||||
}
|
||||
procedure TdmBase.ConfigurarConexion;
|
||||
begin
|
||||
with TfConfigurarConexion.Create(NIL) do
|
||||
try
|
||||
TargetURL := ROChannel.TargetURL;
|
||||
if ShowModal = mrOk then
|
||||
begin
|
||||
ROChannel.TargetURL := TargetURL;
|
||||
ROChannel.Connected := False;
|
||||
ROChannel.Connected := True;
|
||||
SalvarConfiguracion;
|
||||
end;
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
|
||||
begin
|
||||
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
|
||||
TBXSetTheme('Office2003');
|
||||
|
||||
LeerConfiguracion;
|
||||
end;
|
||||
|
||||
function TdmBase.GetAdapter: TDABINAdapter;
|
||||
begin
|
||||
Result := DABinAdapter;
|
||||
end;
|
||||
|
||||
function TdmBase.GetChannel: TROWinInetHTTPChannel;
|
||||
begin
|
||||
Result := ROChannel;
|
||||
end;
|
||||
|
||||
function TdmBase.GetCodigoEmpresa: Integer;
|
||||
begin
|
||||
Result := 1;
|
||||
end;
|
||||
|
||||
function TdmBase.GetMessage: TROBinMessage;
|
||||
begin
|
||||
Result := ROMessage;
|
||||
end;
|
||||
|
||||
procedure TdmBase.InitStyleManager;
|
||||
begin
|
||||
if not USE_THEMES then
|
||||
begin
|
||||
TBXSwitcher.EnableXPStyles := False;
|
||||
StyleManager.Theme := nptStandard;
|
||||
end
|
||||
else begin
|
||||
TBXSwitcher.EnableXPStyles := True;
|
||||
with StyleManager do
|
||||
begin
|
||||
if CurrentTheme is TTBXOffice2003Theme then
|
||||
begin
|
||||
case GetOffice2003Scheme of
|
||||
osBlue : Theme := nptXPBlue;
|
||||
osMetallic : Theme := nptXPSilver;
|
||||
osGreen : Theme := nptXPOlive;
|
||||
else
|
||||
Theme := nptStandard;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TdmBase.LeerConfiguracion;
|
||||
begin
|
||||
ROChannel.TargetURL := JvAppRegistryStorage.ReadString('ServerURL', SERVER_URL);
|
||||
end;
|
||||
|
||||
procedure TdmBase.OnTBXThemeChange(Sender: TObject);
|
||||
begin
|
||||
InitStyleManager;
|
||||
|
||||
if Assigned(FOnThemeChange) then
|
||||
FOnThemeChange(Sender);
|
||||
end;
|
||||
|
||||
procedure TdmBase.SalvarConfiguracion;
|
||||
begin
|
||||
JvAppRegistryStorage.BeginUpdate;
|
||||
try
|
||||
JvAppRegistryStorage.WriteString('ServerURL', ROChannel.TargetURL);
|
||||
finally
|
||||
JvAppRegistryStorage.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TdmBase.ROChannelFailure(Sender: TROTransportChannel;
|
||||
anException: Exception; var Retry: Boolean);
|
||||
begin
|
||||
if (Pos(anException.Message, IE_OFFLINE_ERROR) > 0) then
|
||||
begin
|
||||
// Preguntar al usuario si se quiere conectar
|
||||
if InternetGoOnline(PAnsiChar(ROChannel.TargetURL), GetDesktopWindow(), 0) then
|
||||
Retry := True // Si el usuario pulsa en 'Conectar' reintentar la operación
|
||||
else
|
||||
Abort; // Si el usuario pulsa en 'Seguir desconectado' parar todo
|
||||
end
|
||||
else
|
||||
Retry := True;
|
||||
// raise Exception.Create(anException.Message);
|
||||
end;
|
||||
|
||||
procedure TdmBase.ROChannelProgress(iSender: TObject; iType: TProgressType;
|
||||
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
|
||||
begin
|
||||
{ if iType = ptInProgress then
|
||||
begin
|
||||
if not Form1.Visible then
|
||||
Form1.Show;
|
||||
end
|
||||
else
|
||||
Form1.Hide;}
|
||||
end;
|
||||
|
||||
function TdmBase.DarVersion: String;
|
||||
var
|
||||
Obj : TJclFileVersionInfo;
|
||||
begin
|
||||
Obj := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := 'v' + Obj.FileVersion;
|
||||
finally
|
||||
FreeAndNil(Obj);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TdmBase.HayConexion(const ATargetURL: String): Boolean;
|
||||
var
|
||||
AHTTPChannel: TROWinInetHTTPChannel;
|
||||
AROBinMessage: TROBinMessage;
|
||||
ACoService: TRORemoteService;
|
||||
begin
|
||||
AHTTPChannel := TROWinInetHTTPChannel.Create(Self);
|
||||
AROBinMessage := TROBinMessage.Create(Self);
|
||||
ACoService := TRORemoteService.Create(Self);
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
with AHTTPChannel do
|
||||
begin
|
||||
Name := 'HTTPChannel';
|
||||
UserAgent := 'AdminPV';
|
||||
if Length(ATargetURL) > 0 then
|
||||
TargetURL := ATargetURL
|
||||
else
|
||||
TargetURL := ROChannel.TargetURL;
|
||||
end;
|
||||
|
||||
with ACoService do
|
||||
begin
|
||||
ServiceName := 'srvLogin';
|
||||
Message := AROBinMessage;
|
||||
Channel := AHTTPChannel;
|
||||
end;
|
||||
|
||||
try
|
||||
(ACoService as IsrvLogin).Ping;
|
||||
Result := True;
|
||||
except
|
||||
Result := False;
|
||||
end;
|
||||
finally
|
||||
AHTTPChannel.Connected := False;
|
||||
FreeAndNil(AHTTPChannel);
|
||||
FreeAndNil(ACoService);
|
||||
FreeAndNil(AROBinMessage);
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
dmBase := TdmBase.Create(NIL);
|
||||
|
||||
finalization
|
||||
dmBase.Free;
|
||||
|
||||
end.
|
||||
File diff suppressed because it is too large
Load Diff
@ -3,252 +3,48 @@ unit uDataModuleBase;
|
||||
interface
|
||||
|
||||
uses
|
||||
Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
|
||||
TBXOffice2003Theme, Classes, ImgList, uROClient, uROBinMessage,
|
||||
uROServiceComponent, uRORemoteService, uROWinInetHttpChannel,
|
||||
DataAbstract3_Intf, uDADataTable, uDABINAdapter, cxintl, cxIntlPrintSys3,
|
||||
JvAppStorage, JvAppRegistryStorage, SysUtils,
|
||||
JvComponentBase, uDADataStreamer;
|
||||
Classes;
|
||||
|
||||
type
|
||||
TdmBase = class(TDataModule)
|
||||
ROChannel: TROWinInetHTTPChannel;
|
||||
SmallImages: TPngImageList;
|
||||
StyleManager: TJvNavPaneStyleManager;
|
||||
TBXSwitcher: TTBXSwitcher;
|
||||
cxIntl: TcxIntl;
|
||||
cxIntlPrintSys3: TcxIntlPrintSys3;
|
||||
ROMessage: TROBinMessage;
|
||||
DABINAdapter: TDABINAdapter;
|
||||
JvAppRegistryStorage: TJvAppRegistryStorage;
|
||||
RORemoteService: TRORemoteService;
|
||||
procedure DAClientDataModuleCreate(Sender: TObject);
|
||||
procedure ROChannelFailure(Sender: TROTransportChannel;
|
||||
anException: Exception; var Retry: Boolean);
|
||||
procedure ROChannelProgress(iSender: TObject; iType: TProgressType;
|
||||
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
|
||||
TDataModuleBase = class(TDataModule)
|
||||
private
|
||||
FOnThemeChange: TNotifyEvent;
|
||||
function GetAdapter: TDABINAdapter;
|
||||
function GetChannel: TROWinInetHTTPChannel;
|
||||
function GetCodigoEmpresa: Integer;
|
||||
function GetMessage: TROBinMessage;
|
||||
procedure InitStyleManager;
|
||||
procedure OnTBXThemeChange(Sender: TObject);
|
||||
procedure LeerConfiguracion;
|
||||
procedure SalvarConfiguracion;
|
||||
FRefCount: Integer;
|
||||
protected
|
||||
function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;
|
||||
function _AddRef: Integer; stdcall;
|
||||
function _Release: Integer; stdcall;
|
||||
public
|
||||
function DarVersion : String;
|
||||
procedure ConfigurarConexion;
|
||||
function HayConexion(const ATargetURL : String = ''): Boolean;
|
||||
property Adapter: TDABINAdapter read GetAdapter;
|
||||
property Channel: TROWinInetHTTPChannel read GetChannel;
|
||||
property CodigoEmpresa: Integer read GetCodigoEmpresa;
|
||||
property Message: TROBinMessage read GetMessage;
|
||||
property OnThemeChange: TNotifyEvent read FOnThemeChange write
|
||||
FOnThemeChange;
|
||||
end;
|
||||
property RefCount: integer read fRefCount write fRefCount;
|
||||
|
||||
var
|
||||
dmBase: TdmBase;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
{$R *.DFM}
|
||||
|
||||
uses
|
||||
Dialogs, TBX, TBXThemes, uConfigurarConexion, WinInet, Forms, Windows,
|
||||
JclFileUtils, VARELA_Intf, cxControls;
|
||||
// Set an implicit refcount so that refcounting
|
||||
// during construction won't destroy the object.
|
||||
|
||||
const
|
||||
SERVER_URL = 'http://localhost:8099/bin';
|
||||
IE_OFFLINE_ERROR = 'Unexpected error in WinInet HTTP Channel (2)';
|
||||
|
||||
{
|
||||
*********************************** TdmBase ************************************
|
||||
}
|
||||
procedure TdmBase.ConfigurarConexion;
|
||||
function TDataModuleBase.QueryInterface( const IID: TGUID; out Obj): HResult;
|
||||
begin
|
||||
with TfConfigurarConexion.Create(NIL) do
|
||||
try
|
||||
TargetURL := ROChannel.TargetURL;
|
||||
if ShowModal = mrOk then
|
||||
begin
|
||||
ROChannel.TargetURL := TargetURL;
|
||||
ROChannel.Connected := False;
|
||||
ROChannel.Connected := True;
|
||||
SalvarConfiguracion;
|
||||
end;
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
if GetInterface(IID, Obj)
|
||||
then Result := 0
|
||||
else Result := E_NOINTERFACE;
|
||||
end;
|
||||
|
||||
procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
|
||||
function TDataModuleBase._AddRef: Integer;
|
||||
begin
|
||||
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
|
||||
TBXSetTheme('Office2003');
|
||||
|
||||
LeerConfiguracion;
|
||||
Inc(fRefCount);
|
||||
Result := fRefCount;
|
||||
end;
|
||||
|
||||
function TdmBase.GetAdapter: TDABINAdapter;
|
||||
function TDataModuleBase._Release: Integer;
|
||||
begin
|
||||
Result := DABinAdapter;
|
||||
Dec(fRefCount);
|
||||
Result := fRefCount;
|
||||
if fRefCount = 0 then Destroy;
|
||||
end;
|
||||
|
||||
function TdmBase.GetChannel: TROWinInetHTTPChannel;
|
||||
begin
|
||||
Result := ROChannel;
|
||||
end;
|
||||
|
||||
function TdmBase.GetCodigoEmpresa: Integer;
|
||||
begin
|
||||
Result := 1;
|
||||
end;
|
||||
|
||||
function TdmBase.GetMessage: TROBinMessage;
|
||||
begin
|
||||
Result := ROMessage;
|
||||
end;
|
||||
|
||||
procedure TdmBase.InitStyleManager;
|
||||
begin
|
||||
if not USE_THEMES then
|
||||
begin
|
||||
TBXSwitcher.EnableXPStyles := False;
|
||||
StyleManager.Theme := nptStandard;
|
||||
end
|
||||
else begin
|
||||
TBXSwitcher.EnableXPStyles := True;
|
||||
with StyleManager do
|
||||
begin
|
||||
if CurrentTheme is TTBXOffice2003Theme then
|
||||
begin
|
||||
case GetOffice2003Scheme of
|
||||
osBlue : Theme := nptXPBlue;
|
||||
osMetallic : Theme := nptXPSilver;
|
||||
osGreen : Theme := nptXPOlive;
|
||||
else
|
||||
Theme := nptStandard;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TdmBase.LeerConfiguracion;
|
||||
begin
|
||||
ROChannel.TargetURL := JvAppRegistryStorage.ReadString('ServerURL', SERVER_URL);
|
||||
end;
|
||||
|
||||
procedure TdmBase.OnTBXThemeChange(Sender: TObject);
|
||||
begin
|
||||
InitStyleManager;
|
||||
|
||||
if Assigned(FOnThemeChange) then
|
||||
FOnThemeChange(Sender);
|
||||
end;
|
||||
|
||||
procedure TdmBase.SalvarConfiguracion;
|
||||
begin
|
||||
JvAppRegistryStorage.BeginUpdate;
|
||||
try
|
||||
JvAppRegistryStorage.WriteString('ServerURL', ROChannel.TargetURL);
|
||||
finally
|
||||
JvAppRegistryStorage.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TdmBase.ROChannelFailure(Sender: TROTransportChannel;
|
||||
anException: Exception; var Retry: Boolean);
|
||||
begin
|
||||
if (Pos(anException.Message, IE_OFFLINE_ERROR) > 0) then
|
||||
begin
|
||||
// Preguntar al usuario si se quiere conectar
|
||||
if InternetGoOnline(PAnsiChar(ROChannel.TargetURL), GetDesktopWindow(), 0) then
|
||||
Retry := True // Si el usuario pulsa en 'Conectar' reintentar la operación
|
||||
else
|
||||
Abort; // Si el usuario pulsa en 'Seguir desconectado' parar todo
|
||||
end
|
||||
else
|
||||
Retry := True;
|
||||
// raise Exception.Create(anException.Message);
|
||||
end;
|
||||
|
||||
procedure TdmBase.ROChannelProgress(iSender: TObject; iType: TProgressType;
|
||||
iDirection: TProgressDirection; iTransferred, iTotal: Integer);
|
||||
begin
|
||||
{ if iType = ptInProgress then
|
||||
begin
|
||||
if not Form1.Visible then
|
||||
Form1.Show;
|
||||
end
|
||||
else
|
||||
Form1.Hide;}
|
||||
end;
|
||||
|
||||
function TdmBase.DarVersion: String;
|
||||
var
|
||||
Obj : TJclFileVersionInfo;
|
||||
begin
|
||||
Obj := TJclFileVersionInfo.Create(Application.ExeName);
|
||||
try
|
||||
Result := 'v' + Obj.FileVersion;
|
||||
finally
|
||||
FreeAndNil(Obj);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TdmBase.HayConexion(const ATargetURL: String): Boolean;
|
||||
var
|
||||
AHTTPChannel: TROWinInetHTTPChannel;
|
||||
AROBinMessage: TROBinMessage;
|
||||
ACoService: TRORemoteService;
|
||||
begin
|
||||
AHTTPChannel := TROWinInetHTTPChannel.Create(Self);
|
||||
AROBinMessage := TROBinMessage.Create(Self);
|
||||
ACoService := TRORemoteService.Create(Self);
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
with AHTTPChannel do
|
||||
begin
|
||||
Name := 'HTTPChannel';
|
||||
UserAgent := 'AdminPV';
|
||||
if Length(ATargetURL) > 0 then
|
||||
TargetURL := ATargetURL
|
||||
else
|
||||
TargetURL := ROChannel.TargetURL;
|
||||
end;
|
||||
|
||||
with ACoService do
|
||||
begin
|
||||
ServiceName := 'srvLogin';
|
||||
Message := AROBinMessage;
|
||||
Channel := AHTTPChannel;
|
||||
end;
|
||||
|
||||
try
|
||||
(ACoService as IsrvLogin).Ping;
|
||||
Result := True;
|
||||
except
|
||||
Result := False;
|
||||
end;
|
||||
finally
|
||||
AHTTPChannel.Connected := False;
|
||||
FreeAndNil(AHTTPChannel);
|
||||
FreeAndNil(ACoService);
|
||||
FreeAndNil(AROBinMessage);
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
dmBase := TdmBase.Create(NIL);
|
||||
|
||||
finalization
|
||||
dmBase.Free;
|
||||
|
||||
end.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -13,7 +13,6 @@ inherited fEditorDBBase: TfEditorDBBase
|
||||
ExplicitWidth = 652
|
||||
inherited Image1: TImage
|
||||
Left = 625
|
||||
Picture.Data = {00}
|
||||
ExplicitLeft = 625
|
||||
end
|
||||
end
|
||||
|
||||
@ -39,9 +39,6 @@ type
|
||||
published
|
||||
end;
|
||||
|
||||
var
|
||||
fEditorDBBase: TfEditorDBBase;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
@ -196,35 +193,11 @@ begin
|
||||
end;
|
||||
|
||||
function TfEditorDBBase.GetModified: Boolean;
|
||||
var
|
||||
dtDetails : TList;
|
||||
i : integer;
|
||||
bCambiado : Boolean;
|
||||
begin
|
||||
bCambiado := False;
|
||||
if Assigned(dsDataTable.DataTable) then
|
||||
begin
|
||||
bCambiado := (dsDataTable.DataTable.State = dsEdit) or
|
||||
DeltaValuesAreDifferent(dsDataTable.DataTable.Delta);
|
||||
|
||||
if (not bCambiado) then
|
||||
begin
|
||||
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
|
||||
for i := 0 to dtDetails.Count - 1 do
|
||||
begin
|
||||
bCambiado := bCambiado or
|
||||
((TDADataTable(dtDetails.Items[i])).State = dsEdit) or
|
||||
DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta);
|
||||
if bCambiado then
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
if (not bCambiado) then
|
||||
bCambiado := inherited GetModified;
|
||||
|
||||
Result := bCambiado;
|
||||
if ReadOnly then
|
||||
Result := False
|
||||
else
|
||||
Result := DataTableModified(dsDataTable.DataTable) or inherited GetModified;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.FormCloseQuery(Sender: TObject;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -1,38 +1,50 @@
|
||||
inherited fEditorItem: TfEditorItem
|
||||
Left = 423
|
||||
Top = 273
|
||||
Width = 686
|
||||
Height = 535
|
||||
Caption = 'fEditorItem'
|
||||
ClientHeight = 508
|
||||
ClientWidth = 678
|
||||
ExplicitWidth = 686
|
||||
ExplicitHeight = 535
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Width = 678
|
||||
Visible = False
|
||||
ExplicitWidth = 678
|
||||
inherited Image1: TImage
|
||||
Left = 651
|
||||
ExplicitLeft = 651
|
||||
end
|
||||
end
|
||||
object pgPaginas: TPageControl [1]
|
||||
Left = 0
|
||||
Top = 76
|
||||
Width = 678
|
||||
Height = 406
|
||||
Height = 413
|
||||
ActivePage = pagGeneral
|
||||
Align = alClient
|
||||
TabOrder = 1
|
||||
ExplicitHeight = 406
|
||||
object pagGeneral: TTabSheet
|
||||
Caption = 'General'
|
||||
ExplicitLeft = 0
|
||||
ExplicitTop = 0
|
||||
ExplicitWidth = 0
|
||||
ExplicitHeight = 0
|
||||
end
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Width = 678
|
||||
ExplicitWidth = 678
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 524
|
||||
inherited TBXItem5: TTBXItem
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
ExplicitWidth = 678
|
||||
inherited TBXSubmenuItem4: TTBXSubmenuItem
|
||||
inherited TBXItem10: TTBXItem
|
||||
Visible = False
|
||||
@ -41,8 +53,10 @@ inherited fEditorItem: TfEditorItem
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TStatusBar
|
||||
Top = 482
|
||||
Top = 489
|
||||
Width = 678
|
||||
ExplicitTop = 482
|
||||
ExplicitWidth = 678
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
Top = 104
|
||||
|
||||
@ -26,7 +26,7 @@ var
|
||||
|
||||
implementation
|
||||
|
||||
uses uDataModuleBase;
|
||||
uses uDMBase;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<DCC_EnabledPackages>true</DCC_EnabledPackages>
|
||||
<DCC_UsePackage>BaseD10;Configuracion;FicherosEDI</DCC_UsePackage>
|
||||
<DCC_UsePackage>BaseD10;FicherosEDI</DCC_UsePackage>
|
||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\CargaEDI.exe</DCC_DependencyCheckOutputName>
|
||||
</PropertyGroup>
|
||||
@ -50,9 +50,11 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||
|
||||
@ -15,4 +15,4 @@ END
|
||||
/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */
|
||||
/* C:\Varela_D2007\Source\CargaEDI\uCargaEDI.dfm */
|
||||
/* C:\Varela_D2007\Source\CargaEDI\CargaEDI.res */
|
||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf26.tmp */
|
||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf3B.tmp */
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -47,7 +47,7 @@ implementation
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uCargarFicheros, uDataModuleBase;
|
||||
uCargarFicheros, uDMBase;
|
||||
|
||||
procedure TfCargaEDI.FormShow(Sender: TObject);
|
||||
begin
|
||||
|
||||
@ -2,22 +2,26 @@ program AdminPV;
|
||||
|
||||
uses
|
||||
Forms,
|
||||
uLoginForm,
|
||||
uPantallaPrincipal in 'uPantallaPrincipal.pas' {fPantallaPrincipal},
|
||||
uMenuUtils in 'uMenuUtils.pas',
|
||||
uSplash in 'uSplash.pas' {SplashScreen},
|
||||
uSplash in 'uSplash.pas' {AppSplashForm},
|
||||
uAcercaDe in 'uAcercaDe.pas' {fAcercaDe},
|
||||
uIntegerList in '..\Base\uIntegerList.pas';
|
||||
uMenuUtils in 'Utiles\uMenuUtils.pas',
|
||||
uBootStrap in 'uBootStrap.pas',
|
||||
uNavPaneUtils in 'Utiles\uNavPaneUtils.pas',
|
||||
uMainMenuController in 'uMainMenuController.pas',
|
||||
uNavPaneController in 'uNavPaneController.pas',
|
||||
uClienteUtils in 'Utiles\uClienteUtils.pas';
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
|
||||
Application.Title := 'Administración de puntos de venta';
|
||||
Application.CreateForm(TfPantallaPrincipal, fPantallaPrincipal);
|
||||
Application.MainFormOnTaskBar := True;
|
||||
Application.Run;
|
||||
Application.Terminate;
|
||||
|
||||
uBootStrap.Initialize;
|
||||
uBootStrap.Run; // <- Aquí dentro esta Application.Run
|
||||
uBootStrap.Terminate;
|
||||
|
||||
Application.Terminate; //<- No descomentar para así ver los Memory Leaks
|
||||
end.
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\AdminPV.exe</DCC_DependencyCheckOutputName>
|
||||
<DCC_EnabledPackages>true</DCC_EnabledPackages>
|
||||
<DCC_UsePackage>BaseD10;Configuracion;ControlesBaseD10;Usuarios;FicherosEDI;VentasProceso;VentasTerminadas;ReferenciaGenerica</DCC_UsePackage>
|
||||
<DCC_UsePackage>BaseD10;ControlesBaseD10;Parametros;ApplicationBase;FicherosEDI</DCC_UsePackage>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
@ -42,10 +42,11 @@
|
||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
|
||||
<BorlandProject>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">1</VersionInfo><VersionInfo Name="Release">1</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.1.1.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">Administración de puntos de venta</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">Administración de puntos de venta</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">martes, 11 de marzo de 2008 18:44</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">1</VersionInfo><VersionInfo Name="Release">1</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.1.1.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">Administración de puntos de venta</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">Administración de puntos de venta</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">miércoles, 12 de marzo de 2008 12:35</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k100.bpl">CodeGear C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp100.bpl">CodeGear C++Builder Office XP Servers Package</Excluded_Packages>
|
||||
@ -56,17 +57,21 @@
|
||||
<DelphiCompile Include="AdminPV.dpr">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="..\Base\uIntegerList.pas"/>
|
||||
<DCCReference Include="uAcercaDe.pas">
|
||||
<Form>fAcercaDe</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uMenuUtils.pas"/>
|
||||
<DCCReference Include="uBootStrap.pas"/>
|
||||
<DCCReference Include="uMainMenuController.pas"/>
|
||||
<DCCReference Include="uNavPaneController.pas"/>
|
||||
<DCCReference Include="uPantallaPrincipal.pas">
|
||||
<Form>fPantallaPrincipal</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uSplash.pas">
|
||||
<Form>SplashScreen</Form>
|
||||
<Form>AppSplashForm</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Utiles\uClienteUtils.pas"/>
|
||||
<DCCReference Include="Utiles\uMenuUtils.pas"/>
|
||||
<DCCReference Include="Utiles\uNavPaneUtils.pas"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
<!-- EurekaLog First Line
|
||||
|
||||
@ -12,11 +12,10 @@ STRINGTABLE
|
||||
BEGIN
|
||||
END
|
||||
|
||||
/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */
|
||||
/* c:\archivos de programa\codegear\rad studio\5.0\Lib\WindowsXP.res */
|
||||
/* C:\Varela_D2007\Lib\JVCL\JvXPCore.res */
|
||||
/* C:\Varela_D2007\Lib\JVCL\JvXPBar.res */
|
||||
/* C:\Varela_D2007\Source\Cliente\uSplash.dfm */
|
||||
/* C:\Varela_D2007\Source\Cliente\uAcercaDe.dfm */
|
||||
/* uSplash.dfm */
|
||||
/* uAcercaDe.dfm */
|
||||
/* C:\Varela_D2007\Source\Cliente\uPantallaPrincipal.dfm */
|
||||
/* C:\Varela_D2007\Source\Cliente\AdminPV.res */
|
||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf24.tmp */
|
||||
/* C:\Varela_D2007\Source\Cliente\AdminPV.drf */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user