diff --git a/internal/2.31RC1/1/Lib/D12/EnvMsgForm_U.dcu b/internal/2.31RC1/1/Lib/D12/EnvMsgForm_U.dcu deleted file mode 100644 index c39867d..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/EnvMsgForm_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/IncPerfil_U.dcu b/internal/2.31RC1/1/Lib/D12/IncPerfil_U.dcu deleted file mode 100644 index 61f461c..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/IncPerfil_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/IncUser_U.dcu b/internal/2.31RC1/1/Lib/D12/IncUser_U.dcu deleted file mode 100644 index 9a9042c..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/IncUser_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/LoginWindow_U.dcu b/internal/2.31RC1/1/Lib/D12/LoginWindow_U.dcu deleted file mode 100644 index 9dcf1a7..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/LoginWindow_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/MsgRecForm_U.dcu b/internal/2.31RC1/1/Lib/D12/MsgRecForm_U.dcu deleted file mode 100644 index 6580eac..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/MsgRecForm_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/MsgsForm_U.dcu b/internal/2.31RC1/1/Lib/D12/MsgsForm_U.dcu deleted file mode 100644 index 11b9750..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/MsgsForm_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/SenhaForm_U.dcu b/internal/2.31RC1/1/Lib/D12/SenhaForm_U.dcu deleted file mode 100644 index f99e937..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/SenhaForm_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/TrocaSenha_U.dcu b/internal/2.31RC1/1/Lib/D12/TrocaSenha_U.dcu deleted file mode 100644 index 1c02514..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/TrocaSenha_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCALSMTPClient.dcu b/internal/2.31RC1/1/Lib/D12/UCALSMTPClient.dcu deleted file mode 100644 index 8175404..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCALSMTPClient.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCAbout.dcu b/internal/2.31RC1/1/Lib/D12/UCAbout.dcu deleted file mode 100644 index 07b1aee..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCAbout.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCBase.dcu b/internal/2.31RC1/1/Lib/D12/UCBase.dcu deleted file mode 100644 index 56ce1b3..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCBase.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCDataConnector.dcu b/internal/2.31RC1/1/Lib/D12/UCDataConnector.dcu deleted file mode 100644 index 1509185..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCDataConnector.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCDataInfo.dcu b/internal/2.31RC1/1/Lib/D12/UCDataInfo.dcu deleted file mode 100644 index 254db71..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCDataInfo.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCEMailForm_U.dcu b/internal/2.31RC1/1/Lib/D12/UCEMailForm_U.dcu deleted file mode 100644 index 4ff30e1..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCEMailForm_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCEditorForm_U.dcu b/internal/2.31RC1/1/Lib/D12/UCEditorForm_U.dcu deleted file mode 100644 index dde8d2e..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCEditorForm_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCIdle.dcu b/internal/2.31RC1/1/Lib/D12/UCIdle.dcu deleted file mode 100644 index d1bb133..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCIdle.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCMail.dcu b/internal/2.31RC1/1/Lib/D12/UCMail.dcu deleted file mode 100644 index fa54275..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCMail.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCMessages.dcu b/internal/2.31RC1/1/Lib/D12/UCMessages.dcu deleted file mode 100644 index 7cd7a51..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCMessages.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCObjSel_U.dcu b/internal/2.31RC1/1/Lib/D12/UCObjSel_U.dcu deleted file mode 100644 index 92361d4..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCObjSel_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCReg.dcu b/internal/2.31RC1/1/Lib/D12/UCReg.dcu deleted file mode 100644 index 0bea47f..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCReg.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UCSettings.dcu b/internal/2.31RC1/1/Lib/D12/UCSettings.dcu deleted file mode 100644 index b0b9355..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UCSettings.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UcConsts_Language.dcu b/internal/2.31RC1/1/Lib/D12/UcConsts_Language.dcu deleted file mode 100644 index 5f86b12..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UcConsts_Language.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/UserPermis_U.dcu b/internal/2.31RC1/1/Lib/D12/UserPermis_U.dcu deleted file mode 100644 index 7e8f4d1..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/UserPermis_U.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/md5.dcu b/internal/2.31RC1/1/Lib/D12/md5.dcu deleted file mode 100644 index 984daed..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/md5.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pUCFrame_Log.dcu b/internal/2.31RC1/1/Lib/D12/pUCFrame_Log.dcu deleted file mode 100644 index abbb832..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pUCFrame_Log.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pUCFrame_Profile.dcu b/internal/2.31RC1/1/Lib/D12/pUCFrame_Profile.dcu deleted file mode 100644 index f75eed0..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pUCFrame_Profile.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pUCFrame_User.dcu b/internal/2.31RC1/1/Lib/D12/pUCFrame_User.dcu deleted file mode 100644 index 2f2dfff..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pUCFrame_User.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pUCGeral.dcu b/internal/2.31RC1/1/Lib/D12/pUCGeral.dcu deleted file mode 100644 index f7f042d..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pUCGeral.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pUcFrame_UserLogged.dcu b/internal/2.31RC1/1/Lib/D12/pUcFrame_UserLogged.dcu deleted file mode 100644 index d37acc5..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pUcFrame_UserLogged.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckMD5.bpl b/internal/2.31RC1/1/Lib/D12/pckMD5.bpl deleted file mode 100644 index 9d76bf4..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckMD5.bpl and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckMD5.dcp b/internal/2.31RC1/1/Lib/D12/pckMD5.dcp deleted file mode 100644 index fb2cbc0..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckMD5.dcp and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckMD5.dcu b/internal/2.31RC1/1/Lib/D12/pckMD5.dcu deleted file mode 100644 index 98615d2..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckMD5.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckUCDataConnector.bpl b/internal/2.31RC1/1/Lib/D12/pckUCDataConnector.bpl deleted file mode 100644 index 0240d41..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckUCDataConnector.bpl and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckUCDataConnector.dcp b/internal/2.31RC1/1/Lib/D12/pckUCDataConnector.dcp deleted file mode 100644 index 25bd2fb..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckUCDataConnector.dcp and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckUCDataConnector.dcu b/internal/2.31RC1/1/Lib/D12/pckUCDataConnector.dcu deleted file mode 100644 index 99b0547..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckUCDataConnector.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckUserControl_DT_D12.bpl b/internal/2.31RC1/1/Lib/D12/pckUserControl_DT_D12.bpl deleted file mode 100644 index e6ce1ec..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckUserControl_DT_D12.bpl and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckUserControl_DT_D12.dcp b/internal/2.31RC1/1/Lib/D12/pckUserControl_DT_D12.dcp deleted file mode 100644 index 0d34d30..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckUserControl_DT_D12.dcp and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckUserControl_DT_D12.dcu b/internal/2.31RC1/1/Lib/D12/pckUserControl_DT_D12.dcu deleted file mode 100644 index 43833ea..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckUserControl_DT_D12.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckUserControl_RT.bpl b/internal/2.31RC1/1/Lib/D12/pckUserControl_RT.bpl deleted file mode 100644 index aff904d..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckUserControl_RT.bpl and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckUserControl_RT.dcp b/internal/2.31RC1/1/Lib/D12/pckUserControl_RT.dcp deleted file mode 100644 index 668244b..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckUserControl_RT.dcp and /dev/null differ diff --git a/internal/2.31RC1/1/Lib/D12/pckUserControl_RT.dcu b/internal/2.31RC1/1/Lib/D12/pckUserControl_RT.dcu deleted file mode 100644 index c1ced53..0000000 Binary files a/internal/2.31RC1/1/Lib/D12/pckUserControl_RT.dcu and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/UCADOConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCADOConn/UCADOConn.pas deleted file mode 100644 index da90afa..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/UCADOConn.pas +++ /dev/null @@ -1,114 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCADOConn - Author: QmD - Date: 08-nov-2004 - Purpose: ADO Support - - registered in UCReg.pas ------------------------------------------------------------------------------} - -unit UCADOConn; - -interface - -uses - ADODB, - Classes, - DB, - SysUtils, - UCDataConnector; - -type - TUCADOConn = class(TUCDataConnector) - private - FConnection: TADOConnection; - procedure SetADOConnection(Value: TADOConnection); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - 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; - published - property Connection: TADOConnection read FConnection write SetADOConnection; - end; - -implementation - -{ TUCADOConn } - -procedure TUCADOConn.SetADOConnection(Value: TADOConnection); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -procedure TUCADOConn.Notification(AComponent: TComponent; Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - inherited Notification(AComponent, Operation); -end; - -function TUCADOConn.UCFindTable(const TableName: String): Boolean; -var - TempList: TStringList; -begin - try - TempList := TStringList.Create; - FConnection.GetTableNames(TempList, True); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - FreeAndNil(TempList); - end; -end; - -function TUCADOConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCADOConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - begin - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end; - end - else - Result := ''; -end; - -function TUCADOConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCADOConn.UCExecSQL(FSQL: String); -begin - FConnection.Execute(FSQL); -end; - -function TUCADOConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TADOQuery.Create(nil); - with Result as TADOQuery do - begin - Connection := FConnection; - SQL.Text := FSQL; - Open; - end; -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/UCADOConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCADOConn/UCADOConnReg.pas deleted file mode 100644 index 32c5c62..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/UCADOConnReg.pas +++ /dev/null @@ -1,19 +0,0 @@ -unit UCADOConnReg; - -interface - -uses - Classes, - UCADOConn; - -procedure Register; - -implementation - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCADOConn]); -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/pckUCADOConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCADOConn/pckUCADOConn.bdsproj deleted file mode 100644 index 1b6a6b0..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/pckUCADOConn.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckUCADOConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control ADO Connectors - - - - C:\WINDOWS\Temp - - - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - - - - False - - - - - - False - - - True - False - - - - $00000000 - C:\Arquivos de programas\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/pckUCADOConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCADOConn/pckUCADOConn.dpk deleted file mode 100644 index 92d149f..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/pckUCADOConn.dpk +++ /dev/null @@ -1,36 +0,0 @@ -package pckUCADOConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control ADO Connectors'} -{$IMPLICITBUILD OFF} - -requires - pckUCDataConnector, - adortl; - -contains - UCADOConn in 'UCADOConn.pas', - UCADOConnReg in 'UCADOConnReg.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/pckUCADOConn.res b/internal/2.31RC1/1/Packages/Connectors/UCADOConn/pckUCADOConn.res deleted file mode 100644 index a3a102a..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCADOConn/pckUCADOConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/UCAbsoluteConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/UCAbsoluteConn.pas deleted file mode 100644 index 0febf8e..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/UCAbsoluteConn.pas +++ /dev/null @@ -1,123 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCZEOSConn - Author: Vicente Barros Leonel - Date: 29-outubro-2007 - Purpose: Absolute Database - - registered in UCAbsoluteConn.pas ------------------------------------------------------------------------------} - -unit UCAbsoluteConn; - -interface - -{$I 'UserControl.inc'} - -uses - Classes, - DB, - SysUtils, - UCDataConnector, - ABSMain; - -type - TUCAbsoluteConn = class(TUCDataConnector) - private - FConnection: TABSDatabase; - procedure SetFConnection(const Value: TABSDatabase); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - 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; - published - property Connection: TABSDatabase read FConnection write SetFConnection; - end; -implementation - -{ TUCAbsoluteConn } - -function TUCAbsoluteConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - begin - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end; - end - else - Result := ''; -end; - -function TUCAbsoluteConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCAbsoluteConn.Notification(AComponent: TComponent; - Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - inherited Notification(AComponent, Operation); -end; - -procedure TUCAbsoluteConn.SetFConnection(const Value: TABSDatabase); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -procedure TUCAbsoluteConn.UCExecSQL(FSQL: String); -begin - with TABSQuery.Create(nil) do - begin - DataBaseName := FConnection.Name; - SQL.Clear; - Sql.Add(fSql); - ExecSQL; - Free; - end; -end; - -function TUCAbsoluteConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCAbsoluteConn.UCFindTable(const Tablename: String): Boolean; -var - TempList: TStringList; -begin - try - TempList := TStringList.Create; - FConnection.GetTablesList(TempList); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - FreeAndNil(TempList); - end; -end; - -function TUCAbsoluteConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TABSQuery.Create(nil); - with Result as TABSQuery do - begin - DataBaseName := FConnection.Name; - SQL.Clear; - Sql.Add(fSql); - Open; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/UCAbsoluteConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/UCAbsoluteConnReg.pas deleted file mode 100644 index d0a63fd..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/UCAbsoluteConnReg.pas +++ /dev/null @@ -1,17 +0,0 @@ -unit UCAbsoluteConnReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCAbsoluteConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCAbsoluteConn]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/pckUCAbsoluteConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/pckUCAbsoluteConn.dpk deleted file mode 100644 index e431c67..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/pckUCAbsoluteConn.dpk +++ /dev/null @@ -1,38 +0,0 @@ -package pckUCAbsoluteConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control Absolute DataBase Connectors'} -{$IMPLICITBUILD ON} - -requires - rtl, - dbrtl, - vclAbsDBd11, - vcl; - -contains - UCAbsoluteConnReg in 'UCAbsoluteConnReg.pas', - UCAbsoluteConn in 'UCAbsoluteConn.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/pckUCAbsoluteConn.dproj b/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/pckUCAbsoluteConn.dproj deleted file mode 100644 index d67206e..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/pckUCAbsoluteConn.dproj +++ /dev/null @@ -1,40 +0,0 @@ - - - - {e9d49972-8f3b-467c-b46e-69225c5b5b37} - pckUCAbsoluteConn.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckUCAbsoluteConn.bpl - - - 7.0 - False - False - 0 - RELEASE - - - 7.0 - - - Delphi.Personality - Package - -FalseTrueFalseTrueFalseFalse User Control Absolute DataBase Connectors - TrueFalse1000FalseFalseFalseFalseFalse104612521.0.0.01.0.0.0pckUCAbsoluteConn.dpk - - - - - MainSource - - - - - - - - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/pckUCAbsoluteConn.res b/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/pckUCAbsoluteConn.res deleted file mode 100644 index c0980e1..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCAboluteBase/pckUCAbsoluteConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCAstaConn/UCAstaConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCAstaConn/UCAstaConn.pas deleted file mode 100644 index abf4425..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCAstaConn/UCAstaConn.pas +++ /dev/null @@ -1,113 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCAstaConn - Author: QmD - Date: 24-nov-2004 - Purpose: Asta 3 Support - - registered in UCAstaReg.pas ------------------------------------------------------------------------------} - -unit UCAstaConn; - -interface - -uses - SysUtils, Classes, UCBase, DB, AstaDrv2, AstaClientDataset, ScktComp, - AstaCustomSocket, AstaClientSocket,AstaDBTypes; -type - TUCAstaConn = class(TUCDataConn) - private - FAstaClientSocket: TAstaClientSocket; - procedure SetFAstaClientSocket(const Value: TAstaClientSocket); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation);override; - 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; - published - property AstaClientSocket : TAstaClientSocket read FAstaClientSocket write SetFAstaClientSocket; - end; - -implementation - -{ TUCAstaConn } - -procedure TUCAstaConn.SetFAstaClientSocket( - const Value: TAstaClientSocket); -begin - FAstaClientSocket := Value; - if Value <> nil then Value.FreeNotification(Self); -end; - -procedure TUCAstaConn.Notification(AComponent: TComponent; - Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FAstaClientSocket) then - begin - FAstaClientSocket := nil; - end; - inherited Notification(AComponent, Operation); -end; - -function TUCAstaConn.UCFindTable(const TableName: String): Boolean; -var - TempQuery : TAstaClientDataSet; -begin - TempQuery := TAstaClientDataset.Create(nil); - TempQuery.AstaClientSocket := FAstaClientSocket; - TempQuery.MetaDataRequest := mdTables; - TempQuery.Open; - Result := TempQuery.Locate('TableName',UpperCase(TableName),[]); - TempQuery.Close; - FreeAndNil(TempQuery); -end; - - -function TUCAstaConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FAstaClientSocket) and (FAstaClientSocket.Active); -end; - -function TUCAstaConn.GetDBObjectName: String; -begin - if Assigned(FAstaClientSocket) then - begin - if Owner = FAstaClientSocket.Owner then Result := FAstaClientSocket.Name - else begin - Result := FAstaClientSocket.Owner.Name+'.'+FAstaClientSocket.Name; - end; - end else Result := ''; -end; - -function TUCAstaConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCAstaConn.UCExecSQL(FSQL: String); -begin - with TAstaClientDataset.Create(nil) do - begin - AstaClientSocket := FAstaClientSocket; - SQL.text := FSQL; - ExecSQL; - Free; - end; -end; - -function TUCAstaConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TAstaClientDataset.Create(nil); - with Result as TAstaClientDataset do - begin - AstaClientSocket := FAstaClientSocket; - SQL.text := FSQL; - Open; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCAstaConn/UCAstaConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCAstaConn/UCAstaConnReg.pas deleted file mode 100644 index 225400c..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCAstaConn/UCAstaConnReg.pas +++ /dev/null @@ -1,17 +0,0 @@ -unit UCAstaReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCAstaConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCAstaConn]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/UCBDEConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/UCBDEConn.pas deleted file mode 100644 index dd1bb92..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/UCBDEConn.pas +++ /dev/null @@ -1,127 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCBDEConn - Author: QmD - Date: 10-nov-2004 - Purpose: BDE Support - - registered in UCReg.pas ------------------------------------------------------------------------------} - -unit UCBDEConn; - -interface - -{$I 'UserControl.inc'} - -uses - Classes, - DB, - DBTables, - SysUtils, - UCDataConnector; - -type - TUCBDEConn = class(TUCDataConnector) - private - FConnection: TDatabase; - procedure SetFDatabase(Value: TDatabase); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - 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; - published - property Connection: TDatabase read FConnection write SetFDatabase; - end; - -implementation - -{ TUCBDEConn } - -procedure TUCBDEConn.SetFDatabase(Value: TDatabase); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -procedure TUCBDEConn.Notification(AComponent: TComponent; Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - inherited Notification(AComponent, Operation); -end; - -function TUCBDEConn.UCFindTable(const TableName: String): Boolean; -var - Lista: TStringList; -begin - Lista := TStringList.Create; -{$IFDEF DELPHI5} - FConnection.Session.GetTableNames(FDatabase.Databasename,'*.db*', False, False, Lista); -{$ELSE} - FConnection.GetTableNames(Lista); -{$ENDIF} - Result := Lista.IndexOf(TableName) > -1; - FreeAndNil(Lista); -end; - -function TUCBDEConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCBDEConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - begin - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end; - end - else - Result := ''; -end; - -function TUCBDEConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCBDEConn.UCExecSQL(FSQL: String); -begin - with TQuery.Create(nil) do - begin - DatabaseName := FConnection.DatabaseName; - SQL.Text := FSQL; - ExecSQL; - Free; - end; - -end; - -function TUCBDEConn.UCGetSQLDataset(FSQL: String): TDataset; -var - TempQuery: TQuery; -begin - TempQuery := TQuery.Create(nil); - - with TempQuery do - begin - DatabaseName := FConnection.DatabaseName; - SQL.Text := FSQL; - Open; - end; - Result := TempQuery; -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/UCBDEConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/UCBDEConnReg.pas deleted file mode 100644 index 943d623..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/UCBDEConnReg.pas +++ /dev/null @@ -1,20 +0,0 @@ -unit UCBDEConnReg; - -interface - -uses - Classes; - -procedure Register; - -implementation - -uses - UCBDEConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCBDEConn]); -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/pckUCBDEConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/pckUCBDEConn.bdsproj deleted file mode 100644 index 017237f..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/pckUCBDEConn.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckUCBDEConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control BDE Connector - - - - C:\WINDOWS\Temp - - - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - - - - False - - - - - - False - - - True - False - - - - $00000000 - C:\Arquivos de programas\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/pckUCBDEConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/pckUCBDEConn.dpk deleted file mode 100644 index 4c1dd8d..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/pckUCBDEConn.dpk +++ /dev/null @@ -1,36 +0,0 @@ -package pckUCBDEConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control BDE Connector'} -{$IMPLICITBUILD ON} - -requires - pckUCDataConnector, - bdertl; - -contains - UCBDEConn in 'UCBDEConn.pas', - UCBDEConnReg in 'UCBDEConnReg.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/pckUCBDEConn.res b/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/pckUCBDEConn.res deleted file mode 100644 index a3a102a..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCBDEConn/pckUCBDEConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCDBISAMConn/UCDBISAMConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCDBISAMConn/UCDBISAMConn.pas deleted file mode 100644 index 35e4049..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCDBISAMConn/UCDBISAMConn.pas +++ /dev/null @@ -1,128 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCDBISAMConn - Changed: Carlos Guerra - Date: 01-dez-2004 - Author: QmD - Purpose: DBISAM Support - - registered in UCDBISAMReg.pas ------------------------------------------------------------------------------} - -unit UCDBISAMConn; - -interface - -uses - SysUtils, Classes, UCBase, DB, dbisamtb; - -type - TUCDBISAMConn = class(TUCDataConn) - private - FConnection : TDBISAMDatabase; - FSessionName: TDBISAMSession; //Carlos Guerra 12/01/2004 - procedure SetFDatabase(Value : TDBISAMDatabase); - procedure SetFSessionName(const Value: TDBISAMSession); //Carlos Guerra 12/01/2004 - protected - procedure Notification(AComponent: TComponent; Operation: TOperation);override; - 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; - published - property Connection : TDBISAMDatabase read FConnection write SetFDatabase; - property SessionName : TDBISAMSession read FSessionName write SetFSessionName; //Carlos Guerra 12/01/2004 - end; - -implementation - -{ TUCDBISAMConn } - -procedure TUCDBISAMConn.SetFDatabase(Value: TDBISAMDatabase); -begin - if FConnection <> Value then FConnection := Value; - if FConnection <> nil then FConnection.FreeNotification(Self); -end; - -procedure TUCDBISAMConn.SetFSessionName(const Value: TDBISAMSession); -begin - FSessionName := Value; - if Value <> nil then Value.FreeNotification(Self); -end; - - -procedure TUCDBISAMConn.Notification(AComponent: TComponent; - Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - begin - FConnection := nil; - end; - inherited Notification(AComponent, Operation); -end; - -function TUCDBISAMConn.UCFindTable(const TableName: String): Boolean; -var - Lista : TStringList; -begin - Lista := TStringList.Create; - - FConnection.Session.GetTableNames(FConnection.RemoteDatabase,Lista); - Result := Lista.IndexOf(TableName) > -1; - FreeAndNil(Lista); -end; - -function TUCDBISAMConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCDBISAMConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then Result := FConnection.Name - else begin - Result := FConnection.Owner.Name+'.'+FConnection.Name; - end; - end else Result := ''; -end; - -{function TUCDBISAMConn.GetTransObjectName: String; -begin - Result := ''; -end;} - -procedure TUCDBISAMConn.UCExecSQL(FSQL: String); -begin - with TDBISAMQuery.Create(nil) do - begin - //DatabaseName := FConnection.DatabaseName; //Cancel by Carlos Guerra 12/01/2004 - DatabaseName := FConnection.RemoteDatabase; //Carlos Guerra 12/01/2004 - SessionName := FConnection.SessionName; //Carlos Guerra 12/01/2004 - SQL.text := FSQL; - ExecSQL; - Free; - end; - -end; - -function TUCDBISAMConn.UCGetSQLDataset(FSQL: String): TDataset; -var - TempQuery : TDBISAMQuery; -begin - TempQuery := TDBISAMQuery.Create(nil); - TempQuery.SessionName := FConnection.SessionName; //Carlos Guerra 12/01/2004 - TempQuery.DatabaseName := FConnection.RemoteDatabase; //Carlos Guerra 12/01/2004 - with TempQuery do - begin - //DatabaseName := FConnection.DatabaseName; //Cancel by Carlos Guerra 12/01/2004 - SQL.text := FSQL; - Open; - end; - Result := TempQuery; -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCDBISAMConn/UCDBISAMConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCDBISAMConn/UCDBISAMConnReg.pas deleted file mode 100644 index cd9fe75..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCDBISAMConn/UCDBISAMConnReg.pas +++ /dev/null @@ -1,17 +0,0 @@ -unit UCDBISAMReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCDBISAMConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCDBISAMConn]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/UCDBXConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/UCDBXConn.pas deleted file mode 100644 index 50e5dc3..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/UCDBXConn.pas +++ /dev/null @@ -1,122 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCDBXConn - Author: QmD - Date: 08-nov-2004 - Purpose: ADO Support - - registered in UCDBXReg.pas ------------------------------------------------------------------------------} - -unit UCDBXConn; - -interface - -uses - Classes, - DB, - SimpleDS, - SqlExpr, - SysUtils, - UCDataConnector; - -type - TUCDBXConn = class(TUCDataConnector) - private - FConnection: TSQLConnection; - FSchema: String; - procedure SetSQLConnection(Value: TSQLConnection); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - 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; - published - property Connection: TSQLConnection read FConnection write SetSQLConnection; - property SchemaName: String read FSchema write FSchema; - end; - -implementation - -{ TUCDBXConn } - -procedure TUCDBXConn.SetSQLConnection(Value: TSQLConnection); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -procedure TUCDBXConn.Notification(AComponent: TComponent; Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - inherited Notification(AComponent, Operation); -end; - -function TUCDBXConn.UCFindTable(const TableName: String): Boolean; -var - TempList: TStringList; -begin - try - TempList := TStringList.Create; - if SchemaName <> '' then - FConnection.GetTableNames(TempList, SchemaName) - else - FConnection.GetTableNames(TempList); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - FreeAndNil(TempList); - end; -end; - -function TUCDBXConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCDBXConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - begin - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end; - end - else - Result := ''; -end; - -function TUCDBXConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCDBXConn.UCExecSQL(FSQL: String); -begin -// FConnection.Execute(FSQL, nil); // by vicente barros leonel - FConnection.ExecuteDirect(FSQL); -end; - -function TUCDBXConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TSimpleDataSet.Create(nil); - with Result as TSimpleDataSet do - begin - Connection := FConnection; - DataSet.CommandText := FSQL; - SchemaName := FSchema; - Open; - end; -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/UCDBXConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/UCDBXConnReg.pas deleted file mode 100644 index 7aebf23..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/UCDBXConnReg.pas +++ /dev/null @@ -1,21 +0,0 @@ -unit UCDBXConnReg; - -interface - -uses - Classes; - -procedure Register; - -implementation - -uses - UCDBXConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCDBXConn]); -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.bdsproj deleted file mode 100644 index 2d66f05..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckUCDBXConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control DBX Connectors - - - - C:\WINDOWS\Temp - - - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - - - - False - - - - - - False - - - True - False - - - - $00000000 - C:\Arquivos de programas\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.dpk deleted file mode 100644 index 05fa12c..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.dpk +++ /dev/null @@ -1,38 +0,0 @@ -package pckUCDBXConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control DBX Connectors'} -{$IMPLICITBUILD OFF} - -requires - pckUCDataConnector, - dsnap, - dbxcds, - dbexpress; - -contains - UCDBXConn in 'UCDBXConn.pas', - UCDBXConnReg in 'UCDBXConnReg.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.dproj b/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.dproj deleted file mode 100644 index 7f4966a..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.dproj +++ /dev/null @@ -1,98 +0,0 @@ - - - {2e1b5318-7a28-4093-9bbb-c66237b9a704} - pckUCDBXConn.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckUCDBXConn.bpl - - - 7.0 - False - False - 0 - C:\WINDOWS\Temp - C:\WINDOWS\Temp - C:\WINDOWS\Temp - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - RELEASE - - - 7.0 - C:\WINDOWS\Temp - C:\WINDOWS\Temp - C:\WINDOWS\Temp - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - DEBUG - - - Delphi.Personality - Package - - - False - True - False - - - User Control DBX Connectors - False - False - False - - - C:\Arquivos de programas\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - pckUCDBXConn.dpk - - - - - - - MainSource - - - - - - - - - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.res b/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.res deleted file mode 100644 index a3a102a..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCDBXConn/pckUCDBXConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCFIBConn/UCFIBConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCFIBConn/UCFIBConn.pas deleted file mode 100644 index 557326e..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCFIBConn/UCFIBConn.pas +++ /dev/null @@ -1,120 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCFIBConn - Author: QmD - Date: 08-nov-2004 - Purpose: FIB Support - - registered in UCReg.pas ------------------------------------------------------------------------------} - -unit UCFIBConn; - -interface - -uses - SysUtils, Classes, UCBase, DB, pFIBDatabase, pFIBDataset; - -type - TUCFIBConn = class(TUCDataConn) - private - FConnection : TpFIBDatabase; - FTransaction: TpFIBTransaction; - procedure SetFTransaction(const Value: TpFIBTransaction); - procedure SetFConnection(const Value: TpFIBDatabase); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation);override; - 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; - published - property Connection : TpFIBDatabase read FConnection write SetFConnection; - property Transaction : TpFIBTransaction read FTransaction write SetFTransaction; - end; - -implementation - -{ TUCFIBConn } - -procedure TUCFIBConn.SetFTransaction(const Value: TpFIBTransaction); -begin - FTransaction := Value; - if Value <> nil then Value.FreeNotification(Self); -end; - -procedure TUCFIBConn.SetFConnection(const Value: TpFIBDatabase); -begin - if FConnection <> Value then FConnection := Value; - if FConnection <> nil then FConnection.FreeNotification(Self); -end; - -procedure TUCFIBConn.Notification(AComponent: TComponent; - Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then FConnection := nil; - if (Operation = opRemove) and (AComponent = FTransaction) then FTransaction := nil; - inherited Notification(AComponent, Operation); -end; - -function TUCFIBConn.UCFindTable(const TableName: String): Boolean; -var - TempList : TStringList; -begin - try - TempList := TStringList.Create; - FConnection.GetTableNames(TempList,False); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - FreeAndNil(TempList); - end; -end; - -function TUCFIBConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCFIBConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then Result := FConnection.Name - else begin - Result := FConnection.Owner.Name+'.'+FConnection.Name; - end; - end else Result := ''; -end; - -function TUCFIBConn.GetTransObjectName: String; -begin - if Assigned(FTransaction) then - begin - if Owner = FTransaction.Owner then Result := FTransaction.Name - else begin - Result := FTransaction.Owner.Name+'.'+FTransaction.Name; - end; - end else Result := ''; -end; - -procedure TUCFIBConn.UCExecSQL(FSQL: String); -begin - FConnection.Execute(FSQL); -end; - -function TUCFIBConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TpFIBDataset.Create(nil); - with Result as TpFIBDataset do - begin - Database := FConnection; - Transaction := FTransaction; - SelectSQL.text := FSQL; - Open; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCFIBConn/UCFIBConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCFIBConn/UCFIBConnReg.pas deleted file mode 100644 index f7387bb..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCFIBConn/UCFIBConnReg.pas +++ /dev/null @@ -1,17 +0,0 @@ -unit UCFIBReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCFIBConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCFIBConn]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/UCIBOConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/UCIBOConn.pas deleted file mode 100644 index 42a11f8..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/UCIBOConn.pas +++ /dev/null @@ -1,111 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCIBOConn - Author: QmD - Date: 22-nov-2004 - Purpose: IBO Dataset Support - - registered in UCIBOReg.pas ------------------------------------------------------------------------------} - -unit UCIBOConn; - -interface - -uses - Classes, - DB, - IB_Components, - IBODataset, - SysUtils, - UCDataConnector; - -type - TUCIBOConn = class(TUCDataConnector) - private - FConnection: TIBODatabase; - procedure SetIBOConnection(const Value: TIBODatabase); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - public - function GetDBObjectName: String; override; - function UCFindDataConnection: Boolean; override; - function UCFindTable(const Tablename: String): Boolean; override; - function UCGetSQLDataset(FSQL: String): TDataset; override; - procedure UCExecSQL(FSQL: String); override; - published - property Connection: TIBODatabase read FConnection write SetIBOConnection; - end; - -implementation - -{ TUCIBOConn } - - -procedure TUCIBOConn.SetIBOConnection(const Value: TIBODatabase); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -procedure TUCIBOConn.Notification(AComponent: TComponent; Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - inherited Notification(AComponent, Operation); -end; - -function TUCIBOConn.UCFindTable(const TableName: String): Boolean; -begin - with TIBOQuery.Create(nil) do - begin - IB_Connection := FConnection; - SQL.Text := 'SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG = 0 and RDB$RELATION_NAME = ' + QuotedStr(Uppercase(TableName)); - Open; - Result := FieldByName('RDB$RELATION_NAME').AsString = Uppercase(TableName); - Close; - Free; - end; -end; - -function TUCIBOConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCIBOConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - begin - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end; - end - else - Result := ''; -end; - - -procedure TUCIBOConn.UCExecSQL(FSQL: String); -begin - FConnection.DefaultTransaction.ExecuteImmediate(FSQL); - FConnection.DefaultTransaction.Commit; -end; - -function TUCIBOConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TIBOQuery.Create(nil); - with Result as TIBOQuery do - begin - IB_Connection := FConnection; - SQL.Text := FSQL; - Open; - end; -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/UCIBOConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/UCIBOConnReg.pas deleted file mode 100644 index f8c4eb9..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/UCIBOConnReg.pas +++ /dev/null @@ -1,18 +0,0 @@ -unit UCIBOConnReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCIBOConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCIBOConn]); -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/pckIBOConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/pckIBOConn.dpk deleted file mode 100644 index 6671069..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/pckIBOConn.dpk +++ /dev/null @@ -1,32 +0,0 @@ -package pckIBOConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control IBO Connector'} -{$IMPLICITBUILD ON} - -contains - UCIBOConn in 'UCIBOConn.pas', - UCIBOConnReg in 'UCIBOConnReg.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/pckIBOConn.res b/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/pckIBOConn.res deleted file mode 100644 index a3a102a..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCIBOConn/pckIBOConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/UCIBXConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/UCIBXConn.pas deleted file mode 100644 index 642fa7e..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/UCIBXConn.pas +++ /dev/null @@ -1,152 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCIBXConn - Author: QmD - Date: 08-nov-2004 - Purpose: IBX Support - - registered in UCReg.pas ------------------------------------------------------------------------------} - -unit UCIBXConn; - -interface - -uses - Classes, - DB, - IBDataBase, - IBQuery, - SysUtils, - UCDataConnector; - -type - TUCIBXConn = class(TUCDataConnector) - private - FConnection: TIBDatabase; - FTransaction: TIBTransaction; - procedure SetTransaction(const Value: TIBTransaction); - procedure SetConnection(const Value: TIBDatabase); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - 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; - published - property Connection: TIBDatabase read FConnection write SetConnection; - property Transaction: TIBTransaction read FTransaction write SetTransaction; - end; - -implementation - -{ TUCIBXConn } - -procedure TUCIBXConn.Notification(AComponent: TComponent; Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - if (Operation = opRemove) and (AComponent = FTransaction) then - FTransaction := nil; - inherited Notification(AComponent, Operation); -end; - -function TUCIBXConn.UCFindTable(const TableName: String): Boolean; -var - TempList: TStringList; -begin - TempList := TStringList.Create; - try - FConnection.GetTableNames(TempList, False); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - SysUtils.FreeAndNil(TempList); - end; -end; - -function TUCIBXConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCIBXConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - begin - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end; - end - else - Result := ''; -end; - -function TUCIBXConn.GetTransObjectName: String; -begin - if Assigned(FTransaction) then - begin - if Owner = FTransaction.Owner then - Result := FTransaction.Name - else - begin - Result := FTransaction.Owner.Name + '.' + FTransaction.Name; - end; - end - else - Result := ''; -end; - -procedure TUCIBXConn.UCExecSQL(FSQL: String); -var - Qry: TIBQuery; -begin - Qry := TIBQuery.Create(nil); - try - Qry.Database := FConnection; - Qry.Transaction := FTransaction; - if not Qry.Transaction.Active then - Qry.Transaction.Active := True; - Qry.SQL.Text := FSQL; - Qry.ExecSQL; - Qry.Transaction.Commit; - finally - Qry.Free; - end; -end; - -function TUCIBXConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TIBQuery.Create(nil); - with Result as TIBQuery do - begin - Database := FConnection; - Transaction := FTransaction; - SQL.Text := FSQL; - Open; - end; -end; - - -procedure TUCIBXConn.SetTransaction(const Value: TIBTransaction); -begin - FTransaction := Value; - if Value <> nil then - Value.FreeNotification(Self); -end; - -procedure TUCIBXConn.SetConnection(const Value: TIBDatabase); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/UCIBXConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/UCIBXConnReg.pas deleted file mode 100644 index 7eb0997..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/UCIBXConnReg.pas +++ /dev/null @@ -1,20 +0,0 @@ -unit UCIBXConnReg; - -interface - -uses - Classes; - -procedure Register; - -implementation - -uses - UCIBXConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCIBXConn]); -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/pckUCIBXConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/pckUCIBXConn.bdsproj deleted file mode 100644 index c59c976..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/pckUCIBXConn.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckUCIBXConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control IBX Connector - - - - C:\WINDOWS\Temp - - - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - - - - False - - - - - - False - - - True - False - - - - $00000000 - C:\Arquivos de programas\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/pckUCIBXConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/pckUCIBXConn.dpk deleted file mode 100644 index 4511021..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/pckUCIBXConn.dpk +++ /dev/null @@ -1,36 +0,0 @@ -package pckUCIBXConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control IBX Connector'} -{$IMPLICITBUILD ON} - -requires - pckUCDataConnector, - ibxpress; - -contains - UCIBXConn in 'UCIBXConn.pas', - UCIBXConnReg in 'UCIBXConnReg.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/pckUCIBXConn.res b/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/pckUCIBXConn.res deleted file mode 100644 index a3a102a..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCIBXConn/pckUCIBXConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/UCMDOConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/UCMDOConn.pas deleted file mode 100644 index 0f07703..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/UCMDOConn.pas +++ /dev/null @@ -1,149 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCMDOConn - Author: Alexandre Oliveira - 05/11/2004 - Change: QmD - Date: 10-nov-2004 - Purpose: MDO Support - - registered in UCMDOReg.pas ------------------------------------------------------------------------------} - -unit UCMDOConn; - -interface - -uses - Classes, - DB, - MDODatabase, - MDOQuery, - SysUtils, - UCDataConnector; - -type - TUCMDOConn = class(TUCDataConnector) - private - FConnection: TMDODatabase; - FTransaction: TMDOTransaction; - procedure SetFTransaction(const Value: TMDOTransaction); - procedure SetMDOConnection(const Value: TMDODatabase); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - 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; - published - property Connection: TMDODatabase read FConnection write SetMDOConnection; - property Transaction: TMDOTransaction read FTransaction write SetFTransaction; - end; - -implementation - -{ TUCMDOConn } - -procedure TUCMDOConn.SetFTransaction(const Value: TMDOTransaction); -begin - FTransaction := Value; - if Value <> nil then - Value.FreeNotification(Self); -end; - -procedure TUCMDOConn.SetMDOConnection(const Value: TMDODatabase); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -procedure TUCMDOConn.Notification(AComponent: TComponent; Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - if (Operation = opRemove) and (AComponent = FTransaction) then - FTransaction := nil; - inherited Notification(AComponent, Operation); -end; - -function TUCMDOConn.UCFindTable(const TableName: String): Boolean; -var - TempList: TStringList; -begin - try - TempList := TStringList.Create; - FConnection.GetTableNames(TempList, False); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - FreeAndNil(TempList); - end; -end; - -function TUCMDOConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCMDOConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - begin - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end; - end - else - Result := ''; -end; - -function TUCMDOConn.GetTransObjectName: String; -begin - if Assigned(FTransaction) then - begin - if Owner = FTransaction.Owner then - Result := FTransaction.Name - else - begin - Result := FTransaction.Owner.Name + '.' + FTransaction.Name; - end; - end - else - Result := ''; -end; - -procedure TUCMDOConn.UCExecSQL(FSQL: String); -begin - with TMDOQuery.Create(nil) do - begin - Database := FConnection; - Transaction := FTransaction; - if not Transaction.Active then - Transaction.Active := True; - SQL.Text := FSQL; - ExecSQL; - FTransaction.Commit; - Free; - end; -end; - -function TUCMDOConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TMDOQuery.Create(nil); - with Result as TMDOQuery do - begin - Database := FConnection; - Transaction := FTransaction; - SQL.Text := FSQL; - Open; - end; -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/UCMDOConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/UCMDOConnReg.pas deleted file mode 100644 index 7b41340..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/UCMDOConnReg.pas +++ /dev/null @@ -1,17 +0,0 @@ -unit UCMDOConnReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCMDOConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCMDOConn]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/pckUCMDOConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/pckUCMDOConn.bdsproj deleted file mode 100644 index d712089..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/pckUCMDOConn.bdsproj +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - - - pckUCMDOConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control MDO Connector - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/pckUCMDOConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/pckUCMDOConn.dpk deleted file mode 100644 index 6e8946f..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/pckUCMDOConn.dpk +++ /dev/null @@ -1,40 +0,0 @@ -package pckUCMDOConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control MDO Connector'} -{$IMPLICITBUILD OFF} - -requires - rtl, - pckUCDataConnector, - vcl, - vclactnband, - vcldb, - RCLMDO2005; - -contains - UCMDOConnReg in 'UCMDOConnReg.pas', - UCMDOConn in 'UCMDOConn.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/pckUCMDOConn.res b/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/pckUCMDOConn.res deleted file mode 100644 index fd84fb8..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCMDOConn/pckUCMDOConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/UCMidasConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/UCMidasConn.pas deleted file mode 100644 index 494ac1f..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/UCMidasConn.pas +++ /dev/null @@ -1,181 +0,0 @@ -{----------------------------------------------------------------------------- - 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.net - - registered in UCMidasConnReg.pas ------------------------------------------------------------------------------} - -unit UCMidasConn; - -interface - -{$I 'UserControl.inc'} - -uses - Classes, - DB, - DBClient, - SysUtils, - UCDataConnector; - -type - TBancoDados = (bdFirebird, bdMSSQL, bdOracle, bdPostgreSQL, bdMySQL, bdParadox); - - TUCMidasConn = class(TUCDataConnector) - private - FResultado: OleVariant; - FSQLStmt: String; - FParams: OleVariant; - FOwnerData: OleVariant; - FRecsOut: Integer; - FConnection: TCustomRemoteServer; - FProviderName: String; - FBancoDados: TBancoDados; - procedure SetConnection(const Value: TCustomRemoteServer); - procedure SetProviderName(const Value: String); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - 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; - published - property Connection: TCustomRemoteServer Read FConnection Write SetConnection; - property ProviderName: String Read FProviderName Write SetProviderName; - property BancoDados: TBancoDados Read FBancoDados Write FBancoDados; - end; - -const - // Select para as tabelas de sistema !!! Para outro tipo de banco implemente aqui !!!!! - - // Para banco novo !!! - // Não esquecer de colocar em TBancoDados, o tipo de banco !!!!!! - // Não esquecer de colocar no 'case' de UCFindTable - - SQL_Firebird = - 'SELECT ' + - ' UPPER(RDB$RELATIONS.RDB$RELATION_NAME) RDB$RELATION_NAME ' + - 'FROM ' + - ' RDB$RELATIONS ' + - 'WHERE ' + - ' RDB$RELATIONS.RDB$FLAGS = 1 AND UPPER(RDB$RELATIONS.RDB$RELATION_NAME) = ' + - ' UPPER(''%s'')'; - - SQL_MSSQL = ''; - - SQL_Oracle = ''; - - SQL_PostgreSQL = - 'SELECT ' + - ' UPPER(PG_CLASS.RELNAME) ' + - 'FROM ' + - ' PG_CLASS ' + - 'WHERE ' + - ' PG_CLASS.RELKIND = ''r'' AND ' + - ' UPPER(PG_CLASS.RELNAME) LIKE UPPER(''%s'')'; - - SQL_MySQL = ''; - - SQL_Paradox = ''; - -implementation - -uses - Midas, - Provider; - -{ TUCMidasConn } - -function TUCMidasConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end - else - Result := ''; -end; - -function TUCMidasConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCMidasConn.Notification(AComponent: TComponent; Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - inherited Notification(AComponent, Operation); -end; - -procedure TUCMidasConn.SetConnection(const Value: TCustomRemoteServer); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -procedure TUCMidasConn.SetProviderName(const Value: String); -begin - FProviderName := Value; -end; - -procedure TUCMidasConn.UCExecSQL(FSQL: String); -begin - IAppServer(FConnection.GetServer).AS_Execute(FProviderName, FSQL, FParams, FOwnerData); -end; - -function TUCMidasConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCMidasConn.UCFindTable(const Tablename: String): Boolean; -begin - case FBancoDados of - bdFirebird: FSQLStmt := SQL_Firebird; - bdMSSQL: FSQLStmt := SQL_MSSQL; - bdOracle: FSQLStmt := SQL_Oracle; - bdPostgreSQL: FSQLStmt := SQL_PostgreSQL; - bdMySQL: FSQLStmt := SQL_MySQL; - bdParadox: FSQLStmt := SQL_Paradox; - end; - - FSQLStmt := Format(FSQLStmt, [Tablename]); - - FResultado := IAppServer(FConnection.GetServer).AS_GetRecords(FProviderName, -1, FRecsOut, 0, FSQLStmt, FParams, FOwnerData); - - Result := FRecsOut > 0; -end; - -function TUCMidasConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TClientDataSet.Create(Self); - - with TClientDataSet(Result) do - begin - if FConnection is TConnectionBroker then - ConnectionBroker := TConnectionBroker(FConnection) - else - RemoteServer := FConnection; - - ProviderName := FProviderName; - CommandText := FSQL; - Open; - end; -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/UCMidasConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/UCMidasConnReg.pas deleted file mode 100644 index 9bbf9b1..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/UCMidasConnReg.pas +++ /dev/null @@ -1,74 +0,0 @@ -unit UCMidasConnReg; - -interface - -{$I 'UserControl.inc'} - -uses - Classes, - DesignEditors, - DesignIntf, - TypInfo; - -type - TUCProviderNameProperty = class(TStringProperty) - function GetAttributes: TPropertyAttributes; override; - procedure GetValues(Proc: TGetStrProc); override; - end; - -procedure Register; - -implementation - -uses - Midas, - UCMidasConn, - Variants; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCMidasConn]); - RegisterPropertyEditor(TypeInfo(String), TUCMidasConn, 'ProviderName', TUCProviderNameProperty); -end; - -{ TUCProviderNameProperty } - -function TUCProviderNameProperty.GetAttributes: TPropertyAttributes; -begin - Result := [paValueList]; -end; - -procedure TUCProviderNameProperty.GetValues(Proc: TGetStrProc); -var - Componente: TComponent; - Lista: variant; - I: Integer; -begin - Componente := TComponent(GetComponent(0)); - - if not Assigned(Componente) then - Exit; - - if not (Componente is TUCMidasConn) then - Exit; - - if not Assigned(TUCMidasConn(Componente).Connection) then - Exit; - - with TUCMidasConn(Componente) do - begin - - try - Lista := IAppServer(Connection.GetServer).AS_GetProviderNames; - except - end; - - if VarIsArray(Lista) and (VarArrayDimCount(Lista) = 1) then - for I := VarArrayLowBound(Lista, 1) to VarArrayHighBound(Lista, 1) do - Proc(Lista[I]); - - end; -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.bdsproj deleted file mode 100644 index 1b24c02..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.bdsproj +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - - - - - pckUCMidasConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control Midas Connector - - - - C:\WINDOWS\Temp - - - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - - - - False - - - - - - False - - - True - False - - - - $00000000 - C:\Arquivos de programas\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - TeeChart Components - JVCL BDE Components - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.dpk deleted file mode 100644 index adaef7f..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.dpk +++ /dev/null @@ -1,39 +0,0 @@ -package pckUCMidasConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control Midas Connector'} -{$IMPLICITBUILD OFF} - -requires - designide, - dbrtl, - dsnap, - rtl, - pckUCDataConnector; - -contains - UCMidasConn in 'UCMidasConn.pas', - UCMidasConnReg in 'UCMidasConnReg.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.dproj b/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.dproj deleted file mode 100644 index fac6a75..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.dproj +++ /dev/null @@ -1,56 +0,0 @@ - - - {8fed7c75-8e0d-4aa3-a33b-65582db4fefb} - pckUCMidasConn.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckUCMidasConn.bpl - - - 7.0 - False - False - 0 - C:\WINDOWS\Temp - C:\WINDOWS\Temp - C:\WINDOWS\Temp - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - RELEASE - - - 7.0 - C:\WINDOWS\Temp - C:\WINDOWS\Temp - C:\WINDOWS\Temp - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - - - Delphi.Personality - Package - -FalseTrueFalseUser Control Midas ConnectorFalseFalseFalseC:\Arquivos de programas\Borland\Delphi7\Bin\TrueFalse1000FalseFalseFalseFalseFalse104612521.0.0.01.0.0.0 - TeeChart Components - JVCL BDE Components - pckUCMidasConn.dpk - - - - - MainSource - - - - - - - - - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.res b/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.res deleted file mode 100644 index a3a102a..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCMidasConn/pckUCMidasConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/UCMyDACConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/UCMyDACConn.pas deleted file mode 100644 index cd66940..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/UCMyDACConn.pas +++ /dev/null @@ -1,106 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCMyDACConn - Author: QmD - Date: 22-nov-2004 - Purpose: MyDAC Support - - registered in UCMyDACReg.pas ------------------------------------------------------------------------------} - -unit UCMyDACConn; - -interface - -uses - UCDataConnector,SysUtils, Classes, UCBase, DB, DBAccess, MyAccess, MemDS; - -type - TUCMyDACConn = class(TUCDataConnector) - private - FConnection : TMyConnection; - procedure SetFConnection(Value : TMyConnection); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation);override; - 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; - published - property Connection : TMyConnection read FConnection write SetFConnection; - end; - -implementation - -{ TUCMyDACConn } - -procedure TUCMyDACConn.SetFConnection(Value: TMyConnection); -begin - if FConnection <> Value then FConnection := Value; - if FConnection <> nil then FConnection.FreeNotification(Self); -end; - -procedure TUCMyDACConn.Notification(AComponent: TComponent; - Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - begin - FConnection := nil; - end; - inherited Notification(AComponent, Operation); -end; - -function TUCMyDACConn.UCFindTable(const TableName: String): Boolean; -var - TempList : TStringList; -begin - try - TempList := TStringList.Create; - FConnection.GetTableNames(TempList); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - FreeAndNil(TempList); - end; -end; - -function TUCMyDACConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCMyDACConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then Result := FConnection.Name - else begin - Result := FConnection.Owner.Name+'.'+FConnection.Name; - end; - end else Result := ''; -end; - -function TUCMyDACConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCMyDACConn.UCExecSQL(FSQL: String); -begin - FConnection.ExecSQL(FSQL,[]); -end; - -function TUCMyDACConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TMyQuery.Create(nil); - with Result as TMyQuery do - begin - Connection := FConnection; - SQL.Text := FSQL; - Open; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/UCMyDACConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/UCMyDACConnReg.pas deleted file mode 100644 index d73c134..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/UCMyDACConnReg.pas +++ /dev/null @@ -1,17 +0,0 @@ -unit UCMyDACConnReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCMyDACConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCMyDACConn]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.dpk deleted file mode 100644 index 82fd28b..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.dpk +++ /dev/null @@ -1,48 +0,0 @@ -package pckMyDacConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$IMPLICITBUILD ON} - -requires - rtl, - dbrtl, - dac105, - mydac105, - vcldb, - vcl, - pckUserControl_RT, - pckUCDataConnector, - pckMD5, - VclSmp, - vclx, - inet, - designide, - xmlrtl, - vclactnband; - -contains - UCMyDACConnReg in 'UCMyDACConnReg.pas', - UCMyDACConn in 'UCMyDACConn.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.dproj b/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.dproj deleted file mode 100644 index 388d778..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.dproj +++ /dev/null @@ -1,90 +0,0 @@ - - - - {5338e891-3591-4e66-859a-eaa77ade0066} - pckMyDacConn.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckMyDacConn.bpl - - - 7.0 - False - False - 0 - RELEASE - - - 7.0 - - - Delphi.Personality - Package - - - False - True - False - - - True - False - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - pckMyDacConn.dpk - - - - - - - MainSource - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.groupproj b/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.groupproj deleted file mode 100644 index 15dbba3..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.groupproj +++ /dev/null @@ -1,31 +0,0 @@ - - - {9e0c44c1-7f19-426e-959f-54b897d52e85} - - - - - Default.Personality - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.res b/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.res deleted file mode 100644 index 1826680..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckMyDacConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckUCMYDac.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckUCMYDac.bdsproj deleted file mode 100644 index ed35f99..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckUCMYDac.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckUCMYDac.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - UserControl MyDac Connector - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckUCMYDac.dpk b/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckUCMYDac.dpk deleted file mode 100644 index fec983f..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckUCMYDac.dpk +++ /dev/null @@ -1,47 +0,0 @@ -package pckUCMYDac; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'UserControl MyDac Connector'} -{$IMPLICITBUILD OFF} - -requires - rtl, - dbrtl, - pckUserControl_RT, - VclSmp, - vclx, - vcl, - pckUCDataConnector, - pckMD5, - vcldb, - vclactnband, - vcljpg, - dac100, - mydac100; - -contains - UCMyDACConnReg in 'UCMyDACConnReg.pas', - UCMyDACConn in 'UCMyDACConn.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckUCMYDac.res b/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckUCMYDac.res deleted file mode 100644 index fd84fb8..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCMyDACConn/pckUCMYDac.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConn.pas deleted file mode 100644 index 02050f0..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConn.pas +++ /dev/null @@ -1,106 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCMySQLDACConn - Author: QmD - Date: 22-nov-2004 - Purpose: MySQLDAC Support - - registered in UCMySQLDACReg.pas ------------------------------------------------------------------------------} - -unit UCMySQLDACConn; - -interface - -uses - SysUtils, Classes, UCBase, DB, mySQLDbTables; - -type - TUCMySQLDACConn = class(TUCDataConn) - private - FConnection : TmySQLDatabase; - procedure SetFConnection(Value : TmySQLDatabase); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation);override; - 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; - published - property Connection : TmySQLDatabase read FConnection write SetFConnection; - end; - -implementation - -{ TUCMySQLDACConn } - -procedure TUCMySQLDACConn.SetFConnection(Value: TmySQLDatabase); -begin - if FConnection <> Value then FConnection := Value; - if FConnection <> nil then FConnection.FreeNotification(Self); -end; - -procedure TUCMySQLDACConn.Notification(AComponent: TComponent; - Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - begin - FConnection := nil; - end; - inherited Notification(AComponent, Operation); -end; - -function TUCMySQLDACConn.UCFindTable(const TableName: String): Boolean; -var - TempList : TStringList; -begin - try - TempList := TStringList.Create; - FConnection.GetTableNames(TableName, TempList); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - FreeAndNil(TempList); - end; -end; - -function TUCMySQLDACConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCMySQLDACConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then Result := FConnection.Name - else begin - Result := FConnection.Owner.Name+'.'+FConnection.Name; - end; - end else Result := ''; -end; - -function TUCMySQLDACConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCMySQLDACConn.UCExecSQL(FSQL: String); -begin - FConnection.Execute(FSQL); -end; - -function TUCMySQLDACConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TmySQLQuery.Create(nil); - with Result as TmySQLQuery do - begin - Database := FConnection; - SQL.Text := FSQL; - Open; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConnReg.pas deleted file mode 100644 index 2e7c007..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/UCMySQLDACConnReg.pas +++ /dev/null @@ -1,17 +0,0 @@ -unit UCMySQLDACConnReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCMySQLDACConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCMySQLDACConn]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.bdsproj deleted file mode 100644 index afe1c73..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckMySQLDACConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control ADO Connectors - - - - C:\WINDOWS\Temp - - - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - - - - False - - - - - - False - - - True - False - - - - $00000000 - C:\Arquivos de programas\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.dpk deleted file mode 100644 index 39fe7be..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.dpk +++ /dev/null @@ -1,38 +0,0 @@ -package pckMySQLDACConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control ADO Connectors'} -{$IMPLICITBUILD OFF} - -requires - pckUCDataConnector, - adortl, - rtl, - dbrtl; - -contains - UCMySQLDACConnReg in 'UCMySQLDACConnReg.pas', - UCMySQLDACConn in 'UCMySQLDACConn.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.dproj b/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.dproj deleted file mode 100644 index fde8cb2..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.dproj +++ /dev/null @@ -1,98 +0,0 @@ - - - {480541f5-52fb-4c6b-adf4-7b2eb88c5599} - pckMySQLDACConn.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckMySQLDACConn.bpl - - - 7.0 - False - False - 0 - C:\WINDOWS\Temp - C:\WINDOWS\Temp - C:\WINDOWS\Temp - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - RELEASE - - - 7.0 - C:\WINDOWS\Temp - C:\WINDOWS\Temp - C:\WINDOWS\Temp - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - DEBUG - - - Delphi.Personality - Package - - - False - True - False - - - User Control ADO Connectors - False - False - False - - - C:\Arquivos de programas\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - pckMySQLDACConn.dpk - - - - - - - MainSource - - - - - - - - - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.res b/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.res deleted file mode 100644 index fd84fb8..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCMySQLDACConn/pckMySQLDACConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/UCNexusDBConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/UCNexusDBConn.pas deleted file mode 100644 index 6d0e44d..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/UCNexusDBConn.pas +++ /dev/null @@ -1,104 +0,0 @@ -{Connector para NexusDB v2.xx adaptado por WanX} - -unit UCNexusDBConn; - -interface - -{.$I 'UserControl.inc'} - -uses - SysUtils, Classes, DB, UCDataConnector, nxdb, nxsdFmtBCD; - -type - TUCNexusDBConnector = class(TUCDataConnector) - private - FConnection: TnxDatabase; - procedure SetConnection(const Value: TnxDatabase); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation);override; - public - procedure UCExecSQL(FSQL: String); override; - function UCGetSQLDataset(FSQL: String): TDataset; override; - function UCFindTable(const Tablename: String): Boolean; override; - function UCFindDataConnection: Boolean; override; - function GetDBObjectName: String; override; - published - property Connection: TnxDatabase read FConnection write SetConnection; - end; - -implementation - -{ TUCNexusDBConnector } - -function TUCNexusDBConnector.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then Result := FConnection.Name - else begin - Result := FConnection.Owner.Name+'.'+FConnection.Name; - end; - end else Result := ''; -end; - -procedure TUCNexusDBConnector.Notification(AComponent: TComponent; - Operation: TOperation); -begin - if ((Operation = opRemove) and (AComponent = FConnection)) then - FConnection := nil; - inherited Notification(AComponent, Operation); -end; - -procedure TUCNexusDBConnector.SetConnection(const Value: TnxDatabase); -begin - if FConnection <> Value then FConnection := Value; - if FConnection <> nil then FConnection.FreeNotification(Self); -end; - -procedure TUCNexusDBConnector.UCExecSQL(FSQL: String); -var - TempQuery: TnxQuery; -begin - TempQuery:= TnxQuery.Create(nil); - try - TempQuery.Database:= FConnection; - TempQuery.SQL.text := FSQL; - TempQuery.ExecSQL; - finally - FreeAndNil(TempQuery); - end; -end; - -function TUCNexusDBConnector.UCFindDataConnection: Boolean; -begin - Result := (Assigned(FConnection) and (FConnection.Connected)); -end; - -function TUCNexusDBConnector.UCFindTable(const Tablename: String): Boolean; -var - Lista : TStringList; -begin - Lista := TStringList.Create; - try - FConnection.GetTableNames(Lista); - Result := Lista.IndexOf(TableName) > -1; - finally - FreeAndNil(Lista); - end; -end; - -function TUCNexusDBConnector.UCGetSQLDataset(FSQL: String): TDataset; -var - TempQuery : TnxQuery; -begin - TempQuery := TnxQuery.Create(nil); - TempQuery.Database:= FConnection; - with TempQuery do - begin - SQL.text := FSQL; - Open; - end; - Result := TempQuery; -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/UCNexusDBConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/UCNexusDBConnReg.pas deleted file mode 100644 index 8a71536..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/UCNexusDBConnReg.pas +++ /dev/null @@ -1,15 +0,0 @@ -unit UCNexusDBConnReg; - -interface - -uses Classes, UCNexusDBConn; - -procedure Register; - -implementation - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCNexusDBConnector]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/pckUCNexusDBConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/pckUCNexusDBConn.dpk deleted file mode 100644 index f08bd48..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/pckUCNexusDBConn.dpk +++ /dev/null @@ -1,38 +0,0 @@ -package pckUCNexusDBConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} - -requires - rtl, - dbrtl, - pckUCDataConnector, - NexusDB207ll100, - NexusDB207db100, - NexusDB207sd100; - -contains - UCNexusDBConnReg in 'UCNexusDBConnReg.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/pckUCNexusDBConn.res b/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/pckUCNexusDBConn.res deleted file mode 100644 index fd84fb8..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCNexusDBConn/pckUCNexusDBConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/UCODACConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCODACConn/UCODACConn.pas deleted file mode 100644 index 6fbaa55..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/UCODACConn.pas +++ /dev/null @@ -1,119 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCOADCCon - Author: QmD - Date: 23-jun-2007 - Purpose: ODAC Support - - registered in UCODACReg.pas ------------------------------------------------------------------------------} - -unit UCODACConn; - -interface - -uses - SysUtils, Classes, UCBase, DB, DBAccess, Ora; - -type - TUCODACConn = class(TUCDataConn) - private - FConnection : TOraSession; - procedure SetFConnection(Value : TOraSession); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation);override; - 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; - published - property Connection : TOraSession read FConnection write SetFConnection; - end; - -implementation - -{ TUCODACConn } - -procedure TUCODACConn.SetFConnection(Value: TOraSession); -begin - if FConnection <> Value then FConnection := Value; - if FConnection <> nil then FConnection.FreeNotification(Self); -end; - -procedure TUCODACConn.Notification(AComponent: TComponent; - Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - begin - FConnection := nil; - end; - inherited Notification(AComponent, Operation); -end; - -function TUCODACConn.UCFindTable(const TableName: String): Boolean; -var - TempList : TStringList; -begin - try - TempList := TStringList.Create; - FConnection.GetTableNames(TempList); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - FreeAndNil(TempList); - end; -end; - -function TUCODACConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCODACConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then Result := FConnection.Name - else begin - Result := FConnection.Owner.Name+'.'+FConnection.Name; - end; - end else Result := ''; -end; - -function TUCODACConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCODACConn.UCExecSQL(FSQL: String); -Var Query : TOraSql; -begin - Try - Query := TOraSql.create(self); - With Query as TOraSql do - Begin - Connecton := FConnection; - Sql.Add( fSql ); - Execute; - Connecton.Commit; - End; - Finally - FreeAndNil( Query ); - End; -end; - -function TUCODACConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TOraQuery.Create(nil); - with Result as TOraQuery do - begin - Session := FConnection; - SQL.Clear; - Sql.Add(FSQL); - Open; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/UCODACConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCODACConn/UCODACConnReg.pas deleted file mode 100644 index 3ef86c9..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/UCODACConnReg.pas +++ /dev/null @@ -1,17 +0,0 @@ -unit UCODACConnReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCODACConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCODACConn]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/pckODACConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCODACConn/pckODACConn.bdsproj deleted file mode 100644 index 652f77c..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/pckODACConn.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckODACConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/pckODACConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCODACConn/pckODACConn.dpk deleted file mode 100644 index 4ea5346..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/pckODACConn.dpk +++ /dev/null @@ -1,35 +0,0 @@ -package pckODACConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} - -requires - rtl, - dbrtl; - -contains - UCODACConnReg in 'UCODACConnReg.pas', - UCODACConn in 'UCODACConn.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/pckODACConn.res b/internal/2.31RC1/1/Packages/Connectors/UCODACConn/pckODACConn.res deleted file mode 100644 index 3424a68..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCODACConn/pckODACConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/UCUIBConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/UCUIBConn.pas deleted file mode 100644 index 240e1ea..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/UCUIBConn.pas +++ /dev/null @@ -1,146 +0,0 @@ -unit UCUIBConn; - -interface - -uses - Classes, - DB, - jvuib, - jvuibdataset, - jvuibmetadata, - UCDataConnector; - -type - TUCUIBConn = class(TUCDataConnector) - private - FConnection: TJvUIBDataBase; - FTransaction: TJvUIBTransaction; - procedure SetConnection(const Value: TJvUIBDataBase); - procedure SetTransaction(const Value: TJvUIBTransaction); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - public - procedure UCExecSQL(FSQL: String); override; - function UCGetSQLDataset(FSQL: String): TDataset; override; - function UCFindTable(const Tablename: String): Boolean; override; - function UCFindDataConnection: Boolean; override; - function GetDBObjectName: String; override; - function GetTransObjectName: String; override; - published - property Connection: TJvUIBDataBase read FConnection write SetConnection; - property Transaction: TJvUIBTransaction read FTransaction write SetTransaction; - end; - -implementation - -uses - SysUtils; - -{ TUCUIBConn } - -function TUCUIBConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - begin - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end; - end - else - Result := ''; -end; - -function TUCUIBConn.GetTransObjectName: String; -begin - if Assigned(FTransaction) then - begin - if Owner = FTransaction.Owner then - Result := FTransaction.Name - else - begin - Result := FTransaction.Owner.Name + '.' + FTransaction.Name; - end; - end - else - Result := ''; -end; - -procedure TUCUIBConn.Notification(AComponent: TComponent; Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - if (Operation = opRemove) and (AComponent = FTransaction) then - FTransaction := nil; - inherited Notification(AComponent, Operation); -end; - -procedure TUCUIBConn.SetConnection(const Value: TJvUIBDataBase); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -procedure TUCUIBConn.SetTransaction(const Value: TJvUIBTransaction); -begin - FTransaction := Value; - if Value <> nil then - Value.FreeNotification(Self); -end; - -procedure TUCUIBConn.UCExecSQL(FSQL: String); -var - Query: TJvUIBQuery; -begin - try - Query := TJvUIBQuery.Create(nil); - Query.DataBase := FConnection; - Query.Transaction := FTransaction; - Query.SQL.Text := FSQL; - FTransaction.StartTransaction; - Query.ExecSQL; - FTransaction.Commit; - finally - SysUtils.FreeAndNil(Query); - end; -end; - -function TUCUIBConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCUIBConn.UCFindTable(const Tablename: String): Boolean; -var - MetaData: TMetaDataBase; - Table: TMetaTable; -begin - Result := False; - MetaData := TMetaDataBase(FConnection.GetMetadata(True)); - Table := MetaData.FindTableName(Tablename); - if Assigned(Table) then - Result := True; -end; - -function TUCUIBConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - try - Result := TJvUIBDataSet.Create(nil); - with (Result as TJvUIBDataSet) do - begin - DataBase := FConnection; - Transaction := FTransaction; - SQL.Text := FSQL; - Open; - end; - except - SysUtils.FreeAndNil(Result); - end; -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/UCUIBConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/UCUIBConnReg.pas deleted file mode 100644 index c706578..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/UCUIBConnReg.pas +++ /dev/null @@ -1,21 +0,0 @@ -unit UCUIBConnReg; - -interface - -uses - Classes; - -procedure Register; - -implementation - -uses - UCUIBConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCUIBConn]); -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/pckUCUIBConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/pckUCUIBConn.bdsproj deleted file mode 100644 index 47c867d..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/pckUCUIBConn.bdsproj +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - - - - - - pckUCUIBConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control UIB Connector - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - TeeChart Components - JVCL BDE Components - - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/pckUCUIBConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/pckUCUIBConn.dpk deleted file mode 100644 index 2d94322..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/pckUCUIBConn.dpk +++ /dev/null @@ -1,43 +0,0 @@ -package pckUCUIBConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control UIB Connector'} -{$IMPLICITBUILD ON} - -requires - rtl, - vcl, - vclactnband, - dbrtl, - vcldb, - pckUCDataConnector, - JvCoreD10R, - JvUIBD10R; - -contains - UCUIBConn in 'UCUIBConn.pas', - UCUIBConnReg in 'UCUIBConnReg.pas'; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/pckUCUIBConn.res b/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/pckUCUIBConn.res deleted file mode 100644 index fd84fb8..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCUIBConn/pckUCUIBConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/UCZEOSConn.pas b/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/UCZEOSConn.pas deleted file mode 100644 index a8f26c0..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/UCZEOSConn.pas +++ /dev/null @@ -1,127 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCZEOSConn - Author: QmD - Date: 08-nov-2004 - Purpose: ZEOS 6 Support - - registered in UCZEOSReg.pas ------------------------------------------------------------------------------} - -unit UCZEOSConn; - -interface - -{$I 'UserControl.inc'} - -uses - Classes, - DB, - SysUtils, - UCDataConnector, - ZConnection; - -type - TUCZEOSConn = class(TUCDataConnector) - private - FConnection: TZConnection; - procedure SetFConnection(const Value: TZConnection); - protected - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - 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; - published - property Connection: TZConnection read FConnection write SetFConnection; - end; - -implementation - -uses - ZDataset, Dialogs; - -{ TUCZEOSConn } - -procedure TUCZEOSConn.SetFConnection(const Value: TZConnection); -begin - if FConnection <> Value then - FConnection := Value; - if FConnection <> nil then - FConnection.FreeNotification(Self); -end; - -procedure TUCZEOSConn.Notification(AComponent: TComponent; Operation: TOperation); -begin - if (Operation = opRemove) and (AComponent = FConnection) then - FConnection := nil; - inherited Notification(AComponent, Operation); -end; - -function TUCZEOSConn.UCFindTable(const TableName: String): Boolean; -var - TempList: TStringList; -begin - try - TempList := TStringList.Create; - FConnection.GetTableNames('', TempList); - TempList.Text := UpperCase(TempList.Text); - Result := TempList.IndexOf(UpperCase(TableName)) > -1; - finally - FreeAndNil(TempList); - end; -end; - -function TUCZEOSConn.UCFindDataConnection: Boolean; -begin - Result := Assigned(FConnection) and (FConnection.Connected); -end; - -function TUCZEOSConn.GetDBObjectName: String; -begin - if Assigned(FConnection) then - begin - if Owner = FConnection.Owner then - Result := FConnection.Name - else - begin - Result := FConnection.Owner.Name + '.' + FConnection.Name; - end; - end - else - Result := ''; -end; - -function TUCZEOSConn.GetTransObjectName: String; -begin - Result := ''; -end; - -procedure TUCZEOSConn.UCExecSQL(FSQL: String); -begin - with TZQuery.Create(nil) do - begin - Connection := FConnection; - SQL.Text := FSQL; - ExecSQL; - If FConnection.AutoCommit = False then - FConnection.Commit; - Free; - end; -end; - -function TUCZEOSConn.UCGetSQLDataset(FSQL: String): TDataset; -begin - Result := TZQuery.Create(nil); - with Result as TZQuery do - begin - Connection := FConnection; - SQL.Text := FSQL; - Open; - end; -end; - -end. - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/UCZEOSConnReg.pas b/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/UCZEOSConnReg.pas deleted file mode 100644 index 00a0d31..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/UCZEOSConnReg.pas +++ /dev/null @@ -1,17 +0,0 @@ -unit UCZEOSConnReg; - -interface - -uses Classes; - -procedure Register; - -implementation - -uses UCZEOSConn; - -procedure Register; -begin - RegisterComponents('UC Connectors', [TUCZEOSConn]); -end; -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.bdsproj b/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.bdsproj deleted file mode 100644 index 8dae755..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckZeosConn.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control Zeos Connector - - - - C:\WINDOWS\Temp - - - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - - - - False - - - - - - False - - - True - False - - - - $00000000 - C:\Arquivos de programas\Borland\Delphi7\Bin\ - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.dpk b/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.dpk deleted file mode 100644 index 0f15e5d..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.dpk +++ /dev/null @@ -1,36 +0,0 @@ -package pckZeosConn; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control Zeos Connector'} -{$IMPLICITBUILD OFF} - -requires - ZComponentDesign, - pckUCDataConnector; - -contains - UCZEOSConn in 'UCZEOSConn.pas', - UCZEOSConnReg in 'UCZEOSConnReg.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.dproj b/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.dproj deleted file mode 100644 index e87a3c5..0000000 --- a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.dproj +++ /dev/null @@ -1,51 +0,0 @@ - - - - {874a4671-4e5b-4e1c-a73c-fddb167ca5d2} - pckZeosConn.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckZeosConn.bpl - - - 7.0 - False - False - 0 - C:\WINDOWS\Temp - C:\WINDOWS\Temp - C:\WINDOWS\Temp - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - RELEASE - - - 7.0 - C:\WINDOWS\Temp - C:\WINDOWS\Temp - C:\WINDOWS\Temp - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - ;C:\Arquivos de programas\Borland\Componentes\TeeChart.Pro.v7.06\Sources\Compiled\Delphi7\Lib - - - Delphi.Personality - Package - -FalseTrueFalseUser Control Zeos ConnectorFalseFalseFalseC:\Arquivos de programas\Borland\Delphi7\Bin\TrueFalse1000FalseFalseFalseFalseFalse104612521.0.0.01.0.0.0pckZeosConn.dpk - - - - - MainSource - - - - - - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.res b/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.res deleted file mode 100644 index a3a102a..0000000 Binary files a/internal/2.31RC1/1/Packages/Connectors/UCZeosConn/pckZeosConn.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/D2009.groupproj b/internal/2.31RC1/1/Packages/D2009.groupproj deleted file mode 100644 index 40f326d..0000000 --- a/internal/2.31RC1/1/Packages/D2009.groupproj +++ /dev/null @@ -1,74 +0,0 @@ - - - {1c592c69-53bd-49f1-a789-a4ac64f25b09} - - - - - - - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/internal/2.31RC1/1/Packages/ModelSupport_pckMD5/default.txaPackage b/internal/2.31RC1/1/Packages/ModelSupport_pckMD5/default.txaPackage deleted file mode 100644 index e69de29..0000000 diff --git a/internal/2.31RC1/1/Packages/ModelSupport_pckMD5/pckMD5.prjconfig b/internal/2.31RC1/1/Packages/ModelSupport_pckMD5/pckMD5.prjconfig deleted file mode 100644 index c8f2834..0000000 --- a/internal/2.31RC1/1/Packages/ModelSupport_pckMD5/pckMD5.prjconfig +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/ModelSupport_pckUCDataConnector/default.txaPackage b/internal/2.31RC1/1/Packages/ModelSupport_pckUCDataConnector/default.txaPackage deleted file mode 100644 index e69de29..0000000 diff --git a/internal/2.31RC1/1/Packages/ModelSupport_pckUCDataConnector/pckUCDataConnector.prjconfig b/internal/2.31RC1/1/Packages/ModelSupport_pckUCDataConnector/pckUCDataConnector.prjconfig deleted file mode 100644 index c8f2834..0000000 --- a/internal/2.31RC1/1/Packages/ModelSupport_pckUCDataConnector/pckUCDataConnector.prjconfig +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/ModelSupport_pckUserControl_RT/default.txaPackage b/internal/2.31RC1/1/Packages/ModelSupport_pckUserControl_RT/default.txaPackage deleted file mode 100644 index e69de29..0000000 diff --git a/internal/2.31RC1/1/Packages/ModelSupport_pckUserControl_RT/pckUserControl_RT.prjconfig b/internal/2.31RC1/1/Packages/ModelSupport_pckUserControl_RT/pckUserControl_RT.prjconfig deleted file mode 100644 index c8f2834..0000000 --- a/internal/2.31RC1/1/Packages/ModelSupport_pckUserControl_RT/pckUserControl_RT.prjconfig +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/internal/2.31RC1/1/Packages/pckMD5.bdsproj b/internal/2.31RC1/1/Packages/pckMD5.bdsproj deleted file mode 100644 index c4ecafc..0000000 --- a/internal/2.31RC1/1/Packages/pckMD5.bdsproj +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - - - - pckMD5.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - MD5SUM Package - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - TeeChart Components - JVCL BDE Components - - - True - diff --git a/internal/2.31RC1/1/Packages/pckMD5.dpk b/internal/2.31RC1/1/Packages/pckMD5.dpk deleted file mode 100644 index 601c633..0000000 --- a/internal/2.31RC1/1/Packages/pckMD5.dpk +++ /dev/null @@ -1,34 +0,0 @@ -package pckMD5; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'MD5SUM Package'} -{$IMPLICITBUILD OFF} - -requires - rtl; - -contains - md5 in '..\Source\md5.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/pckMD5.dproj b/internal/2.31RC1/1/Packages/pckMD5.dproj deleted file mode 100644 index 48c893d..0000000 --- a/internal/2.31RC1/1/Packages/pckMD5.dproj +++ /dev/null @@ -1,118 +0,0 @@ - - - {d2274d98-f9f6-4f51-9617-6c46e56a95d2} - pckMD5.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckMD5.bpl - 12.0 - Debug - - - true - - - true - Base - true - - - true - Base - true - - - ..\Lib\D12 - ..\Lib\D12 - ..\Lib\D12 - 00400000 - false - MD5SUM Package - ..\Lib\D12\pckMD5.bpl - true - true - 1 - true - - - 7.0 - False - False - 0 - RELEASE;$(DCC_Define) - - - 7.0 - - - Delphi.Personality.12 - Package - - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - TeeChart Components - JVCL BDE Components - - - pckMD5.dpk - - - - 12 - - - - MainSource - - - - - - - - Base - - - Cfg_2 - Base - - - Cfg_1 - Base - - - - diff --git a/internal/2.31RC1/1/Packages/pckMD5.res b/internal/2.31RC1/1/Packages/pckMD5.res deleted file mode 100644 index fd84fb8..0000000 Binary files a/internal/2.31RC1/1/Packages/pckMD5.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/pckUCDataConnector.bdsproj b/internal/2.31RC1/1/Packages/pckUCDataConnector.bdsproj deleted file mode 100644 index f54a1f5..0000000 --- a/internal/2.31RC1/1/Packages/pckUCDataConnector.bdsproj +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - - - pckUCDataConnector.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control DataConn - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - TeeChart Components - JVCL BDE Components - - - - - True - diff --git a/internal/2.31RC1/1/Packages/pckUCDataConnector.dpk b/internal/2.31RC1/1/Packages/pckUCDataConnector.dpk deleted file mode 100644 index 813930d..0000000 --- a/internal/2.31RC1/1/Packages/pckUCDataConnector.dpk +++ /dev/null @@ -1,36 +0,0 @@ -package pckUCDataConnector; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control DataConn'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - rtl, - dbrtl; - -contains - UCDataConnector in '..\Source\UCDataConnector.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/pckUCDataConnector.dproj b/internal/2.31RC1/1/Packages/pckUCDataConnector.dproj deleted file mode 100644 index d0b56ff..0000000 --- a/internal/2.31RC1/1/Packages/pckUCDataConnector.dproj +++ /dev/null @@ -1,121 +0,0 @@ - - - {32671bc6-e575-4ad0-9f27-6e30a6d8f220} - pckUCDataConnector.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckUCDataConnector.bpl - 12.0 - Debug - - - true - - - true - Base - true - - - true - Base - true - - - ..\Lib\D12 - ..\Lib\D12;$(DCC_UnitSearchPath) - ..\Lib\D12 - ..\Lib\D12 - ..\Lib\D12\pckUCDataConnector.bpl - 00400000 - User Control DataConn - true - false - true - true - 1 - true - - - 7.0 - False - False - 0 - RELEASE;$(DCC_Define) - - - 7.0 - - - Delphi.Personality.12 - Package - - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - TeeChart Components - JVCL BDE Components - - - pckUCDataConnector.dpk - - - - 12 - - - - MainSource - - - - - - - - - Base - - - Cfg_2 - Base - - - Cfg_1 - Base - - - - diff --git a/internal/2.31RC1/1/Packages/pckUCDataConnector.res b/internal/2.31RC1/1/Packages/pckUCDataConnector.res deleted file mode 100644 index fd84fb8..0000000 Binary files a/internal/2.31RC1/1/Packages/pckUCDataConnector.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/pckUCGlobal.bdsproj b/internal/2.31RC1/1/Packages/pckUCGlobal.bdsproj deleted file mode 100644 index 561c496..0000000 --- a/internal/2.31RC1/1/Packages/pckUCGlobal.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckUCGlobal.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/Packages/pckUCGlobal.dpk b/internal/2.31RC1/1/Packages/pckUCGlobal.dpk deleted file mode 100644 index 80bd32b..0000000 --- a/internal/2.31RC1/1/Packages/pckUCGlobal.dpk +++ /dev/null @@ -1,40 +0,0 @@ -package pckUCGlobal; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$IMPLICITBUILD OFF} - -requires - rtl, - vcl, - dbrtl, - vclactnband, - dclindy, - indy, - vcldb, - pckMD5, - pckUCDataConnector, - VclSmp, - pckUserControl_RT; - -end. diff --git a/internal/2.31RC1/1/Packages/pckUCGlobal.res b/internal/2.31RC1/1/Packages/pckUCGlobal.res deleted file mode 100644 index 3424a68..0000000 Binary files a/internal/2.31RC1/1/Packages/pckUCGlobal.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/pckUserControl_DT.bdsproj b/internal/2.31RC1/1/Packages/pckUserControl_DT.bdsproj deleted file mode 100644 index b91ca3f..0000000 --- a/internal/2.31RC1/1/Packages/pckUserControl_DT.bdsproj +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - - - - - pckUserControl_DT.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control Package 2 - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 2 - 3 - 2 - 0 - False - False - False - False - False - 1046 - 1252 - - - UserControl - UserControl 2.30 RC2 - 2.3.2.0 - pkUserControl_DT - - - - - 2.3.2.0 - www.usercontrol.net - - - - - False - diff --git a/internal/2.31RC1/1/Packages/pckUserControl_DT.dpk b/internal/2.31RC1/1/Packages/pckUserControl_DT.dpk deleted file mode 100644 index e0597aa..0000000 --- a/internal/2.31RC1/1/Packages/pckUserControl_DT.dpk +++ /dev/null @@ -1,48 +0,0 @@ -package pckUserControl_DT; - -{$R *.res} -{$R '..\Source\UCReg.dcr'} -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control Package 2'} -{$DESIGNONLY} -{$IMPLICITBUILD OFF} - -requires - designide, - inet, - dbrtl, - vcldb, - VclSmp, - pckMD5, - pckUCDataConnector, - pckUSerControl_RT, - vcljpg; - -contains - UCReg in '..\Source\UCReg.pas', - UCObjSel_U in '..\Source\UCObjSel_U.pas', - UCAbout in '..\Source\UCAbout.pas', - UCIdle in '..\Source\UCIdle.pas', - UCEditorForm_U in '..\Source\UCEditorForm_U.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/pckUserControl_DT.dproj b/internal/2.31RC1/1/Packages/pckUserControl_DT.dproj deleted file mode 100644 index 3c20e32..0000000 --- a/internal/2.31RC1/1/Packages/pckUserControl_DT.dproj +++ /dev/null @@ -1,129 +0,0 @@ - - - {a30f53db-e475-4ad9-a852-f9ebf338bf98} - pckUserControl_DT.dpk - Debug - AnyCPU - DCC32 - C:\Users\Public\Documents\RAD Studio\5.0\Bpl\pckUserControl_DT.bpl - 12.0 - Debug - - - true - - - true - Base - true - - - true - Base - true - - - ..\Lib\D12 - ..\Lib\D12 - ..\Lib\D12;$(DCC_UnitSearchPath) - ..\Lib\D12 - 00400000 - true - User Control Package 2 - ..\Lib\D12\pckUserControl_DT.bpl - true - true - 1 - true - - - 7.0 - False - False - 0 - RELEASE;$(DCC_Define) - - - 7.0 - - - Delphi.Personality.12 - Package - - - - False - True - False - - - True - False - 2 - 3 - 2 - 0 - False - False - False - False - False - 1046 - 1252 - - - UserControl - UserControl 2.30 RC2 - 2.3.2.0 - pkUserControl_DT - - - - - 2.3.2.0 - www.usercontrol.net - - - WL Decision Cube Components - - - pckUserControl_DT.dpk - - - - 12 - - - - MainSource - - - - - - - - - - - - - - - - - - - Base - - - Cfg_2 - Base - - - Cfg_1 - Base - - - - diff --git a/internal/2.31RC1/1/Packages/pckUserControl_DT.res b/internal/2.31RC1/1/Packages/pckUserControl_DT.res deleted file mode 100644 index 502e9bf..0000000 Binary files a/internal/2.31RC1/1/Packages/pckUserControl_DT.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/pckUserControl_DT_D12.dpk b/internal/2.31RC1/1/Packages/pckUserControl_DT_D12.dpk deleted file mode 100644 index a3f5ccf..0000000 --- a/internal/2.31RC1/1/Packages/pckUserControl_DT_D12.dpk +++ /dev/null @@ -1,48 +0,0 @@ -package pckUserControl_DT_D12; - -{$R *.res} -{$R '..\Source\UCReg.dcr'} -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control Package 2'} -{$DESIGNONLY} -{$IMPLICITBUILD OFF} - -requires - designide, - inet, - dbrtl, - vcldb, - VclSmp, - pckMD5, - pckUCDataConnector, - pckUSerControl_RT, - vclimg; - -contains - UCReg in '..\Source\UCReg.pas', - UCObjSel_U in '..\Source\UCObjSel_U.pas', - UCAbout in '..\Source\UCAbout.pas', - UCIdle in '..\Source\UCIdle.pas', - UCEditorForm_U in '..\Source\UCEditorForm_U.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/pckUserControl_DT_D12.dproj b/internal/2.31RC1/1/Packages/pckUserControl_DT_D12.dproj deleted file mode 100644 index 5777f02..0000000 --- a/internal/2.31RC1/1/Packages/pckUserControl_DT_D12.dproj +++ /dev/null @@ -1,129 +0,0 @@ - - - {a30f53db-e475-4ad9-a852-f9ebf338bf98} - pckUserControl_DT_D12.dpk - Debug - AnyCPU - DCC32 - C:\Users\Public\Documents\RAD Studio\5.0\Bpl\pckUserControl_DT.bpl - 12.0 - Debug - - - true - - - true - Base - true - - - true - Base - true - - - ..\Lib\D12 - ..\Lib\D12 - ..\Lib\D12;$(DCC_UnitSearchPath) - ..\Lib\D12 - 00400000 - true - User Control Package 2 - ..\Lib\D12\pckUserControl_DT_D12.bpl - true - true - 1 - true - - - 7.0 - False - False - 0 - RELEASE;$(DCC_Define) - - - 7.0 - - - Delphi.Personality.12 - Package - - - - False - True - False - - - True - False - 2 - 3 - 2 - 0 - False - False - False - False - False - 1046 - 1252 - - - UserControl - UserControl 2.30 RC2 - 2.3.2.0 - pkUserControl_DT - - - - - 2.3.2.0 - www.usercontrol.net - - - WL Decision Cube Components - - - pckUserControl_DT_D12.dpk - - - - 12 - - - - MainSource - - - - - - - - - - - - - - - - - - - Base - - - Cfg_2 - Base - - - Cfg_1 - Base - - - - diff --git a/internal/2.31RC1/1/Packages/pckUserControl_DT_D12.res b/internal/2.31RC1/1/Packages/pckUserControl_DT_D12.res deleted file mode 100644 index 502e9bf..0000000 Binary files a/internal/2.31RC1/1/Packages/pckUserControl_DT_D12.res and /dev/null differ diff --git a/internal/2.31RC1/1/Packages/pckUserControl_RT.bdsproj b/internal/2.31RC1/1/Packages/pckUserControl_RT.bdsproj deleted file mode 100644 index 84dc8ef..0000000 --- a/internal/2.31RC1/1/Packages/pckUserControl_RT.bdsproj +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - - - - - pckUserControl_RT.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - User Control Package 2 - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - WL Decision Cube Components - - - - - True - diff --git a/internal/2.31RC1/1/Packages/pckUserControl_RT.dpk b/internal/2.31RC1/1/Packages/pckUserControl_RT.dpk deleted file mode 100644 index 9c71e00..0000000 --- a/internal/2.31RC1/1/Packages/pckUserControl_RT.dpk +++ /dev/null @@ -1,65 +0,0 @@ -package pckUserControl_RT; - -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'User Control Package 2'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - designide, - inet, - dbrtl, - vcldb, - VclSmp, - pckMD5, - pckUCDataConnector, - vcl, - rtl, - vclx; - -contains - TrocaSenha_U in '..\Source\TrocaSenha_U.pas', - UCBase in '..\Source\UCBase.pas', - SenhaForm_U in '..\Source\SenhaForm_U.pas', - EnvMsgForm_U in '..\Source\EnvMsgForm_U.pas', - MsgRecForm_U in '..\Source\MsgRecForm_U.pas', - MsgsForm_U in '..\Source\MsgsForm_U.pas', - UCDataInfo in '..\Source\UCDataInfo.pas', - UCMessages in '..\Source\UCMessages.pas', - UserPermis_U in '..\Source\UserPermis_U.pas', - UCSettings in '..\Source\UCSettings.pas', - LoginWindow_U in '..\Source\LoginWindow_U.pas', - UcConsts_Language in '..\Source\UcConsts_Language.pas', - pUCGeral in '..\Source\pUCGeral.pas', - pUCFrame_User in '..\Source\pUCFrame_User.pas', - pUCFrame_Profile in '..\Source\pUCFrame_Profile.pas', - pUCFrame_Log in '..\Source\pUCFrame_Log.pas' {UCFrame_Log}, - pUcFrame_UserLogged in '..\Source\pUcFrame_UserLogged.pas' {UCFrame_UsersLogged}, - UCMail in '..\Source\UCMail.pas', - UCEMailForm_U in '..\Source\UCEMailForm_U.pas', - UCALSMTPClient in '..\Source\UCALSMTPClient.pas', - IncUser_U in '..\Source\IncUser_U.pas', - IncPerfil_U in '..\Source\IncPerfil_U.pas'; - -end. diff --git a/internal/2.31RC1/1/Packages/pckUserControl_RT.dproj b/internal/2.31RC1/1/Packages/pckUserControl_RT.dproj deleted file mode 100644 index 77b2cc9..0000000 --- a/internal/2.31RC1/1/Packages/pckUserControl_RT.dproj +++ /dev/null @@ -1,157 +0,0 @@ - - - {0e9c6372-292f-47d7-b235-70ab25776f3b} - pckUserControl_RT.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckUserControl_RT.bpl - 12.0 - Debug - - - true - - - true - Base - true - - - true - Base - true - - - ..\Lib\D12 - ..\Lib\D12;$(DCC_UnitSearchPath) - ..\Lib\D12 - ..\Lib\D12 - ..\Lib\D12\pckUserControl_RT.bpl - 00400000 - User Control Package 2 - true - false - true - true - 1 - true - - - 7.0 - False - False - 0 - RELEASE;$(DCC_Define) - True - True - True - - - 7.0 - True - True - True - - - Delphi.Personality.12 - Package - - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - WL Decision Cube Components - - - pckUserControl_RT.dpk - - - - 12 - - - - MainSource - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UCFrame_Log
-
- -
UCFrame_UsersLogged
-
- - - - - - - - Base - - - Cfg_2 - Base - - - Cfg_1 - Base - -
- -
diff --git a/internal/2.31RC1/1/Packages/pckUserControl_RT.res b/internal/2.31RC1/1/Packages/pckUserControl_RT.res deleted file mode 100644 index fd84fb8..0000000 Binary files a/internal/2.31RC1/1/Packages/pckUserControl_RT.res and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCADOConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCADOConn.bmp deleted file mode 100644 index 6e2460a..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCADOConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCASTAConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCASTAConn.bmp deleted file mode 100644 index 4ab2924..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCASTAConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCAppMessage.bmp b/internal/2.31RC1/1/Source/Dcr/UCAppMessage.bmp deleted file mode 100644 index 56dc64e..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCAppMessage.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCBDEConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCBDEConn.bmp deleted file mode 100644 index cf17266..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCBDEConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCControls.bmp b/internal/2.31RC1/1/Source/Dcr/UCControls.bmp deleted file mode 100644 index b760f3a..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCControls.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCDBISAMConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCDBISAMConn.bmp deleted file mode 100644 index c0244da..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCDBISAMConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCDBXConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCDBXConn.bmp deleted file mode 100644 index 1470e9a..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCDBXConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCFIBConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCFIBConn.bmp deleted file mode 100644 index dc9869b..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCFIBConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCIBOConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCIBOConn.bmp deleted file mode 100644 index 8f5965a..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCIBOConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCIBXConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCIBXConn.bmp deleted file mode 100644 index 29ab05f..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCIBXConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCIdle.bmp b/internal/2.31RC1/1/Source/Dcr/UCIdle.bmp deleted file mode 100644 index 124cb68..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCIdle.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCMDOConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCMDOConn.bmp deleted file mode 100644 index 93d8a5e..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCMDOConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCMail.bmp b/internal/2.31RC1/1/Source/Dcr/UCMail.bmp deleted file mode 100644 index 0cffa95..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCMail.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCMain.bmp b/internal/2.31RC1/1/Source/Dcr/UCMain.bmp deleted file mode 100644 index a910400..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCMain.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCMidasConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCMidasConn.bmp deleted file mode 100644 index 749299a..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCMidasConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCMyDACConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCMyDACConn.bmp deleted file mode 100644 index 6ec4ef5..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCMyDACConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCMySQLDACConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCMySQLDACConn.bmp deleted file mode 100644 index fe78af3..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCMySQLDACConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCReg.dcr b/internal/2.31RC1/1/Source/Dcr/UCReg.dcr deleted file mode 100644 index 137f24a..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCReg.dcr and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCReg.rc b/internal/2.31RC1/1/Source/Dcr/UCReg.rc deleted file mode 100644 index f42f613..0000000 --- a/internal/2.31RC1/1/Source/Dcr/UCReg.rc +++ /dev/null @@ -1,21 +0,0 @@ -TUCAPPLICATIONMESSAGE BITMAP "UCAppMessage.bmp" -TUCSETTINGS BITMAP "UCSettings.bmp" -TUCCONTROLS BITMAP "UCControls.bmp" -TMAILUSERCONTROL BITMAP "UCMail.bmp" -TUCXPSTYLE BITMAP "UCXp.bmp" -TUCIDLE BITMAP "UCIdle.bmp" -TUSERCONTROL BITMAP "UCMain.bmp" -TUCADOCONN BITMAP "UCADOConn.bmp" -TUCIBXCONN BITMAP "UCIBXConn.bmp" -TUCBDECONN BITMAP "UCBDEConn.bmp" -TUCDBXCONN BITMAP "UCDBXConn.bmp" -TUCIBOCONN BITMAP "UCIBOConn.bmp" -TUCFIBCONN BITMAP "UCFIBConn.bmp" -TUCZEOSCONN BITMAP "UCZEOSConn.bmp" -TUCASTACONN BITMAP "UCASTAConn.bmp" -TUCDBISAMCONN BITMAP "UCDBISAMConn.bmp" -TUCMDOCONN BITMAP "UCMDOConn.bmp" -TUCMYDACCONN BITMAP "UCMyDACConn.bmp" -TUCMYSQLDACCONN BITMAP "UCMySQLDACConn.bmp" -TUCMIDASCONN BITMAP "UCMidasConn.bmp" -TUCODACConn BITMAP "UODACConn.bmp" \ No newline at end of file diff --git a/internal/2.31RC1/1/Source/Dcr/UCSettings.bmp b/internal/2.31RC1/1/Source/Dcr/UCSettings.bmp deleted file mode 100644 index 6017c40..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCSettings.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCXp.bmp b/internal/2.31RC1/1/Source/Dcr/UCXp.bmp deleted file mode 100644 index a7de19c..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCXp.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UCZEOSConn.bmp b/internal/2.31RC1/1/Source/Dcr/UCZEOSConn.bmp deleted file mode 100644 index 7452700..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UCZEOSConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/UODACConn.bmp b/internal/2.31RC1/1/Source/Dcr/UODACConn.bmp deleted file mode 100644 index 4ed6161..0000000 Binary files a/internal/2.31RC1/1/Source/Dcr/UODACConn.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/Source/Dcr/make.bat b/internal/2.31RC1/1/Source/Dcr/make.bat deleted file mode 100644 index 47515b0..0000000 --- a/internal/2.31RC1/1/Source/Dcr/make.bat +++ /dev/null @@ -1 +0,0 @@ -brc32 -foUCReg.dcr -r -t UCReg.rc \ No newline at end of file diff --git a/internal/2.31RC1/1/Source/EnvMsgForm_U.dfm b/internal/2.31RC1/1/Source/EnvMsgForm_U.dfm deleted file mode 100644 index 3fd2c8f..0000000 --- a/internal/2.31RC1/1/Source/EnvMsgForm_U.dfm +++ /dev/null @@ -1,343 +0,0 @@ -object EnvMsgForm: TEnvMsgForm - Left = 304 - Top = 204 - BorderStyle = bsDialog - Caption = 'Mensagem' - ClientHeight = 364 - ClientWidth = 377 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - OnCreate = FormCreate - PixelsPerInch = 96 - TextHeight = 13 - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 377 - Height = 35 - Align = alTop - BevelOuter = bvLowered - Color = clWhite - TabOrder = 0 - object lbTitulo: TLabel - Left = 48 - Top = 10 - Width = 205 - Height = 18 - Caption = 'Enviar Nova Mensagem' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Verdana' - Font.Style = [fsBold] - ParentFont = False - end - object Image1: TImage - Left = 8 - Top = 4 - Width = 28 - Height = 28 - AutoSize = True - Picture.Data = { - 07544269746D6170760C0000424D760C00000000000036000000280000001C00 - 00001C0000000100200000000000400C00000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300694731006947 - 3100694731006947310069473100694731006947310069473100694731006947 - 3100694731006947310069473100694731006947310069473100694731006947 - 310069473100694731006947310069473100694731006947310069473100FFFF - FF00FFFFFF00C7B2A300DBC9BF00B7A29300B7A29300B7A29300B7A29300B7A2 - 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2 - 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2 - 9300B7A29300B7A2930069473100FFFFFF00FFFFFF00C7B2A300B7A29300DFD0 - C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0 - C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0 - C700DFD0C700DFD0C700DFD0C700DFD0C700DFD0C700CE99970069473100FFFF - FF00FFFFFF00C7B2A300DBC9BF00B7A29300E4D7CF00E4D7CF00E4D7CF00E4D7 - CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7 - CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7 - CF00B7A29300B7A2930069473100FFFFFF00FFFFFF00C7B2A300DECEC500DECE - C500B7A29300E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DE - D700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DE - D700E9DED700E9DED700E9DED700B7A29300DECEC500B7A2930069473100FFFF - FF00FFFFFF00C7B2A300E2D4CC00E2D4CC00E2D4CC00B7A29300EDE4DF00EDE4 - DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4 - DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A29300E2D4 - CC00E2D4CC00B7A2930069473100FFFFFF00FFFFFF00C7B2A300E6D9D200E6D9 - D200E6D9D200E6D9D200B7A29300F0E9E500F0E9E500F0E9E500F0E9E500F0E9 - E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9 - E500F0E9E500B7A29300E6D9D200E6D9D200E6D9D200B7A2930069473100FFFF - FF00FFFFFF00C7B2A300EADFD900EADFD900EADFD900EADFD900EADFD900B7A2 - 9300F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EF - EC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00B7A29300EADFD900EADFD900EADF - D900EADFD900B7A2930069473100FFFFFF00FFFFFF00C7B2A300EDE4DF00EDE4 - DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A29300F8F4F200F8F4F200F8F4 - F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200B7A2 - 9300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A2930069473100FFFF - FF00FFFFFF00C7B2A300F0E8E400F0E8E400F0E8E400F0E8E400F0E8E400F0E8 - E400B7A29300B7A29300FCFAF900FCFAF900FCFAF900FCFAF900FCFAF900FCFA - F900FCFAF900FCFAF900B7A29300B7A29300F0E8E400F0E8E400F0E8E400F0E8 - E400F0E8E400B7A2930069473100FFFFFF00FFFFFF00C7B2A300F3EDE900F3ED - E900F3EDE900F3EDE900F3EDE900B7A29300DDC5C200DDC5C200B7A29300DDC5 - C200FFFFFF00FFFFFF00FFFFFF00FFFFFF00DDC5C200B7A29300DDC5C200DDC5 - C200B7A29300F3EDE900F3EDE900F3EDE900F3EDE900B7A2930069473100FFFF - FF00FFFFFF00C7B2A300F6F1EF00F6F1EF00F6F1EF00F6F1EF00B7A29300DDC5 - C200FBF9F700F7F4F100DDC5C200C7B2A300B7A29300B7A29300B7A29300B7A2 - 9300C7B2A300DDC5C200DCCBC100DBC9BF00DDC5C200B7A29300F6F1EF00F6F1 - EF00F6F1EF00B7A2930069473100FFFFFF00FFFFFF00C7B2A300F9F6F400F9F6 - F400F9F6F400B7A29300DDC5C200FFFFFF00FEFDFC00FBF9F700F7F4F100EEE0 - E000EEE0E000EEE0E000EEE0E000EEE0E000EEE0E000E4D7CF00E1D2C900DECD - C400DBC9BF00DDC5C200B7A29300F9F6F400F9F6F400B7A2930069473100FFFF - FF00FFFFFF00C7B2A300FCFBFA00FCFBFA00B7A29300C8B3A400FFFFFF00FFFF - FF00B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2 - 9300B7A29300B7A29300B7A29300B7A29300DECDC400DBC9BF00D2C0B300B7A2 - 9300FCFBFA00B7A2930069473100FFFFFF00FFFFFF00C7B2A300FFFFFF00B8A3 - 9400DDC5C200C8B3A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFB - F900F9F6F400F6F2EF00F3EDE900F0E8E400EDE4DF00EAE0D900E7DBD400E4D7 - CF00E1D2C900DECDC400D2BFB200DDC5C200B7A29300FFFFFF0069473100FFFF - FF00FFFFFF00C7B2A300B7A29300DDC5C20027A5E900C8B3A400FFFFFF00FFFF - FF00B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2 - 9300B7A29300B7A29300B7A29300B7A29300E4D7CF00E1D2C900D1BEB10027A5 - E900DDC5C200B7A2930069473100FFFFFF00FFFFFF00C7B2A300DDC5C20027A5 - E90027A5E900C8B3A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FCFBF900F9F6F400F6F2EF00F3EDE900F0E8E400EDE4DF00EAE0 - D900E7DBD400E4D7CF00D1BEB10027A5E90027A5E900B7A2930069473100FFFF - FF00FFFFFF00FFFFFF00C7B2A300DDC5C20047B6FF00C8B3A400FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFBF900F9F6 - F400F6F2EF00F3EDE900F0E8E400EDE4DF00EAE0D900E7DBD400D0BDB00047B6 - FF00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2 - A300DDC5C200C8B3A400C8B3A400C8B3A400C8B3A400C8B3A400C8B3A400C9B4 - A500C9B5A600CAB6A700CBB6A800CBB7A900CCB8AA00CCB9AB00CDB9AB00CEBA - AC00CEBBAD00CFBBAE00CFBCAF00BCA7980069473100FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DDC5C200DBF3FA00DBF3 - FA00DBF3FA00D4F0FA00C7EBFB00B9E5FB00ACDFFB009ED9FC0091D4FC0082CE - FD0073C8FD0064C2FE0055BCFE0047B6FF0047B6FF0047B6FF00BBA697007353 - 3E00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00C7B2A300EEE0E000DBF3FA00DBF3FA00DBF3FA00D4F0FA00C7EB - FB00B9E5FB00B2E2FB00A5DCFC0097D6FC0089D1FC007BCBFD006CC5FD005DBF - FE004EB9FE00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300EEE0 - E000DBF3FA00DBF3FA00DBF3FA00DBF3FA00CDEDFA00C0E8FB00B2E2FB00A5DC - FC0097D6FC0089D1FC007BCBFD006CC5FD00B7A2930069473100FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00C7B2A300EEE0E000DBF3FA00DBF3FA00DBF3 - FA00DBF3FA00CDEDFA00C0E8FB00B2E2FB00A5DCFC0097D6FC0089D1FC00B7A2 - 930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00C7B2A300EEE0E000DBF3FA00DBF3FA00DBF3FA00DBF3FA00CDEDFA00C0E8 - FB00B2E2FB00A5DCFC00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300EEE0E000EEE0 - E000EEE0E000EEE0E000EEE0E000EEE0E000DDC5C200B7A2930069473100FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00C7B2A300C7B2A300C7B2A300C7B2A300C7B2A300C7B2 - A300C7B2A300C7B2A300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00} - end - end - object gbPara: TGroupBox - Left = 8 - Top = 40 - Width = 361 - Height = 81 - Caption = 'Para' - TabOrder = 1 - object rbUsuario: TRadioButton - Left = 40 - Top = 24 - Width = 80 - Height = 17 - Caption = 'Usu'#225'rio :' - Checked = True - TabOrder = 0 - TabStop = True - OnClick = rbUsuarioClick - end - object rbTodos: TRadioButton - Left = 40 - Top = 56 - Width = 113 - Height = 17 - Caption = 'Todos' - TabOrder = 1 - OnClick = rbUsuarioClick - end - object dbUsuario: TDBLookupComboBox - Left = 120 - Top = 18 - Width = 217 - Height = 21 - BevelEdges = [] - BevelInner = bvNone - BevelOuter = bvNone - KeyField = 'IdUser' - ListField = 'Nome' - ListSource = DataSource1 - TabOrder = 2 - OnCloseUp = dbUsuarioCloseUp - end - end - object gbMensagem: TGroupBox - Left = 8 - Top = 128 - Width = 361 - Height = 201 - Caption = 'Mensagem' - TabOrder = 2 - object lbAssunto: TLabel - Left = 24 - Top = 24 - Width = 38 - Height = 13 - Caption = 'Assunto' - end - object lbMensagem: TLabel - Left = 24 - Top = 72 - Width = 52 - Height = 13 - Caption = 'Mensagem' - end - object EditAssunto: TEdit - Left = 24 - Top = 40 - Width = 313 - Height = 21 - MaxLength = 50 - TabOrder = 0 - end - object MemoMsg: TMemo - Left = 24 - Top = 88 - Width = 313 - Height = 97 - MaxLength = 255 - ScrollBars = ssBoth - TabOrder = 1 - end - end - object btEnvia: TBitBtn - Left = 93 - Top = 336 - Width = 79 - Height = 25 - Caption = '&Enviar' - TabOrder = 3 - OnClick = btEnviaClick - Glyph.Data = { - 42040000424D4204000000000000420000002800000020000000100000000100 - 1000030000000004000000000000000000000000000000000000007C0000E003 - 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C45261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C94521F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C4526862645261F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C9452D65A94521F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C673286268626862645261F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7CD65AD65AD65AD65A94521F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C45268626C62A862E862645261F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C9452D65AF75ED65AD65A94521F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C47328626C62A252E252EC62A8822C62A1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7CB556D65AF75EB556B556F75ED65AF75E1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C4526C62A252E1F7C1F7C252EC62A45261F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C9452F75EB5561F7C1F7CB556F75E94521F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C252E1F7C1F7C1F7C1F7C252EC62A45261F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7CB5561F7C1F7C1F7C1F7CB556F75E94521F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252EC62AC62A1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556F75EF75E1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E8626 - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E - 86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556 - D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 252E86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - B556D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C252E1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7CB5561F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C} - NumGlyphs = 2 - end - object btCancela: TBitBtn - Left = 205 - Top = 336 - Width = 79 - Height = 25 - Cancel = True - Caption = 'Cancelar' - TabOrder = 4 - OnClick = btCancelaClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - end - object DataSource1: TDataSource - Left = 144 - Top = 96 - end -end diff --git a/internal/2.31RC1/1/Source/EnvMsgForm_U.pas b/internal/2.31RC1/1/Source/EnvMsgForm_U.pas deleted file mode 100644 index a915610..0000000 --- a/internal/2.31RC1/1/Source/EnvMsgForm_U.pas +++ /dev/null @@ -1,116 +0,0 @@ -unit EnvMsgForm_U; - -interface - -{$I 'UserControl.inc'} - -uses -{$IFDEF DELPHI5_UP} - Variants, -{$ENDIF} - Buttons, - Classes, - Controls, - DB, - DBCtrls, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Messages, - StdCtrls, - SysUtils, - UCBase, - Windows; - -type - TEnvMsgForm = class(TForm) - Panel1: TPanel; - lbTitulo: TLabel; - Image1: TImage; - gbPara: TGroupBox; - rbUsuario: TRadioButton; - rbTodos: TRadioButton; - dbUsuario: TDBLookupComboBox; - gbMensagem: TGroupBox; - lbAssunto: TLabel; - lbMensagem: TLabel; - EditAssunto: TEdit; - MemoMsg: TMemo; - btEnvia: TBitBtn; - btCancela: TBitBtn; - DataSource1: TDataSource; - procedure btCancelaClick(Sender: TObject); - procedure dbUsuarioCloseUp(Sender: TObject); - procedure rbUsuarioClick(Sender: TObject); - procedure btEnviaClick(Sender: TObject); - procedure FormCreate(Sender: TObject); //added by fduenas - private - { Private declarations } - public - { Public declarations } - end; - -var - EnvMsgForm: TEnvMsgForm; - -implementation - -uses - MsgsForm_U, - UCMessages; - -{$R *.dfm} - -procedure TEnvMsgForm.btCancelaClick(Sender: TObject); -begin - Close; -end; - -procedure TEnvMsgForm.dbUsuarioCloseUp(Sender: TObject); -begin - if dbUsuario.KeyValue <> null then - rbUsuario.Checked := True; -end; - -procedure TEnvMsgForm.rbUsuarioClick(Sender: TObject); -begin - if not rbUsuario.Checked then - dbUsuario.KeyValue := null; -end; - -procedure TEnvMsgForm.btEnviaClick(Sender: TObject); -begin - if rbUsuario.Checked then - TUCApplicationMessage(MsgsForm.Owner).SendAppMessage(MsgsForm.DSUsuarios.FieldByName('IdUser').AsInteger, EditAssunto.Text, MemoMsg.Text) - else - with MsgsForm.DSUsuarios do - begin - First; - while not EOF do - begin - TUCApplicationMessage(MsgsForm.Owner).SendAppMessage(FieldByName('IdUser').AsInteger, EditAssunto.Text, MemoMsg.Text); - Next; - end; - end; - Close; -end; - -procedure TEnvMsgForm.FormCreate(Sender: TObject); -begin - with TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages do - begin - Self.Caption := MsgSend_WindowCaption; - lbTitulo.Caption := MsgSend_Title; - gbpara.Caption := MsgSend_GroupTo; - rbUsuario.Caption := MsgSend_RadioUser; - rbTodos.Caption := MsgSend_RadioAll; - gbMensagem.Caption := MsgSend_GroupMessage; - lbAssunto.Caption := MsgSend_LabelSubject; - lbMensagem.Caption := MsgSend_LabelMessageText; - btCancela.Caption := MsgSend_BtCancel; - btEnvia.Caption := MsgSend_BtSend; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Source/IncPerfil_U.dfm b/internal/2.31RC1/1/Source/IncPerfil_U.dfm deleted file mode 100644 index 843b1a7..0000000 --- a/internal/2.31RC1/1/Source/IncPerfil_U.dfm +++ /dev/null @@ -1,307 +0,0 @@ -object frmIncluirPerfil: TfrmIncluirPerfil - Left = 232 - Top = 319 - BorderStyle = bsDialog - Caption = 'Perfil de Usu'#225'rios' - ClientHeight = 132 - ClientWidth = 434 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - PixelsPerInch = 96 - TextHeight = 13 - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 434 - Height = 35 - Align = alTop - BevelOuter = bvNone - Color = clWhite - TabOrder = 1 - object LbDescricao: TLabel - Left = 45 - Top = 10 - Width = 132 - Height = 18 - Caption = 'Adicionar Perfil' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Verdana' - Font.Style = [fsBold] - ParentFont = False - end - object Image1: TImage - Left = 8 - Top = 4 - Width = 28 - Height = 28 - AutoSize = True - Picture.Data = { - 07544269746D6170760C0000424D760C00000000000036000000280000001C00 - 00001C0000000100200000000000400C00000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00AB937F00755944007559440075594400755A4500755A4500755A4600775B - 4700775C4700785C4700785C4700795D48007A5D49007B5E49007C5F4A007C60 - 4A007D604B007E614C007E614C00795B4500FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00AB937F00755D4C00795E4B007A5F4C007A5F - 4C007C624F007F6351008266530085695500886C59008B705B008B705B008E72 - 5E009176610094786500987C67009B7E6A009D806D009F836E00A0836E009979 - 63005E412D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007259 - 47007F624D0080634F00836652008366520085695500896C58008C6F5A009073 - 5E0093776200977B6600977B66009A7E69009F826D00A2867100A6897400A98C - 7800AC8F7A00B1937F00B7998200997962005D402C00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00A089790097827300826A5800826A5800826A5800826A - 5800826A5800826A5800826A5800826A5800826A5800826A5800826A5800826A - 5800826A5800826A5800826A5800826A5800826A5800826A5800B2947E009979 - 62005E412D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAFA400F7EB - E500FEF7F200FFF7F300FFF3ED00FFF3ED00FFEEE500FFEADE00FEE4D600FDE0 - CF00FEDDCB00FEDCC800FEDCC800FFD9C300FFD6BF00FFD4BB00FFD0B500FFCF - B300FEC7A800DAA88B00B79279009D7C65005F422E00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00C4B5AB00E7DBD200FFF5F000FFF5F000FFF5EF00FFF5 - EF00357821000060000000600000006000000060000000600000006000000060 - 00000060000000600000FFD5BC00FFD2B700FECCAF00F6BF9E00C09D8600A07E - 660060432F00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F3F0EE00BFAF - A400FFF6F200FFF6F200FFF5F000357821003A6D23003A6D2300347A20002F85 - 1E002C8C1D002B8E1D002C8A1D0030821F00367721003C69240000600000FFD5 - BC00FFD0B600FDC9AB00C29C880092735E0061453100FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEF9FA00FFFAF800FFF8F5003578 - 21003A6D2300357821002E871E0028941C001A8E130013850E00249919002A90 - 1C0030821F003773220000600000FFD6BF00FFD4BC00FFD1B600C4A089009574 - 5F0063463200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF - A400FEF9FA00FFFBF900FFF9F6006DAB6D0035782100327F1F002A901C001F99 - 16000A7A080008770700189C1200249C1A002C8B1D00347A200000780000FFDC - C900FFD8C300FFD6BD00C6A08B009C7A640064483300FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEF9FA00FFFCFB00FFFAF800B8D8 - B8003578210030821F0027941A0010850D00218120006DAB6D00138D110022A2 - 19002A8F1C0000600000FFE2D200FFE0CF00FFDDC900FFD9C300C9A38E00A581 - 6A0066493500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF - A400FEFBFD00FFFDFC00FFFBFA00FFFBFA006DAB6D003578210026911B00157D - 1300BAD7B900C6DEC600327F34002096170000600000FFE9DD00FFE6D800FFE4 - D400FFE0CE00FFDCC900CDA59000AE887200684B3700FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFCFA00FFFC - FA00FFFBFA006DAB6D0035782100006890000068900000689000006890002361 - 4C00FFEDE400FFECE100FFE9DD00FFE6D800FFE3D300FFDFCD00CEA89300B68E - 7700694D3800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF - A400FEFBFD00FFFDFC00FFFCFB00FFFCFB00FFFCFB00FFFBFA00006890004293 - D1004193D0003F90CE003C8CCA0000689000FFEFE600FFECE300FFEADE00FFE8 - DB00FFE5D700FFE3D200D3AB9600BC927C006B4E3A00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD - FC00FFFCFB00007FB4004899D400499BD800499AD7004697D5004293D1003D8E - CB00007FB400FFEDE300FFEBDF00FFEADD00FFE8DB00FFE5D700D6AE9900C197 - 80006D503C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF - A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC00006890004EA0DD0051A2 - DF005CA9DD004C9EDB004899D6004192D00000689000FFEFE500FFECE100FFEC - E000FFEBDF00FFE8DA00DBAF9A00C79C85006E513E00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD - FC00FFFDFC000068900055A7E2005CA9DD006DB9EB005CA9DD004B9DDA004596 - D30000689000FFF2EA00FFEFE500FFEDE300FFECE100FFEADE00DCB49D00CCA0 - 8A006F533F00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF - A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC0000689000427EA400427E - A4005CA9DD0055A7E3004D9FDC004798D50000689000FFF6F000FFF3EC00FFF1 - E900FFEFE600FFEDE200DFB5A000D2A48E0071544000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD - FC00FFFDFC00007FB400427EA400427EA400427EA400427EA4004998D200427E - A400007FB400FFF7F400FFF6F100FFF4EE00FFF1EA00FFEEE500E1B9A200D6A8 - 910072554200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF - A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFDFC0000689000427E - A400427EA400427EA400427EA40000689000FFFAF800FFF9F600FFF7F400FFF5 - F000FFF3ED00FFF1E800E5B9A400DAAB940073574300FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400FEFBFD00FFFDFC00FFFDFC00FFFD - FC00FFFDFC00FFFDFC00FFFDFC00007FB4000068900000689000007FB400FFFA - F800FFF9F600FFF7F400FFF6F100FFF4EE00FFF1EA00FFEEE500E1B9A200D6A8 - 910072554200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFAF - A400FEFBFD00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFDFC00FFFD - FC00FFFCFC00FFFCFB00FFFCFB00FFFBFA00FFFAF800FFF9F600FFF7F400FFF5 - F000FFF3ED00FFF1E800E5B9A400DAAB940073574300FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00BFAFA400BFAFA400BFAFA400BFAFA400BFAF - A400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAF - A400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400BFAFA400C19C - 8B005D524D00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0041B4 - F30041B4F30041B4F30041B4F30041B4F30041B3F30041B1F30040AEF2003FAB - F1003EA8F0003EA6F0003EA6F0003EA3F0003DA0EF003D9DEE003C9AED003C98 - ED003C98ED003C98ED00227BD2005B6674004F545A00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0041B4F300BEE5FB00BEE5FB00BEE5FB00BEE5 - FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5 - FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00227BD2005B66 - 74004F545A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0041B4 - F300BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5 - FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5FB00BEE5 - FB00BEE5FB00BEE5FB00227BD2005B6674004F545A00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0041B4F30041B4F30041B4F30041B4F30041B4 - F30041B4F30041B4F30041B4F30041B4F30041B2F30040AFF20040AFF2003FAC - F1003FAAF1003EA7F0003EA4F0003EA2F0003D9FEF003C9CEE00227BD2005B66 - 74004F545A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00} - end - end - object Panel3: TPanel - Left = 337 - Top = 35 - Width = 97 - Height = 97 - Align = alRight - BevelOuter = bvNone - TabOrder = 2 - object btGravar: TBitBtn - Left = 8 - Top = 17 - Width = 81 - Height = 25 - Caption = '&Gravar' - TabOrder = 0 - OnClick = btGravarClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42 - 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969 - 6969696969696969696969696969696969696969696969696969FF00FFCE726F - D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443 - 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2 - D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F - D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747 - 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF - FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F - DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50 - 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF - FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F - E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459 - 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C - 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F - EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62 - 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE - AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F - F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B - 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8 - B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F - F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863 - 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E - 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F - F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA - BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA - EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F - F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD - C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1 - F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3 - C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6 - F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9 - CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB - FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF - D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4 - DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA - E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F - CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72 - 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A - 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A} - NumGlyphs = 2 - end - object btCancela: TBitBtn - Left = 8 - Top = 57 - Width = 81 - Height = 25 - Caption = '&Cancelar' - TabOrder = 1 - OnClick = btCancelaClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - end - end - object Panel2: TPanel - Left = 0 - Top = 35 - Width = 337 - Height = 97 - Align = alClient - BevelInner = bvRaised - BevelOuter = bvLowered - TabOrder = 0 - object lbNome: TLabel - Left = 15 - Top = 42 - Width = 54 - Height = 13 - Caption = 'Descri'#231#227'o :' - end - object EditDescricao: TEdit - Left = 73 - Top = 39 - Width = 249 - Height = 21 - Ctl3D = True - MaxLength = 30 - ParentCtl3D = False - TabOrder = 0 - end - end -end diff --git a/internal/2.31RC1/1/Source/IncPerfil_U.pas b/internal/2.31RC1/1/Source/IncPerfil_U.pas deleted file mode 100644 index 3b1fac8..0000000 --- a/internal/2.31RC1/1/Source/IncPerfil_U.pas +++ /dev/null @@ -1,111 +0,0 @@ -unit IncPerfil_U; - -interface - -{$I 'UserControl.inc'} - -uses -{.$IFDEF DELPHI5_UP} - Variants, -{.$ENDIF} - Buttons, - Classes, - Controls, - DB, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Messages, - StdCtrls, - SysUtils, - UCBase, - Windows; - -type - TfrmIncluirPerfil = class(TForm) - Panel1: TPanel; - LbDescricao: TLabel; - Image1: TImage; - Panel3: TPanel; - btGravar: TBitBtn; - btCancela: TBitBtn; - Panel2: TPanel; - lbNome: TLabel; - EditDescricao: TEdit; - procedure btCancelaClick(Sender: TObject); - procedure btGravarClick(Sender: TObject); - private - function GetNewIdUser: Integer; - { Private declarations } - public - FAltera: Boolean; - FUserControl: TUserControl; - FNewIdUser : Integer; - FDataSetPerfilUsuario : TDataSet; - end; - -implementation - -{$R *.dfm} - -procedure TfrmIncluirPerfil.btCancelaClick(Sender: TObject); -begin - Close; -end; - -procedure TfrmIncluirPerfil.btGravarClick(Sender: TObject); -var - FProfile: String; -begin - btGravar.Enabled := False; - with FUserControl do - if not FAltera then - begin // inclui perfil - FNewIdUser := GetNewIdUser; - FProfile := EditDescricao.Text; - if Assigned(onAddProfile) then - onAddProfile(TObject(Self.Owner.Owner), FProfile); - - - DataConnector.UCExecSQL(Format('INSERT INTO %s(%s, %s, %s) Values(%d,%s,%s)', - [TableUsers.TableName, - TableUsers.FieldUserID, - TableUsers.FieldUserName, - TableUsers.FieldTypeRec, - FNewIdUser, - QuotedStr(FProfile), - QuotedStr('P')])); - - end - else - begin // alterar perfil - //FNewIdUser := TfrmCadastrarPerfil(Self.Owner).FDataSetPerfilUsuario.FieldByName('IdUser').AsInteger; - FProfile := EditDescricao.Text; - - DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s WHERE %s = %d', - [TableUsers.TableName, - TableUsers.FieldUserName, - QuotedStr(FProfile), - TableUsers.FieldUserID, - FNewIdUser])); - end; - FDataSetPerfilUsuario.Close; - FDataSetPerfilUsuario.Open; - FDataSetPerfilUsuario.Locate('IDUser', FNewIdUser, []); - Close; -end; - -function TfrmIncluirPerfil.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; - -end. diff --git a/internal/2.31RC1/1/Source/IncUser_U.dfm b/internal/2.31RC1/1/Source/IncUser_U.dfm deleted file mode 100644 index d5352a9..0000000 --- a/internal/2.31RC1/1/Source/IncUser_U.dfm +++ /dev/null @@ -1,485 +0,0 @@ -object frmIncluirUsuario: TfrmIncluirUsuario - Left = 323 - Top = 236 - BorderStyle = bsDialog - Caption = 'Cadastro de Usu'#225'rios' - ClientHeight = 281 - ClientWidth = 472 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - OnClose = FormClose - OnCreate = FormCreate - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 472 - Height = 35 - Align = alTop - BevelOuter = bvNone - Color = clWhite - TabOrder = 2 - object LbDescricao: TLabel - Left = 46 - Top = 9 - Width = 153 - Height = 18 - Caption = 'Adicionar Usu'#225'rio' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Verdana' - Font.Style = [fsBold] - ParentFont = False - end - object Image1: TImage - Left = 8 - Top = 4 - Width = 28 - Height = 28 - AutoSize = True - Picture.Data = { - 07544269746D6170760C0000424D760C00000000000036000000280000001C00 - 00001C0000000100200000000000400C00000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00F9F9 - F900F1F1F100EAEAEA00E3E3E300E0E0E000DEDEDE00DFDFDF00E1E1E100E4E4 - E400E8E8E800ECECEC00F0F0F000F5F5F500FAFAFA00FEFEFE00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00F6F6F600C5C7C5008E9F91006E8A70005E815C00527B4F004E7C4A004B7C - 48004A7C47004B7B48004C7C4A004E7B4C0050795000557854005B7A5C00677F - 6A007C897E00A2A2A200D4D4D400FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00F2F4F30074967100487638004E7C35004E83 - 34004B893300488E31004592300044962F0043972F0043982F0043972F004494 - 300047903100498C32004C863400507F35004E7A360047703900526C5200A9A9 - A900FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0094B3 - 910058743900537B36004E8334004A8A33004690310043962F00409B2E003E9F - 2D003DA12D003DA12D003DA02D003F9D2E0042992F0045933000488D32004C86 - 3400517F350055773700567039005A725A00E6E6E600FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00688D5B0055783700508035004B8833004790 - 310043982F003F9E2D003BA42C0039A82B0037AB2A0037AB2A0038AA2B003AA6 - 2C003DA12D00419B2E0045943000498C32004D843400527C3600577338005472 - 4D00DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E87 - 5100527C36004D843400488D320044962F003F9E2E003BA52C0037AC2A0034B1 - 290032B4280032B5280033B3280035AE290039A82B003DA12D00419A2F004691 - 31004B893300508035005577370056775100E4E4E400FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00729A6800507F35004B88330046913100419A - 2E003CA32C0037AB2A0033B328002FB927002DBE25002CBF25002EBC260031B6 - 270035AF29003AA72B003F9E2D0044953000498C32004E833400537A37006F8C - 6E00F2F2F200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5C6 - A700508136004A8A3300449330003F9D2E003AA62B0035AF290030B827002BBF - 250035B237002BBB2B0029C324002DBC260033B4280037AB2A003DA12D004298 - 2F00478F31004D8534004A7B3600B0BCB200FDFDFD00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00F6FAF70058904D00498B3200449530003E9E - 2D0039A82B0034B228002EBB26004BA34E00DEE0DF00DDEADF0044BB47002BC0 - 250031B6270036AD2A003CA32C00419A2F00479031004C86340072997100F1F1 - F100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00D4E4D6004A8E3D00449530003E9E2D0039A82B0034B129002FA92C00A4B0 - A700E5E6E600E8E9E900CFDED20035B3340031B6270036AC2A003CA32C004199 - 2F00468F31005E955B00E5E7E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D2E4D4004E984500409C - 2E003AA52C0035AE2900518B5400989B9F00798A96006B7F8C00757E85005B7F - 5D002D9E240038A92A003DA12D0040952F0070A46F00E9ECEA00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00EDF4EF007BB57B003A9D2E00319131004F7C93004992 - C5004A98CF004897CE004592C800437DA400235437002C7F22004B9B4500AECA - B000F9F9F900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00BDD3C7004C90AF0052A0D60052A0D500519FD4004F9DD3004C9AD1004997 - CE00438CBF0043636700C1C2C100FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00F5F6F70072ABD00056A4D90056A4D90056A4 - D90055A3D80054A2D70052A0D5004F9DD3004B99D000468DC000727D8400E7E7 - E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2C4 - DC005AA6DB005BA8DC005BA8DC005BA8DC005AA7DB0058A5DA0056A4D90053A1 - D600509ED4004B9AD0004C7FA500ADADAD00FDFDFD00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00E9EEF4005FA7D7005EABDF005FACE0005FACE0005FAC - E0005EABDF005CA9DD005AA7DB0057A4D90054A2D700509ED4004A95CA007682 - 8B00F0F0F000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000C8F80000A6FF0060AC - E00061AEE20063B0E30063B0E30063B0E30061AEE2005FACE0005DAADE005AA7 - DC0056A4D90053A1D6004E9DD3005B7E9600DADADA00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000C8F80000A6FF00FFFF - FF00FFFFFF0000C8F80000A6FF0063B0E30065B2E50000A6FF0000C8F80067B4 - E60065B2E50063B0E30060ADE1005DAADE0059A7DB0055A3D800519FD5004F84 - A800C5C5C500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF0000C8F80000A6FF009AEBF90000C8F80000A6FF009AEB - F90000A6FF0000C8F8006CB8EA006BB7E90069B5E80066B3E60062AFE3005FAC - E0005BA8DC0057A5DA0053A1D6004E8DBB00B8B8B800FEFEFE00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009AEBF90000C8 - F8009AEBF90000A6FF0000A6FF0000A6FF0000C8F8009AEBF9006BB4E3006EBA - EC006CB8EA0069B5E70064B1E40060ADE1005DAADE0059A6DB0054A2D7004E91 - C000B8B8B800FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF009AEBF9009AEBF90000F8F80000F8F8009AEB - F9009AEBF9003F799D003E708F004B7FA00062A5D10069B5E60066B3E60062AF - E2005EABDF0059A7DB0053A0D4004D88B200C4C4C400FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A6FF0000A6FF0000A6FF0000A6 - FF0000F8F800FFFFFF00FFFFFF0000F8F80000A6FF0000A6FF0000A6FF0000A6 - FF003D719200437595005B9FCD0061AEE1005DAADE004C8FBC003B779D003C62 - 7A00D0D0D000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0000C8F80000C8F80000C8F80000A6FF0000F8F8009AEBF900FFFFFF0000F8 - F80000C8F80000C8F80000C8F80000C8F8004E95C2004689B300386A8A00447B - 9F004786B0003C7FA9003C81AC005C7A8B00EDEDED00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009AEB - F9009AEBF90000F8F80000F8F8009AEBF9009AEBF90062ABD9005FA8D6005BA3 - D100559DCA004E95C200478DB9003D7DA6003C7FAA003D82AD003C7CA200A3AA - AE00FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF009AEBF90000A6FF0000C8F80000C8F80000A6FF0000C8 - F80000A6FF009AEBF90067B1DF0062ABD9005BA3D000539AC7004B91BE004388 - B4003D82AD003C81AC0062849A00ECECEC00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000A6FF0000C8 - F8009AEBF90000C8F80000A6FF009AEBF90000C8F80000A6FF006EB9E80067B1 - DF005FA7D500569ECB004D94C100458BB7003D82AE005584A200D8DBDD00FEFE - FE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF0000A6FF0000C8F800FFFFFF00FFFFFF0000C8F80000A6FF00FFFF - FF00D8E7F10000C8F80000A6FF0069B3E20061A9D70058A0CD004F96C2004689 - B5006994B000DCDFE300FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF0000C8F80000A6FF00FFFFFF00FFFFFF00F4F7FA00B2D0E30085B8 - D80070A9CE0071A6C70087AFC900C3D1DB00FAFAFA00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00} - end - end - object Panel3: TPanel - Left = 375 - Top = 35 - Width = 97 - Height = 246 - Align = alRight - BevelOuter = bvNone - TabOrder = 1 - object btGravar: TBitBtn - Left = 8 - Top = 16 - Width = 81 - Height = 25 - Caption = '&Gravar' - TabOrder = 0 - OnClick = btGravarClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42 - 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969 - 6969696969696969696969696969696969696969696969696969FF00FFCE726F - D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443 - 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2 - D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F - D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747 - 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF - FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F - DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50 - 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF - FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F - E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459 - 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C - 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F - EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62 - 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE - AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F - F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B - 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8 - B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F - F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863 - 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E - 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F - F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA - BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA - EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F - F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD - C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1 - F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3 - C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6 - F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9 - CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB - FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF - D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4 - DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA - E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F - CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72 - 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A - 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A} - NumGlyphs = 2 - end - object btCancela: TBitBtn - Left = 8 - Top = 56 - Width = 81 - Height = 25 - Caption = '&Cancelar' - TabOrder = 1 - OnClick = btCancelaClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - end - end - object Panel2: TPanel - Left = 0 - Top = 35 - Width = 375 - Height = 246 - Align = alClient - BevelInner = bvRaised - BevelOuter = bvLowered - TabOrder = 0 - object lbNome: TLabel - Left = 48 - Top = 15 - Width = 34 - Height = 13 - Alignment = taRightJustify - Caption = 'Nome :' - Layout = tlCenter - end - object lbLogin: TLabel - Left = 50 - Top = 45 - Width = 32 - Height = 13 - Alignment = taRightJustify - Caption = 'Login :' - Layout = tlCenter - end - object lbEmail: TLabel - Left = 50 - Top = 75 - Width = 32 - Height = 13 - Alignment = taRightJustify - Caption = 'EMail :' - Layout = tlCenter - end - object lbPerfil: TLabel - Left = 53 - Top = 136 - Width = 29 - Height = 13 - Alignment = taRightJustify - Caption = 'Perfil :' - Layout = tlCenter - end - object btlimpa: TSpeedButton - Left = 334 - Top = 136 - Width = 19 - Height = 21 - Glyph.Data = { - 36050000424D3605000000000000360400002800000010000000100000000100 - 080000000000000100000E0F00000E0F00000001000000010000FF00FF00B584 - 8400B5948C00C6A59C00D6BDB500E7C6B500E7CECE0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000020101010101010200000000000000000106060606 - 0606010100000000000000010606060606060103010000000000000204040404 - 0404010303010000000000000205050505050501030301000000000000020505 - 0505050501030301000000000000020505050505050103030100000000000002 - 0505050505050103010000000000000002050505050505010100000000000000 - 0002050505050505010000000000000000000201010101010200000000000000 - 0000000000000000000000000000000000000000000000000000} - OnClick = btlimpaClick - end - object LabelExpira: TLabel - Left = 30 - Top = 167 - Width = 52 - Height = 13 - Alignment = taRightJustify - Caption = 'Expira em :' - Layout = tlCenter - end - object LabelDias: TLabel - Left = 331 - Top = 167 - Width = 19 - Height = 13 - Caption = 'dias' - Layout = tlCenter - end - object Label1: TLabel - Left = 46 - Top = 106 - Width = 36 - Height = 13 - Alignment = taRightJustify - Caption = 'Status :' - Layout = tlCenter - end - object EditNome: TEdit - Left = 88 - Top = 15 - Width = 265 - Height = 21 - Ctl3D = True - MaxLength = 30 - ParentCtl3D = False - TabOrder = 0 - end - object EditLogin: TEdit - Left = 88 - Top = 45 - Width = 265 - Height = 21 - Ctl3D = True - MaxLength = 30 - ParentCtl3D = False - TabOrder = 1 - end - object EditEmail: TEdit - Left = 88 - Top = 75 - Width = 265 - Height = 21 - Ctl3D = True - MaxLength = 150 - ParentCtl3D = False - TabOrder = 2 - end - object ckPrivilegiado: TCheckBox - Left = 89 - Top = 220 - Width = 120 - Height = 17 - Caption = 'Usu'#225'rio privilegiado' - TabOrder = 7 - end - object ComboPerfil: TDBLookupComboBox - Left = 88 - Top = 136 - Width = 242 - Height = 21 - Ctl3D = True - KeyField = 'IDUser' - ListField = 'Nome' - ParentCtl3D = False - TabOrder = 4 - end - object ckUserExpired: TCheckBox - Left = 89 - Top = 196 - Width = 160 - Height = 17 - Caption = 'Senha do usu'#225'rio n'#227'o expira' - TabOrder = 6 - OnClick = ckUserExpiredClick - end - object SpinExpira: TSpinEdit - Left = 88 - Top = 167 - Width = 241 - Height = 22 - MaxValue = 100 - MinValue = 10 - TabOrder = 5 - Value = 10 - end - object ComboStatus: TComboBox - Left = 88 - Top = 106 - Width = 265 - Height = 21 - Style = csDropDownList - ItemHeight = 13 - TabOrder = 3 - Items.Strings = ( - 'Ativo' - 'Inativo') - end - end -end diff --git a/internal/2.31RC1/1/Source/IncUser_U.pas b/internal/2.31RC1/1/Source/IncUser_U.pas deleted file mode 100644 index 02f4c70..0000000 --- a/internal/2.31RC1/1/Source/IncUser_U.pas +++ /dev/null @@ -1,245 +0,0 @@ -unit IncUser_U; - -interface - -{$I 'UserControl.inc'} - -uses -{$IFDEF DELPHI5_UP} - Variants, -{$ENDIF} - Buttons, - Classes, - Controls, - DB, - DBCtrls, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Messages, - Spin, - StdCtrls, - SysUtils, - UCBase, - Windows; - -type - TfrmIncluirUsuario = class(TForm) - Panel1: TPanel; - LbDescricao: TLabel; - Image1: TImage; - Panel3: TPanel; - btGravar: TBitBtn; - btCancela: TBitBtn; - Panel2: TPanel; - lbNome: TLabel; - EditNome: TEdit; - lbLogin: TLabel; - EditLogin: TEdit; - lbEmail: TLabel; - EditEmail: TEdit; - ckPrivilegiado: TCheckBox; - lbPerfil: TLabel; - ComboPerfil: TDBLookupComboBox; - btlimpa: TSpeedButton; - ckUserExpired: TCheckBox; - LabelExpira: TLabel; - SpinExpira: TSpinEdit; - LabelDias: TLabel; - ComboStatus: TComboBox; - Label1: TLabel; - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure btCancelaClick(Sender: TObject); - procedure btGravarClick(Sender: TObject); - function GetNewIdUser: Integer; - procedure btlimpaClick(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure ckUserExpiredClick(Sender: TObject); - private - FormSenha: TCustomForm; - { Private declarations } - public - { Public declarations } - FAltera: Boolean; - FUserControl: TUserControl; - FDataSetCadastroUsuario: TDataSet; - vNovoIDUsuario: Integer; - end; - -implementation - -uses - SenhaForm_U; - -{$R *.dfm} - -procedure TfrmIncluirUsuario.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TfrmIncluirUsuario.FormCreate(Sender: TObject); -begin - Self.BorderIcons := []; - Self.BorderStyle := bsDialog; -end; - -procedure TfrmIncluirUsuario.btCancelaClick(Sender: TObject); -begin - Close; -end; - -procedure TfrmIncluirUsuario.btGravarClick(Sender: TObject); -var - vNovaSenha: String; - vNome: String; - vLogin: String; - vEmail: String; - vUserExpired: Integer; - vPerfil: Integer; - vPrivilegiado: Boolean; -begin - btGravar.Enabled := False; - - with FUserControl do - if not FAltera then - begin // inclui user - if Self.FUserControl.ExisteUsuario(EditLogin.Text) then - begin - MessageDlg(Format(FUserControl.UserSettings.CommonMessages.UsuarioExiste, [EditLogin.Text]), mtWarning, [mbOK], 0); - Exit; - end; - - FormSenha := TSenhaForm.Create(Self); - TSenhaForm(FormSenha).Position := UserSettings.WindowsPosition; - TSenhaForm(FormSenha).fUserControl := fUserControl; - TSenhaForm(FormSenha).Caption := Format(FUserControl.UserSettings.ResetPassword.WindowCaption, [EditLogin.Text]); - if TSenhaForm(FormSenha).ShowModal <> mrOk then - begin - btGravar.Enabled := True; - Exit; - end; - vNovaSenha := TSenhaForm(FormSenha).edtSenha.Text; - vNovoIDUsuario := GetNewIdUser; - vNome := EditNome.Text; - vLogin := EditLogin.Text; - vEmail := EditEmail.Text; - FreeAndNil(FormSenha); - - if ComboPerfil.KeyValue = null then - vPerfil := 0 - else - vPerfil := ComboPerfil.KeyValue; - - vPrivilegiado := ckPrivilegiado.Checked; - vUserExpired := StrToInt(BoolToStr(ckUserExpired.Checked)); - - AddUser(vLogin, vNovaSenha, vNome, vEmail, vPerfil, vUserExpired, SpinExpira.Value, vPrivilegiado); - - - if (Assigned( fUserControl.MailUserControl)) and (fUserControl.MailUserControl.AdicionaUsuario.Ativo ) then - try - fUserControl.MailUserControl.EnviaEmailAdicionaUsuario(vNome, vLogin, Encrypt(vNovaSenha, EncryptKey) , vEmail, IntToStr(vPerfil), EncryptKey); - except - on E : Exception do Log(e.Message, 0 ); - end; - - end - else - begin // alterar user - // vNovoIDUsuario := TfrmCadastrarUsuario(Self.Owner).FDataSetCadastroUsuario.FieldByName('IdUser').AsInteger; - vNome := EditNome.Text; - vLogin := EditLogin.Text; - vEmail := EditEmail.Text; - if ComboPerfil.KeyValue = null then - vPerfil := 0 - else - vPerfil := ComboPerfil.KeyValue; - - vUserExpired := StrToInt(BoolToStr(ckUserExpired.Checked)); //Added by Petrus van Breda 28/04/2007 - vPrivilegiado := ckPrivilegiado.Checked; - ChangeUser(vNovoIDUsuario, vLogin, vNome, vEmail, vPerfil, vUserExpired, SpinExpira.Value, ComboStatus.ItemIndex, vPrivilegiado); - - - if (Assigned(fUserControl.MailUserControl)) and (fUserControl.MailUserControl.AlteraUsuario.Ativo ) then - try - fUserControl.MailUserControl.EnviaEmailAlteraUsuario(vNome, vLogin, 'Não Alterada', vEmail, IntToStr(vPerfil), EncryptKey); - except - on E : Exception do Log(e.Message, 2); - end; - - - end; - -{ With TfrmCadastrarUsuario(Owner) do - Begin } - FDataSetCadastroUsuario.Close; - FDataSetCadastroUsuario.Open; - FDataSetCadastroUsuario.Locate('idUser', vNovoIDUsuario, []); - // End; - Close; -end; - -function TfrmIncluirUsuario.GetNewIdUser: Integer; -var - DataSet: TDataset; - SQLStmt: String; -begin - with FUserControl do - begin - SQLStmt := Format('SELECT %s.%s FROM %s ORDER BY %s DESC', [TableUsers.TableName, TableUsers.FieldUserID, - TableUsers.TableName, TableUsers.FieldUserID]); - try - DataSet := DataConnector.UCGetSQLDataSet(SQLStmt); - Result := DataSet.Fields[0].AsInteger + 1; - DataSet.Close; - finally - SysUtils.FreeAndNil(DataSet); - end; - end; -end; - -procedure TfrmIncluirUsuario.btLimpaClick(Sender: TObject); -begin - ComboPerfil.KeyValue := NULL; -end; - -procedure TfrmIncluirUsuario.FormShow(Sender: TObject); -begin - if not FUserControl.UserProfile.Active then - begin - lbPerfil.Visible := False; - ComboPerfil.Visible := False; - btLimpa.Visible := False; - end - else - begin - ComboPerfil.ListSource.DataSet.Close; - ComboPerfil.ListSource.DataSet.Open; - end; - - if FUserControl.Login.ActiveDateExpired = True then - //Opção de senha so deve aparecer qdo setada como true no componente By Vicente Barros Leonel - ckPrivilegiado.Visible := FUserControl.User.UsePrivilegedField - else - ckUserExpired.Visible := False; - - EditLogin.CharCase := Self.FUserControl.Login.CharCaseUser; - - SpinExpira.Visible := ckUserExpired.Visible; - LabelExpira.Visible := ckUserExpired.Visible; - LabelDias.Visible := ckUserExpired.Visible; - - if (FUserControl.User.ProtectAdministrator) and (EditLogin.Text = FUserControl.Login.InitialLogin.User) then - EditLogin.Enabled := False; -end; - -procedure TfrmIncluirUsuario.ckUserExpiredClick(Sender: TObject); -begin - SpinExpira.Enabled := not ckUserExpired.Checked; -end; - -end. - diff --git a/internal/2.31RC1/1/Source/LoginWindow_U.dfm b/internal/2.31RC1/1/Source/LoginWindow_U.dfm deleted file mode 100644 index 41b0673..0000000 --- a/internal/2.31RC1/1/Source/LoginWindow_U.dfm +++ /dev/null @@ -1,260 +0,0 @@ -object frmLoginWindow: TfrmLoginWindow - Left = 343 - Top = 286 - BorderIcons = [biSystemMenu] - BorderStyle = bsSingle - Caption = 'Login' - ClientHeight = 171 - ClientWidth = 350 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - KeyPreview = True - OldCreateOrder = False - OnActivate = FormActivate - OnClose = FormClose - OnKeyPress = FormKeyPress - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object PTop: TPanel - Left = 0 - Top = 0 - Width = 350 - Height = 17 - Align = alTop - BevelOuter = bvNone - TabOrder = 0 - object ImgTop: TImage - Left = 0 - Top = 0 - Width = 0 - Height = 0 - AutoSize = True - Center = True - end - end - object PLeft: TPanel - Left = 0 - Top = 17 - Width = 10 - Height = 124 - Align = alLeft - BevelOuter = bvNone - TabOrder = 1 - object imgLeft: TImage - Left = 0 - Top = 0 - Width = 0 - Height = 0 - AutoSize = True - Center = True - Transparent = True - end - end - object PBottom: TPanel - Left = 0 - Top = 141 - Width = 350 - Height = 11 - Align = alBottom - BevelOuter = bvNone - TabOrder = 2 - object ImgBottom: TImage - Left = 0 - Top = 0 - Width = 0 - Height = 0 - AutoSize = True - Center = True - end - end - object Panel1: TPanel - Left = 10 - Top = 17 - Width = 340 - Height = 124 - Align = alClient - BevelOuter = bvNone - TabOrder = 3 - object PLogin: TPanel - Left = 1 - Top = 1 - Width = 340 - Height = 132 - BevelOuter = bvNone - TabOrder = 0 - object LbUsuario: TLabel - Left = 33 - Top = 10 - Width = 42 - Height = 13 - Alignment = taRightJustify - Caption = 'Usu'#225'rio :' - end - object LbSenha: TLabel - Left = 38 - Top = 42 - Width = 37 - Height = 13 - Alignment = taRightJustify - Caption = 'Senha :' - end - object lbEsqueci: TLabel - Left = 87 - Top = 70 - Width = 79 - Height = 13 - Cursor = crHandPoint - Caption = 'Esqueci a senha' - Enabled = False - Font.Charset = DEFAULT_CHARSET - Font.Color = clBlue - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [fsUnderline] - ParentFont = False - Visible = False - end - object EditUsuario: TEdit - Left = 82 - Top = 7 - Width = 225 - Height = 21 - CharCase = ecUpperCase - Ctl3D = True - MaxLength = 15 - ParentCtl3D = False - TabOrder = 0 - OnChange = EditUsuarioChange - end - object EditSenha: TEdit - Left = 82 - Top = 39 - Width = 225 - Height = 21 - Ctl3D = True - MaxLength = 10 - ParentCtl3D = False - PasswordChar = '*' - TabOrder = 1 - end - object btOK: TBitBtn - Left = 81 - Top = 96 - Width = 75 - Height = 25 - Caption = 'OK' - TabOrder = 2 - Glyph.Data = { - 36040000424D3604000000000000360000002800000010000000100000000100 - 2000000000000004000000000000000000000000000000000000C8D0D400C8D0 - D400C8D0D400B6907D00B57F6800C6C9CC00C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C7CCD000C1806000C6503000B75A4100C3BFBD00C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400BFADA500D1886200C4724700C4502E00BA6F5C00C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C7CE - D200C0866900D1875F00C5724900C5734A00BF432500C1B6B300C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C0AA - 9F00D6916C00CD774F00B94A2E00CC856000C7613C00B85F4700C7CFD300C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BCA19500D08D - 6A00D58D6500C84C2D00BD9E9300BD968200D2896400C5462800BF968C00C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C1B5B100C585 - 6400D37B5900B96B5400C7CCD000C6CBCE00BE836500D2886200C4472D00C6B8 - B800C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C5C7 - C800BFB0AA00C6CBCD00C8D0D400C8D0D400C2BDBB00C8846100D07C5600C158 - 4500C6CBCE00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BEADA500CE876100CD6B - 4900C5776B00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BDA49700D18D - 6800CD684600C6878000C7CFD300C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400BEA3 - 9500D6937000CA603E00C7908A00C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C0A79C00CD876100C95D3D00C89B9700C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400BFADA500C6815D00CC5D4100C79F9B00C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C2BCBB00C1876A00CB614400BEA59C00C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C6CACD00BB9A8A00B99A8B00C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400} - end - object BtCancela: TBitBtn - Left = 185 - Top = 96 - Width = 75 - Height = 25 - Cancel = True - Caption = 'Cancelar' - TabOrder = 3 - OnClick = BtCancelaClick - Glyph.Data = { - 36040000424D3604000000000000360000002800000010000000100000000100 - 2000000000000004000000000000000000000000000000000000C8D0D400ACB3 - CC003C41AF00B7BFCE00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400A6ADCA000F19 - B000000BAE00464BB300C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D4009398C300B1B8CD00C8D0D4005665D000071B - C600000EB400010BAD00858CC100C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400BEC6D1005357B100020298005C60B300C8D0D400364CDD002342 - F0000012BC00000EB5001119AE00B4BBCE00C8D0D400C8D0D400C8D0D400C8D0 - D400989EC5001D1E9F00000098002122A100B7BECE00C8D0D4008B95CA002E4C - F2001C35DB000011BB00000EB5003037B200C2CAD200C8D0D400C1C8D1005A5D - B20004049900000098001D1EA000B3BACD00C8D0D400C8D0D400C8D0D4006672 - C9004D67F7000D22C9000012BC00000EB5004C53B7009DA3C8002125A8000002 - 9D000000980018199E00AEB5CB00C8D0D400C8D0D400C8D0D400C8D0D400C5CD - D2006972C9004C60E6000016C2000012BC00000EB500030DAD000009AA000006 - A4001417A100A9B0CA00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C7CFD300727BC600162ACB000015C2000012BC00000FB600000CB0001016 - A900A5ABC900C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400A2AACB00091DC4000018C9000015C3000012BD00000FB600767B - BD00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400AFB6CD00162DCC00001ED500001BCF000018C9000015C3000012BD000F1A - B300A6ADCA00C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400B8BF - CF002138D0000025E2000022DC000120D7002742E3002536C700071FCD000013 - BE001723B400AFB6CC00C8D0D400C8D0D400C8D0D400C8D0D400C0C8D1002D44 - D100002BEF000028E900092EE6003A57F2006D78CC00C1C9D2005562C8000D25 - D1000013BE001823B400A7AECB00C8D0D400C8D0D400C8D0D4005A68C800002F - F700002EF500183FF4004662F8006C76CA00C7CFD300C8D0D400C8D0D4007F89 - C8002539CE000518C2000F1BB4009AA1C700C8D0D400C8D0D400AFB6CD001535 - DF002A4FFC004A66FA006C77CC00C7CFD300C8D0D400C8D0D400C8D0D400C8D0 - D400B4BBCE005964C9001729C6000815B500878DC200C8D0D400C8D0D400B7BE - CF00707DCF006F7ACC00C7CFD300C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400949CC900424DBE009097C500C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0 - D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400C8D0D400} - end - end - end - object StatusBar: TStatusBar - Left = 0 - Top = 152 - Width = 350 - Height = 19 - Panels = < - item - Alignment = taRightJustify - Text = 'Tentativa: ' - Width = 60 - end - item - Alignment = taCenter - Width = 80 - end - item - Alignment = taRightJustify - Text = 'Limite de Tentativas: ' - Width = 130 - end - item - Alignment = taCenter - Width = 50 - end> - end -end diff --git a/internal/2.31RC1/1/Source/LoginWindow_U.pas b/internal/2.31RC1/1/Source/LoginWindow_U.pas deleted file mode 100644 index 83b0bf3..0000000 --- a/internal/2.31RC1/1/Source/LoginWindow_U.pas +++ /dev/null @@ -1,142 +0,0 @@ -unit LoginWindow_U; - -interface - -{$I 'UserControl.inc'} - -uses -{$IFDEF DELPHI5_UP} - Variants, -{$ENDIF} - Buttons, - Classes, - Controls, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Math, - Messages, - StdCtrls, - SysUtils, - UCBase, - Windows, ComCtrls; - -type - TfrmLoginWindow = class(TForm) - PTop: TPanel; - ImgTop: TImage; - PLeft: TPanel; - imgLeft: TImage; - PBottom: TPanel; - ImgBottom: TImage; - Panel1: TPanel; - PLogin: TPanel; - LbUsuario: TLabel; - LbSenha: TLabel; - EditUsuario: TEdit; - EditSenha: TEdit; - btOK: TBitBtn; - BtCancela: TBitBtn; - lbEsqueci: TLabel; - StatusBar: TStatusBar; - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure BtCancelaClick(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure EditUsuarioChange(Sender: TObject); - procedure FormKeyPress(Sender: TObject; var Key: char); - procedure BotoesClickVisualizacao(Sender: TObject); - procedure FormActivate(Sender: TObject); - public - FUserControl: TUserControl; - end; - -implementation - -{$R *.dfm} - -procedure TfrmLoginWindow.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; - -end; - -procedure TfrmLoginWindow.BotoesClickVisualizacao(Sender: TObject); -begin - Self.ModalResult := mrOk; -end; - -procedure TfrmLoginWindow.BtCancelaClick(Sender: TObject); -begin - Application.Terminate; -end; - -procedure TfrmLoginWindow.FormShow(Sender: TObject); -var - w, h: Integer; -begin - w := Max(ImgTop.Width, ImgLeft.Width + PLogin.Width); - w := Max(w, ImgBottom.Width); - h := Max(ImgLeft.Height + ImgTop.Height + ImgBottom.Height, ImgTop.Height + PLogin.Height + ImgBottom.Height); - - Width := w; - Height := h + 28; - If FUserControl.Login.MaxLoginAttempts > 0 then - Begin - Height := Height + 19; // by vicente barros leonel and Petrus van Breda - StatusBar.Panels[ 0 ].Text := FUserControl.UserSettings.Login.LabelTentativa; - StatusBar.Panels[ 2 ].Text := FUserControl.UserSettings.Login.LabelTentativas; - End; - - // Topo - PTop.Height := ImgTop.Height; - ImgTop.AutoSize := False; - ImgTop.Align := alClient; - ImgTop.Center := True; - - //Centro - PLeft.Width := ImgLeft.Width; - ImgLeft.AutoSize := False; - ImgLeft.Align := alClient; - ImgLeft.Center := True; - - //Bottom - PBottom.Height := ImgBottom.Height; - ImgBottom.AutoSize := False; - ImgBottom.Align := alClient; - ImgBottom.Center := True; - - PTop.Visible := ImgTop.Picture <> nil; - PLeft.Visible := ImgLeft.Picture <> nil; - PBottom.Visible := ImgBottom.Picture <> nil; - - if FUserControl.Login.GetLoginName = lnUserName then - EditUsuario.Text := FUserControl.GetLocalUserName; - if FUserControl.Login.GetLoginName = lnMachineName then - EditUsuario.Text := FUserControl.GetLocalComputerName; - if FUserControl.Login.GetLoginName <> lnNone then - EditSenha.SetFocus; -end; - -procedure TfrmLoginWindow.EditUsuarioChange(Sender: TObject); -begin - lbEsqueci.Enabled := Length(EditUsuario.Text) > 0; -end; - -procedure TfrmLoginWindow.FormKeyPress(Sender: TObject; var Key: char); -begin - if Key = #13 then - Begin - Key := #0; - Perform(WM_NEXTDLGCTL,0,0); - End; -end; - -procedure TfrmLoginWindow.FormActivate(Sender: TObject); -begin - EditUsuario.CharCase := Self.FUserControl.Login.CharCaseUser; - EditSenha.CharCase := Self.FUserControl.Login.CharCasePass; { Por Vicente Barros Leonel } -end; - -end. - diff --git a/internal/2.31RC1/1/Source/MsgRecForm_U.dfm b/internal/2.31RC1/1/Source/MsgRecForm_U.dfm deleted file mode 100644 index ae8dacf..0000000 --- a/internal/2.31RC1/1/Source/MsgRecForm_U.dfm +++ /dev/null @@ -1,263 +0,0 @@ -object MsgRecForm: TMsgRecForm - Left = 215 - Top = 162 - BorderStyle = bsDialog - Caption = 'Mensagem' - ClientHeight = 336 - ClientWidth = 506 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - FormStyle = fsStayOnTop - OldCreateOrder = False - OnCreate = FormCreate - PixelsPerInch = 96 - TextHeight = 13 - object lbDE: TLabel - Left = 16 - Top = 57 - Width = 20 - Height = 13 - Caption = 'De :' - end - object lbAssunto: TLabel - Left = 19 - Top = 89 - Width = 38 - Height = 13 - Caption = 'Assunto' - end - object lbMensagem: TLabel - Left = 16 - Top = 120 - Width = 52 - Height = 13 - Caption = 'Mensagem' - end - object lbData: TLabel - Left = 360 - Top = 57 - Width = 23 - Height = 13 - Caption = 'Data' - end - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 506 - Height = 35 - Align = alTop - BevelOuter = bvLowered - Color = clWhite - TabOrder = 2 - object lbTitulo: TLabel - Left = 48 - Top = 10 - Width = 181 - Height = 18 - Caption = 'Mensagem Recebida' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Verdana' - Font.Style = [fsBold] - ParentFont = False - end - object Image1: TImage - Left = 8 - Top = 4 - Width = 28 - Height = 28 - AutoSize = True - Picture.Data = { - 07544269746D6170760C0000424D760C00000000000036000000280000001C00 - 00001C0000000100200000000000400C00000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0098300000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF009830000098300000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00D3BDAF0069473100694731006947310069473100694731006947 - 3100694731006947310069473100694731006947310069473100694731006947 - 3100D76733009830000098300000983000009830000098300000C16E39009830 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00FCF9F800B7A2 - 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2 - 9300B7A29300B7A29300B7A29300B7A29300D7673300FBC4A100DD986500D48B - 5800D48B5800CE824E00C7784300C16E390098300000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00D3BDAF00FEFCFB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EE - EA00F2EBE700F0E8E400EEE5E000ECE3DD00EAE0DA00E8DCD600E6D9D200E4D6 - CF00D7673300FBC4A100DD986500DD986500D48B5800D78F5C00D1875300CB7D - 4900C16E390098300000FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00FEFC - FB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EBE700F0E8E400EEE5 - E000ECE3DD00EAE0DA00E8DCD600E6D9D200D7673300FBC4A100E3A16E00DD98 - 6500DD986500D48B5800D78F5C00D1875300CB7D4900C16E390098300000FFFF - FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FEFCFB00FCF9F800E7B98600E7B9 - 8600E7B98600E7B98600E7B98600E7B98600E7B98600E7B98600E7B98600E7B9 - 8600D7673300FBC4A100E3A16E00E3A16E00DD986500DD986500D48B5800D78F - 5C00C16E390098300000FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF - FF00FFFFFF00FEFCFB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EB - E700F0E8E400EEE5E000ECE3DD00EAE0DA00D7673300FBC4A100FBC4A100FBC4 - A100FBC4A100FBC4A100FBC4A100C16E390098300000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFDFD00FDFB - FA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900F0E8E400EEE5E000ECE3 - DD00D7673300D7673300D7673300D7673300D7673300D7673300FBC4A1009830 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00E7B98600E7B98600E7B98600E7B98600E7B98600E7B9 - 8600E7B98600E7B98600E7B98600E7B98600EDE4DF00EBE1DB00E9DED800E7DB - D400E5D8D100D76733009830000069473100694731006947310069473100FFFF - FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900F1E9 - E500EFE6E200EDE4DF00EBE1DB00E9DED800E7DBD40098300000B7A293006947 - 3100B7A29300B7A2930069473100FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFDFD00FDFBFA00FBF8 - F600F9F5F300F7F2EF00F5EFEC00F3ECE900F1E9E500EFE6E200EDE4DF00EBE1 - DB00E9DED800E7DBD400B7A2930069473100DBC9BF00B7A2930069473100FFFF - FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0098300000FFFF - FF00FFFFFF00FFFFFF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EF - EC00F3ECE900F1E9E500EFE6E200EDE4DF00EBE1DB00E9DED800B7A293006947 - 3100DBC9BF00B7A2930069473100FFFFFF00FFFFFF00D3BDAF00FFFFFF00FFFF - FF00FFFFFF009830000098300000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFD - FD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900316ADC00316A - DC00316ADC00EBE1DB00B7A2930069473100DCCAC000B7A2930069473100FFFF - FF00FFFFFF00D3BDAF00FFFFFF00FFFFFF0098300000C16E3900983000009830 - 000098300000983000009830000098300000FFFDFD00FDFBFA00FBF8F600F9F5 - F300F7F2EF00F5EFEC00314A800060A2FA00316ADC00EDE4DF00B7A293006947 - 3100DECDC400B7A2930069473100FFFFFF00FFFFFF00D3BDAF00FFFFFF009830 - 0000CB7D4900D58B5700C16E3900C16E3900C16E3900C16E3900C16E39009830 - 0000FFFFFF00FFFFFF00FEFCFB00FCF9F800FAF6F400F8F3F100396EE30060A2 - FA00316ADC00EFE6E200B7A2930069473100E0D0C800B7A2930069473100FFFF - FF00FFFFFF00D3BDAF0098300000CB7D4900E19C6A00DB946100D58B5700D287 - 5300CD7F4A00C7764100C16E390098300000FFFFFF00FFFFFF00FFFFFF00FEFC - FB00FCF9F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EBE700F0E8E4006947 - 3100E3D5CD00B7A2930069473100FFFFFF00FFFFFF0098300000FBC4A100E3A1 - 6E00E3A16E00E3A16E00DE986500D88F5C00D2875300CD7F4A00C16E39009830 - 0000D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BD - AF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00E5D8D100B7A2930069473100FFFF - FF00FFFFFF00FFFFFF00D7673300FBC4A100E3A16E00E3A16E00E3A16E00DE98 - 6500D88F5C00D2875300C16E390098300000FFFDFD00FDFBFA00FBF8F600F9F5 - F300F7F2EF00F5EFEC00F3ECE900F1E9E500EFE6E200EDE4DF00EBE1DB00E9DE - D800E7DBD400B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00D767 - 3300FBC4A100E3A16E00FBC4A100FBC4A100FBC4A100FBC4A100FBC4A1009830 - 0000FFFFFF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3EC - E900F1E9E500EFE6E200EDE4DF00EBE1DB00E9DED800B7A2930069473100FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7673300FBC4A100D7673300D767 - 3300D7673300D7673300D7673300D7673300FFFFFF00FFFFFF00FFFDFD00FDFB - FA00FBF8F600F9F5F300F7F2EF00F5EFEC00F3ECE900316ADC00316ADC00316A - DC00EBE1DB00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00D3BDAF00D7673300D7673300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFDFD00FDFBFA00FBF8F600F9F5F300F7F2 - EF00F5EFEC00314A800060A2FA00316ADC00EDE4DF00B7A2930069473100FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00FFFFFF00D7673300FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FEFCFB00FCF9F800FAF6F400F8F3F100396EE30060A2FA00316A - DC00EFE6E200B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFCFB00FCF9 - F800FAF6F400F8F3F100F6F0EE00F4EEEA00F2EBE700F0E8E40069473100FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D3BDAF00D3BDAF00D3BDAF00D3BD - AF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BD - AF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BDAF00D3BD - AF00D3BDAF00D3BDAF00D3BDAF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00} - end - end - object stDe: TStaticText - Left = 64 - Top = 56 - Width = 289 - Height = 17 - AutoSize = False - BorderStyle = sbsSunken - TabOrder = 3 - end - object stAssunto: TStaticText - Left = 64 - Top = 88 - Width = 431 - Height = 17 - AutoSize = False - BorderStyle = sbsSunken - TabOrder = 4 - end - object MemoMsg: TMemo - Left = 16 - Top = 144 - Width = 481 - Height = 145 - MaxLength = 255 - ReadOnly = True - ScrollBars = ssBoth - TabOrder = 0 - end - object btFechar: TBitBtn - Left = 199 - Top = 303 - Width = 79 - Height = 25 - Caption = '&Fechar' - TabOrder = 1 - OnClick = btFecharClick - Glyph.Data = { - 42040000424D4204000000000000420000002800000020000000100000000100 - 1000030000000004000000000000000000000000000000000000007C0000E003 - 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C45261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C94521F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C4526862645261F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C9452D65A94521F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C673286268626862645261F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7CD65AD65AD65AD65A94521F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C45268626C62A862E862645261F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C9452D65AF75ED65AD65A94521F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C47328626C62A252E252EC62A8822C62A1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7CB556D65AF75EB556B556F75ED65AF75E1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C4526C62A252E1F7C1F7C252EC62A45261F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C9452F75EB5561F7C1F7CB556F75E94521F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C252E1F7C1F7C1F7C1F7C252EC62A45261F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7CB5561F7C1F7C1F7C1F7CB556F75E94521F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252EC62AC62A1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556F75EF75E1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E86261F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E8626 - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556D65A - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C252E - 86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CB556 - D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 252E86261F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - B556D65A1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C252E1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7CB5561F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C - 1F7C1F7C1F7C} - NumGlyphs = 2 - end - object stData: TStaticText - Left = 397 - Top = 56 - Width = 97 - Height = 17 - AutoSize = False - BorderStyle = sbsSunken - Caption = '99/99/9999 99:99' - TabOrder = 5 - end -end diff --git a/internal/2.31RC1/1/Source/MsgRecForm_U.pas b/internal/2.31RC1/1/Source/MsgRecForm_U.pas deleted file mode 100644 index a180469..0000000 --- a/internal/2.31RC1/1/Source/MsgRecForm_U.pas +++ /dev/null @@ -1,77 +0,0 @@ -unit MsgRecForm_U; - -interface - -uses -{$IFDEF VER130} -{$ELSE} - Variants, -{$ENDIF} - Buttons, - Classes, - Controls, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Messages, - StdCtrls, - SysUtils, - UCBase, - Windows; - -type - TMsgRecForm = class(TForm) - Panel1: TPanel; - lbTitulo: TLabel; - Image1: TImage; - lbDE: TLabel; - stDe: TStaticText; - lbAssunto: TLabel; - stAssunto: TStaticText; - lbMensagem: TLabel; - MemoMsg: TMemo; - btFechar: TBitBtn; - lbData: TLabel; - stData: TStaticText; - procedure btFecharClick(Sender: TObject); - procedure FormCreate(Sender: TObject); //added by fduenas - private - { Private declarations } - public - { Public declarations } - end; - -var - MsgRecForm: TMsgRecForm; - -implementation - -uses - UCMessages; - -{$R *.dfm} - -procedure TMsgRecForm.btFecharClick(Sender: TObject); -begin - Close; -end; - -procedure TMsgRecForm.FormCreate(Sender: TObject); -begin - //added by fduenas - if not (Self.Owner is TUCApplicationMessage) then - Exit; - with TUCApplicationMessage(Self.Owner).UserControl.UserSettings.AppMessages do - begin - Self.Caption := MsgRec_WindowCaption; - lbTitulo.Caption := MsgRec_Title; - lbDE.Caption := MsgRec_LabelFrom; - lbData.Caption := MsgRec_LabelDate; - lbAssunto.Caption := MsgRec_LabelSubject; - lbMensagem.Caption := MsgRec_LabelMessage; - btFechar.Caption := MsgRec_BtClose; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Source/MsgsForm_U.dfm b/internal/2.31RC1/1/Source/MsgsForm_U.dfm deleted file mode 100644 index 905767a..0000000 --- a/internal/2.31RC1/1/Source/MsgsForm_U.dfm +++ /dev/null @@ -1,1153 +0,0 @@ -object MsgsForm: TMsgsForm - Left = 144 - Top = 150 - BorderStyle = bsDialog - Caption = 'Mensagens do Sistema' - ClientHeight = 452 - ClientWidth = 598 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - OnClose = FormClose - OnCreate = FormCreate - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object Splitter1: TSplitter - Left = 0 - Top = 237 - Width = 598 - Height = 6 - Cursor = crVSplit - Align = alTop - Beveled = True - end - object ListView1: TListView - Left = 0 - Top = 52 - Width = 598 - Height = 185 - Align = alTop - Columns = < - item - Caption = 'Remetente' - MaxWidth = 300 - MinWidth = 50 - Width = 150 - end - item - Caption = 'Assunto' - MaxWidth = 500 - MinWidth = 50 - Width = 300 - end - item - Caption = 'Data' - MaxWidth = 150 - MinWidth = 50 - Width = 100 - end> - HideSelection = False - MultiSelect = True - ReadOnly = True - RowSelect = True - SmallImages = ImageList1 - TabOrder = 0 - ViewStyle = vsReport - OnColumnClick = ListView1ColumnClick - OnCompare = ListView1Compare - OnDblClick = ListView1DblClick - OnSelectItem = ListView1SelectItem - end - object ToolBar1: TToolBar - Left = 0 - Top = 0 - Width = 598 - Height = 52 - ButtonHeight = 44 - ButtonWidth = 94 - Caption = 'Op'#231#245'es' - Images = ImageList2 - ShowCaptions = True - TabOrder = 1 - object btnova: TToolButton - Left = 0 - Top = 2 - Caption = '&Nova Mensagem' - ImageIndex = 0 - OnClick = btnovaClick - end - object btResponder: TToolButton - Left = 94 - Top = 2 - Caption = '&Responder' - ImageIndex = 1 - OnClick = btResponderClick - end - object btEncaminhar: TToolButton - Left = 188 - Top = 2 - Caption = 'E&ncaminhar' - ImageIndex = 2 - OnClick = btEncaminharClick - end - object btExcluir: TToolButton - Left = 282 - Top = 2 - Caption = '&Excluir' - ImageIndex = 3 - OnClick = btExcluirClick - end - object btClose: TToolButton - Left = 376 - Top = 2 - Caption = '&Fechar' - ImageIndex = 4 - OnClick = btCloseClick - end - end - object MemoMsg: TMemo - Left = 0 - Top = 243 - Width = 598 - Height = 209 - Align = alClient - ReadOnly = True - TabOrder = 2 - end - object ImageList1: TImageList - Height = 14 - Left = 48 - Top = 88 - Bitmap = { - 494C010102000400040010000E00FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000000E0000000100200000000000000E - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000007B7B7B00FFFFFF0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00000000007B7B7B00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00000000007B7B7B0000000000FFFFFF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000007B7B7B00FFFFFF0000000000000000007B7B7B00FFFFFF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF007B7B7B00FFFFFF007B7B7B00FFFFFF00FFFFFF00FFFF - FF00FFFFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000007B7B7B000000000000000000000000007B7B7B0000000000FFFF - FF00000000000000000000000000000000000000000000000000000000007B7B - 7B007B7B7B007B7B7B007B7B7B00000000007B7B7B007B7B7B007B7B7B007B7B - 7B00FFFFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00007B7B7B00FFFFFF00000000000000000000000000000000007B7B7B00FFFF - FF00000000000000000000000000000000000000000000000000000000007B7B - 7B0000000000FFFFFF0000000000000000000000000000000000000000007B7B - 7B00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00007B7B7B0000000000000000000000000000000000000000007B7B7B000000 - 0000FFFFFF000000000000000000000000000000000000000000000000000000 - 00007B7B7B00FFFFFF00000000000000000000000000000000007B7B7B00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007B7B - 7B00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF007B7B - 7B00FFFFFF000000000000000000000000000000000000000000000000000000 - 00007B7B7B0000000000FFFFFF000000000000000000000000007B7B7B000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007B7B - 7B007B7B7B007B7B7B007B7B7B00FFFFFF007B7B7B007B7B7B007B7B7B007B7B - 7B00000000000000000000000000000000000000000000000000000000000000 - 0000000000007B7B7B00FFFFFF0000000000000000007B7B7B00FFFFFF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000007B7B7B0000000000FFFFFF00000000007B7B7B00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00000000007B7B7B0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B00FFFFFF007B7B7B00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000007B7B7B00FFFFFF0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007B7B7B007B7B7B007B7B7B0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000007B7B7B000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000424D3E000000000000003E000000 - 28000000400000000E0000000100010000000000700000000000000000000000 - 000000000000000000000000FFFFFF00FE7FFC3F00000000FD3FFC3F00000000 - FD5FFC3F00000000F99FF00700000000FBAFE10700000000F3CFEBEF00000000 - F7D7F3CF00000000E087F5DF00000000E00FF99F00000000FC3FFABF00000000 - FC3FFC3F00000000FC3FFD7F00000000FC3FFE7F00000000FC7FFEFF00000000 - 00000000000000000000000000000000000000000000} - end - object ImageList2: TImageList - Height = 24 - Width = 24 - Left = 216 - Top = 328 - Bitmap = { - 494C010105000900040018001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 000000000000360000002800000060000000480000000100200000000000006C - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900A54A - 2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A - 2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A - 2100A54A2100A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFF7 - F700DEC6BD00D6C6B500D6BDB500CEBDAD00CEB5AD00C6B5A500C6AD9C00BDAD - 9C00BDA59C00BDA59400B5A59400B59C8C00B59C8C00B59C8C00B59C8C00B59C - 8C00B59C8C00A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7 - DE00E7DED600E7DED600E7D6CE00E7D6CE00DECEC600DECEC600DECEBD00DECE - BD00B59C8C00A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EFE700EFE7E700EFE7 - DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6CE00DECEC600DECEC600DECE - BD00B59C8C00A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EFE700EFE7 - E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6CE00DECEC600DECE - C600B59C8C00A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EFEF00F7EF - E700EFE7E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6CE00DECE - C600B59C8C00A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EFEF00F7EF - EF00F7EFE700EFE7E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6CE00E7D6 - CE00B59C8C00A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7EF - EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7DE00E7DED600E7DED600E7D6 - CE00B5A59400A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7F700F7F7 - F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7DE00EFDEDE00E7DE - D600BDA59400A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7 - F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7DE00EFDE - DE00BDA59C00A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFF7F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7DE00EFE7 - DE00BDAD9C00A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFF7F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7E700EFE7 - DE00C6AD9C00A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFF7F700F7F7F700F7F7EF00F7EFEF00F7EFE700EFE7 - E700C6B5A500A54A210000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00BDCEF70000009C0000009C0000009C000000 - 9C0000009C0000009C0000009C00C608FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF000031FF00294ACE001842CE001039C6000029 - C6000029C6000029C6000029C60000009C000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900A54A - 2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A2100A54A - 2100A54A2100A54A2100A54A21000031FF003152D600B5C6F7009CADF7001039 - C6009CADF700B5C6F7000029C60000009C000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CE732900D66B - 0000D66B0000D66B0000D66B0000D66B0000D66B0000D66B0000D66B0000D66B - 0000D66B0000D66B0000D66B00000031FF004263D600CED6F700F7F7FF009CAD - F700F7F7FF009CADF7000029C60000009C000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000E7426300E78C - 2900EF943100EF943100EF943100EF943100EF943100EF943100EF943100EF94 - 3100EF943100EF943100EF9431000031FF004A63D6004A63D600D6DEFF00FFFF - FF009CADF7001839CE000831C60000009C000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FF10DE00E742 - 6300DE7B0800DE7B0800DE7B0800DE7B0800DE7B0800DE7B0800DE7B0800DE7B - 0800DE7B0800DE7B0800DE7B08000031FF004A63DE008CA5EF00F7F7FF00CED6 - FF00F7F7FF009CADF7001839CE0000009C000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000031FF005A73E700B5C6F7008C9CEF004A63 - D6009CADF700B5C6F700214ACE0000009C000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000031FF006B84E7005A73E7004A63DE004A63 - D6004A63D600395AD6003152D60000009C000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000C608FF000031FF000031FF000031FF000031 - FF000031FF000031FF000031FF00C608FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000005A185A000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000009C3100000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000C6B5A5006B4231006B42 - 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42 - 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42 - 31006B4231006B4231006B423100000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000005A185A005A185A000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000009C3100009C31 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000018D6000018D6000000000000000000C6B5A500DED6C600B5A5 - 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5 - 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5 - 9400B5A59400B5A594006B423100000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000005A185A00B56BAD00B563A5005A18 - 5A005A185A005A185A005A185A005A185A000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000D66331009C3100009C3100009C3100009C3100009C310000DE8C - 63009C3100000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000018D6000018D6000018D6000000000000000000C6B5A500B5A59400DED6 - C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6 - C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6 - C600DED6C600B5A594006B42310000000000C6B5A5006B4231006B4231006B42 - 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42 - 31006B4231006B423100B5A594005A185A00C67BBD00C67BBD00BD6BB500B563 - AD00AD5AA500A5529C009C4A94005A185A00C6B5A5006B4231006B4231006B42 - 31006B4231006B4231006B4231006B4231006B4231006B4231006B4231006B42 - 3100B5A59400D6633100FFC6A500FFB58C00FFAD8C00FFAD8400F7A57B00EF9C - 7300E7946B009C310000000000000000000000000000000000000018D6000018 - D6000018D6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000018 - D6000018D6000018D600000000000000000000000000C6B5A500DED6C600B5A5 - 9400E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE - D600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE - D600B5A59400B5A594006B42310000000000C6B5A500DED6C600B5A59400B5A5 - 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5 - 9400B5A59400DECEBD005A185A00CE84BD00CE84BD00CE84BD00C67BBD00BD6B - B500B563AD00AD5AA500A5529C005A185A00C6B5A500DED6C600B5A59400B5A5 - 9400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A59400B5A5 - 9400DECEBD00D6633100FFC6A500FFB58C00FFB58C00FFB58C00FFAD8400F7A5 - 7B00EF9C7300E7946B009C3100000000000000000000000000000018D6000018 - D6000018D6000018D60000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000018D6000018D6000018 - D6000018D60000000000000000000000000000000000C6B5A500E7D6CE00E7D6 - CE00B5A59400EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7 - DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00B5A5 - 9400DED6C600B5A594006B42310000000000C6B5A500B5A59400DED6C600DED6 - C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6 - C600DED6C6005A185A00D6A5CE00CE84BD00CE84BD00CE84BD00CE84BD00C67B - BD00BD6BB500B563AD00AD5AA5005A185A00C6B5A500B5A59400DED6C600DED6 - C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6C600DED6 - C600DED6C600D6633100FFC6A500FFB58C00FFB58C00FFB58C00FFB58C00FFAD - 8400F7A57B00EF9C7300E7946B009C31000000000000000000000018D6000018 - D6000018D6000018D6000018D600000000000000000000000000000000000000 - 0000000000000000000000000000000000000018D6000018D6000018D6000018 - D6000000000000000000000000000000000000000000C6B5A500EFDEDE00EFDE - DE00EFDEDE00B5A59400F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EF - EF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00B5A59400E7DE - D600E7DED600B5A594006B42310000000000C6B5A500DED6C600B5A59400E7DE - D600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE - D600E7DED600E7DED600A5429400D6A5CE00CE84BD00CE84BD00CE84BD00CE84 - BD00C67BBD00BD6BB500B563AD005A185A00C6B5A500DED6C600B5A59400E7DE - D600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DED600E7DE - D600E7DED600D6633100FFC6A500FFB58C00FFB58C00FFB58C00FFB58C00FFB5 - 8C00FFAD8400F7A57B009C310000000000000000000000000000000000000018 - D6000018D6000018D6000018D6000018D6000000000000000000000000000000 - 00000000000000000000000000000018D6000018D6000018D6000018D6000000 - 00000000000000000000000000000000000000000000C6B5A500EFE7E700EFE7 - E700EFE7E700EFE7E700B5A59400F7F7F700F7F7F700F7F7F700F7F7F700F7F7 - F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700B5A59400EFE7DE00EFE7 - DE00EFE7DE00B5A594006B42310000000000C6B5A500E7D6CE00E7D6CE00B5A5 - 9400EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7 - DE00EFE7DE00EFE7DE00EFE7DE00A5429400D6A5CE00CE84BD00CE84BD00CE84 - BD00CE84BD00CE84BD00CE84BD005A185A00C6B5A500E7D6CE00E7D6CE00B5A5 - 9400EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7DE00EFE7 - DE00EFE7DE00D6633100FFC6A500FFC6A500FFC6A500FFC6A500FFC6A500FFC6 - A500FFB58C009C31000000000000000000000000000000000000000000000000 - 00000018FF000018D6000018D6000018D6000018D60000000000000000000000 - 000000000000000000000018D6000018D6000018D6000018D600000000000000 - 00000000000000000000000000000000000000000000C6B5A500F7EFE700F7EF - E700F7EFE700F7EFE700F7EFE700B5A59400FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5A59400F7EFEF00F7EFEF00F7EF - EF00F7EFEF00B5A594006B42310000000000C6B5A500EFDEDE00EFDEDE00EFDE - DE00B5A59400F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EF - EF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00A5429400D6A5CE00A5429400A542 - 9400A5429400A5429400A5429400A5429400C6B5A500EFDEDE00EFDEDE00EFDE - DE00B5A59400F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EFEF00F7EF - EF00F7EFEF00D6633100D6633100D6633100D6633100D6633100D6633100FFC6 - A5009C3100000000000000000000000000000000000000000000000000000000 - 000000000000000000000018D6000018D6000018D6000018D600000000000000 - 00000018D6000018D6000018D6000018D6000018D60000000000000000000000 - 00000000000000000000000000000000000000000000C6B5A500F7EFEF00F7EF - EF00F7EFEF00F7EFEF00B5A59400EFE7E700B5A59400FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00B5A59400DEC6C600B5A59400F7F7F700F7F7 - F700F7F7F700B5A594006B42310000000000C6B5A500EFE7E700EFE7E700EFE7 - E700EFE7E700B5A59400F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7 - F700F7F7F700F7F7F700F7F7F700B5A59400EFE7DE00A5429400A5429400DECE - BD00B5A59400000000000000000000000000C6B5A500EFE7E700EFE7E700EFE7 - E700EFE7E700B5A59400F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7 - F700F7F7F700F7F7F700F7F7F700B5A59400EFE7DE00EFE7DE00D66331009C31 - 0000B5A594000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000018D6000018D6000018D6000018D6000018 - D6000018D6000018D6000018D6000018D6000000000000000000000000000000 - 00000000000000000000000000000000000000000000C6B5A500FFF7F700FFF7 - F700FFF7F700B5A59400EFE7E700FFFFF700EFE7E700B5A59400B5A59400B5A5 - 9400B5A59400B5A59400B5A59400DEC6C600DECEBD00DEC6C600B5A59400FFFF - FF00FFFFFF00B5A594006B42310000000000C6B5A500F7EFE700F7EFE700F7EF - E700F7EFE700F7EFE700B5A59400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00B5A59400F7EFEF00F7EFEF00F7EFEF00A5429400DECE - BD006B423100000000000000000000000000C6B5A500F7EFE700F7EFE700F7EF - E700F7EFE700F7EFE700B5A59400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00B5A59400F7EFEF00F7EFEF00F7EFEF009C310000DECE - BD006B4231000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000018D6000018D6000018FF000018 - D6000018FF000018D6000018D600000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000C6B5A500FFFFFF00FFFF - FF00B5A59400EFE7E700FFFFFF00FFFFFF00FFFFF700EFE7E700EFE7E700EFE7 - E700EFE7E700EFE7E700EFE7E700E7D6CE00E7D6CE00DECEC600DEC6C600B5A5 - 9400FFFFFF00B5A594006B42310000000000C6B5A500F7EFEF00F7EFEF00F7EF - EF00F7EFEF00B5A59400DEC6C600B5A59400FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00B5A59400DEC6C600B5A59400F7F7F700F7F7F700F7F7F700B5A5 - 94006B423100000000000000000000000000C6B5A500F7EFEF00F7EFEF00F7EF - EF00F7EFEF00B5A59400DEC6C600B5A59400FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00B5A59400DEC6C600B5A59400F7F7F700F7F7F700F7F7F700B5A5 - 94006B4231000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000018D6000018D6000018 - D6000018FF000018D60000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000C6B5A500FFFFFF00BDA5 - 9400FFFFFF00FFFFFF00B5A59400B5A59400B5A59400B5A59400B5A59400B5A5 - 9400B5A59400B5A59400B5A59400B5A59400B5A59400E7D6CE00DECEC600CEB5 - A500B5A59400F7F7EF006B42310000000000C6B5A500FFF7F700FFF7F700FFF7 - F700B5A59400DEC6C600B5E7FF00ADDEFF00B5A59400B5A59400B5A59400B5A5 - 9400B5A59400DEC6C60073C6FF006BC6FF00B5A59400FFFFFF00FFFFFF00B5A5 - 94006B423100000000000000000000000000C6B5A500FFF7F700FFF7F700FFF7 - F700B5A59400DEC6C600B5E7FF00ADDEFF00B5A59400B5A59400B5A59400B5A5 - 9400B5A59400DEC6C60073C6FF006BC6FF00B5A59400FFFFFF00FFFFFF00B5A5 - 94006B4231000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000018D6000018D6000018FF000018 - D6000018D6000018FF000018FF00000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000C6B5A500B5A59400CEB5 - A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7 - F700F7F7EF00F7EFEF00EFE7E700EFE7DE00EFDED600E7D6CE00E7D6CE00CEB5 - A500DEC6C600D6A59C006B42310000000000C6B5A500FFFFFF00FFFFFF00B5A5 - 9400DEC6C600C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDEFF0094D6 - FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400FFFFFF00B5A5 - 94006B423100000000000000000000000000C6B5A500FFFFFF00FFFFFF00B5A5 - 9400DEC6C600C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDEFF0094D6 - FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400FFFFFF00B5A5 - 94006B4231000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000018D6000018D6000018FF000018D6000018 - FF000018FF000018FF000018D6000018FF000000000000000000000000000000 - 00000000000000000000000000000000000000000000C6B5A50021A5EF00CEB5 - A500FFFFFF00FFFFFF00B5A59400B5A59400B5A59400B5A59400B5A59400B5A5 - 9400B5A59400B5A59400B5A59400B5A59400B5A59400EFDED600E7D6CE00CEB5 - A50021A5EF00B5A594006B42310000000000C6B5A500FFFFFF00BDA59400DEC6 - C600D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDE - FF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400F7F7 - EF006B423100000000000000000000000000C6B5A500FFFFFF00BDA59400DEC6 - C600D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DEFF009CDE - FF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00B5A59400F7F7 - EF006B4231000000000000000000000000000000000000000000000000000000 - 000000000000000000000018FF000018FF000018FF000018D6000018FF000000 - 0000000000000018FF000018FF000018FF000018FF0000000000000000000000 - 00000000000000000000000000000000000000000000C6B5A50021A5EF00CEB5 - A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFF7F700F7F7EF00F7EFEF00EFE7E700EFE7DE00EFDED600CEB5 - A50021A5EF00B5A594006B42310000000000C6B5A500B5A59400DEC6C600DEF7 - FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DE - FF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00D6A5 - 9C006B423100000000000000000000000000C6B5A500B5A59400DEC6C600DEF7 - FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDEFF00A5DE - FF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6FF00D6A5 - 9C006B4231000000000000000000000000000000000000000000000000000000 - 0000000000000018FF000018FF000018D6000018FF000018FF00000000000000 - 000000000000000000000018FF000018FF000018FF000018FF00000000000000 - 0000000000000000000000000000000000000000000000000000C6B5A500CEB5 - A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5 - A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5A500CEB5 - A500BDA594006B4231000000000000000000C6B5A500DEC6C600DEF7FF00DEF7 - FF00DEF7FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDE - FF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6 - FF006B423100000000000000000000000000C6B5A500DEC6C600DEF7FF00DEF7 - FF00DEF7FF00DEF7FF00D6EFFF00CEEFFF00C6EFFF00BDE7FF00B5E7FF00ADDE - FF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF0073C6FF006BC6 - FF006B4231000000000000000000000000000000000000000000000000000000 - 00000018FF000018FF000018FF000018FF000018FF0000000000000000000000 - 0000000000000000000000000000000000000018FF000018FF000018FF000000 - 000000000000000000000000000000000000000000000000000000000000C6B5 - A500DEF7FF00DEF7FF00DEF7FF00D6F7FF00C6EFFF00B5E7FF00A5DEFF009CD6 - FF008CD6FF007BCEFF006BC6FF005ABDFF004ABDFF0042B5FF0042B5FF00B5A5 - 94006B42310000000000000000000000000000000000C6B5A500DEF7FF00DEF7 - FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7FF00B5E7 - FF00ADDEFF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF006B42 - 31000000000000000000000000000000000000000000C6B5A500DEF7FF00DEF7 - FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7FF00B5E7 - FF00ADDEFF00A5DEFF009CDEFF0094D6FF008CD6FF0084CEFF007BCEFF006B42 - 3100000000000000000000000000000000000000000000000000000000000018 - FF000018FF000018FF000018FF000018FF000000000000000000000000000000 - 000000000000000000000000000000000000000000000018FF000018FF000018 - FF00000000000000000000000000000000000000000000000000000000000000 - 0000C6B5A500DEF7FF00DEF7FF00DEF7FF00D6F7FF00C6EFFF00B5E7FF00A5DE - FF009CD6FF0094D6FF0084CEFF0073CEFF0063C6FF0052BDFF00B5A594006B42 - 3100000000000000000000000000000000000000000000000000C6B5A500DEF7 - FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7 - FF00B5E7FF00ADE7FF00A5DEFF009CDEFF0094D6FF008CD6FF006B4231000000 - 0000000000000000000000000000000000000000000000000000C6B5A500DEF7 - FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EFFF00BDE7 - FF00B5E7FF00ADE7FF00A5DEFF009CDEFF0094D6FF008CD6FF006B4231000000 - 00000000000000000000000000000000000000000000000000000018FF000018 - FF000018FF000018FF000018FF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000018 - FF00000000000000000000000000000000000000000000000000000000000000 - 000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00CEEFFF00BDE7 - FF00ADE7FF009CDEFF0094D6FF0084CEFF0073CEFF00B5A594006B4231000000 - 000000000000000000000000000000000000000000000000000000000000C6B5 - A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EF - FF00BDE7FF00B5E7FF00ADE7FF00A5DEFF009CDEFF006B423100000000000000 - 000000000000000000000000000000000000000000000000000000000000C6B5 - A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEFFF00C6EF - FF00BDE7FF00B5E7FF00ADE7FF00A5DEFF009CDEFF006B423100000000000000 - 000000000000000000000000000000000000000000000018FF000018FF000018 - FF000018FF000018FF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00CEEF - FF00BDE7FF00ADE7FF009CDEFF0094D6FF00B5A594006B423100000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEF - FF00C6EFFF00BDE7FF00B5E7FF00ADE7FF006B42310000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7FF00CEEF - FF00C6EFFF00BDE7FF00B5E7FF00ADE7FF006B42310000000000000000000000 - 000000000000000000000000000000000000000000000018FF000018FF000018 - FF000018FF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7 - FF00CEEFFF00BDE7FF00ADE7FF009CDEFF006B42310000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7 - FF00CEEFFF00C6EFFF00BDE7FF006B4231000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7FF00D6F7 - FF00CEEFFF00C6EFFF00BDE7FF006B4231000000000000000000000000000000 - 000000000000000000000000000000000000000000000018FF000018FF000018 - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000C6B5A500C6B5A500C6B5A500C6B5 - A500C6B5A500C6B5A500C6B5A500C6B5A5000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7 - FF00D6F7FF00CEEFFF006B423100000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000C6B5A500DEF7FF00DEF7FF00DEF7FF00DEF7FF00DEF7 - FF00D6F7FF00CEEFFF006B423100000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000C6B5A500C6B5A500C6B5A500C6B5A500C6B5 - A500C6B5A500C6B5A50000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000C6B5A500C6B5A500C6B5A500C6B5A500C6B5 - A500C6B5A500C6B5A50000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000424D3E000000000000003E000000 - 2800000060000000480000000100010000000000600300000000000000000000 - 000000000000000000000000FFFFFF0000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FFFFFF000000000000000000FFFFFF00 - 0000000000000000C00003000000000000000000C00003000000000000000000 - C00003000000000000000000C00003000000000000000000C000030000000000 - 00000000C00003000000000000000000C00003000000000000000000C0000300 - 0000000000000000C00003000000000000000000C00003000000000000000000 - C00003000000000000000000C00003000000000000000000C000030000000000 - 00000000C00000000000000000000000C00000000000000000000000C0000000 - 0000000000000000C00000000000000000000000C00000000000000000000000 - C00000000000000000000000FFFE00000000000000000000FFFE000000000000 - 00000000FFFE00000000000000000000FFFFFFFFFFDFFFFFDFFFFFFF800001FF - FF9FFFFFCFFFFFF9800001FFFF00FFF807FFFFF1800001000000000003C7FFE3 - 800001000000000001C3FF87800001000000000000C1FF0F8000010000000000 - 01E0FE1F800001000000000003F07C3F800001000000000007FC307F80000100 - 0007000007FE00FF800001000007000007FF01FF800001000007000007FF83FF - 800001000007000007FF01FF800001000007000007FE00FF8000010000070000 - 07FC187F800001000007000007F83C3FC00003000007000007F07F1FE0000780 - 000F80000FE0FF8FF0000FC0001FC0001FC1FFEFF8001FE0003FE0003F83FFFF - FC003FF0007FF0007F87FFFFFE007FF800FFF800FF8FFFFFFF00FFFC01FFFC01 - FFFFFFFFFFFFFFFE03FFFE03FFFFFFFF00000000000000000000000000000000 - 000000000000} - end -end diff --git a/internal/2.31RC1/1/Source/MsgsForm_U.pas b/internal/2.31RC1/1/Source/MsgsForm_U.pas deleted file mode 100644 index 6913efe..0000000 --- a/internal/2.31RC1/1/Source/MsgsForm_U.pas +++ /dev/null @@ -1,346 +0,0 @@ -unit MsgsForm_U; - -interface - -{$I 'UserControl.inc'} - -uses -{$IFDEF DELPHI5_UP} - Variants, -{$ENDIF} - Classes, - ComCtrls, - Controls, - DB, - Dialogs, - ExtCtrls, - Forms, - Graphics, - ImgList, - Messages, - StdCtrls, - SysUtils, - ToolWin, - Windows; - -type - TPointMsg = ^PPointMsg; - - PPointMsg = record - IdMsg: Integer; - Msg: String; - end; - - TMsgsForm = class(TForm) - ImageList1: TImageList; - ListView1: TListView; - ToolBar1: TToolBar; - btnova: TToolButton; - ImageList2: TImageList; - btResponder: TToolButton; - btEncaminhar: TToolButton; - btExcluir: TToolButton; - Splitter1: TSplitter; - btClose: TToolButton; - MemoMsg: TMemo; - procedure btCloseClick(Sender: TObject); - procedure btnovaClick(Sender: TObject); - procedure ListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean); - procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn); - procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); - procedure ListView1DblClick(Sender: TObject); - procedure btExcluirClick(Sender: TObject); - procedure btEncaminharClick(Sender: TObject); - procedure btResponderClick(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure FormClose(Sender: TObject; var Action: TCloseAction); - private - FColuna: Integer; - FAsc: Boolean; - FListaTPointMsg: array of TPointMsg; - procedure MontaTela; - public - DSMsgs: TDataset; - DSUsuarios: TDataset; - end; - -var - MsgsForm: TMsgsForm; - -implementation - -uses - EnvMsgForm_U, - MsgRecForm_U, - UCBase; - -{$R *.dfm} - -procedure TMsgsForm.btCloseClick(Sender: TObject); -begin - Close; -end; - -procedure TMsgsForm.btnovaClick(Sender: TObject); -begin - EnvMsgForm := TEnvMsgForm.Create(Self.Owner); - EnvMsgForm.DataSource1.DataSet := DSUsuarios; - EnvMsgForm.Showmodal; - FreeAndNil(EnvMsgForm); -end; - -function FmtDtHr(dt: String): String; -begin - Result := Copy(dt, 7, 2) + '/' + Copy(dt, 5, 2) + '/' + Copy(dt, 1, 4) + ' ' + Copy(dt, 9, 2) + ':' + Copy(dt, 11, 2); -end; - -procedure TMsgsForm.MontaTela; -var - TempPoint: TPointMsg; -begin - DSMsgs.Open; - while not DSMsgs.EOF do - begin - with ListView1.Items.Add do - begin - ImageIndex := -1; - StateIndex := -1; - Caption := DSMsgs.FieldByName('de').AsString; - SubItems.Add(DSMsgs.FieldByName('Subject').AsString); - SubItems.Add(FmtDtHr(DSMsgs.FieldByName('DtSend').AsString)); - New(TempPoint); - SetLength(FListaTPointMsg, Length(FListaTPointMsg) + 1); - FListaTPointMsg[High(FListaTPointMsg)] := TempPoint; - TempPoint.IdMsg := DSMsgs.FieldByName('idMsg').AsInteger; - TempPoint.Msg := DSMsgs.FieldByName('Msg').AsString; - Data := TempPoint; - end; - DSMsgs.Next; -{$IFDEF DELPHI5} - ListView1.Selected := nil; -{$ELSE} - ListView1.ItemIndex := 0; -{$ENDIF} - - end; - DSMsgs.Close; -end; - -procedure TMsgsForm.ListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean); -begin - if ListView1.SelCount > 1 then - begin - btResponder.Enabled := False; - btEncaminhar.Enabled := False; - end - else - begin - btResponder.Enabled := True; - btEncaminhar.Enabled := True; - end; - MemoMsg.Text := TPointMsg(Item.Data).Msg; -end; - -procedure TMsgsForm.ListView1ColumnClick(Sender: TObject; Column: TListColumn); -begin - if FColuna = Column.Index then - begin - FAsc := not FAsc; - ListView1.Columns[FColuna].ImageIndex := integer(FAsc); - end - else - begin - ListView1.Columns[FColuna].ImageIndex := -1; - FColuna := Column.Index; - FAsc := True; - ListView1.Columns[FColuna].ImageIndex := integer(FAsc); - end; - (Sender as TCustomListView).AlphaSort; -end; - -procedure TMsgsForm.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); -var - ix: Integer; -begin - if FColuna = 0 then - begin - if FAsc then - Compare := CompareText(Item1.Caption, Item2.Caption) - else - Compare := CompareText(Item2.Caption, Item1.Caption); - end - else - begin - ix := FColuna - 1; - if FAsc then - Compare := CompareText(Item1.SubItems[ix], Item2.SubItems[ix]) - else - Compare := CompareText(Item2.SubItems[ix], Item1.SubItems[ix]); - end; -end; - -procedure TMsgsForm.ListView1DblClick(Sender: TObject); -begin - if ListView1.Selected = nil then - exit; //added to prevent AV error {fduenas} - MsgRecForm := TMsgRecForm.Create(Self.Owner); //midifed by fduenas - - MsgRecForm.MemoMsg.Text := TPointMsg(ListView1.Selected.Data).Msg; - MsgRecForm.stDe.Caption := ListView1.Selected.Caption; - MsgRecForm.stAssunto.Caption := ListView1.Selected.SubItems[0]; - MsgRecForm.stData.Caption := ListView1.Selected.SubItems[1]; - - MsgRecForm.ShowModal; - FreeAndNil(MsgRecForm); -end; - -procedure TMsgsForm.btExcluirClick(Sender: TObject); -var - contador: Integer; -begin -{$IFDEF DELPHI5} - if ListView1.Selected = nil then - begin - //Modfied by fduenas - MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected), - PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption), - MB_ICONINFORMATION + MB_OK); - Exit; - end; -{$ELSE} - if ListView1.ItemIndex = -1 then - begin - //Modfied by fduenas - MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected), - PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption), - MB_ICONINFORMATION or mb_OK); - Exit; - end; -{$ENDIF} - - if ListView1.SelCount = 1 then - begin - TUCApplicationMessage(Owner).DeleteAppMessage(TPointMsg(ListView1.Selected.Data).idMsg); - {$IFDEF DELPHI5} - ListView1.Selected.Delete; - {$ELSE} - ListView1.DeleteSelected; - {$ENDIF} - end - else - begin - for contador := 0 to LIstView1.Items.Count - 1 do - if ListView1.items[contador].selected then - TUCApplicationMessage(Owner).DeleteAppMessage(TPointMsg(ListView1.items[contador].Data).idMsg); - {$IFDEF DELPHI5} - ListView1.Selected.Delete; - {$ELSE} - ListView1.DeleteSelected; - {$ENDIF} - end; - -end; - -procedure TMsgsForm.btEncaminharClick(Sender: TObject); -var - contador: Integer; -begin -{$IFDEF DELPHI5} - if ListView1.Selected = nil then - begin - //Modfied by fduenas - MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected), - PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption), - MB_ICONINFORMATION or mb_OK); - Exit; - end; -{$ELSE} - if ListView1.ItemIndex = -1 then - begin - //Modfied by fduenas - MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected), - PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption), - MB_ICONINFORMATION or mb_OK); - Exit; - end; -{$ENDIF} - try - EnvMsgForm := TEnvMsgForm.Create(Self.Owner); - EnvMsgForm.DataSource1.DataSet := DSUsuarios; - if EnvMsgForm.dbUsuario.Text <> '' then - EnvMsgForm.dbUsuario.Enabled := False; - EnvMsgForm.EditAssunto.Text := Copy('Enc: ' + ListView1.Selected.SubItems[0], 1, EnvMsgForm.EditAssunto.MaxLength); - EnvMsgForm.MemoMsg.Text := TPointMsg(ListView1.Selected.Data).Msg; - for contador := 0 to EnvMsgForm.MemoMsg.Lines.Count - 1 do - EnvMsgForm.MemoMsg.Lines[contador] := '>' + EnvMsgForm.MemoMsg.Lines[contador]; - EnvMsgForm.MemoMsg.Lines.Insert(0, ListView1.Selected.Caption + ' ' + ListView1.Selected.SubItems[1]); - EnvMsgForm.MemoMsg.Text := Copy(EnvMsgForm.MemoMsg.Text, 1, EnvMsgForm.MemoMsg.MaxLength); - EnvMsgForm.Showmodal; - finally - FreeAndNil(EnvMsgForm); - end; -end; - -procedure TMsgsForm.btResponderClick(Sender: TObject); -begin -{$IFDEF DELPHI5} - if ListView1.Selected = nil then - begin - //Modfied by fduenas - MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected), PChar(TUCApplicationMessage(Owner).UserControl.Settings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption), MB_ICONINFORMATION + MB_OK); - Exit; - end; -{$ELSE} - if ListView1.ItemIndex = -1 then - begin - //Modfied by fduenas - MessageBox(Handle, PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected), - PChar(TUCApplicationMessage(Owner).UserControl.UserSettings.AppMessages.MsgsForm_NoMessagesSelected_WindowCaption), - MB_ICONINFORMATION or mb_OK); - Exit; - end; -{$ENDIF} - try - EnvMsgForm := TEnvMsgForm.Create(Self.Owner); - EnvMsgForm.rbUsuario.Checked := True; - EnvMsgForm.rbTodos.Enabled := False; - DSMsgs.Open; - DSMsgs.Locate('idMsg', TPointMsg(ListView1.Selected.Data).idMsg, []); - EnvMsgForm.DataSource1.DataSet := DSUsuarios; - EnvMsgForm.dbUsuario.KeyValue := DSMsgs.FieldByName('UsrFrom').AsInteger; - if EnvMsgForm.dbUsuario.Text <> '' then - EnvMsgForm.dbUsuario.Enabled := False; - EnvMsgForm.EditAssunto.Text := Copy('Re: ' + ListView1.Selected.SubItems[0], 1, EnvMsgForm.EditAssunto.MaxLength); - EnvMsgForm.Showmodal; - finally - DSMsgs.Close; - FreeAndNil(EnvMsgForm); - end; -end; - -procedure TMsgsForm.FormClose(Sender: TObject; var Action: TCloseAction); -var - I: Integer; -begin - for I := 0 to High(FListaTPointMsg) do - Dispose(FListaTPointMsg[I]); - - if Assigned(DSMsgs) then - SysUtils.FreeAndNil(DSMsgs); - - if Assigned(DSUsuarios) then - SysUtils.FreeAndNil(DSUsuarios); -end; - -procedure TMsgsForm.FormCreate(Sender: TObject); -begin - SetLength(FListaTPointMsg, 0); -end; - -procedure TMsgsForm.FormShow(Sender: TObject); -begin - MontaTela; -end; - -end. diff --git a/internal/2.31RC1/1/Source/SenhaForm_U.dfm b/internal/2.31RC1/1/Source/SenhaForm_U.dfm deleted file mode 100644 index 3ad53eb..0000000 --- a/internal/2.31RC1/1/Source/SenhaForm_U.dfm +++ /dev/null @@ -1,73 +0,0 @@ -object SenhaForm: TSenhaForm - Left = 355 - Top = 241 - ActiveControl = edtSenha - BorderStyle = bsDialog - Caption = 'Digitar Senha...' - ClientHeight = 145 - ClientWidth = 244 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - Position = poMainFormCenter - OnClose = FormClose - OnCloseQuery = FormCloseQuery - OnCreate = FormCreate - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object LabelSenha: TLabel - Left = 16 - Top = 7 - Width = 30 - Height = 13 - Caption = 'Senha' - end - object LabelConfirma: TLabel - Left = 16 - Top = 51 - Width = 30 - Height = 13 - Caption = 'Senha' - end - object edtSenha: TEdit - Left = 16 - Top = 23 - Width = 217 - Height = 21 - Ctl3D = True - ParentCtl3D = False - PasswordChar = '*' - TabOrder = 0 - end - object edtConfirmaSenha: TEdit - Left = 16 - Top = 67 - Width = 217 - Height = 21 - Ctl3D = True - ParentCtl3D = False - PasswordChar = '*' - TabOrder = 1 - end - object btnOK: TBitBtn - Left = 44 - Top = 108 - Width = 75 - Height = 25 - TabOrder = 2 - Kind = bkOK - end - object BtCancel: TBitBtn - Left = 124 - Top = 108 - Width = 75 - Height = 25 - TabOrder = 3 - Kind = bkCancel - end -end diff --git a/internal/2.31RC1/1/Source/SenhaForm_U.pas b/internal/2.31RC1/1/Source/SenhaForm_U.pas deleted file mode 100644 index ee9be2c..0000000 --- a/internal/2.31RC1/1/Source/SenhaForm_U.pas +++ /dev/null @@ -1,95 +0,0 @@ -unit SenhaForm_U; - -interface - -{$I 'UserControl.inc'} - -uses - Buttons, - Classes, - Controls, - Dialogs, - Forms, - Graphics, - Messages, - StdCtrls, - SysUtils, - Variants, - Windows, - UCBase; - -type - TSenhaForm = class(TForm) - edtSenha: TEdit; - edtConfirmaSenha: TEdit; - btnOK: TBitBtn; - BtCancel: TBitBtn; - LabelSenha: TLabel; - LabelConfirma: TLabel; - procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure FormCreate(Sender: TObject); - procedure FormShow(Sender: TObject); - private - { Private declarations } - function CompararSenhas(Senha, ConfirmaSenha: String): Boolean; - public - fUserControl : TUserControl; - { Public declarations } - end; - -implementation - -{$R *.dfm} - -{ TForm1 } - -function TSenhaForm.CompararSenhas(Senha, ConfirmaSenha: String): Boolean; -begin - Result := False; - With fUserControl do - begin - if ( UserPasswordChange.ForcePassword ) and ( senha = '' ) then - MessageDlg(UserSettings.CommonMessages.ChangePasswordError.PasswordRequired, mtWarning, [mbOK], 0) - else if Length( Senha ) < UserPasswordChange.MinPasswordLength then - MessageDlg(Format(UserSettings.CommonMessages.ChangePasswordError.MinPasswordLength, [UserPasswordChange.MinPasswordLength]), mtWarning, [mbOK], 0) - else if Pos(LowerCase(senha), 'abcdeasdfqwerzxcv1234567890321654987teste' + LowerCase(CurrentUser.UserName) + LowerCase(CurrentUser.UserLogin)) > 0 then - MessageDlg(UserSettings.CommonMessages.ChangePasswordError.InvalidNewPassword, mtWarning, [mbOK], 0) - else if ( senha <> confirmasenha ) then - MessageDlg( UserSettings.CommonMessages.ChangePasswordError.NewPasswordError , mtWarning, [mbOK], 0) - else result := true; - End; -end; - -procedure TSenhaForm.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TSenhaForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); -begin - if not (ModalResult = mrCancel) then - begin - CanClose := CompararSenhas(edtSenha.Text, edtConfirmaSenha.Text); - if not CanClose then - edtSenha.SetFocus; - end; -end; - -procedure TSenhaForm.FormCreate(Sender: TObject); -begin - edtSenha.Clear; - edtConfirmaSenha.Clear; -end; - -procedure TSenhaForm.FormShow(Sender: TObject); -begin - edtSenha.CharCase := fUserControl.Login.CharCasePass; - edtConfirmaSenha.CharCase := fUserControl.Login.CharCasePass; - LabelSenha.Caption := fUserControl.UserSettings.Login.LabelPassword; - LabelConfirma.Caption := fUserControl.UserSettings.ChangePassword.LabelConfirm; - btnOK.Caption := fUserControl.UserSettings.Login.BtOk; - BtCancel.Caption := fUserControl.UserSettings.Login.BtCancel; -end; - -end. diff --git a/internal/2.31RC1/1/Source/TrocaSenha_U.dfm b/internal/2.31RC1/1/Source/TrocaSenha_U.dfm deleted file mode 100644 index 5bdaf68..0000000 --- a/internal/2.31RC1/1/Source/TrocaSenha_U.dfm +++ /dev/null @@ -1,350 +0,0 @@ -object TrocaSenha: TTrocaSenha - Left = 398 - Top = 263 - ActiveControl = EditAtu - BorderStyle = bsDialog - Caption = 'Seguran'#231'a' - ClientHeight = 163 - ClientWidth = 353 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - OnActivate = FormActivate - OnClose = FormClose - OnCloseQuery = FormCloseQuery - PixelsPerInch = 96 - TextHeight = 13 - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 353 - Height = 35 - Align = alTop - BevelOuter = bvNone - Color = clWhite - TabOrder = 0 - object lbDescricao: TLabel - Left = 47 - Top = 11 - Width = 124 - Height = 18 - Caption = 'Trocar Senha ' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Verdana' - Font.Style = [fsBold] - ParentFont = False - end - object Image1: TImage - Left = 8 - Top = 4 - Width = 28 - Height = 28 - AutoSize = True - Picture.Data = { - 07544269746D6170760C0000424D760C00000000000036000000280000001C00 - 00001C0000000100200000000000400C00000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00F9F9F900F1F1F100EAEA - EA00E3E3E300E0E0E000DEDEDE00DFDFDF00D3D0CD0077594300694731006947 - 310069473100D8D1CD00FAFAFA00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F6F6F600C5C7 - C5008E9F91006E8A70005E815C00527B4F004E7C4A004B7C48004A7C47004B7B - 480074574100EAD3BB00F4CA9F00E8BB8E0069473100626B570078817500A19F - 9F00D4D4D400FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00F2F4F30074967100487638004E7C35004E8334004B893300488E - 31004592300044962F0043972F0043982F00A08C7D00F3EEEB00FEF3E300FEE6 - CA00DFBF9A0069473100694731004C663600526C5200A9A9A900FAFAFA00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0094B3910058743900537B - 36004E8334004A8A33004690310043962F00409B2E003E9F2D003DA12D003DA1 - 2D00519F3E00A08C7D00EEEAE500FEF5EA00FCE6CB00E2B8900069473100545E - 2E00566736005A6F5700E5E5E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00688D5B0055783700508035004B8833004790310043982F003F9E - 2D003BA42C0039A82B0037AB2A0037AB2A0038A92B004B9E3800A08C7D00EAE7 - E200FEF7EC00FCE8CC00D8B99400694731006947310054664600DEDEDE00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E875100527C36004D84 - 3400488D320044962F003F9E2E003BA52C0037AC2A0034B1290032B4280032B5 - 280033B3280035AD2A004B9E3800A08C7D00E7E4DE00FDFAEF00FBE8CD00DEB6 - 8F0069473100535B3C00BEB7B400D4CCC900D3CBC800D9D2D000F9F9F800FFFF - FF00FFFFFF00729A6800507F35004B88330046913100419A2E003CA32C0037AB - 2A0033B328002FB927002DBE25002CBF25002EBC260031B6270036AD29004D9A - 3700A08C7D00E6E3DE00FEF9EF00FBE8CF00D4B6900069473100694731006947 - 31006947310069473100CFC5C000FCFCFC00FFFFFF00A5C6A700508136004A8A - 3300449330003F9D2E003AA62B0035AF290030B827002BBF250035B237002BBB - 2B0029C324002DBC260034B3280038A72A0050943900A08C7D00E4E1DA00FBF4 - EA00F8E3C700E6C39D00DFBB9100E1BD9300E3BE9300DAB2890069473100D8CF - C900FFFFFF00F6FAF70058904D00498B3200449530003E9E2D0039A82B0034B2 - 28002EBB26004BA34E00DEE0DF00DDEADF0044BB47002BC0250031B6270037AD - 2B003D9F2B00588D3F00A08C7D00F4EADE00FEF2E200FDEBD300FCE8CD00FCE5 - C700FCE3C200FFE1BB00DFBB950069473100FFFFFF00FFFFFF00D4E4D6004A8E - 3D00449530003E9E2D0039A82B0034B129002FA92C00A4B0A700E5E6E600E8E9 - E900CFDED20035B3340031B6270036AC2A003CA22C004E8F3800A08C7D00F0E5 - D700FDF1E100FBE7D300FAE4CD00FBE1C600FBDCBE00EED2B300F5D0A9006947 - 3100FFFFFF00FFFFFF00FFFFFF00D2E4D4004E984500409C2E003AA52C0035AE - 2900518B5400989B9F00798A96006B7F8C00757E85005B7F5D002D9E240038A9 - 2A003DA12D00508D3B00A08C7D00F1E6D700FCEDD900FAE1C900FBDFC300FCDD - BD00E0C2A600AA907B00EBC49F0069473100FFFFFF00FFFFFF00FFFFFF00FFFF - FF00EDF4EF007BB57B003A9D2E00319131004F7C93004992C5004A98CF004897 - CE004592C800437DA400235437002C7F22004B9B4500A6B69E00A08C7D00F3E8 - D800FBEAD300FADDC000FADABA00DFC1A3009A806C008D6A5000EEC69F006947 - 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BDD3C7004C90 - AF0052A0D60052A0D500519FD4004F9DD3004C9AD1004997CE00438CBF004363 - 6700C1C2C100E6E2DF00A08C7D00E8DBCB00FDE9D100FDE2C300EFD4B800AD96 - 85008E705A00D9C19B00E1BC970069473100FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00F5F6F70072ABD00056A4D90056A4D90056A4D90055A3D80054A2 - D70052A0D5004F9DD3004B99D000468DC000727D8400E5E4E300E2DDD900A08C - 7D00ECDFD100F9EEE000F4E7DA00F0E3D700F0E6D900E6D9CB0069473100E7E3 - DF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2C4DC005AA6DB005BA8 - DC005BA8DC005BA8DC005AA7DB0058A5DA0056A4D90053A1D600509ED4004B9A - D0004C7FA500ADADAD00FCFCFB00E6E1DE00A08C7D00A08C7D00A08C7D00A08C - 7D00A08C7D00A08C7D00EDEAE600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00E9EEF4005FA7D7005EABDF005FACE0005FACE0005FACE0005EABDF005CA9 - DD005AA7DB0057A4D90054A2D700509ED4004A95CA0076828B00F0F0F000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ADCDE20060ACE00061AEE20063B0 - E30063B0E30063B0E30061AEE2005FACE0005DAADE005AA7DC0056A4D90053A1 - D6004E9DD3005B7E9600DADADA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF007EB5DA0063B0E30065B2E50067B4E70068B4E70067B4E60065B2E50063B0 - E30060ADE1005DAADE0059A7DB0055A3D800519FD5004F84A800C5C5C500FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FAFBFC0064AAD80066B3E60069B5E8006BB7 - E9006CB8EA006BB7E90069B5E80066B3E60062AFE3005FACE0005BA8DC0057A5 - DA0053A1D6004E8DBB00B8B8B800FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EDF2 - F50062A9D9005696BF00538EB5005E9FC9006BB4E3006EBAEC006CB8EA0069B5 - E70064B1E40060ADE1005DAADE0059A6DB0054A2D7004E91C000B8B8B800FEFE - FE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00F1F5F9004F8FB9004385AF004485AE003F79 - 9D003E708F004B7FA00062A5D10069B5E60066B3E60062AFE2005EABDF0059A7 - DB0053A0D4004D88B200C4C4C400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF005490B8004D94C1004F96C3005097C3004E95C200488BB5003D7192004375 - 95005B9FCD0061AEE1005DAADE004C8FBC003B779D003C627A00D0D0D000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0084B1CD00569ECB0058A0CE0059A1 - CE00579FCC00539BC8004E95C2004689B300386A8A00447B9F004786B0003C7F - A9003C81AC005C7A8B00EDEDED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00C3D8E5005EA5D30061AAD80062ABD9005FA8D6005BA3D100559DCA004E95 - C200478DB9003D7DA6003C7FAA003D82AD003C7CA200A3AAAE00FDFDFD00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFDFE0079B1D5006AB4E2006AB5 - E30067B1DF0062ABD9005BA3D000539AC7004B91BE004388B4003D82AD003C81 - AC0062849A00ECECEC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00DDE9F00075B9E40073BEED006EB9E80067B1DF005FA7D500569E - CB004D94C100458BB7003D82AE005584A200D8DBDD00FEFEFE00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D8E7F1007FBF - E80072BDEC0069B3E20061A9D70058A0CD004F96C2004689B5006994B000DCDF - E300FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00F4F7FA00B2D0E30085B8D80070A9CE0071A6 - C70087AFC900C3D1DB00FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00} - end - end - object Panel3: TPanel - Left = 256 - Top = 35 - Width = 97 - Height = 128 - Align = alRight - BevelOuter = bvNone - TabOrder = 1 - object btGrava: TBitBtn - Left = 8 - Top = 32 - Width = 81 - Height = 25 - Caption = '&Gravar' - TabOrder = 0 - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42 - 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969 - 6969696969696969696969696969696969696969696969696969FF00FFCE726F - D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443 - 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2 - D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F - D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747 - 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF - FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F - DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50 - 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF - FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F - E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459 - 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C - 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F - EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62 - 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE - AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F - F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B - 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8 - B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F - F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863 - 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E - 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F - F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA - BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA - EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F - F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD - C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1 - F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3 - C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6 - F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9 - CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB - FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF - D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4 - DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA - E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F - CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72 - 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A - 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A} - NumGlyphs = 2 - end - object btCancel: TBitBtn - Left = 8 - Top = 72 - Width = 81 - Height = 25 - Caption = '&Cancelar' - TabOrder = 1 - OnClick = btCancelClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - end - end - object Panel2: TPanel - Left = 0 - Top = 35 - Width = 256 - Height = 128 - Align = alClient - BevelInner = bvRaised - BevelOuter = bvLowered - TabOrder = 2 - object lbSenhaAtu: TLabel - Left = 34 - Top = 27 - Width = 64 - Height = 13 - Alignment = taRightJustify - Caption = 'Senha Atual :' - end - object lbNovaSenha: TLabel - Left = 32 - Top = 57 - Width = 66 - Height = 13 - Alignment = taRightJustify - Caption = 'Nova Senha :' - end - object lbConfirma: TLabel - Left = 51 - Top = 88 - Width = 47 - Height = 13 - Alignment = taRightJustify - Caption = 'Confirma :' - end - object EditAtu: TEdit - Left = 103 - Top = 24 - Width = 121 - Height = 21 - Ctl3D = True - MaxLength = 10 - ParentCtl3D = False - PasswordChar = '*' - TabOrder = 0 - end - object EditNova: TEdit - Left = 103 - Top = 54 - Width = 121 - Height = 21 - Ctl3D = True - MaxLength = 10 - ParentCtl3D = False - PasswordChar = '*' - TabOrder = 1 - end - object EditConfirma: TEdit - Left = 103 - Top = 85 - Width = 121 - Height = 21 - Ctl3D = True - MaxLength = 10 - ParentCtl3D = False - PasswordChar = '*' - TabOrder = 2 - end - end -end diff --git a/internal/2.31RC1/1/Source/TrocaSenha_U.pas b/internal/2.31RC1/1/Source/TrocaSenha_U.pas deleted file mode 100644 index a034907..0000000 --- a/internal/2.31RC1/1/Source/TrocaSenha_U.pas +++ /dev/null @@ -1,89 +0,0 @@ -unit TrocaSenha_U; - -interface - -{$I 'UserControl.inc'} - -uses -{$IFDEF DELPHI5_UP} -{$ELSE} - Variants, -{$ENDIF} - Buttons, - Classes, - Controls, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Messages, - StdCtrls, - SysUtils, - Windows, -// UCConsts, - UCBase; { Por Vicente Barros Leonel } - -type - TTrocaSenha = class(TForm) - Panel1: TPanel; - lbDescricao: TLabel; - Image1: TImage; - Panel3: TPanel; - btGrava: TBitBtn; - btCancel: TBitBtn; - Panel2: TPanel; - lbSenhaAtu: TLabel; - lbNovaSenha: TLabel; - lbConfirma: TLabel; - EditAtu: TEdit; - EditNova: TEdit; - EditConfirma: TEdit; - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure btCancelClick(Sender: TObject); - procedure FormActivate(Sender: TObject); - procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); - private - { Private declarations } - public - fUsercontrol : TUserControl; { Por Vicente Barros Leonel } - ForcarTroca : Boolean; - { Public declarations } - end; - -{ -var - TrocaSenha: TTrocaSenha; -} - -implementation - -{$R *.dfm} - -procedure TTrocaSenha.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TTrocaSenha.btCancelClick(Sender: TObject); -begin - Close; -end; - -procedure TTrocaSenha.FormActivate(Sender: TObject); -begin - EditAtu.CharCase := Self.FUserControl.Login.CharCasePass; - EditNova.CharCase := Self.FUserControl.Login.CharCasePass; - EditConfirma.CharCase := Self.FUserControl.Login.CharCasePass; { Por Vicente Barros Leonel } -end; - -procedure TTrocaSenha.FormCloseQuery(Sender: TObject; - var CanClose: Boolean); -begin - If ForcarTroca = True then - Begin - CanClose := False; - MessageDlg( fUsercontrol.UserSettings.CommonMessages.ForcaTrocaSenha ,mtWarning, [mbOK], 0); - End; -end; - -end. diff --git a/internal/2.31RC1/1/Source/UCALSMTPClient.pas b/internal/2.31RC1/1/Source/UCALSMTPClient.pas deleted file mode 100644 index 181ebcd..0000000 --- a/internal/2.31RC1/1/Source/UCALSMTPClient.pas +++ /dev/null @@ -1,3770 +0,0 @@ -{************************************************************* -Author: Stéphane Vander Clock (SVanderClock@Arkadia.com) - -Contributor François PIETTE (http://www.overbyte.be) - Paul TOTH (tothpaul@free.fr - http://tothpaul.free.fr) - -EMail: http://www.arkadia.com - SVanderClock@Arkadia.com - -product: TALSMTPClient -Version: 3.05 - -Description: TALsmtpClient class implements the SMTP protocol (RFC-821) - Support file attachement using MIME format (RFC-1521, RFC-2045) - Support authentification (RFC-2104) - -Legal issues: Copyright (C) 2005 by Stéphane Vander Clock - - This software is provided 'as-is', without any express - or implied warranty. In no event will the author be - held liable for any damages arising from the use of - this software. - - Permission is granted to anyone to use this software - for any purpose, including commercial applications, - and to alter it and redistribute it freely, subject - to the following restrictions: - - 1. The origin of this software must not be - misrepresented, you must not claim that you wrote - the original software. If you use this software in - a product, an acknowledgment in the product - documentation would be appreciated but is not - required. - - 2. Altered source versions must be plainly marked as - such, and must not be misrepresented as being the - original software. - - 3. This notice may not be removed or altered from any - source distribution. - - 4. You must register this software by sending a picture - postcard to the author. Use a nice stamp and mention - your name, street address, EMail address and any - comment you like to say. - -Know bug : - -History : - -Link : http://linuxgazette.net/issue45/stumpel.html - http://www.overbyte.be - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/socket_options.asp - http://www.fehcom.de/qmail/smtpauth.html - http://www.freesoft.org/CIE/RFC/821/ - http://www.expita.com/header1.html - http://cr.yp.to/immhf.html - -Please send all your feedback to SVanderClock@Arkadia.com -**************************************************************} - -{$I 'UserControl.inc'} - -unit UCALSMTPClient; - -interface - -uses - Classes, - Dialogs, - sysutils, - windows, - WinSock; - -type - {Note: when changing TVendor, also change VendorStr array below} - TALCPUVendor = ( - cvUnknown, - cvAMD, - cvCentaur, - cvCyrix, - cvIntel, - cvTransmeta, - cvNexGen, - cvRise, - cvUMC, - cvNSC, - cvSiS - ); -{Note: when changing TInstruction, also change InstructionSupportStr below - * - instruction(s) not supported in Delphi 7 assembler} - TALCPUInstructions = ( - isFPU, {80x87} - isTSC, {RDTSC} - isCX8, {CMPXCHG8B} - isSEP, {SYSENTER/SYSEXIT} - isCMOV, {CMOVcc, and if isFPU, FCMOVcc/FCOMI} - isMMX, {MMX} - isFXSR, {FXSAVE/FXRSTOR} - isSSE, {SSE} - isSSE2, {SSE2} - isSSE3, {SSE3*} - isMONITOR, {MONITOR/MWAIT*} - isCX16, {CMPXCHG16B*} - isX64, {AMD AMD64* or Intel EM64T*} - isExMMX, {MMX+ - AMD only} - isEx3DNow, {3DNow!+ - AMD only} - is3DNow {3DNow! - AMD only} - ); - TALCPUInstructionSupport = set of TALCPUInstructions; - - TALCPUInfo = record - Vendor: TALCPUVendor; - Signature: cardinal; - EffFamily: byte; {ExtendedFamily + Family} - EffModel: byte; {(ExtendedModel shl 4) + Model} - CodeL1CacheSize, {KB or micro-ops for Pentium 4} - DataL1CacheSize, {KB} - L2CacheSize, {KB} - L3CacheSize: Word; {KB} - InstructionSupport: TALCPUInstructionSupport; - end; - TALHandleTagfunct = function(const TagString: String; TagParams: TStrings; ExtData: pointer; var Handled: Boolean): String; - TALMoveProc = procedure(const Source; var Dest; Count: Integer); - TALCharPosFunct = function(Ch: char; const Str: ansistring): Integer; - TALPosFunct = function(const SubStr: ansistring; const Str: ansistring): Integer; - - - PALMimeBase64Byte4 = ^TALMimeBase64Byte4; - - TALMimeBase64Byte4 = packed record - b1: byte; - b2: byte; - b3: byte; - b4: byte; - end; - PALMimeBase64Byte3 = ^TALMimeBase64Byte3; - - TALMimeBase64Byte3 = packed record - b1: byte; - b2: byte; - b3: byte; - end; - - {-----------------------} - TAlSmtpClientAuthType = ( - AlsmtpClientAuthNone, - alsmtpClientAuthPlain, - AlsmtpClientAuthLogin, - AlsmtpClientAuthCramMD5, - AlsmtpClientAuthCramSha1, - AlsmtpClientAuthAutoSelect - ); - - {------------------------------------------------------} - TAlSmtpClientAuthTypeSet = set of TAlSmtpClientAuthType; - - {--------------------------------------} - TALSMTPClientHeader = class(TPersistent) - private - fSendTo: String; - fSender: String; - fMessageID: String; - fbcc: String; - fContentTransferEncoding: String; - fComments: String; - fMIMEVersion: String; - fPriority: String; - fReplyTo: String; - fSubject: String; - fFrom: String; - fDate: String; - fDispositionNotificationTo: String; - fReferences: String; - fcc: String; - fContentType: String; - FCustomHeaders: TStrings; - function GetRawHeaderText: String; - procedure SetRawHeaderText(const aRawHeaderText: String); - protected - procedure AssignTo(Dest: TPersistent); override; - public - constructor Create; virtual; - destructor Destroy; override; - procedure Clear; - published - property From: String Read fFrom Write fFrom; {From: John Doe - Author(s) or person(s) taking responsibility for the message 4.4.1; RFC 1123: 5.2.15-16, 5.3.7; RFC 1036: 2.1.1} - property Sender: String Read fSender Write fSender; {Sender: Michael Jones - The person or agent submitting the message to the network, if other than shown by the From header RFC 822: 4.4.2; RFC 1123: 5.2.15-16, 5.3.7; RFC 1036: 2.1.1} - property SendTo: String Read fSendTo Write fSendTo; {To: Mary Smith - Primary recipient(s) RFC 822: 4.5.1; RFC 1123: 5.2.15-16, 5.3.7;} - property cc: String Read fcc Write fcc; {cc: , "Giant; \"Big\" Box" - Secondary, informational recipient(s) RFC 822: 4.5.2; RFC 1123: 5.2.15-16, 5.3.7;} - property bcc: String Read fbcc Write fbcc; {bcc: , "Giant; \"Big\" Box" - Recipient(s) not to be disclosed to other recipients ("blind carbon copy") RFC 822: 4.5.3; RFC 1123: 5.2.15-16, 5.3.7;} - property ReplyTo: String Read fReplyTo Write fReplyTo; {Reply-To: "Mary Smith: Personal Account" - Suggested E-mail address for replies RFC 822: 4.4.3; RFC 1036: 2.2.1} - property Subject: String Read fSubject Write fSubject; {Subject: Saying Hello - Text that provides a summary, or indicates the nature, of the message RFC 822: 4.7.1; RFC 1036: 2.1.4} - property MessageID: String Read fMessageID Write fMessageID; {Message-ID: <1234@local.machine.example> - Unique ID for the message RFC 822: 4.6.1; RFC 1036: 2.1.5} - property References: String Read fReferences Write fReferences; {References: <1234@local.machine.example> <3456@example.net> - In E-mail: reference to other related messages; in Usenet: reference to replied-to-articles RFC 822: 4.6.3; RFC 1036: 2.2.5} - property Comments: String Read fComments Write fComments; {Comments: Authenticated sender is gboyd@netcom.com - Text comments added to the message RFC 822: 4.7.2} - property Date: String Read fDate Write fDate; {Date: Fri, 21 Nov 1997 09:55:06 -0600 - The time when the message was written (or submitted) RFC 822: 5.1; RFC 1123: 5.2.14; RFC 1036: 2.1.2} - property ContentType: String Read fContentType Write fContentType; {Content-Type: text/plain; charset="iso-8859-1" - Data type and format of content RFC 1049 (historic); RFC 1123: 5.2.13; RFC 2045: 5; RFC 1766: 4.1} - property ContentTransferEncoding: String Read fContentTransferEncoding Write fContentTransferEncoding; {Content-Transfer-Encoding: 8bit - Coding method used in a MIME message body RFC 2045: 6;} - property MIMEVersion: String Read fMIMEVersion Write fMIMEVersion; {MIME-Version: 1.0 - specifies the version of MIME that the message format complies with RFC 2045: 4} - property Priority: String Read fPriority Write fPriority; {Priority: normal - Priority for message delivery ("normal" / "non-urgent" / "urgent") RFC 2156} - property DispositionNotificationTo: String Read fDispositionNotificationTo Write fDispositionNotificationTo; {Disposition-Notification-To: boss@nil.test - Requests for notification when the message is received, and specifies the address for them RFC 2298} - property CustomHeaders: TStrings Read FCustomHeaders; - property RawHeaderText: String Read GetRawHeaderText Write SetRawHeaderText; - end; - - TOnStatus = procedure(Status: String) of object; - - {----------------------------} - TAlSmtpClient = class(TObject) - private - FWSAData: TWSAData; - Fconnected: Boolean; - FSocketDescriptor: Integer; - FAuthTypesSupported: TAlSmtpClientAuthTypeSet; - Ftimeout: Integer; - fOnStatus: TOnStatus; - procedure Settimeout(const Value: Integer); - protected - procedure CheckError(Error: Boolean); - function SendCmd(aCmd: String; OkResponses: array of Word): String; virtual; - function GetResponse(OkResponses: array of Word): String; - function SocketWrite(var Buffer; Count: longint): longint; virtual; - function SocketRead(var Buffer; Count: longint): longint; virtual; - public - constructor Create; virtual; - destructor Destroy; override; - function Connect(aHost: String; APort: Integer): String; virtual; - function Helo: String; virtual; - function Ehlo: String; virtual; - function Auth(AUserName, APassword: String; aAuthType: TalSmtpClientAuthType): String; virtual; - function Vrfy(aUserName: String): String; virtual; - function MailFrom(aFromName: String): String; virtual; - function RcptTo(aRcptNameLst: TStrings): String; virtual; - function Data(aMailData: String): String; overload; virtual; - function Data(aHeader, aBody: String): String; overload; virtual; - function Data(aHeader: TALSMTPClientHeader; aBody: String): String; overload; virtual; - function Quit: String; virtual; - function Rset: String; virtual; - procedure SendMail(aHost: String; APort: Integer; aFromName: String; aRcptNameLst: TStrings; AUserName, APassword: String; aAuthType: TalSmtpClientAuthType; aMailData: String); overload; virtual; - procedure SendMail(aHost: String; APort: Integer; aFromName: String; aRcptNameLst: TStrings; AUserName, APassword: String; aAuthType: TalSmtpClientAuthType; aHeader, aBody: String); overload; virtual; - procedure Disconnect; virtual; - function GetAuthTypeFromEhloResponse(EhloResponse: String): TAlSmtpClientAuthTypeSet; virtual; - property Connected: Boolean Read FConnected; - property Timeout: Integer Read Ftimeout Write Settimeout default 60000; - property OnStatus: TOnStatus Read fOnStatus Write fOnStatus; - end; - -{----------------------------------------------------------------------------------------} -function AlSMTPClientParseEmail(FriendlyEmail: String; var FriendlyName: String): String; -function AlSMTPClientGenerateMessageID: String; - -var - ALMove: TALMoveProc; - ALCharPos: TALCharPosFunct; - ALPos: TALPosFunct; - - -implementation - -uses - HTTPAPP; - - - //*********************************************************************** - //AlFcnWinSock Partial Unit - //*********************************************************************** -function ALgetLocalHostName: String; -var - {$IFDEF DELPHI12} - Buffer : pAnsichar; - {$ELSE} - Buffer : array [0..255] of char; - {$ENDIF} - WSAData : TWSAData; -begin - WSAData.wVersion := 0; - WSAStartup(MAKEWORD(2, 2), WSAData); - try - - if gethostname(Buffer, SizeOf(Buffer)) <> 0 then - raise Exception.Create('Winsock GetHostName failed'); - Result := StrPas(Buffer); - finally - if WSAData.wVersion = 2 then - WSACleanup; - end; -end; - -function ALHostToIP(HostName: String; var Ip: String): Boolean; -var - WSAData: TWSAData; - hostEnt: PHostEnt; - {$IFDEF DELPHI12} addr: PAnsiChar; {$ELSE} addr: PChar; {$ENDIF} -begin - WSAData.wVersion := 0; - WSAStartup(MAKEWORD(2, 2), WSAData); - try - - {$IFDEF DELPHI12} - hostEnt := gethostbyname(PAnsiChar(hostName)); - {$ELSE} - hostEnt := gethostbyname(PChar(hostName)); - {$ENDIF} - if Assigned(hostEnt) then - begin - if Assigned(hostEnt^.h_addr_list) then - begin - {$IFDEF DELPHI12} - addr := hostEnt^.h_addr_list^; - {$ELSE} - addr := hostEnt^.h_addr_list^; - {$ENDIF} - if Assigned(addr) then - begin - IP := Format('%d.%d.%d.%d', [byte(addr[0]), - byte(addr[1]), byte(addr[2]), byte(addr[3])]); - Result := True; - end - else - Result := False; - end - else - Result := False; - end - else - Result := False; - - finally - if WSAData.wVersion = 2 then - WSACleanup; - end; -end; - - //*********************************************************************** - //AlFcnRFC Partial Unit - //*********************************************************************** -const - CAlRfc822DaysOfWeek: array[1..7] of String = ( - 'Sun', - 'Mon', - 'Tue', - 'Wed', - 'Thu', - 'Fri', - 'Sat' - ); - CALRfc822MonthNames: array[1..12] of String = ( - 'Jan', - 'Feb', - 'Mar', - 'Apr', - 'May', - 'Jun', - 'Jul', - 'Aug', - 'Sep', - 'Oct', - 'Nov', - 'Dec' - ); - - -function ALGMTDateTimeToRfc822Str(const aValue: TDateTime): String; -var - aDay, aMonth, aYear: Word; -begin - DecodeDate( - aValue, - aYear, - aMonth, - aDay - ); - - Result := Format( - '%s, %.2d %s %.4d %s %s', - [ - CAlRfc822DaysOfWeek[DayOfWeek(aValue)], - aDay, - CAlRfc822MonthNames[aMonth], - aYear, - FormatDateTime('hh":"nn":"ss', aValue), - 'GMT' - ] - ); -end; - - -function ALDateTimeToRfc822Str(const aValue: TDateTime): String; - - {--------------------------------------------} - function InternalCalcTimeZoneBias: TDateTime; - const - Time_Zone_ID_DayLight = 2; - var - TZI: TTimeZoneInformation; - TZIResult: Integer; - aBias: Integer; - begin - TZIResult := GetTimeZoneInformation(TZI); - if TZIResult = -1 then - Result := 0 - else - begin - if TZIResult = Time_Zone_ID_DayLight then - aBias := TZI.Bias + TZI.DayLightBias - else - aBias := TZI.Bias + TZI.StandardBias; - Result := EncodeTime(Abs(aBias) div 60, Abs(aBias) mod 60, 0, 0); - if aBias < 0 then - Result := -Result; - end; - end; - -begin - Result := ALGMTDateTimeToRfc822Str(aValue + InternalCalcTimeZoneBias); -end; - - - //*********************************************************************** - //AlFcnMime Partial Unit - //*********************************************************************** -const - cALMime_Base64_Encode_Table: array[0..63] of byte = ( - 065, 066, 067, 068, 069, 070, 071, 072, // 00 - 07 - 073, 074, 075, 076, 077, 078, 079, 080, // 08 - 15 - 081, 082, 083, 084, 085, 086, 087, 088, // 16 - 23 - 089, 090, 097, 098, 099, 100, 101, 102, // 24 - 31 - 103, 104, 105, 106, 107, 108, 109, 110, // 32 - 39 - 111, 112, 113, 114, 115, 116, 117, 118, // 40 - 47 - 119, 120, 121, 122, 048, 049, 050, 051, // 48 - 55 - 052, 053, 054, 055, 056, 057, 043, 047 // 56 - 63 - ); - cALMime_Base64_Pad_Char = byte('='); - -function ALMimeBase64EncodedSizeNoCRLF(const InputSize: cardinal): cardinal; -begin - Result := (InputSize + 2) div 3 * 4; -end; - -procedure ALMimeBase64EncodeNoCRLF(const InputBuffer; const InputByteCount: cardinal; out OutputBuffer); -var - B, InnerLimit, OuterLimit: cardinal; - InPtr: PALMimeBase64Byte3; - OutPtr: PALMimeBase64Byte4; -begin - if InputByteCount = 0 then - Exit; - - InPtr := @InputBuffer; - OutPtr := @OutputBuffer; - - OuterLimit := InputByteCount div 3 * 3; - - InnerLimit := cardinal(InPtr); - Inc(InnerLimit, OuterLimit); - - { Last line loop. } - while cardinal(InPtr) < InnerLimit do - begin - { Read 3 bytes from InputBuffer. } - B := InPtr^.b1; - B := B shl 8; - B := B or InPtr^.b2; - B := B shl 8; - B := B or InPtr^.b3; - Inc(InPtr); - { Write 4 bytes to OutputBuffer (in reverse order). } - OutPtr^.b4 := CALMIME_Base64_ENCODE_TABLE[B and $3F]; - B := B shr 6; - OutPtr^.b3 := CALMIME_Base64_ENCODE_TABLE[B and $3F]; - B := B shr 6; - OutPtr^.b2 := CALMIME_Base64_ENCODE_TABLE[B and $3F]; - B := B shr 6; - OutPtr^.b1 := CALMIME_Base64_ENCODE_TABLE[B]; - Inc(OutPtr); - end; - - { End of data & padding. } - case InputByteCount - OuterLimit of - 1: - begin - B := InPtr^.b1; - B := B shl 4; - OutPtr.b2 := CALMIME_Base64_ENCODE_TABLE[B and $3F]; - B := B shr 6; - OutPtr.b1 := CALMIME_Base64_ENCODE_TABLE[B]; - OutPtr.b3 := CALMIME_Base64_PAD_CHAR; { Pad remaining 2 bytes. } - OutPtr.b4 := CALMIME_Base64_PAD_CHAR; - end; - 2: - begin - B := InPtr^.b1; - B := B shl 8; - B := B or InPtr^.b2; - B := B shl 2; - OutPtr.b3 := CALMIME_Base64_ENCODE_TABLE[B and $3F]; - B := B shr 6; - OutPtr.b2 := CALMIME_Base64_ENCODE_TABLE[B and $3F]; - B := B shr 6; - OutPtr.b1 := CALMIME_Base64_ENCODE_TABLE[B]; - OutPtr.b4 := CALMIME_Base64_PAD_CHAR; { Pad remaining byte. } - end; - end; -end; - - -function ALMimeBase64EncodeStringNoCRLF(const S: ansistring): ansistring; -var - L: cardinal; -begin - if Pointer(S) <> nil then - begin - L := PCardinal(cardinal(S) - 4)^; - SetLength(Result, ALMimeBase64EncodedSizeNoCRLF(L)); - ALMimeBase64EncodeNoCRLF(Pointer(S)^, L, Pointer(Result)^); - end - else - Result := ''; -end; - - - //*********************************************************************** - //ALFcnMisc Partial Unit - //*********************************************************************** - -function ALMakeKeyStrByGUID: String; -var - aGUID: TGUID; -begin - CreateGUID(aGUID); - Result := GUIDToString(aGUID); - Delete(Result, 1, 1); - Delete(Result, Length(Result), 1); -end; - - - //*********************************************************************** - //ALFCNString Partial Unit - //*********************************************************************** - - -{-------------------------------} -const - CALMOVE_SMALLMOVESIZE = 36; - -{-------------------------------------------------} -var - VALMove_AnsiUpcase: packed array[char] of char; -// VALMove_PrefetchLimit: Integer; - - ////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////ALPosEx from FastCode AINSIStringReplace John O'Harrow (john@almcrest.demon.co.uk)////////// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - {*********************************} - {Fast Equivalent of Delphi 7 PosEx} -function ALPosEx(const SubStr, S: String; Offset: cardinal = 1): Integer; -asm - push ebx - push esi - push edx {@Str} - test eax, eax - jz @@NotFound {Exit if SubStr = ''} - test edx, edx - jz @@NotFound {Exit if Str = ''} - mov esi, ecx - mov ecx, [edx-4] {Length(Str)} - mov ebx, [eax-4] {Length(SubStr)} - add ecx, edx - sub ecx, ebx {Max Start Pos for Full Match} - lea edx, [edx+esi-1] {Set Start Position} - cmp edx, ecx - jg @@NotFound {StartPos > Max Start Pos} - cmp ebx, 1 {Length(SubStr)} - jle @@SingleChar {Length(SubStr) <= 1} - push edi - push ebp - lea edi, [ebx-2] {Length(SubStr) - 2} - mov esi, eax - movzx ebx, [eax] {Search Character} - @@Loop: {Compare 2 Characters per Loop} - cmp bl, [edx] - jne @@NotChar1 - mov ebp, edi {Remainder} - @@Char1Loop: - movzx eax, word ptr [esi+ebp] - cmp ax, [edx+ebp] - jne @@NotChar1 - sub ebp, 2 - jnc @@Char1Loop - pop ebp - pop edi - jmp @@SetResult - @@NotChar1: - cmp bl, [edx+1] - jne @@NotChar2 - mov ebp, edi {Remainder} - @@Char2Loop: - movzx eax, word ptr [esi+ebp] - cmp ax, [edx+ebp+1] - jne @@NotChar2 - sub ebp, 2 - jnc @@Char2Loop - pop ebp - pop edi - jmp @@CheckResult - @@NotChar2: - add edx, 2 - cmp edx, ecx {Next Start Position <= Max Start Position} - jle @@Loop - pop ebp - pop edi - jmp @@NotFound - @@SingleChar: - jl @@NotFound {Needed for Zero-Length Non-NIL Strings} - movzx eax, [eax] {Search Character} - @@CharLoop: - cmp al, [edx] - je @@SetResult - cmp al, [edx+1] - je @@CheckResult - add edx, 2 - cmp edx, ecx - jle @@CharLoop - @@NotFound: - xor eax, eax - pop edx - pop esi - pop ebx - ret - @@CheckResult: {Check within String} - cmp edx, ecx - jge @@NotFound - add edx, 1 - @@SetResult: - pop ecx {@Str} - pop esi - pop ebx - neg ecx - lea eax, [edx+ecx+1] -end; - - {***********************************} - {Non Case Sensitive version of PosEx} -function ALPosExIgnoreCase(const SubStr, S: String; Offset: cardinal = 1): Integer; -asm - push ebx - push esi - push edx {@Str} - test eax, eax - jz @@NotFound {Exit if SubStr = ''} - test edx, edx - jz @@NotFound {Exit if Str = ''} - mov esi, ecx - mov ecx, [edx-4] {Length(Str)} - mov ebx, [eax-4] {Length(SubStr)} - add ecx, edx - sub ecx, ebx {Max Start Pos for Full Match} - lea edx, [edx+esi-1] {Set Start Position} - cmp edx, ecx - jg @@NotFound {StartPos > Max Start Pos} - cmp ebx, 1 {Length(SubStr)} - jle @@SingleChar {Length(SubStr) <= 1} - push edi - push ebp - lea edi, [ebx-2] {Length(SubStr) - 2} - mov esi, eax - push edi {Save Remainder to Check = Length(SubStr) - 2} - push ecx {Save Max Start Position} - lea edi, VALMove_AnsiUpcase {Uppercase Lookup Table} - movzx ebx, [eax] {Search Character = 1st Char of SubStr} - movzx ebx, [edi+ebx] {Convert to Uppercase} - @@Loop: {Loop Comparing 2 Characters per Loop} - movzx eax, [edx] {Get Next Character} - movzx eax, [edi+eax] {Convert to Uppercase} - cmp eax, ebx - jne @@NotChar1 - mov ebp, [esp+4] {Remainder to Check} - @@Char1Loop: - movzx eax, [esi+ebp] - movzx ecx, [edx+ebp] - movzx eax, [edi+eax] {Convert to Uppercase} - movzx ecx, [edi+ecx] {Convert to Uppercase} - cmp eax, ecx - jne @@NotChar1 - movzx eax, [esi+ebp+1] - movzx ecx, [edx+ebp+1] - movzx eax, [edi+eax] {Convert to Uppercase} - movzx ecx, [edi+ecx] {Convert to Uppercase} - cmp eax, ecx - jne @@NotChar1 - sub ebp, 2 - jnc @@Char1Loop - pop ecx - pop edi - pop ebp - pop edi - jmp @@SetResult - @@NotChar1: - movzx eax, [edx+1] {Get Next Character} - movzx eax, [edi+eax] {Convert to Uppercase} - cmp bl, al - jne @@NotChar2 - mov ebp, [esp+4] {Remainder to Check} - @@Char2Loop: - movzx eax, [esi+ebp] - movzx ecx, [edx+ebp+1] - movzx eax, [edi+eax] {Convert to Uppercase} - movzx ecx, [edi+ecx] {Convert to Uppercase} - cmp eax, ecx - jne @@NotChar2 - movzx eax, [esi+ebp+1] - movzx ecx, [edx+ebp+2] - movzx eax, [edi+eax] {Convert to Uppercase} - movzx ecx, [edi+ecx] {Convert to Uppercase} - cmp eax, ecx - jne @@NotChar2 - sub ebp, 2 - jnc @@Char2Loop - pop ecx - pop edi - pop ebp - pop edi - jmp @@CheckResult {Check Match is within String Data} - @@NotChar2: - add edx, 2 - cmp edx, [esp] {Compate to Max Start Position} - jle @@Loop {Loop until Start Position > Max Start Position} - pop ecx {Dump Start Position} - pop edi {Dump Remainder to Check} - pop ebp - pop edi - jmp @@NotFound - @@SingleChar: - jl @@NotFound {Needed for Zero-Length Non-NIL Strings} - lea esi, VALMove_AnsiUpcase - movzx ebx, [eax] {Search Character = 1st Char of SubStr} - movzx ebx, [esi+ebx] {Convert to Uppercase} - @@CharLoop: - movzx eax, [edx] - movzx eax, [esi+eax] {Convert to Uppercase} - cmp eax, ebx - je @@SetResult - movzx eax, [edx+1] - movzx eax, [esi+eax] {Convert to Uppercase} - cmp eax, ebx - je @@CheckResult - add edx, 2 - cmp edx, ecx - jle @@CharLoop - @@NotFound: - xor eax, eax - pop edx - pop esi - pop ebx - ret - @@CheckResult: {Check Match is within String Data} - cmp edx, ecx - jge @@NotFound - add edx, 1 {OK - Adjust Result} - @@SetResult: {Set Result Position} - pop ecx {@Str} - pop esi - pop ebx - neg ecx - lea eax, [edx+ecx+1] -end; - - - /////////////////////////////////////////////////////////////////////////////////////////////// - //////////AlFastStringReplace from FastCode John O'Harrow (john@almcrest.demon.co.uk)////////// - /////////////////////////////////////////////////////////////////////////////////////////////// - - {****************************************} - {Non-Overlapping Move for Positive Counts} -procedure ALStringReplaceMoveEx(const Source; var Dest; Count: Integer); -const - SMALLMOVESIZE = 16; -asm - cmp ecx, SMALLMOVESIZE - ja @Large - lea eax, [eax+ecx] - lea edx, [edx+ecx] - jmp dword ptr [@@FwdJumpTable+ecx*4] - @Large: - fild qword ptr [eax] - fistp qword ptr [edx] - add eax, ecx - add ecx, edx - add edx, 7+8 - neg ecx - and edx, -8 - add ecx, edx - sub edx, ecx {Writes Now QWORD Aligned} - @FwdLoop: - fild qword ptr [eax+ecx-8] - fistp qword ptr [edx+ecx-8] - add ecx, 8 - jle @FwdLoop - neg ecx - add ecx, 8 - jmp dword ptr [@@FwdJumpTable+ecx*4] - nop {Align Jump Table} - @@FwdJumpTable: - dd @@Done {Removes need to test for zero size Move} - dd @@Fwd01,@@Fwd02,@@Fwd03,@@Fwd04,@@Fwd05,@@Fwd06,@@Fwd07,@@Fwd08 - dd @@Fwd09,@@Fwd10,@@Fwd11,@@Fwd12,@@Fwd13,@@Fwd14,@@Fwd15,@@Fwd16 - @@Fwd16: - mov ecx,[eax-16] - mov[edx-16],ecx - @@Fwd12: - mov ecx,[eax-12] - mov[edx-12],ecx - @@Fwd08: - mov ecx,[eax-8] - mov[edx-8],ecx - @@Fwd04: - mov ecx,[eax-4] - mov[edx-4],ecx - ret - @@Fwd15: - mov ecx,[eax-15] - mov[edx-15],ecx - @@Fwd11: - mov ecx,[eax-11] - mov[edx-11],ecx - @@Fwd07: - mov ecx,[eax-7] - mov[edx-7],ecx - @@Fwd03: - movzx ecx, word ptr [eax-3] - mov[edx-3],cx - movzx ecx, byte ptr [eax-1] - mov[edx-1],cl - ret - @@Fwd14: - mov ecx,[eax-14] - mov[edx-14],ecx - @@Fwd10: - mov ecx,[eax-10] - mov[edx-10],ecx - @@Fwd06: - mov ecx,[eax-6] - mov[edx-6],ecx - @@Fwd02: - movzx ecx, word ptr [eax-2] - mov[edx-2],cx - ret - @@Fwd13: - mov ecx,[eax-13] - mov[edx-13],ecx - @@Fwd09: - mov ecx,[eax-9] - mov[edx-9],ecx - @@Fwd05: - mov ecx,[eax-5] - mov[edx-5],ecx - @@Fwd01: - movzx ecx, byte ptr [eax-1] - mov[edx-1],cl - @@Done: -end; {MoveEx} - - {**************************************************************************} - {Replace all occurance of Old (Ignoring Case) with New in Non-Null String S} -{$IFDEF DELPHI12} -procedure ALCharReplaceIC(var S: ansistring; const Old, New: pAnsichar); -{$ELSE} -procedure ALCharReplaceIC(var S: ansistring; const Old, New: char); -{$ENDIF} -asm - push ebx - push edi - push esi - mov eax, [eax] {@S} - mov ebx, ecx {bl = New} - lea edi, VALMove_AnsiUpcase - and edx, $FF {edx = Old} - mov ecx, [eax-4] {Length(S)} - movzx edx, [edx+edi] {edx = Uppercase(Old)} - lea esi, [eax+ecx] - neg ecx - @@Loop: - movzx eax, [esi+ecx] {Next Char} - movzx eax, [eax+edi] {Convert to Uppercase} - cmp eax, edx {Compare Char} - jne @@Next - mov[esi+ecx], bl {Replace Char} - @@Next: - add ecx, 1 - jnz @@Loop - pop esi - pop edi - pop ebx -end; - - {***************************************************************************} - {Replace all occurance of Old (Case Sensitive) with New in Non-Null String S} -{$IFDEF DELPHI12} -procedure ALCharReplaceCS(var S: ansistring; const Old, New: pAnsichar); -{$ELSE} -procedure ALCharReplaceCS(var S: ansistring; const Old, New: char); -{$ENDIF} -asm - push ebx - mov eax, [eax] {@S} - mov ebx, ecx {bl = New, dl = Old} - mov ecx, [eax-4] {Length(S)} - add eax, ecx - neg ecx - @@Loop: - cmp dl, [eax+ecx] {Compare Next Char} - jne @@Next - mov[eax+ecx], bl {Replace Char} - @@Next: - add ecx, 1 - jnz @@Loop - pop ebx -end; - - {***************************************************************************************} - {from John O'Harrow (john@almcrest.demon.co.uk) - original name: StringReplaceJOH_IA32_4} -function ALStringReplace(const S, OldPattern, NewPattern: ansistring; Flags: TReplaceFlags): ansistring; -type - TPosEx = function(const SubStr, S: String; Offset: cardinal = 1): Integer; - {$IFDEF DELPHI12} - TCharRep = procedure(var S: ansistring; const Old, New: pAnsichar); - {$ELSE} - TCharRep = procedure(var S: ansistring; const Old, New: char); - {$ENDIF} -const - StaticBufferSize = 16; - PosExFunction: array[Boolean] of TPosEx = (ALPosEx, ALPosExIgnoreCase); - CharReplace: array[Boolean] of TCharRep = (ALCharReplaceCS, ALCharReplaceIC); -var - SrcLen, OldLen, NewLen, Found, Count, Start, Match, BufSize, BufMax: Integer; - StaticBuffer: array[0..StaticBufferSize - 1] of Integer; - Buffer: PIntegerArray; - {$IFDEF DELPHI12} PSrc, PRes: PAnsiChar; {$ELSE} PSrc, PRes: PChar; {$ENDIF} - IgnoreCase: Boolean; -begin -{$IFDEF ALStringReplace_AllowLengthShortcut} - SrcLen := 0; - if (S <> '') then - SrcLen := PCardinal(Cardinal(S)-4)^; - OldLen := 0; - if (OldPattern <> '') then - OldLen := PCardinal(Cardinal(OldPattern)-4)^; - NewLen := 0; - if (NewPattern <> '') then - NewLen := PCardinal(Cardinal(NewPattern)-4)^; -{$ELSE} - SrcLen := Length(S); - OldLen := Length(OldPattern); - NewLen := Length(NewPattern); -{$ENDIF} - if (OldLen = 0) or (SrcLen < OldLen) then - begin - if SrcLen = 0 then - Result := '' {Needed for Non-Nil Zero Length Strings} - else - Result := S; - end - else - begin - IgnoreCase := rfIgnoreCase in Flags; - if rfReplaceAll in Flags then - begin - if (OldLen = 1) and (NewLen = 1) then - begin - SetLength(Result, SrcLen); - ALStringReplaceMoveEx(Pointer(S)^, Pointer(Result)^, SrcLen); - {$IFDEF DELPHI12} - - CharReplace[IgnoreCase](Result, pAnsiChar(OldPattern[1]), pAnsiChar(NewPattern[1])); - {$ELSE} - CharReplace[IgnoreCase](Result, OldPattern[1], NewPattern[1]); - {$ENDIF} - Exit; - end; - Found := PosExFunction[IgnoreCase](OldPattern, S, 1); - if Found <> 0 then - begin - Buffer := @StaticBuffer; - BufMax := StaticBufferSize; - BufSize := 1; - Buffer[0] := Found; - repeat - Inc(Found, OldLen); - Found := PosExFunction[IgnoreCase](OldPattern, S, Found); - if Found > 0 then - begin - if BufSize = BufMax then - begin {Create or Expand Dynamic Buffer} - BufMax := BufMax + (BufMax shr 1); {Grow by 50%} - if Buffer = @StaticBuffer then - begin {Create Dynamic Buffer} - GetMem(Buffer, BufMax * SizeOf(integer)); - ALStringReplaceMoveEx(StaticBuffer, Buffer^, SizeOf(StaticBuffer)); - end - else {Expand Dynamic Buffer} - ReallocMem(Buffer, BufMax * SizeOf(integer)); - end; - Buffer[BufSize] := Found; - Inc(BufSize); - end - until Found = 0; - SetLength(Result, SrcLen + (BufSize * (NewLen - OldLen))); - PSrc := Pointer(S); - PRes := Pointer(Result); - Start := 1; - Match := 0; - repeat - Found := Buffer[Match]; - Count := Found - Start; - Start := Found + OldLen; - if Count > 0 then - begin - ALStringReplaceMoveEx(PSrc^, PRes^, Count); - Inc(PRes, Count); - end; - Inc(PSrc, Count + OldLen); - ALStringReplaceMoveEx(Pointer(NewPattern)^, PRes^, NewLen); - Inc(PRes, NewLen); - Inc(Match); - until Match = BufSize; - Dec(SrcLen, Start); - if SrcLen >= 0 then - ALStringReplaceMoveEx(PSrc^, PRes^, SrcLen + 1); - if BufMax <> StaticBufferSize then - FreeMem(Buffer); {Free Dynamic Buffwe if Created} - end - else {No Matches Found} - Result := S; - end - else - begin {Replace First Occurance Only} - Found := PosExFunction[IgnoreCase](OldPattern, S, 1); - if Found <> 0 then - begin {Match Found} - SetLength(Result, SrcLen - OldLen + NewLen); - Dec(Found); - PSrc := Pointer(S); - PRes := Pointer(Result); - if NewLen = OldLen then - begin - ALStringReplaceMoveEx(PSrc^, PRes^, SrcLen); - Inc(PRes, Found); - ALStringReplaceMoveEx(Pointer(NewPattern)^, PRes^, NewLen); - end - else - begin - ALStringReplaceMoveEx(PSrc^, PRes^, Found); - Inc(PRes, Found); - Inc(PSrc, Found + OldLen); - ALStringReplaceMoveEx(Pointer(NewPattern)^, PRes^, NewLen); - Inc(PRes, NewLen); - ALStringReplaceMoveEx(PSrc^, PRes^, SrcLen - Found - OldLen); - end; - end - else {No Matches Found} - Result := S; - end; - end; -end; - - - //////////////////////////////////////////////////////////////// - //////////ALUpperCase from FastCode Aleksandr Sharahov////////// - //////////////////////////////////////////////////////////////// - -{********************************************} -function AlUpperCase(const s: String): String; -asm - push ebx - push esi - push edi - mov esi, eax // s - mov eax, edx - test esi, esi - jz @nil - mov ebx, [esi-4] // Length(s) - mov edx, ebx - mov edi, eax // @Result - add ebx, -1 - jl @nil - and ebx, -4 - call System.@LStrSetLength - mov eax, [ebx+esi] - mov edi, [edi] // Result - - @loop: mov ecx, eax - or eax, $80808080 // $E1..$FA - mov edx, eax - sub eax, $7B7B7B7B // $66..$7F - xor edx, ecx // $80 - or eax, $80808080 // $E6..$FF - sub eax, $66666666 // $80..$99 - and eax, edx // $80 - shr eax, 2 // $20 - xor eax, ecx // Upper - mov[ebx+edi], eax - mov eax, [ebx+esi-4] - sub ebx, 4 - jge @loop - - pop edi - pop esi - pop ebx - ret - - @nil: pop edi - pop esi - pop ebx - jmp System.@LStrClr // Result:='' -end; - -{********************************************} -function ALLowerCase(const s: String): String; -asm - push ebx - push esi - push edi - mov esi, eax // s - mov eax, edx - test esi, esi - jz @nil - mov ebx, [esi-4] // Length(s) - mov edx, ebx - mov edi, eax // @Result - add ebx, -1 - jl @nil - and ebx, -4 - call System.@LStrSetLength - mov eax, [ebx+esi] - mov edi, [edi] // Result - - @loop: mov ecx, eax - or eax, $80808080 // $C1..$DA - mov edx, eax - sub eax, $5B5B5B5B // $66..$7F - xor edx, ecx // $80 - or eax, $80808080 // $E6..$FF - sub eax, $66666666 // $80..$99 - and eax, edx // $80 - shr eax, 2 // $20 - xor eax, ecx // Lower - mov[ebx+edi], eax - mov eax, [ebx+esi-4] - sub ebx, 4 - jge @loop - - pop edi - pop esi - pop ebx - ret - - @nil: pop edi - pop esi - pop ebx - jmp System.@LStrClr // Result:='' -end; - - - /////////////////////////// - //////////Alcinoe////////// - /////////////////////////// - -{********************************************************************************} -function ALCopyStr(const aSourceString: String; aStart, aLength: Integer): String; -var - SourceStringLength: Integer; -begin - SourceStringLength := Length(aSourceString); - if (aStart < 1) then - aStart := 1; - - if (SourceStringLength = 0) or - (aLength < 1) or - (aStart > SourceStringLength) then - begin - Result := ''; - Exit; - end; - - if aLength > SourceStringLength - (aStart - 1) then - aLength := SourceStringLength - (aStart - 1); - - SetLength(Result, aLength); - ALMove(aSourceString[aStart], Result[1], aLength); -end; - -{************} -var - Ch: char; - - -//*********************************************************************** - - -function AlSMTPClientParseEmail(FriendlyEmail: String; var FriendlyName: String): String; -var - I, J: Integer; - Flag: Boolean; - Delim: char; -begin - Result := ''; - FriendlyName := ''; - Flag := (ALCharPos('<', FriendlyEmail) > 0); - { Skip spaces } - I := 1; - while (I <= Length(FriendlyEmail)) and (FriendlyEmail[I] = ' ') do - Inc(I); - if I > Length(FriendlyEmail) then - Exit; - { Check if quoted string } - if FriendlyEmail[I] in ['"', ''''] then - begin - Delim := FriendlyEmail[I]; - { Skip opening quote } - Inc(I); - { Go to closing quote } - J := I; - while (I <= Length(FriendlyEmail)) and (FriendlyEmail[I] <> Delim) do - Inc(I); - FriendlyName := AlCopyStr(FriendlyEmail, J, I - J); - Inc(I); - if Flag then - begin - { Go to less-than sign } - while (I <= Length(FriendlyEmail)) and (FriendlyEmail[I] <> '<') do - Inc(I); - Inc(I); - J := I; - while (I <= Length(FriendlyEmail)) and (FriendlyEmail[I] <> '>') do - Inc(I); - Result := AlCopyStr(FriendlyEmail, J, I - J); - end - else - Result := Trim(AlCopyStr(FriendlyEmail, I, Length(FriendlyEmail))); - end - else if Flag then - begin - { Go to less-than sign } - J := I; - while (I <= Length(FriendlyEmail)) and (FriendlyEmail[I] <> '<') do - Inc(I); - FriendlyName := Trim(AlCopyStr(FriendlyEmail, J, I - J)); - Inc(I); - { Go to greater-than sign } - J := I; - while (I <= Length(FriendlyEmail)) and (FriendlyEmail[I] <> '>') do - Inc(I); - Result := AlCopyStr(FriendlyEmail, J, I - J); - end - else - begin - { No <..>, goto next space } - J := I; - while (I <= Length(FriendlyEmail)) and (FriendlyEmail[I] <> ' ') do - Inc(I); - FriendlyName := Trim(AlCopyStr(FriendlyEmail, J, I - J)); - Result := Trim(AlCopyStr(FriendlyEmail, I + 1, Length(FriendlyEmail))); - end; - if (Result = '') and (AlCharPos('@', FriendlyName) > 0) then - begin - Result := FriendlyName; - FriendlyName := ''; - end; -end; - -{*********************************************} -function AlSMTPClientGenerateMessageID: String; -begin - Result := AlStringReplace(ALMakeKeyStrByGUID, '-', '', [rfReplaceAll]) + '@' + AlGetLocalHostName; -end; - - - {***********************************} - {Perform Forward Move of 0..36 Bytes} - {On Entry, ECX = Count, EAX = Source+Count, EDX = Dest+Count. Destroys ECX} -procedure ALSmallForwardMove; -asm - jmp dword ptr [@@FwdJumpTable+ecx*4] - nop {Align Jump Table} - @@FwdJumpTable: - dd @@Done {Removes need to test for zero size move} - dd @@Fwd01, @@Fwd02, @@Fwd03, @@Fwd04, @@Fwd05, @@Fwd06, @@Fwd07, @@Fwd08 - dd @@Fwd09, @@Fwd10, @@Fwd11, @@Fwd12, @@Fwd13, @@Fwd14, @@Fwd15, @@Fwd16 - dd @@Fwd17, @@Fwd18, @@Fwd19, @@Fwd20, @@Fwd21, @@Fwd22, @@Fwd23, @@Fwd24 - dd @@Fwd25, @@Fwd26, @@Fwd27, @@Fwd28, @@Fwd29, @@Fwd30, @@Fwd31, @@Fwd32 - dd @@Fwd33, @@Fwd34, @@Fwd35, @@Fwd36 - @@Fwd36: - mov ecx, [eax-36] - mov[edx-36], ecx - @@Fwd32: - mov ecx, [eax-32] - mov[edx-32], ecx - @@Fwd28: - mov ecx, [eax-28] - mov[edx-28], ecx - @@Fwd24: - mov ecx, [eax-24] - mov[edx-24], ecx - @@Fwd20: - mov ecx, [eax-20] - mov[edx-20], ecx - @@Fwd16: - mov ecx, [eax-16] - mov[edx-16], ecx - @@Fwd12: - mov ecx, [eax-12] - mov[edx-12], ecx - @@Fwd08: - mov ecx, [eax-8] - mov[edx-8], ecx - @@Fwd04: - mov ecx, [eax-4] - mov[edx-4], ecx - ret - nop - @@Fwd35: - mov ecx, [eax-35] - mov[edx-35], ecx - @@Fwd31: - mov ecx, [eax-31] - mov[edx-31], ecx - @@Fwd27: - mov ecx, [eax-27] - mov[edx-27], ecx - @@Fwd23: - mov ecx, [eax-23] - mov[edx-23], ecx - @@Fwd19: - mov ecx, [eax-19] - mov[edx-19], ecx - @@Fwd15: - mov ecx, [eax-15] - mov[edx-15], ecx - @@Fwd11: - mov ecx, [eax-11] - mov[edx-11], ecx - @@Fwd07: - mov ecx, [eax-7] - mov[edx-7], ecx - mov ecx, [eax-4] - mov[edx-4], ecx - ret - nop - @@Fwd03: - movzx ecx, word ptr [eax-3] - mov[edx-3], cx - movzx ecx, byte ptr [eax-1] - mov[edx-1], cl - ret - @@Fwd34: - mov ecx, [eax-34] - mov[edx-34], ecx - @@Fwd30: - mov ecx, [eax-30] - mov[edx-30], ecx - @@Fwd26: - mov ecx, [eax-26] - mov[edx-26], ecx - @@Fwd22: - mov ecx, [eax-22] - mov[edx-22], ecx - @@Fwd18: - mov ecx, [eax-18] - mov[edx-18], ecx - @@Fwd14: - mov ecx, [eax-14] - mov[edx-14], ecx - @@Fwd10: - mov ecx, [eax-10] - mov[edx-10], ecx - @@Fwd06: - mov ecx, [eax-6] - mov[edx-6], ecx - @@Fwd02: - movzx ecx, word ptr [eax-2] - mov[edx-2], cx - ret - nop - nop - nop - @@Fwd33: - mov ecx, [eax-33] - mov[edx-33], ecx - @@Fwd29: - mov ecx, [eax-29] - mov[edx-29], ecx - @@Fwd25: - mov ecx, [eax-25] - mov[edx-25], ecx - @@Fwd21: - mov ecx, [eax-21] - mov[edx-21], ecx - @@Fwd17: - mov ecx, [eax-17] - mov[edx-17], ecx - @@Fwd13: - mov ecx, [eax-13] - mov[edx-13], ecx - @@Fwd09: - mov ecx, [eax-9] - mov[edx-9], ecx - @@Fwd05: - mov ecx, [eax-5] - mov[edx-5], ecx - @@Fwd01: - movzx ecx, byte ptr [eax-1] - mov[edx-1], cl - ret - @@Done: -end; - - {************************************} - {Perform Backward Move of 0..36 Bytes} - {On Entry, ECX = Count, EAX = Source, EDX = Dest. Destroys ECX} -procedure ALSmallBackwardMove; -asm - jmp dword ptr [@@BwdJumpTable+ecx*4] - nop {Align Jump Table} - @@BwdJumpTable: - dd @@Done {Removes need to test for zero size move} - dd @@Bwd01, @@Bwd02, @@Bwd03, @@Bwd04, @@Bwd05, @@Bwd06, @@Bwd07, @@Bwd08 - dd @@Bwd09, @@Bwd10, @@Bwd11, @@Bwd12, @@Bwd13, @@Bwd14, @@Bwd15, @@Bwd16 - dd @@Bwd17, @@Bwd18, @@Bwd19, @@Bwd20, @@Bwd21, @@Bwd22, @@Bwd23, @@Bwd24 - dd @@Bwd25, @@Bwd26, @@Bwd27, @@Bwd28, @@Bwd29, @@Bwd30, @@Bwd31, @@Bwd32 - dd @@Bwd33, @@Bwd34, @@Bwd35, @@Bwd36 - @@Bwd36: - mov ecx, [eax+32] - mov[edx+32], ecx - @@Bwd32: - mov ecx, [eax+28] - mov[edx+28], ecx - @@Bwd28: - mov ecx, [eax+24] - mov[edx+24], ecx - @@Bwd24: - mov ecx, [eax+20] - mov[edx+20], ecx - @@Bwd20: - mov ecx, [eax+16] - mov[edx+16], ecx - @@Bwd16: - mov ecx, [eax+12] - mov[edx+12], ecx - @@Bwd12: - mov ecx, [eax+8] - mov[edx+8], ecx - @@Bwd08: - mov ecx, [eax+4] - mov[edx+4], ecx - @@Bwd04: - mov ecx, [eax] - mov[edx], ecx - ret - nop - nop - nop - @@Bwd35: - mov ecx, [eax+31] - mov[edx+31], ecx - @@Bwd31: - mov ecx, [eax+27] - mov[edx+27], ecx - @@Bwd27: - mov ecx, [eax+23] - mov[edx+23], ecx - @@Bwd23: - mov ecx, [eax+19] - mov[edx+19], ecx - @@Bwd19: - mov ecx, [eax+15] - mov[edx+15], ecx - @@Bwd15: - mov ecx, [eax+11] - mov[edx+11], ecx - @@Bwd11: - mov ecx, [eax+7] - mov[edx+7], ecx - @@Bwd07: - mov ecx, [eax+3] - mov[edx+3], ecx - mov ecx, [eax] - mov[edx], ecx - ret - nop - nop - nop - @@Bwd03: - movzx ecx, word ptr [eax+1] - mov[edx+1], cx - movzx ecx, byte ptr [eax] - mov[edx], cl - ret - nop - nop - @@Bwd34: - mov ecx, [eax+30] - mov[edx+30], ecx - @@Bwd30: - mov ecx, [eax+26] - mov[edx+26], ecx - @@Bwd26: - mov ecx, [eax+22] - mov[edx+22], ecx - @@Bwd22: - mov ecx, [eax+18] - mov[edx+18], ecx - @@Bwd18: - mov ecx, [eax+14] - mov[edx+14], ecx - @@Bwd14: - mov ecx, [eax+10] - mov[edx+10], ecx - @@Bwd10: - mov ecx, [eax+6] - mov[edx+6], ecx - @@Bwd06: - mov ecx, [eax+2] - mov[edx+2], ecx - @@Bwd02: - movzx ecx, word ptr [eax] - mov[edx], cx - ret - nop - @@Bwd33: - mov ecx, [eax+29] - mov[edx+29], ecx - @@Bwd29: - mov ecx, [eax+25] - mov[edx+25], ecx - @@Bwd25: - mov ecx, [eax+21] - mov[edx+21], ecx - @@Bwd21: - mov ecx, [eax+17] - mov[edx+17], ecx - @@Bwd17: - mov ecx, [eax+13] - mov[edx+13], ecx - @@Bwd13: - mov ecx, [eax+9] - mov[edx+9], ecx - @@Bwd09: - mov ecx, [eax+5] - mov[edx+5], ecx - @@Bwd05: - mov ecx, [eax+1] - mov[edx+1], ecx - @@Bwd01: - movzx ecx, byte ptr[eax] - mov[edx], cl - ret - nop - nop - @@Done: -end; - -var - VALMove_PrefetchLimit: Integer; - - {***********************************************************} - {Dest MUST be 16-Byes Aligned, Count MUST be multiple of 16 } -procedure ALAlignedFwdMoveSSE(const Source; var Dest; Count: Integer); -const - Prefetch = 512; -asm - push ebx - mov ebx, eax {ebx = Source} - mov eax, ecx {EAX = Count} - and eax, -128 {EAX = No of Bytes to Block Move} - add ebx, eax - add edx, eax - shr eax, 3 {EAX = No of QWORD's to Block Move} - neg eax - cmp eax, VALMove_PrefetchLimit {Count > Limit - Use Prefetch} - jl @Large - @Small: - test ebx, 15 {Check if Both Source/Dest are Aligned} - jnz @SmallUnaligned - @SmallAligned: {Both Source and Dest 16-Byte Aligned} - - nop {Align Loops} - nop - nop - - @SmallAlignedLoop: - movaps xmm0, [ebx+8*eax] - movaps xmm1, [ebx+8*eax+16] - movaps xmm2, [ebx+8*eax+32] - movaps xmm3, [ebx+8*eax+48] - movaps[edx+8*eax], xmm0 - movaps[edx+8*eax+16], xmm1 - movaps[edx+8*eax+32], xmm2 - movaps[edx+8*eax+48], xmm3 - movaps xmm4, [ebx+8*eax+64] - movaps xmm5, [ebx+8*eax+80] - movaps xmm6, [ebx+8*eax+96] - movaps xmm7, [ebx+8*eax+112] - movaps[edx+8*eax+64], xmm4 - movaps[edx+8*eax+80], xmm5 - movaps[edx+8*eax+96], xmm6 - movaps[edx+8*eax+112], xmm7 - add eax, 16 - js @SmallAlignedLoop - jmp @Remainder - - @SmallUnaligned: {Source Not 16-Byte Aligned} - @SmallUnalignedLoop: - movups xmm0, [ebx+8*eax] - movups xmm1, [ebx+8*eax+16] - movups xmm2, [ebx+8*eax+32] - movups xmm3, [ebx+8*eax+48] - movaps[edx+8*eax], xmm0 - movaps[edx+8*eax+16], xmm1 - movaps[edx+8*eax+32], xmm2 - movaps[edx+8*eax+48], xmm3 - movups xmm4, [ebx+8*eax+64] - movups xmm5, [ebx+8*eax+80] - movups xmm6, [ebx+8*eax+96] - movups xmm7, [ebx+8*eax+112] - movaps[edx+8*eax+64], xmm4 - movaps[edx+8*eax+80], xmm5 - movaps[edx+8*eax+96], xmm6 - movaps[edx+8*eax+112], xmm7 - add eax, 16 - js @SmallUnalignedLoop - jmp @Remainder - - @Large: - test ebx, 15 {Check if Both Source/Dest Aligned} - jnz @LargeUnaligned - @LargeAligned: {Both Source and Dest 16-Byte Aligned} - @LargeAlignedLoop: - prefetchnta[ebx+8*eax+Prefetch] - prefetchnta[ebx+8*eax+Prefetch+64] - movaps xmm0, [ebx+8*eax] - movaps xmm1, [ebx+8*eax+16] - movaps xmm2, [ebx+8*eax+32] - movaps xmm3, [ebx+8*eax+48] - movntps[edx+8*eax], xmm0 - movntps[edx+8*eax+16], xmm1 - movntps[edx+8*eax+32], xmm2 - movntps[edx+8*eax+48], xmm3 - movaps xmm4, [ebx+8*eax+64] - movaps xmm5, [ebx+8*eax+80] - movaps xmm6, [ebx+8*eax+96] - movaps xmm7, [ebx+8*eax+112] - movntps[edx+8*eax+64], xmm4 - movntps[edx+8*eax+80], xmm5 - movntps[edx+8*eax+96], xmm6 - movntps[edx+8*eax+112], xmm7 - add eax, 16 - js @LargeAlignedLoop - sfence - jmp @Remainder - - @LargeUnaligned: {Source Not 16-Byte Aligned} - @LargeUnalignedLoop: - prefetchnta[ebx+8*eax+Prefetch] - prefetchnta[ebx+8*eax+Prefetch+64] - movups xmm0, [ebx+8*eax] - movups xmm1, [ebx+8*eax+16] - movups xmm2, [ebx+8*eax+32] - movups xmm3, [ebx+8*eax+48] - movntps[edx+8*eax], xmm0 - movntps[edx+8*eax+16], xmm1 - movntps[edx+8*eax+32], xmm2 - movntps[edx+8*eax+48], xmm3 - movups xmm4, [ebx+8*eax+64] - movups xmm5, [ebx+8*eax+80] - movups xmm6, [ebx+8*eax+96] - movups xmm7, [ebx+8*eax+112] - movntps[edx+8*eax+64], xmm4 - movntps[edx+8*eax+80], xmm5 - movntps[edx+8*eax+96], xmm6 - movntps[edx+8*eax+112], xmm7 - add eax, 16 - js @LargeUnalignedLoop - sfence - - @Remainder: - and ecx, $7F {ECX = Remainder (0..112 - Multiple of 16)} - jz @Done - add ebx, ecx - add edx, ecx - neg ecx - @RemainderLoop: - movups xmm0, [ebx+ecx] - movaps[edx+ecx], xmm0 - add ecx, 16 - jnz @RemainderLoop - @Done: - pop ebx -end; - - {****************************************************************************} - {Move ECX Bytes from EAX to EDX, where EAX > EDX and ECX > 36 (SMALLMOVESIZE)} -procedure ALForwards_SSE; -const - LARGESIZE = 2048; -asm - cmp ecx, LARGESIZE - jge @FwdLargeMove - cmp ecx, CALMOVE_SMALLMOVESIZE+32 - movups xmm0, [eax] - jg @FwdMoveSSE - movups xmm1, [eax+16] - movups[edx], xmm0 - movups[edx+16], xmm1 - add eax, ecx - add edx, ecx - sub ecx, 32 - jmp ALSmallForwardMove - @FwdMoveSSE: - push ebx - mov ebx, edx - {Align Writes} - add eax, ecx - add ecx, edx - add edx, 15 - and edx, -16 - sub ecx, edx - add edx, ecx - {Now Aligned} - sub ecx, 32 - neg ecx - @FwdLoopSSE: - movups xmm1, [eax+ecx-32] - movups xmm2, [eax+ecx-16] - movaps[edx+ecx-32], xmm1 - movaps[edx+ecx-16], xmm2 - add ecx, 32 - jle @FwdLoopSSE - movups[ebx], xmm0 {First 16 Bytes} - neg ecx - add ecx, 32 - pop ebx - jmp ALSmallForwardMove - @FwdLargeMove: - push ebx - mov ebx, ecx - test edx, 15 - jz @FwdLargeAligned - {16 byte Align Destination} - mov ecx, edx - add ecx, 15 - and ecx, -16 - sub ecx, edx - add eax, ecx - add edx, ecx - sub ebx, ecx - {Destination now 16 Byte Aligned} - call ALSmallForwardMove - mov ecx, ebx - @FwdLargeAligned: - and ecx, -16 - sub ebx, ecx {EBX = Remainder} - push edx - push eax - push ecx - call ALAlignedFwdMoveSSE - pop ecx - pop eax - pop edx - add ecx, ebx - add eax, ecx - add edx, ecx - mov ecx, ebx - pop ebx - jmp ALSmallForwardMove -end; - - {****************************************************************************} - {Move ECX Bytes from EAX to EDX, where EAX < EDX and ECX > 36 (SMALLMOVESIZE)} -procedure ALBackwards_SSE; -asm - cmp ecx, CALMOVE_SMALLMOVESIZE+32 - jg @BwdMoveSSE - sub ecx, 32 - movups xmm1, [eax+ecx] - movups xmm2, [eax+ecx+16] - movups[edx+ecx], xmm1 - movups[edx+ecx+16], xmm2 - jmp ALSmallBackwardMove - @BwdMoveSSE: - push ebx - movups xmm0, [eax+ecx-16] {Last 16 Bytes} - {Align Writes} - lea ebx, [edx+ecx] - and ebx, 15 - sub ecx, ebx - add ebx, ecx - {Now Aligned} - sub ecx, 32 - @BwdLoop: - movups xmm1, [eax+ecx] - movups xmm2, [eax+ecx+16] - movaps[edx+ecx], xmm1 - movaps[edx+ecx+16], xmm2 - sub ecx, 32 - jge @BwdLoop - movups[edx+ebx-16], xmm0 {Last 16 Bytes} - add ecx, 32 - pop ebx - jmp ALSmallBackwardMove -end; - - {******************************} - {Move using SSE Instruction Set} -procedure ALMove_SSE(const Source; var Dest; Count: Integer); -asm - cmp ecx, CALMOVE_SMALLMOVESIZE - ja @Large {Count > SMALLMOVESIZE or Count < 0} - cmp eax, edx - jbe @SmallCheck - add eax, ecx - add edx, ecx - jmp ALSmallForwardMove - @SmallCheck: - jne ALSmallBackwardMove - ret {For Compatibility with Delphi's move for Source = Dest} - @Large: - jng @Done {For Compatibility with Delphi's move for Count < 0} - cmp eax, edx - ja ALForwards_SSE - je @Done {For Compatibility with Delphi's move for Source = Dest} - sub edx, ecx - cmp eax, edx - lea edx, [edx+ecx] - jna ALForwards_SSE - jmp ALBackwards_SSE {Source/Dest Overlap} - @Done: -end; - - {****************************************************************************} - {Move ECX Bytes from EAX to EDX, where EAX > EDX and ECX > 36 (SMALLMOVESIZE)} -procedure ALForwards_IA32; -asm - push ebx - mov ebx, edx - fild qword ptr [eax] - add eax, ecx {QWORD Align Writes} - add ecx, edx - add edx, 7 - and edx, -8 - sub ecx, edx - add edx, ecx {Now QWORD Aligned} - sub ecx, 16 - neg ecx - @FwdLoop: - fild qword ptr [eax+ecx-16] - fistp qword ptr [edx+ecx-16] - fild qword ptr [eax+ecx-8] - fistp qword ptr [edx+ecx-8] - add ecx, 16 - jle @FwdLoop - fistp qword ptr [ebx] - neg ecx - add ecx, 16 - pop ebx - jmp ALSmallForwardMove -end; - - {****************************************************************************} - {Move ECX Bytes from EAX to EDX, where EAX > EDX and ECX > 36 (SMALLMOVESIZE)} -procedure ALForwards_MMX; -const - LARGESIZE = 1024; -asm - cmp ecx, LARGESIZE - jge @FwdLargeMove - cmp ecx, 72 {Size at which using MMX becomes worthwhile} - jl ALForwards_IA32 - push ebx - mov ebx, edx - movq mm0, [eax] {First 8 Bytes} - {QWORD Align Writes} - add eax, ecx - add ecx, edx - add edx, 7 - and edx, -8 - sub ecx, edx - add edx, ecx - {Now QWORD Aligned} - sub ecx, 32 - neg ecx - @FwdLoopMMX: - movq mm1, [eax+ecx-32] - movq mm2, [eax+ecx-24] - movq mm3, [eax+ecx-16] - movq mm4, [eax+ecx- 8] - movq[edx+ecx-32], mm1 - movq[edx+ecx-24], mm2 - movq[edx+ecx-16], mm3 - movq[edx+ecx- 8], mm4 - add ecx, 32 - jle @FwdLoopMMX - movq[ebx], mm0 {First 8 Bytes} - emms - pop ebx - neg ecx - add ecx, 32 - jmp ALSmallForwardMove - @FwdLargeMove: - push ebx - mov ebx, ecx - test edx, 15 - jz @FwdAligned - {16 byte Align Destination} - mov ecx, edx - add ecx, 15 - and ecx, -16 - sub ecx, edx - add eax, ecx - add edx, ecx - sub ebx, ecx - {Destination now 16 Byte Aligned} - call ALSmallForwardMove - @FwdAligned: - mov ecx, ebx - and ecx, -16 - sub ebx, ecx {EBX = Remainder} - push esi - push edi - mov esi, eax {ESI = Source} - mov edi, edx {EDI = Dest} - mov eax, ecx {EAX = Count} - and eax, -64 {EAX = No of Bytes to Blocks Moves} - and ecx, $3F {ECX = Remaining Bytes to Move (0..63)} - add esi, eax - add edi, eax - shr eax, 3 {EAX = No of QWORD's to Block Move} - neg eax - @MMXcopyloop: - movq mm0, [esi+eax*8 ] - movq mm1, [esi+eax*8+ 8] - movq mm2, [esi+eax*8+16] - movq mm3, [esi+eax*8+24] - movq mm4, [esi+eax*8+32] - movq mm5, [esi+eax*8+40] - movq mm6, [esi+eax*8+48] - movq mm7, [esi+eax*8+56] - movq[edi+eax*8 ], mm0 - movq[edi+eax*8+ 8], mm1 - movq[edi+eax*8+16], mm2 - movq[edi+eax*8+24], mm3 - movq[edi+eax*8+32], mm4 - movq[edi+eax*8+40], mm5 - movq[edi+eax*8+48], mm6 - movq[edi+eax*8+56], mm7 - add eax, 8 - jnz @MMXcopyloop - emms {Empty MMX State} - add ecx, ebx - shr ecx, 2 - rep movsd - mov ecx, ebx - and ecx, 3 - rep movsb - pop edi - pop esi - pop ebx -end; - - {****************************************************************************} - {Move ECX Bytes from EAX to EDX, where EAX < EDX and ECX > 36 (SMALLMOVESIZE)} -procedure ALBackwards_IA32; -asm - push ebx - fild qword ptr [eax+ecx-8] - lea ebx, [edx+ecx] {QWORD Align Writes} - and ebx, 7 - sub ecx, ebx - add ebx, ecx {Now QWORD Aligned, EBX = Original Length} - sub ecx, 16 - @BwdLoop: - fild qword ptr [eax+ecx] - fild qword ptr [eax+ecx+8] - fistp qword ptr [edx+ecx+8] - fistp qword ptr [edx+ecx] - sub ecx, 16 - jge @BwdLoop - fistp qword ptr [edx+ebx-8] - add ecx, 16 - pop ebx - jmp ALSmallBackwardMove -end; - - {****************************************************************************} - {Move ECX Bytes from EAX to EDX, where EAX < EDX and ECX > 36 (SMALLMOVESIZE)} -procedure ALBackwards_MMX; -asm - cmp ecx, 72 {Size at which using MMX becomes worthwhile} - jl ALBackwards_IA32 - push ebx - movq mm0, [eax+ecx-8] {Get Last QWORD} - {QWORD Align Writes} - lea ebx, [edx+ecx] - and ebx, 7 - sub ecx, ebx - add ebx, ecx - {Now QWORD Aligned} - sub ecx, 32 - @BwdLoopMMX: - movq mm1, [eax+ecx ] - movq mm2, [eax+ecx+ 8] - movq mm3, [eax+ecx+16] - movq mm4, [eax+ecx+24] - movq[edx+ecx+24], mm4 - movq[edx+ecx+16], mm3 - movq[edx+ecx+ 8], mm2 - movq[edx+ecx ], mm1 - sub ecx, 32 - jge @BwdLoopMMX - movq[edx+ebx-8], mm0 {Last QWORD} - emms - add ecx, 32 - pop ebx - jmp ALSmallBackwardMove -end; - - {******************************} - {Move using MMX Instruction Set} -procedure ALMove_MMX(const Source; var Dest; Count: Integer); -asm - cmp ecx, CALMOVE_SMALLMOVESIZE - ja @Large {Count > SMALLMOVESIZE or Count < 0} - cmp eax, edx - jbe @SmallCheck - add eax, ecx - add edx, ecx - jmp ALSmallForwardMove - @SmallCheck: - jne ALSmallBackwardMove - ret {For Compatibility with Delphi's move for Source = Dest} - @Large: - jng @Done {For Compatibility with Delphi's move for Count < 0} - cmp eax, edx - ja ALForwards_MMX - je @Done {For Compatibility with Delphi's move for Source = Dest} - sub edx, ecx - cmp eax, edx - lea edx, [edx+ecx] - jna ALForwards_MMX - jmp ALBackwards_MMX {Source/Dest Overlap} - @Done: -end; - -procedure ALMove_IA32(const Source; var Dest; Count: Integer); -asm - cmp ecx, CALMOVE_SMALLMOVESIZE - ja @Large {Count > SMALLMOVESIZE or Count < 0} - cmp eax, edx - jbe @SmallCheck - add eax, ecx - add edx, ecx - jmp ALSmallForwardMove - @SmallCheck: - jne ALSmallBackwardMove - ret {For Compatibility with Delphi's move for Source = Dest} - @Large: - jng @Done {For Compatibility with Delphi's move for Count < 0} - cmp eax, edx - ja ALForwards_IA32 - je @Done {For Compatibility with Delphi's move for Source = Dest} - sub edx, ecx - cmp eax, edx - lea edx, [edx+ecx] - jna ALForwards_IA32 - jmp ALBackwards_IA32 {Source/Dest Overlap} - @Done: -end; - - //*************************************************************************** - //**** ALCPUID Partial Unit - //*************************************************************************** -var - VALCPUInfo: TALCPUinfo; - -function ALGetCPUInfo: TALCPUinfo; -begin - Result := VALCPUInfo; -end; - -function ALPos_IA32(const SubStr: ansistring; const Str: ansistring): Integer; -asm - test eax, eax - jz @NotFoundExit {Exit if SubStr = ''} - test edx, edx - jz @NotFound {Exit if Str = ''} - mov ecx, [edx-4] {Length(Str)} - cmp[eax-4], 1 {Length SubStr = 1?} - je @SingleChar {Yes - Exit via CharPos} - jl @NotFound {Exit if Length(SubStr) < 1} - sub ecx, [eax-4] {Subtract Length(SubStr), -ve handled by -CharPos} - add ecx, 1 {Number of Chars to Check for 1st Char} - push esi {Save Registers} - push edi - push ebx - push ebp - mov ebx, [eax] {BL = 1st Char of SubStr} - mov esi, eax {Start Address of SubStr} - mov edi, ecx {Initial Remainder Count} - mov ebp, edx {Start Address of Str} - @StrLoop: - mov eax, ebx {AL = 1st char of SubStr for next Search} - mov ecx, edi {Remaining Length} - push edx {Save Start Position} - call @CharPos {Search for 1st Character} - pop edx {Restore Start Position} - jz @StrExit {Exit with Zero Result if 1st Char Not Found} - mov ecx, [esi-4] {Length SubStr} - add edx, eax {Update Start Position for Next Loop} - sub edi, eax {Update Remaining Length for Next Loop} - sub ecx, 1 {Remaining Characters to Compare} - @StrCheck: - mov al, [edx+ecx-1] {Compare Next Char of SubStr and Str} - cmp al, [esi+ecx] - jne @StrLoop {Different - Return to First Character Search} - sub ecx, 1 - jg @StrCheck {Check each Remaining Character} - mov eax, edx {All Characters Matched - Calculate Result} - sub eax, ebp - @StrExit: - pop ebp {Restore Registers} - pop ebx - pop edi - pop esi - ret - @NotFound: - xor eax, eax {Return 0} - @NotFoundExit: - ret - @SingleChar: - mov al, [eax] {Search Character} - {Return Position of Character AL within a String of Length ECX starting} - {at Address EDX. If Found, Return Index in EAX and Clear Zero Flag, } - {otherwise Return 0 in EAX and Set Zero Flag. Changes EAX, ECX and EDX} - @CharPos: - push ecx {Save Length} - neg ecx - cmp ecx, -4 - jle @NotSmall {Length >= 4} - or ecx, ecx - jge @CharNotFound {Exit if Length <= 0} - cmp al, [edx] {Check 1st Char} - je @Found - add ecx, 1 - jz @CharNotFound - cmp al, [edx+1] {Check 2nd Char} - je @Found - add ecx, 1 - jz @CharNotFound - cmp al, [edx+2] {Check 3rd Char} - je @Found - jmp @CharNotFound - @NotSmall: - sub edx, ecx {End of String} - @Loop: - cmp al, [edx+ecx] {Compare Next 4 Characters} - je @Found - cmp al, [edx+ecx+1] - je @Found2 - cmp al, [edx+ecx+2] - je @Found3 - cmp al, [edx+ecx+3] - je @Found4 - add ecx, 4 {Next Character Position} - and ecx, -4 {Prevent Read Past Last Character} - jnz @Loop {Loop until all Characters Compared} - @CharNotFound: - pop ecx {Restore Stack} - xor eax, eax {Set Result to 0 and Set Zero Flag} - ret {Finished} - @Found4: - add ecx, 1 - @Found3: - add ecx, 1 - @Found2: - add ecx, 1 - @Found: - add ecx, 1 - pop eax - add eax, ecx {Set Result and Clear Zero Flag} -end; - -{***************************************************************************} -function ALPos_MMX(const SubStr: ansistring; const Str: ansistring): Integer; -asm - test eax, eax - jz @NotFoundExit {Exit if SurStr = ''} - test edx, edx - jz @NotFound {Exit if Str = ''} - mov ecx, [edx-4] {Length(Str)} - cmp[eax-4], 1 {Length SubStr = 1?} - je @SingleChar {Yes - Exit via CharPos} - jl @NotFound {Exit if Length(SubStr) < 1} - sub ecx, [eax-4] {Subtract Length(SubStr), -ve handled by -CharPos} - add ecx, 1 {Number of Chars to Check for 1st Char} - push esi {Save Registers} - push edi - push ebx - push ebp - mov esi, eax {Start Address of SubStr} - mov edi, ecx {Initial Remainder Count} - mov eax, [eax] {AL = 1st Char of SubStr} - mov ebp, edx {Start Address of Str} - mov ebx, eax {Maintain 1st Search Char in BL} - @StrLoop: - mov eax, ebx {AL = 1st char of SubStr} - mov ecx, edi {Remaining Length} - push edx {Save Start Position} - call @CharPos {Search for 1st Character} - pop edx {Restore Start Position} - test eax, eax {Result = 0?} - jz @StrExit {Exit if 1st Character Not Found} - mov ecx, [esi-4] {Length SubStr} - add edx, eax {Update Start Position for Next Loop} - sub edi, eax {Update Remaining Length for Next Loop} - sub ecx, 1 {Remaining Characters to Compare} - @StrCheck: - mov al, [edx+ecx-1] {Compare Next Char of SubStr and Str} - cmp al, [esi+ecx] - jne @StrLoop {Different - Return to First Character Search} - sub ecx, 1 - jnz @StrCheck {Check each Remaining Character} - mov eax, edx {All Characters Matched - Calculate Result} - sub eax, ebp - @StrExit: - pop ebp {Restore Registers} - pop ebx - pop edi - pop esi - ret - @NotFound: - xor eax, eax {Return 0} - @NotFoundExit: - ret - @SingleChar: - mov al, [eax] {Search Character} - @CharPos: - CMP ECX, 8 - JG @@NotSmall - @@Small: - or ecx, ecx - jle @@NotFound {Exit if Length <= 0} - CMP AL, [EDX] - JZ @Found1 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+1] - JZ @Found2 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+2] - JZ @Found3 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+3] - JZ @Found4 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+4] - JZ @Found5 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+5] - JZ @Found6 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+6] - JZ @Found7 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+7] - JZ @Found8 - @@NotFound: - xor EAX, EAX - RET - @Found1: - MOV EAX, 1 - RET - @Found2: - MOV EAX, 2 - RET - @Found3: - MOV EAX, 3 - RET - @Found4: - MOV EAX, 4 - RET - @Found5: - MOV EAX, 5 - RET - @Found6: - MOV EAX, 6 - RET - @Found7: - MOV EAX, 7 - RET - @Found8: - MOV EAX, 8 - RET - - @@NotSmall: {Length(Str) > 8} - MOV AH, AL - ADD EDX, ECX - MOVD MM0, EAX - PUNPCKLWD MM0, MM0 - PUNPCKLDQ MM0, MM0 - PUSH ECX {Save Length} - NEG ECX - @@First8: - MOVQ MM1, [EDX+ECX] - ADD ECX, 8 - PCMPEQB MM1, MM0 {Compare All 8 Bytes} - PACKSSWB MM1, MM1 {Pack Result into 4 Bytes} - MOVD EAX, MM1 - TEST EAX, EAX - JNZ @@Matched {Exit on Match at any Position} - CMP ECX, -8 {Check if Next Loop would pass String End} - JGE @@Last8 - @@Align: {Align to Previous 8 Byte Boundary} - LEA EAX, [EDX+ECX] - and EAX, 7 {EAX -> 0 or 4} - SUB ECX, EAX - @@Loop: - MOVQ MM1, [EDX+ECX] - ADD ECX, 8 - PCMPEQB MM1, MM0 {Compare All 8 Bytes} - PACKSSWB MM1, MM1 {Pack Result into 4 Bytes} - MOVD EAX, MM1 - TEST EAX, EAX - JNZ @@Matched {Exit on Match at any Position} - CMP ECX, -8 {Check if Next Loop would pass String End} -{$IFNDEF NoUnroll} - JGE @@Last8 - MOVQ MM1, [EDX+ECX] - ADD ECX, 8 - PCMPEQB MM1, MM0 {Compare All 8 Bytes} - PACKSSWB MM1, MM1 {Pack Result into 4 Bytes} - MOVD EAX, MM1 - TEST EAX, EAX - JNZ @@Matched {Exit on Match at any Position} - CMP ECX, -8 {Check if Next Loop would pass String End} -{$ENDIF} - JL @@Loop - @@Last8: - MOVQ MM1, [EDX-8] {Position for Last 8 Used Characters} - POP EDX {Original Length} - PCMPEQB MM1, MM0 {Compare All 8 Bytes} - PACKSSWB MM1, MM1 {Pack Result into 4 Bytes} - MOVD EAX, MM1 - TEST EAX, EAX - JNZ @@Matched2 {Exit on Match at any Position} - EMMS - RET {Finished - Not Found} - @@Matched: {Set Result from 1st Match in EDX} - POP EDX {Original Length} - ADD EDX, ECX - @@Matched2: - EMMS - SUB EDX, 8 {Adjust for Extra ADD ECX,8 in Loop} - TEST AL, AL - JNZ @@MatchDone {Match at Position 1 or 2} - TEST AH, AH - JNZ @@Match1 {Match at Position 3 or 4} - shr EAX, 16 - TEST AL, AL - JNZ @@Match2 {Match at Position 5 or 6} - shr EAX, 8 - ADD EDX, 6 - JMP @@MatchDone - @@Match2: - ADD EDX, 4 - JMP @@MatchDone - @@Match1: - shr EAX, 8 {AL <- AH} - ADD EDX, 2 - @@MatchDone: - xor EAX, 2 - and EAX, 3 {EAX <- 1 or 2} - ADD EAX, EDX - -end; - -{***************************************************************************} -function ALPos_SSE(const SubStr: ansistring; const Str: ansistring): Integer; -asm - test eax, eax - jz @NotFoundExit {Exit if SurStr = ''} - test edx, edx - jz @NotFound {Exit if Str = ''} - mov ecx, [edx-4] {Length(Str)} - cmp[eax-4], 1 {Length SubStr = 1?} - je @SingleChar {Yes - Exit via CharPos} - jl @NotFound {Exit if Length(SubStr) < 1} - sub ecx, [eax-4] {Subtract Length(SubStr), -ve handled by -CharPos} - add ecx, 1 {Number of Chars to Check for 1st Char} - push esi {Save Registers} - push edi - push ebx - push ebp - mov esi, eax {Start Address of SubStr} - mov edi, ecx {Initial Remainder Count} - mov eax, [eax] {AL = 1st Char of SubStr} - mov ebp, edx {Start Address of Str} - mov ebx, eax {Maintain 1st Search Char in BL} - @StrLoop: - mov eax, ebx {AL = 1st char of SubStr} - mov ecx, edi {Remaining Length} - push edx {Save Start Position} - call @CharPos {Search for 1st Character} - pop edx {Restore Start Position} - test eax, eax {Result = 0?} - jz @StrExit {Exit if 1st Character Not Found} - mov ecx, [esi-4] {Length SubStr} - add edx, eax {Update Start Position for Next Loop} - sub edi, eax {Update Remaining Length for Next Loop} - sub ecx, 1 {Remaining Characters to Compare} - @StrCheck: - mov al, [edx+ecx-1] {Compare Next Char of SubStr and Str} - cmp al, [esi+ecx] - jne @StrLoop {Different - Return to First Character Search} - sub ecx, 1 - jnz @StrCheck {Check each Remaining Character} - mov eax, edx {All Characters Matched - Calculate Result} - sub eax, ebp - @StrExit: - pop ebp {Restore Registers} - pop ebx - pop edi - pop esi - ret - @NotFound: - xor eax, eax {Return 0} - @NotFoundExit: - ret - @SingleChar: - mov al, [eax] {Search Character} - @CharPos: - CMP ECX, 8 - JG @@NotSmall - @@Small: - or ecx, ecx - jle @@NotFound {Exit if Length <= 0} - CMP AL, [EDX] - JZ @Found1 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+1] - JZ @Found2 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+2] - JZ @Found3 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+3] - JZ @Found4 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+4] - JZ @Found5 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+5] - JZ @Found6 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+6] - JZ @Found7 - DEC ECX - JZ @@NotFound - CMP AL, [EDX+7] - JZ @Found8 - @@NotFound: - xor EAX, EAX - RET - @Found1: - MOV EAX, 1 - RET - @Found2: - MOV EAX, 2 - RET - @Found3: - MOV EAX, 3 - RET - @Found4: - MOV EAX, 4 - RET - @Found5: - MOV EAX, 5 - RET - @Found6: - MOV EAX, 6 - RET - @Found7: - MOV EAX, 7 - RET - @Found8: - MOV EAX, 8 - RET - @@NotSmall: - MOV AH, AL - ADD EDX, ECX - MOVD MM0, EAX - PSHUFW MM0, MM0, 0 - PUSH ECX - NEG ECX - @@First8: - MOVQ MM1, [EDX+ECX] - ADD ECX, 8 - PCMPEQB MM1, MM0 {Compare Next 8 Bytes} - PMOVMSKB EAX, MM1 - TEST EAX, EAX - JNZ @@Matched {Exit on Match at any Position} - CMP ECX, -8 {Check if Next Loop would pass String End} - JGE @@Last8 - @@Align: - LEA EAX, [EDX+ECX] - and EAX, 7 - SUB ECX, EAX - @@Loop: {Loop Unrolled 2X} - MOVQ MM1, [EDX+ECX] - ADD ECX, 8 - PCMPEQB MM1, MM0 {Compare Next 8 Bytes} - PMOVMSKB EAX, MM1 - TEST EAX, EAX - JNZ @@Matched {Exit on Match at any Position} - CMP ECX, -8 {Check if Next Loop would pass String End} -{$IFNDEF NoUnroll} - JGE @@Last8 - MOVQ MM1, [EDX+ECX] - ADD ECX, 8 - PCMPEQB MM1, MM0 {Compare Next 8 Bytes} - PMOVMSKB EAX, MM1 - TEST EAX, EAX - JNZ @@Matched {Exit on Match at any Position} - CMP ECX, -8 {Check if Next Loop would pass String End} -{$ENDIF} - JL @@loop - @@Last8: - PCMPEQB MM0, [EDX-8] - POP ECX {Original Length} - PMOVMSKB EAX, MM0 - TEST EAX, EAX - JNZ @@Matched2 - EMMS - RET {Finished} - @@Matched: {Set Result from 1st Match in EcX} - POP EDX {Original Length} - ADD ECX, EDX - @@Matched2: - EMMS - BSF EDX, EAX - LEA EAX, [EDX+ECX-7] -end; - -{****************************************************************************} -function ALPos_SSE2(const SubStr: ansistring; const Str: ansistring): Integer; -asm - test eax, eax - jz @NotFoundExit {Exit if SurStr = ''} - test edx, edx - jz @NotFound {Exit if Str = ''} - mov ecx, [edx-4] {Length(Str)} - cmp[eax-4], 1 {Length SubStr = 1?} - je @SingleChar {Yes - Exit via CharPos} - jl @NotFound {Exit if Length(SubStr) < 1} - sub ecx, [eax-4] {Subtract Length(SubStr)} - jl @NotFound {Exit if Length(SubStr) > Length(Str)} - add ecx, 1 {Number of Chars to Check for 1st Char} - push esi {Save Registers} - push edi - push ebx - push ebp - mov esi, eax {Start Address of SubStr} - mov edi, ecx {Initial Remainder Count} - mov eax, [eax] {AL = 1st Char of SubStr} - mov ebp, edx {Start Address of Str} - mov ebx, eax {Maintain 1st Search Char in BL} - @StrLoop: - mov eax, ebx {AL = 1st char of SubStr} - mov ecx, edi {Remaining Length} - push edx {Save Start Position} - call @CharPos {Search for 1st Character} - pop edx {Restore Start Position} - test eax, eax {Result = 0?} - jz @StrExit {Exit if 1st Character Not Found} - mov ecx, [esi-4] {Length SubStr} - add edx, eax {Update Start Position for Next Loop} - sub edi, eax {Update Remaining Length for Next Loop} - sub ecx, 1 {Remaining Characters to Compare} - @StrCheck: - mov al, [edx+ecx-1] {Compare Next Char of SubStr and Str} - cmp al, [esi+ecx] - jne @StrLoop {Different - Return to First Character Search} - sub ecx, 1 - jnz @StrCheck {Check each Remaining Character} - mov eax, edx {All Characters Matched - Calculate Result} - sub eax, ebp - @StrExit: - pop ebp {Restore Registers} - pop ebx - pop edi - pop esi - ret - @NotFound: - xor eax, eax {Return 0} - @NotFoundExit: - ret - @SingleChar: - mov al, [eax] {Search Character} - @CharPos: - PUSH EBX - MOV EBX, EAX - CMP ECX, 16 - JL @@Small - @@NotSmall: - MOV AH, AL {Fill each Byte of XMM1 with AL} - MOVD XMM1, EAX - PSHUFLW XMM1, XMM1, 0 - PSHUFD XMM1, XMM1, 0 - @@First16: - MOVUPS XMM0, [EDX] {Unaligned} - PCMPEQB XMM0, XMM1 {Compare First 16 Characters} - PMOVMSKB EAX, XMM0 - TEST EAX, EAX - JNZ @@FoundStart {Exit on any Match} - CMP ECX, 32 - JL @@Medium {If Length(Str) < 32, Check Remainder} - @@Align: - SUB ECX, 16 {Align Block Reads} - PUSH ECX - MOV EAX, EDX - NEG EAX - and EAX, 15 - ADD EDX, ECX - NEG ECX - ADD ECX, EAX - @@Loop: - MOVAPS XMM0, [EDX+ECX] {Aligned} - PCMPEQB XMM0, XMM1 {Compare Next 16 Characters} - PMOVMSKB EAX, XMM0 - TEST EAX, EAX - JNZ @@Found {Exit on any Match} - ADD ECX, 16 - JLE @@Loop - @Remainder: - POP EAX {Check Remaining Characters} - ADD EDX, 16 - ADD EAX, ECX {Count from Last Loop End Position} - JMP DWORD PTR [@@JumpTable2-ECX*4] - - @@NullString: - xor EAX, EAX {Result = 0} - RET - - @@FoundStart: - BSF EAX, EAX {Get Set Bit} - POP EBX - ADD EAX, 1 {Set Result} - RET - - @@Found: - POP EDX - BSF EAX, EAX {Get Set Bit} - ADD EDX, ECX - POP EBX - LEA EAX, [EAX+EDX+1] {Set Result} - RET - - @@Medium: - ADD EDX, ECX {End of String} - MOV EAX, 16 {Count from 16} - JMP DWORD PTR [@@JumpTable1-64-ECX*4] - - @@Small: - ADD EDX, ECX {End of String} - xor EAX, EAX {Count from 0} - JMP DWORD PTR [@@JumpTable1-ECX*4] - - nop; - nop; - nop {Aligb Jump Tables} - - @@JumpTable1: - DD @@NotFound, @@01, @@02, @@03, @@04, @@05, @@06, @@07 - DD @@08, @@09, @@10, @@11, @@12, @@13, @@14, @@15, @@16 - - @@JumpTable2: - DD @@16, @@15, @@14, @@13, @@12, @@11, @@10, @@09, @@08 - DD @@07, @@06, @@05, @@04, @@03, @@02, @@01, @@NotFound - - @@16: - ADD EAX, 1 - CMP BL, [EDX-16] - JE @@Done - @@15: - ADD EAX, 1 - CMP BL, [EDX-15] - JE @@Done - @@14: - ADD EAX, 1 - CMP BL, [EDX-14] - JE @@Done - @@13: - ADD EAX, 1 - CMP BL, [EDX-13] - JE @@Done - @@12: - ADD EAX, 1 - CMP BL, [EDX-12] - JE @@Done - @@11: - ADD EAX, 1 - CMP BL, [EDX-11] - JE @@Done - @@10: - ADD EAX, 1 - CMP BL, [EDX-10] - JE @@Done - @@09: - ADD EAX, 1 - CMP BL, [EDX-9] - JE @@Done - @@08: - ADD EAX, 1 - CMP BL, [EDX-8] - JE @@Done - @@07: - ADD EAX, 1 - CMP BL, [EDX-7] - JE @@Done - @@06: - ADD EAX, 1 - CMP BL, [EDX-6] - JE @@Done - @@05: - ADD EAX, 1 - CMP BL, [EDX-5] - JE @@Done - @@04: - ADD EAX, 1 - CMP BL, [EDX-4] - JE @@Done - @@03: - ADD EAX, 1 - CMP BL, [EDX-3] - JE @@Done - @@02: - ADD EAX, 1 - CMP BL, [EDX-2] - JE @@Done - @@01: - ADD EAX, 1 - CMP BL, [EDX-1] - JE @@Done - @@NotFound: - xor EAX, EAX - @@Done: - POP EBX -end; - - - {**********************************} - {Called Once by Unit Initialisation} -procedure ALInitFastPosFunct; -var - aCpuInfo: TALCpuinfo; -begin - aCpuInfo := AlGetCpuInfo; - - if (isSSE2 in aCpuInfo.InstructionSupport) then - ALPos := AlPos_SSE2 {Processor Supports SSE} - else if (isSSE in aCpuInfo.InstructionSupport) then - ALPos := AlPos_SSE {Processor Supports SSE} - else if (isMMX in aCpuInfo.InstructionSupport) then - ALPos := AlPos_MMX {Processor Supports MMX} - else - ALPos := ALPos_IA32; {Processor does not Support MMX or SSE} -end; - -//*************************************************************************** -procedure ALInitFastMovProc; -var - aCpuInfo: TALCpuinfo; -begin - aCpuInfo := AlGetCpuInfo; - - if (isSSE in aCpuInfo.InstructionSupport) then - ALMove := AlMove_SSE {Processor Supports SSE} - else if (isMMX in aCpuInfo.InstructionSupport) then - ALMove := AlMove_MMX {Processor Supports MMX} - else - ALMove := ALMove_IA32; {Processor does not Support MMX or SSE} -end; - - - ///////////////////////////////////////// - ////////// TALSMTPClientHeader ////////// - ///////////////////////////////////////// - -{********************************************************} -procedure TALSMTPClientHeader.AssignTo(Dest: TPersistent); -begin - if Dest is TALSMTPClientHeader then - with Dest as TALSMTPClientHeader do - begin - fSendTo := self.fSendTo; - fSender := self.fSender; - fMessageID := self.fMessageID; - fbcc := self.fbcc; - fContentTransferEncoding := self.fContentTransferEncoding; - fComments := self.fComments; - fMIMEVersion := self.fMIMEVersion; - fPriority := self.fPriority; - fReplyTo := self.fReplyTo; - fSubject := self.fSubject; - fFrom := self.fFrom; - fDate := self.fDate; - fDispositionNotificationTo := self.fDispositionNotificationTo; - fReferences := self.fReferences; - fcc := self.fcc; - fContentType := self.fContentType; - FCustomHeaders.Assign(FCustomHeaders); - end - else - inherited AssignTo(Dest); -end; - -{**********************************} -procedure TALSMTPClientHeader.Clear; -begin - fSendTo := ''; - fSender := ''; - fMessageID := ''; - fbcc := ''; - fContentTransferEncoding := ''; - fComments := ''; - fMIMEVersion := ''; - fPriority := ''; - fReplyTo := ''; - fSubject := ''; - fFrom := ''; - fDate := ''; - fDispositionNotificationTo := ''; - fReferences := ''; - fcc := ''; - fContentType := ''; - FCustomHeaders.Clear; -end; - -{*************************************} -constructor TALSMTPClientHeader.Create; -begin - inherited Create; - FCustomHeaders := TStringList.Create; - FCustomHeaders.NameValueSeparator := ':'; - Clear; - fMessageID := 'AUTO'; - fMIMEVersion := '1.0'; - fDate := 'NOW'; - fContentType := 'text/plain'; -end; - -{*************************************} -destructor TALSMTPClientHeader.Destroy; -begin - FCustomHeaders.Free; - inherited; -end; - -{****************************************************} -function TALSMTPClientHeader.GetRawHeaderText: String; -var - i: Integer; - Str: String; -begin - Result := ''; - if Trim(fFrom) <> '' then - Result := Result + 'From: ' + trim(fFrom) + #13#10; - if Trim(fSender) <> '' then - Result := Result + 'Sender: ' + trim(fSender) + #13#10; - if Trim(fSendTo) <> '' then - Result := Result + 'To: ' + trim(fSendTo) + #13#10; - if Trim(fcc) <> '' then - Result := Result + 'cc: ' + trim(fcc) + #13#10; - if Trim(fbcc) <> '' then - Result := Result + 'bcc: ' + trim(fbcc) + #13#10; - if Trim(fReplyTo) <> '' then - Result := Result + 'Reply-To: ' + trim(fReplyTo) + #13#10; - if Trim(fSubject) <> '' then - Result := Result + 'Subject: ' + trim(fSubject) + #13#10; - Str := fMessageID; - if Trim(str) <> '' then - begin - if sametext(Str, 'AUTO') then - Str := '<' + AlSMTPClientGenerateMessageID + '>'; - Result := Result + 'Message-ID: ' + trim(str) + #13#10; - end; - if Trim(fReferences) <> '' then - Result := Result + 'References: ' + trim(fReferences) + #13#10; - if Trim(fComments) <> '' then - Result := Result + 'Comments: ' + trim(fComments) + #13#10; - Str := fDate; - if Trim(str) <> '' then - begin - if sametext(Str, 'NOW') then - Str := ALDateTimeToRfc822Str(Now); - Result := Result + 'Date: ' + trim(str) + #13#10; - end; - if Trim(fContentType) <> '' then - Result := Result + 'Content-Type: ' + trim(fContentType) + #13#10; - if Trim(fContentTransferEncoding) <> '' then - Result := Result + 'Content-Transfer-Encoding: ' + trim(fContentTransferEncoding) + #13#10; - if Trim(fMIMEVersion) <> '' then - Result := Result + 'MIME-Version: ' + trim(fMIMEVersion) + #13#10; - if Trim(fPriority) <> '' then - Result := Result + 'Priority: ' + trim(fPriority) + #13#10; - if Trim(fDispositionNotificationTo) <> '' then - Result := Result + 'Disposition-Notification-To: ' + trim(fDispositionNotificationTo) + #13#10; - for i := 0 to FCustomHeaders.Count - 1 do - if (trim(FCustomHeaders.names[i]) <> '') and (trim(FCustomHeaders.ValueFromIndex[i]) <> '') then - Result := Result + FCustomHeaders.names[i] + ': ' + trim(FCustomHeaders.ValueFromIndex[i]) + #13#10; -end; - -{***************************************************************************} -procedure TALSMTPClientHeader.SetRawHeaderText(const aRawHeaderText: String); -var - aRawHeaderLst: TStringList; - - {-------------------------------------} - function AlG001(aName: String): String; - var - i: Integer; - Str: String; - begin - I := aRawHeaderLst.IndexOfName(aName); - if I >= 0 then - begin - Result := Trim(aRawHeaderLst.ValueFromIndex[i]); - aRawHeaderLst.Delete(i); - while True do - begin - if i >= aRawHeaderLst.Count then - break; - str := aRawHeaderLst[i]; - if (str = '') or - (not (str[1] in [' ', #9])) then - break; //(1) an empty line or (2) a line that does not start with a space, a tab, or a field name followed by a colon - Result := trim(Result + ' ' + trim(str)); - aRawHeaderLst.Delete(i); - end; - end - else - Result := ''; - end; - -var - Str1, Str2: String; - j: Integer; -begin - aRawHeaderLst := TStringList.Create; - try - aRawHeaderLst.NameValueSeparator := ':'; - aRawHeaderLst.Text := aRawHeaderText; - - fFrom := Alg001('From'); - fSender := Alg001('Sender'); - fSendTo := Alg001('To'); - fcc := Alg001('cc'); - fbcc := Alg001('bcc'); - fReplyTo := Alg001('Reply-To'); - fSubject := Alg001('Subject'); - fMessageID := Alg001('Message-ID'); - fReferences := Alg001('References'); - fComments := Alg001('Comments'); - fDate := Alg001('Date'); - fContentType := Alg001('Content-Type'); - fContentTransferEncoding := Alg001('Content-Transfer-Encoding'); - fMIMEVersion := Alg001('MIME-Version'); - fPriority := Alg001('Priority'); - fDispositionNotificationTo := Alg001('Disposition-Notification-To'); - - FCustomHeaders.Clear; - J := 0; - while j <= aRawHeaderLst.Count - 1 do - begin - Str1 := trim(aRawHeaderLst.Names[j]); - if (trim(str1) <> '') and (not (str1[1] in [' ', #9])) then - begin - Str1 := trim(Str1) + ': ' + trim(aRawHeaderLst.ValueFromIndex[j]); - Inc(j); - while True do - begin - if j >= aRawHeaderLst.Count then - break; - str2 := aRawHeaderLst[j]; - if (str2 = '') or - (not (str2[1] in [' ', #9])) then - break; //(1) an empty line or (2) a line that does not start with a space, a tab, or a field name followed by a colon - Str1 := trim(Str1 + ' ' + trim(str2)); - Inc(j); - end; - FCustomHeaders.Add(Str1); - end - else - Inc(j); - end; - - finally - aRawHeaderLst.Free; - end; -end; - - - /////////////////////////////////// - ////////// TAlSmtpClient ////////// - /////////////////////////////////// - -{*******************************} -constructor TAlSmtpClient.Create; -begin - FWSAData.wVersion := 0; - Fconnected := False; - FSocketDescriptor := INVALID_SOCKET; - FAuthTypesSupported := []; - Ftimeout := 60000; - Randomize; -end; - -{*******************************} -destructor TAlSmtpClient.Destroy; -begin - if Fconnected then - Disconnect; - inherited; -end; - -{*************************************************} -procedure TAlSmtpClient.CheckError(Error: Boolean); -var - ErrCode: Integer; - S: String; -begin - ErrCode := WSAGetLastError; - if Error and (ErrCode <> 0) then - begin - case ErrCode of - WSAEINTR: S := 'Interrupted function call'; - WSAEACCES: S := 'Permission denied'; - WSAEFAULT: S := 'Bad address'; - WSAEINVAL: S := 'Invalid argument'; - WSAEMFILE: S := 'Too many open files'; - WSAEWOULDBLOCK: S := 'Resource temporarily unavailable'; - WSAEINPROGRESS: S := 'Operation now in progress'; - WSAEALREADY: S := 'Operation already in progress'; - WSAENOTSOCK: S := 'Socket operation on nonsocket'; - WSAEDESTADDRREQ: S := 'Destination address required'; - WSAEMSGSIZE: S := 'Message too long'; - WSAEPROTOTYPE: S := 'Protocol wrong type for socket'; - WSAENOPROTOOPT: S := 'Bad protocol option'; - WSAEPROTONOSUPPORT: S := 'Protocol not supported'; - WSAESOCKTNOSUPPORT: S := 'Socket type not supported'; - WSAEOPNOTSUPP: S := 'Operation not supported'; - WSAEPFNOSUPPORT: S := 'Protocol family not supported'; - WSAEAFNOSUPPORT: S := 'Address family not supported by protocol family'; - WSAEADDRINUSE: S := 'Address already in use'; - WSAEADDRNOTAVAIL: S := 'Cannot assign requested address'; - WSAENETDOWN: S := 'Network is down'; - WSAENETUNREACH: S := 'Network is unreachable'; - WSAENETRESET: S := 'Network dropped connection on reset'; - WSAECONNABORTED: S := 'Software caused connection abort'; - WSAECONNRESET: S := 'Connection reset by peer'; - WSAENOBUFS: S := 'No buffer space available'; - WSAEISCONN: S := 'Socket is already connected'; - WSAENOTCONN: S := 'Socket is not connected'; - WSAESHUTDOWN: S := 'Cannot send after socket shutdown'; - WSAETIMEDOUT: S := 'Connection timed out'; - WSAECONNREFUSED: S := 'Connection refused'; - WSAEHOSTDOWN: S := 'Host is down'; - WSAEHOSTUNREACH: S := 'No route to host'; - WSAEPROCLIM: S := 'Too many processes'; - WSASYSNOTREADY: S := 'Network subsystem is unavailable'; - WSAVERNOTSUPPORTED: S := 'Winsock.dll version out of range'; - WSANOTINITIALISED: S := 'Successful WSAStartup not yet performed'; - WSAEDISCON: S := 'Graceful shutdown in progress'; - WSAHOST_NOT_FOUND: S := 'Host not found'; - WSATRY_AGAIN: S := 'Nonauthoritative host not found'; - WSANO_RECOVERY: S := 'This is a nonrecoverable error'; - WSANO_DATA: S := 'Valid name, no data record of requested type'; - else - begin - SetLength(S, 256); - FormatMessage( - FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_FROM_HMODULE, - Pointer(GetModuleHandle('wsock32.dll')), - ErrCode, - 0, - PChar(S), - Length(S), - nil - ); - SetLength(S, StrLen(PChar(S))); - while (Length(S) > 0) and (S[Length(S)] in [#10, #13]) do - SetLength(S, Length(S) - 1); - end; - end; - raise Exception.Create(Format('%s (Error code:%s)', [S, IntToStr(ErrCode)])); { Do not localize } - end; -end; - -{********************************************************************} -function TAlSmtpClient.Connect(aHost: String; APort: Integer): String; - - {---------------------------------------------} - procedure CallServer(Server: String; Port: Word); - var - SockAddr: Sockaddr_in; - IP: String; - begin - FSocketDescriptor := Socket(AF_INET, SOCK_STREAM, IPPROTO_IP); - CheckError(FSocketDescriptor = INVALID_SOCKET); - FillChar(SockAddr, SizeOf(SockAddr), 0); - SockAddr.sin_family := AF_INET; - SockAddr.sin_port := swap(Port); - {$IFDEF DELPHI12} - SockAddr.sin_addr.S_addr := inet_addr( PAnsiChar(Server) ); - {$ELSE} - SockAddr.sin_addr.S_addr := inet_addr(PChar(Server)); - {$ENDIF} - if SockAddr.sin_addr.S_addr = INADDR_NONE then - begin - checkError(ALHostToIP(Server, IP)); - {$IFDEF DELPHI12} - SockAddr.sin_addr.S_addr := inet_addr(pAnsiChar(IP)); - {$ELSE} - SockAddr.sin_addr.S_addr := inet_addr(PChar(IP)); - {$ENDIF} - end; - CheckError(WinSock.Connect(FSocketDescriptor, SockAddr, SizeOf(SockAddr)) = SOCKET_ERROR); - end; - -begin - if FConnected then - raise Exception.Create('SMTP component already connected'); - - try - - WSAStartup(MAKEWORD(2, 2), FWSAData); - CallServer(aHost, aPort); - {$IFDEF DELPHI12} - CheckError(setsockopt(FSocketDescriptor, SOL_SOCKET, SO_RCVTIMEO, PAnsiChar(@FTimeOut), SizeOf(integer)) = SOCKET_ERROR); - CheckError(setsockopt(FSocketDescriptor, SOL_SOCKET, SO_SNDTIMEO, PAnsiChar(@FTimeOut), SizeOf(integer)) = SOCKET_ERROR); - {$ELSE} - CheckError(setsockopt(FSocketDescriptor, SOL_SOCKET, SO_RCVTIMEO, PChar(@FTimeOut), SizeOf(integer)) = SOCKET_ERROR); - CheckError(setsockopt(FSocketDescriptor, SOL_SOCKET, SO_SNDTIMEO, PChar(@FTimeOut), SizeOf(integer)) = SOCKET_ERROR); - {$ENDIF} - Result := GetResponse([220]); - FAuthTypesSupported := []; - Fconnected := True; - - except - Disconnect; - raise; - end; - -end; - -{*********************************} -procedure TAlSmtpClient.Disconnect; -begin - if Fconnected then - begin - ShutDown(FSocketDescriptor, SD_BOTH); - CloseSocket(FSocketDescriptor); - FSocketDescriptor := INVALID_SOCKET; - if FWSAData.wVersion = 2 then - WSACleanup; - FWSAData.wVersion := 0; - Fconnected := False; - if Assigned(OnStatus) then - OnStatus('Disconnect'); - end; -end; - -{********************} -{EhloResponse is like: - 250-ec-is.net Hello your_name, ravi de vous rencontrer - 250-VRFY - 250-ETRN - 250-AUTH=LOGIN - 250-AUTH LOGIN CRAM-MD5 - 250-8BITMIME - 250 SIZE 0} -function TAlSmtpClient.GetAuthTypeFromEhloResponse(EhloResponse: String): TAlSmtpClientAuthTypeSet; -var - k, J: Integer; - Str1, Str2: String; - Lst: TStringList; -begin - Result := []; - Lst := TStringList.Create; - try - Lst.Text := AlUpperCase(Trim(EhloResponse)); - for j := 0 to Lst.Count - 1 do - begin - Str1 := trim(Lst[J]); //250-AUTH=LOGIN - Delete(Str1, 1, 4); //AUTH=LOGIN - Str2 := AlCopyStr(Str1, 1, 5); //AUTH= - if (str2 = 'AUTH ') or (Str2 = 'AUTH=') then - begin - Str1 := AlCopyStr(Str1, 6, maxint); //LOGIN - Str1 := AlStringReplace(Str1, '=', ' ', [rfReplaceAll]); //LOGIN - while (str1 <> '') do - begin - K := AlCharPos(' ', Str1); - if K <= 0 then - begin - Str2 := trim(Str1); - Str1 := ''; - end - else - begin - Str2 := Trim(AlCopyStr(Str1, 1, k - 1)); - Delete(Str1, 1, k); - end; - - if Str2 = ('PLAIN') then - Result := Result + [AlsmtpClientAuthPlain] - else if Str2 = ('LOGIN') then - Result := Result + [AlsmtpClientAuthLogin] - else if Str2 = ('CRAM-MD5') then - Result := Result + [AlsmtpClientAuthCramMD5] - else if Str2 = ('CRAM-SHA1') then - Result := Result + [AlsmtpClientAuthCramSHA1]; - - end; - end; - end; - finally - Lst.Free; - end; -end; - -{****************************************************************************************} -{This command is used to identify the sender-SMTP to the receiver-SMTP. The argument field - contains the host name of the sender-SMTP. The receiver-SMTP identifies itself to the - sender-SMTP in the connection greeting reply, and in the response to this command. - This command and an OK reply to it confirm that both the sender-SMTP and the receiver-SMTP - are in the initial state, that is, there is no transaction in progress and all state tables - and buffers are cleared.} -function TAlSmtpClient.Helo: String; -begin - Result := SendCmd('HELO ' + AlGetLocalHostName, [250]); -end; - -{**********************************} -function TAlSmtpClient.Ehlo: String; -begin - Result := SendCmd('EHLO ' + AlGetLocalHostName, [250]); - FAuthTypesSupported := GetAuthTypeFromEhloResponse(Result); -end; - -{****************************************************************************} -{This command is used to initiate a mail transaction in which the mail data is - delivered to one or more mailboxes. The argument field contains a reverse-path. - The reverse-path consists of an optional list of hosts and the sender mailbox. When - the list of hosts is present, it is a "reverse" source route and indicates that the - mail was relayed through each host on the list (the first host in the list was the - most recent relay). This list is used as a source route to return non-delivery notices - to the sender. As each relay host adds itself to the beginning of the list, it must - use its name as known in the IPCE to which it is relaying the mail rather than the IPCE - from which the mail came (if they are different). In some types of error reporting - messages (for example, undeliverable mail notifications) the reverse-path may be null. - This command clears the reverse-path buffer, the forward-path buffer, and the mail data - buffer; and inserts the reverse-path information from this command into the reverse-path buffer.} -function TAlSmtpClient.MailFrom(aFromName: String): String; -begin - aFromName := trim(aFromName); - if aFromName = '' then - raise Exception.Create('From name is empty'); - - if AlPos(#13#10, aFromName) > 0 then - raise Exception.Create('From name is invalid'); - - Result := SendCmd('MAIL From:<' + aFromName + '>', [250]); -end; - -{**************************************************************************************************} -function TAlSmtpClient.Auth(AUserName, APassword: String; aAuthType: TalSmtpClientAuthType): String; - - {-----------------------------------} - function InternalDoAuthPlain: String; - var - aAuthPlain: String; - begin - if aUserName = '' then - raise Exception.Create('UserName is empty'); - - if aPassword = '' then - raise Exception.Create('Password is empty'); - - aAuthPlain := ALMimeBase64EncodeStringNoCRLF(aUserName + #0 + aUserName + #0 + aPassword); - Result := SendCmd('AUTH PLAIN ' + aAuthPlain, [235]); - end; - - {-----------------------------------} - function InternalDoAuthLogin: String; - begin - if aUserName = '' then - raise Exception.Create('UserName is empty'); - - if aPassword = '' then - raise Exception.Create('Password is empty'); - - SendCmd('AUTH LOGIN', [334]); - SendCmd(ALMimeBase64EncodeStringNoCRLF(aUsername), [334]); - Result := SendCmd(ALMimeBase64EncodeStringNoCRLF(aPassword), [235]); - end; - -var - tmpAuthType: TAlSmtpClientAuthType; -begin - - if aAuthType = AlsmtpClientAuthAutoSelect then - begin - if AlsmtpClientAuthPlain in FAuthTypesSupported then - tmpAuthType := AlsmtpClientAuthPlain - else if AlsmtpClientAuthLogin in FAuthTypesSupported then - tmpAuthType := AlsmtpClientAuthLogin - else if AlsmtpClientAuthCramMD5 in FAuthTypesSupported then - tmpAuthType := AlsmtpClientAuthCramMD5 - else if AlsmtpClientAuthCramSHA1 in FAuthTypesSupported then - tmpAuthType := AlsmtpClientAuthCramSHA1 - else - tmpAuthType := AlsmtpClientAuthNone; - end - else - tmpAuthType := aAuthType; - - if Assigned(OnStatus) then - OnStatus('Authentication'); - - case tmpAuthType of - alsmtpClientAuthPlain: Result := InternalDoAuthPlain; - alsmtpClientAuthLogin: Result := InternalDoAuthLogin; - alsmtpClientAuthCramMD5: raise Exception.Create('CRAM-MD5 Authentication is not supported yet!'); - alsmtpClientAuthCramSHA1: raise Exception.Create('CRAM-SHA1 Authentication is not supported yet!'); - else - raise Exception.Create('No Authentication scheme found'); - end; - -end; - -{*************************************************************************} -{This command is used to identify an individual recipient of the mail data; - multiple recipients are specified by multiple use of this command.} -function TAlSmtpClient.RcptTo(aRcptNameLst: TStrings): String; -var - i: Integer; - aRcptNameValue: String; -begin - Result := ''; - if aRcptNameLst.Count <= 0 then - raise Exception.Create('RcptName list is empty'); - - for i := 0 to aRcptNameLst.Count - 1 do - begin - aRcptNameValue := trim(aRcptNameLst[i]); - if (aRcptNameValue = '') or (AlPos(#13#10, aRcptNameValue) > 0) then - raise Exception.Create('Bad entry in RcptName list'); - - Result := Result + SendCmd('RCPT To:<' + aRcptNameValue + '>', [250, 251]) + #13#10; - end; - if Result <> '' then - Delete(Result, Length(Result) - 1, 2); -end; - -{********************************************************************************} -{The receiver treats the lines following the command as mail data from the sender. - This command causes the mail data from this command to be appended to the mail data buffer. - The mail data may contain any of the 128 ASCII character codes. - The mail data is terminated by a line containing only a period, that is the character sequence ".". - This is the end of mail data indication. The end of mail data indication requires that the receiver must now process - the stored mail transaction information. This processing consumes the information in the reverse-path buffer, - the forward-path buffer, and the mail data buffer, and on the completion of this command these buffers are cleared. - If the processing is successful the receiver must send an OK reply. If the processing fails completely - the receiver must send a failure reply. When the receiver-SMTP accepts a message either for relaying or for - final delivery it inserts at the beginning of the mail data a time stamp line. The time stamp line indicates the - identity of the host that sent the message, and the identity of the host that received the message (and is inserting this - time stamp), and the date and time the message was received. Relayed messages will have multiple time stamp lines. - When the receiver-SMTP makes the "final delivery" of a message it inserts at the beginning of the mail data a return path - line. The return path line preserves the information in the from the MAIL command. Here, final delivery - means the message leaves the SMTP world. Normally, this would mean it has been delivered to the destination user, but - in some cases it may be further processed and transmitted by another mail system. - It is possible for the mailbox in the return path be different from the actual sender's mailbox, for example, - if error responses are to be delivered a special error handling mailbox rather than the message senders. - The preceding two paragraphs imply that the final mail data will begin with a return path line, followed - by one or more time stamp lines. These lines will be followed by the mail data header and body [2]. - Special mention is needed of the response and further action required when the processing following the end of mail - data indication is partially successful. This could arise if after accepting several recipients and the mail data, - the receiver-SMTP finds that the mail data can be successfully delivered to some of the recipients, but it cannot - be to others (for example, due to mailbox space allocation problems). In such a situation, the response to the DATA - command must be an OK reply. But, the receiver-SMTP must compose and send an "undeliverable mail" notification - message to the originator of the message. Either a single notification which lists all of the recipients that failed - to get the message, or separate notification messages must be sent for each failed recipient. All undeliverable mail - notification messages are sent using the MAIL command (even if they result from processing a SEND, SOML, or SAML command).} -function TAlSmtpClient.Data(aMailData: String): String; -var - I: Integer; -begin - SendCmd('DATA', [354]); - - i := 2; - while i <= Length(aMailData) do - begin - if (aMailData[i] = '.') and (aMailData[i - 1] = #10) and (aMailData[i - 2] = #13) then - Insert('.', aMailData, i); - Inc(i); - end; - - Result := SendCmd(aMailData + #13#10 + '.', [250]); - -end; - -{**********************************************************} -function TAlSmtpClient.Data(aHeader, aBody: String): String; -begin - Result := Data(Trim(aHeader) + #13#10#13#10 + aBody); -end; - -{******************************************************************************} -function TAlSmtpClient.Data(aHeader: TALSMTPClientHeader; aBody: String): String; -begin - Result := Data(aHeader.GetRawHeaderText, aBody); -end; - -{**************************************************************} -{This command specifies that the receiver must send an OK reply, - and then close the transmission channel. The receiver should not - close the transmission channel until it receives and replies to - a QUIT command (even if there was an error). The sender should not - close the transmission channel until it send a QUIT command and - receives the reply (even if there was an error response to a previous - command). If the connection is closed prematurely the receiver should - act as if a RSET command had been received (canceling any pending - transaction, but not undoing any previously completed transaction), - the sender should act as if the command or transaction in progress had - received a temporary error (4xx).} -function TAlSmtpClient.Quit: String; -begin - Result := SendCmd('QUIT', [221]); - Disconnect; -end; - -{**********************************} -{This command asks the receiver to confirm that the argument identifies a user. - If it is a user name, the full name of the user (if known) and the fully - specified mailbox are returned. This command has no effect on any of the - reverse-path buffer, the forward-path buffer, or the mail data buffer.} -function TAlSmtpClient.Vrfy(aUserName: String): String; -begin - Result := SendCmd('VRFY ' + aUserName, [250]); -end; - -{*************************************************************} -{This command specifies that the current mail transaction is to - be aborted. Any stored sender, recipients, and mail data must be - discarded, and all buffers and state tables cleared. The receiver - must send an OK reply.} -function TAlSmtpClient.Rset: String; -begin - Result := SendCmd('RSET', [250]); -end; - -{*********************************************} -procedure TAlSmtpClient.SendMail(aHost: String; APort: Integer; aFromName: String; aRcptNameLst: TStrings; AUserName, APassword: String; aAuthType: TalSmtpClientAuthType; aMailData: String); -begin - if Fconnected then - Disconnect; - - connect(aHost, APort); - try - - if aAuthType = AlsmtpClientAuthAutoSelect then - ehlo - else - Helo; - if aAuthType <> AlsmtpClientAuthNone then - Auth(AUserName, APassword, aAuthType); - mailFrom(aFromName); - RcptTo(aRcptNameLst); - Data(aMailData); - Quit; - - finally - Disconnect; - end; -end; - -{*********************************************} -procedure TAlSmtpClient.SendMail(aHost: String; APort: Integer; aFromName: String; aRcptNameLst: TStrings; AUserName, APassword: String; aAuthType: TalSmtpClientAuthType; aHeader, aBody: String); -begin - if Fconnected then - Disconnect; - - if Assigned(OnStatus) then - OnStatus('Wait for connection'); - - connect(aHost, APort); - try - if aAuthType = AlsmtpClientAuthAutoSelect then - ehlo - else - Helo; - if aAuthType <> AlsmtpClientAuthNone then - Auth(AUserName, APassword, aAuthType); - - if Assigned(OnStatus) then - OnStatus('Send email'); - - mailFrom(aFromName); - RcptTo(aRcptNameLst); - Data(aHeader, aBody); - Quit; - finally - Disconnect; - end; -end; - -{***********************************************************} - -{*******************************************************************************} -{commands consist of a command code followed by an argument field. Command codes - are four alphabetic characters. Upper and lower case alphabetic characters are - to be treated identically. Thus, any of the following may represent the mail command: - MAIL Mail mail MaIl mAIl - This also applies to any symbols representing parameter values, such as "TO" or "to" - for the forward-path. Command codes and the argument fields are separated by one or - more spaces. However, within the reverse-path and forward-path arguments case is - important. In particular, in some hosts the user "smith" is different from the user - "Smith". The argument field consists of a variable length character string ending - with the character sequence . The receiver is to take no action until - this sequence is received. Square brackets denote an optional argument field. - If the option is not taken, the appropriate default is implied. - The following are the SMTP commands: - HELO - MAIL FROM: - RCPT TO: - DATA - RSET - SEND FROM: - SOML FROM: - SAML FROM: - VRFY - EXPN - HELP [ ] - NOOP - QUIT - TURN } -function TAlSmtpClient.SendCmd(aCmd: String; OkResponses: array of Word): String; -var - P: PChar; - L: Integer; - ByteSent: Integer; -begin - if (length(aCmd) <= 1) or - (aCmd[length(aCmd)] <> #10) or - (aCmd[length(aCmd) - 1] <> #13) then - aCmd := aCmd + #13#10; - - p := @aCmd[1]; // pchar - l := length(aCmd); - while l > 0 do - begin - ByteSent := SocketWrite(p^, l); - if ByteSent <= 0 then - raise Exception.Create('Connection close gracefully!'); - - Inc(p, ByteSent); - Dec(l, ByteSent); - end; - - Result := GetResponse(OkResponses); -end; - -{*********************************************************************} -{An SMTP reply consists of a three digit number (transmitted as three - alphanumeric characters) followed by some text. The number is intended - for use by automata to determine what state to enter next; the text is - meant for the human user. It is intended that the three digits contain - enough encoded information that the sender-SMTP need not examine the - text and may either discard it or pass it on to the user, as appropriate. - In particular, the text may be receiver-dependent and context dependent, - so there are likely to be varying texts for each reply code. Formally, - a reply is defined to be the sequence: - a three-digit code, , one line of text, and , or a multiline reply. - Only the EXPN and HELP commands are expected to result in multiline replies - in normal circumstances, however multiline replies are allowed for any - command.} -function TAlSmtpClient.GetResponse(OkResponses: array of Word): String; - - {----------------------------------------------} - function Internalstpblk(PValue: PChar): PChar; - begin - Result := PValue; - {$IFDEF DELPHI12} - while CharinSet(Result^,[' ', #9, #10, #13]) do - {$ELSE} - while Result^ in [' ', #9, #10, #13] do - {$ENDIF} - Inc(Result); - end; - - {---------------------------------------------------------------------} - function InternalGetInteger(Data: PChar; var Number: Integer): PChar; - var - bSign: Boolean; - begin - Number := 0; - Result := InternalStpBlk(Data); - if (Result = nil) then - Exit; - { Remember the sign } - {$IFDEF DELPHI12} - If CharInSet(Result^,['-', '+']) then - {$ELSE} - if Result^ in ['-', '+'] then - {$ENDIF} - begin - bSign := (Result^ = '-'); - Inc(Result); - end - else - bSign := False; - { Convert any number } - {$IFDEF DELPHI12} - while ( CharInSet(Result^,[#0]) ) and ( CharInSet(Result^,['0'..'9']) ) do - {$ELSE} - while (Result^ <> #0) and (Result^ in ['0'..'9']) do - {$ENDIF} - begin - Number := Number * 10 + Ord(Result^) - Ord('0'); - Inc(Result); - end; - { Correct for sign } - if bSign then - Number := -Number; - end; - -var - aBuffStr: String; - aBuffStrLength: Integer; - aResponse: String; - aStatusCode: Integer; - aGoodResponse: Boolean; - ALst: TStringList; - P: PChar; - i, j: Integer; -begin - Result := ''; - while True do - begin - - {Read the response from the socket - end of the response is show by } - aResponse := ''; - while True do - begin - Setlength(aBuffStr, 512); //The maximum total length of a reply line including the reply code and the is 512 characters. (http://www.freesoft.org/CIE/RFC/821/24.htm) - aBuffStrLength := SocketRead(aBuffStr[1], length(aBuffStr)); - aResponse := AResponse + AlCopyStr(aBuffStr, 1, aBuffStrLength); - if aResponse = '' then - raise Exception.Create('Connection close gracefully!'); - - if (aBuffStrLength > 1) and - (aBuffStr[aBuffStrLength] = #10) and - (aBuffStr[aBuffStrLength - 1] = #13) then - Break; - end; - Result := Result + aResponse; - - {The format for multiline replies requires that every line, except the last, - begin with the reply code, followed immediately by a hyphen, "-" (also known as minus), - followed by text. The last line will begin with the reply code, followed immediately - by , optionally some text, and .} - ALst := TStringList.Create; - try - Alst.Text := aResponse; - if Alst.Count = 0 then - raise Exception.Create('Emtpy response'); - - for j := 0 to Alst.Count - 1 do - begin - aResponse := Alst[j]; - p := InternalGetInteger(@aResponse[1], aStatusCode); - aGoodResponse := False; - for I := 0 to High(OkResponses) do - if OkResponses[I] = aStatusCode then - begin - aGoodResponse := True; - Break; - end; - - if not aGoodResponse then - raise Exception.Create(aResponse); - - if p^ <> '-' then - begin - if J <> Alst.Count - 1 then - raise Exception.Create(aResponse); - Exit; - end; - end; - finally - ALst.Free; - end; - - end; -end; - -{**********************************************************************} -function TAlSmtpClient.SocketWrite(var Buffer; Count: longint): longint; -begin - Result := Send(FSocketDescriptor, Buffer, Count, 0); - CheckError(Result = SOCKET_ERROR); -end; - -{*********************************************************************} -function TAlSmtpClient.SocketRead(var Buffer; Count: longint): longint; -begin - Result := Recv(FSocketDescriptor, Buffer, Count, 0); - CheckError(Result = SOCKET_ERROR); -end; - -{*******************************************************} -procedure TAlSmtpClient.Settimeout(const Value: Integer); -begin - if Value <> Ftimeout then - begin - {$IFDEF DELPHI12} - CheckError(setsockopt(FSocketDescriptor, SOL_SOCKET, SO_RCVTIMEO, PAnsiChar(@FTimeOut), SizeOf(integer)) = SOCKET_ERROR); - CheckError(setsockopt(FSocketDescriptor, SOL_SOCKET, SO_SNDTIMEO, PAnsiChar(@FTimeOut), SizeOf(integer)) = SOCKET_ERROR); - {$ELSE} - CheckError(setsockopt(FSocketDescriptor, SOL_SOCKET, SO_RCVTIMEO, PChar(@FTimeOut), SizeOf(integer)) = SOCKET_ERROR); - CheckError(setsockopt(FSocketDescriptor, SOL_SOCKET, SO_SNDTIMEO, PChar(@FTimeOut), SizeOf(integer)) = SOCKET_ERROR); - {$ENDIF} - Ftimeout := Value; - end; -end; - -initialization - for Ch := #0 to #255 do - VALMove_AnsiUpcase[Ch] := Ch; - CharUpperBuff(@VALMove_AnsiUpcase, 256); - ALInitFastMovProc; - ALInitFastPosFunct; -end. diff --git a/internal/2.31RC1/1/Source/UCAbout.dfm b/internal/2.31RC1/1/Source/UCAbout.dfm deleted file mode 100644 index 5cccd28..0000000 --- a/internal/2.31RC1/1/Source/UCAbout.dfm +++ /dev/null @@ -1,835 +0,0 @@ -object AboutForm: TAboutForm - Left = 296 - Top = 71 - BorderStyle = bsNone - Caption = 'About User Control' - ClientHeight = 520 - ClientWidth = 506 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clBlack - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - Position = poMainFormCenter - OnClose = FormClose - OnCreate = FormCreate - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object pnlFundo: TPanel - Left = 0 - Top = 0 - Width = 506 - Height = 520 - Align = alClient - Caption = 'pnlFundo' - Color = 6435072 - TabOrder = 0 - object Image4: TImage - Left = 1 - Top = 1 - Width = 28 - Height = 518 - Align = alLeft - Center = True - Picture.Data = { - 0A544A504547496D6167653C0D0000FFD8FFE000104A46494600010200006400 - 640000FFEC00114475636B79000100040000003C0000FFEE000E41646F626500 - 64C000000001FFDB0084000604040405040605050609060506090B080606080B - 0C0A0A0B0A0A0C100C0C0C0C0C0C100C0E0F100F0E0C1313141413131C1B1B1B - 1C1F1F1F1F1F1F1F1F1F1F010707070D0C0D181010181A1511151A1F1F1F1F1F - 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F - 1F1F1F1F1F1F1F1F1F1F1F1FFFC00011080206001903011100021101031101FF - C4008C0001000203010100000000000000000000000608030507020401010101 - 0101010100000000000000000000050304020106100001040103030303020505 - 010000000002000103040511120621130731412251321461718123331508A142 - 53D3941611000202020200050303050000000000000001110212032131416122 - 320451711381D162F091B1C152FFDA000C03010002110311003F00E14BF4A7E7 - 8200802008020080200802008020080200802008020080200802008020080200 - 8020080200802008020080200802008020080200802008020080200802008020 - 0802008020080200802008020080200802008020080200802008020080200802 - 0080200802008020080D8C5C6F914D40723162EDC98F32D83702094A172EBD1A - 461DBAFC5FDD79CEB313C9EB071306B97A3C8407BAEF0B4F1BCCCE50B10F705B - D5C75EADEDEC8CFA8BAB34395CD556CB60B3D8C1E2F05AC65CC29308B4756A56 - 8DC6E01B3069B8B5F8B1136DF4F8BB2869AAF0D3CB99FF00458E5F29AC7882A7 - F942F616FF009073D7309B1F1935B32AE51F402F4DE63A69F133DC4DFBAAFA13 - 5449F64BDCD3BB8E88BAD4C8CD4BA5C83A8B7F303A9FDBF737DDFA23E8FA8B87 - 94CB66A9F912971DAFE3F86EE0657802C67E3ACCD1334A22F24AC4C05180C6EE - FA8916AFA28B5AA74CB2E7E856766AF18F1F539BF9E70D8F9F85499C9B114B19 - 93A3C826C555B7480631B950024D4C845FEE69237176277DAE25A7AAEAF8B679 - 44B6B19FB1CFF26AB198873057E540E0325785E7B1142CFA3CA620CEFEDB9F44 - 6CFA8B891C984E378C3E3D6796E74E3C558A589BD20F61CA396E44270BB49D82 - 9C22262666713F8FA28BCD9E58D799656E2AA25F1C15B3CAF6F235B95E438D3C - F6870D85B53478EA1665EE76D8C9E4291F422622948DCDCDDF73EBD554F8E93A - AB78B276F6F275F044296C6264ADB3F262EE1BC71EF1DE63D1C5B5EAEDFB233E - A2D750A3E4FC772DB3C8AC720C44FC325A15E27E437F6BC735688CE5AF23C511 - C4CF623794BE5B840B5D7D7A3486F5BAE30F29E8A895D5A65631D95C3C8D91A5 - 92E739ABF4AE9646AD9B4724574DB6BCACFA7CB6ED0D1B5FB5B4F454F4A6A893 - E09DB5A766D11C5A1992FF001D734C4F19B371F21C6297267BAD184115E103ED - 10B96AF1EF8E5EA7B9B5D3E8B1DDA9DBA6EA6DAB62AF6A4B10FCB1AA720C5F8D - B23C5B8ED1872959EDCB8F79A32A90CE4E651C1243D910294CC01FA0FF00BB56 - DDA759BF8E6AEEAD6E0EFCE1AA355E4AD5E43866839BE6A19B1B062258AD1816 - 36AE9D88B6F4D22DA20DB1FD5BE2DEAAA697E85CC93B6FB9F1047568667A8A53 - 8A50941F438C9885FF00567D590FA5BB8F8AE3F915EA1CEB31E3EC90F2A1182C - 1C51DAA610CB3C203DA22096DC6ECC3B47A1833F4F933FBC7FC8EA9D15963FAF - EC55C159E4EAF2FEBCCAD7E52B399B3E41CECF9A802B648ED13CF5A3369063D1 - 99823636E85B4346D7DD53D092A28E89DB9B7773D9165A991F760E8E4EEE56B4 - 18CA735FB9BD8E3A95C0A490F63EE7D04189FD1BE8BE59A4B9E0F554DBE0B379 - 5F21F1D9395E4A96733797E31159FEDD98A1F990CF5A4AF3D6DD158A8D1EDEB1 - CB180BF4D409DC9F577F5955D36C53495BB452B6D5934DB5D32BBF90F2F8ACCF - 39CE657122ED8EB972596B39338B90917DFB5D99DB7BFCB47F4D552D3575A24F - B27EDB2766D11E5A199DB3FC6CAF95FC7E6B7305004DC8E0C68478873D9D2595 - E47666791C43A900FDCFA74EAB87E6B5E94FDB3C9DBF113F535DC12BF23F8FBC - B1CCFC79C60723891B5CC284F647245DEA719764C9FB65B86408BE4221AB0BFA - B6AB2D3BB5D2EE1FA7F535DBAB65E8A57A8AEB9BC2E4F0995B389CA43F8F90A6 - 7DBB30EE03DA4CDAE9B81C85FD7D9D52AD9594AE89F6ABAB867C4BE9E495703A - 1E49B72DC6E10591194043F3BFB6CD240FB5DCBB7DCD841AF5DDA2CB6BA2F7C7 - EA6BA95DFB6497FF00F3FF00E4DFFCBC93FF00758FFB5639E8FE3FD8DB1DDFC8 - E6DC861CEC39BB9167DE77CC048ED75ED1BC937734EBBC89C9DDFF008AE9A351 - C74735E679ECD7AF479371C6F92F27C2D920C0E4EC6365B8E11CA55E428B7E8F - F1DCE3F4725E2F4ADBB527BA5ECBA7059CB5CA38871EE454BC7D98CC723BFC92 - CF62BCB9A8EDD8001B16B6B46EC2D308336A7AFF0048B4F7D7AA96B5DAD5774A - B8FD0A4EF5ABC1BB495BFC938AC86279DE6B1D90BA792B75EC909DE95F7492B3 - B33819BEAFF27076DCDECEA9E9B2744D2827EEAB5669F246D68647B86369268E - 37776632617766727EAFA7416F5FD919F4B65CB737E42E3F93823A1C28796D9A - D5C1B19CAA6AECF6BA8B7F58631736317FBBAC7AFD1948D75A59736C7C8A97B5 - EAF8AE5E655DE4F26765E43919B3E12479A967392F84A3DB3694DF716A1A36DF - 5F4556918A8E89B79973D9AC5E8F049FC778EE2190E4215F946525C454D37C17 - 220DE3DD1267603666776626D7426F7596EB5957D2A4D752AB7EA70596CFE678 - CD5E55213791F214EAC12425261E0196D40C2C00441F90C3293F73D5FE7AB6BA - 74D14CA56CEBEC5F728DAD556F732B4F93F298ECAF9033990C69C9251B1688A0 - 925636321D19B73B49A1B6BA6ADBBAE8A9E8AB544993B7593BB688C2D4C8CB50 - 58ED422E1DC629059E3D74DDABB7C75FD51F47D45C1E645E7DAF9B28785D1C70 - 71C08616A509F64648F48D98C2463366DC27AB36CF8EDD3F551B5FE16BD4DE45 - 6D9F967D310559E7E5C84B99658B91880671E77FCF18B6EC69346D76ED771F4F - A2ABAB1C563D1336CE4E7B23EB4333DD70739E306368DC885B7BF461D5F4D7F8 - 233EA2D1DECB78FF008C72DC7F8CECE172193B56FF001E09F347626EF1496599 - 9A407DDBF4F96A5B09987AE8DD14A55BDAAF64A5E45276A56CA90DF995F3C8F8 - 40C1F3ACD6242C9DC8E9DA300B1296F9087A38B197B90B3ED7FD551D36CA899C - 1B6B8D9A238B433265E30F1B5BE7396B307E6478DC5E3A17B393C94ADA8C5175 - D3A3B8B6AFA3FA9333333BFB2C77EE5AD7D5B36D3A737F4475FF0014F94B9C72 - 0BB73889663111DFA15E4870D9AB913CD3D8900D8044749A31937036EDCC2EFD - 357625C5BF452AB287E68EBD3BAD678CAFB9C0F95D3CDD3E4D94AB9D32933115 - 9946FCA64E4E736E7DC7B9FEE627EACFF45475B4EAA3A386E9AB39ECD52F4783 - A7784798719C4CB9FE3BC9E52AB85E514DAA4D7475FE5482C620E5B59DD85DA6 - 2EBECFA6BD3576E5F95AECE2D5EEA74FC7D9552ADD589771BF18F8C7886729F2 - AC9790F1F90A18C95ADD6AB57B7DE98E17DC1A34534A6FB4D9B51117D7D3A2C6 - FBF65D62A8D49B534D28F2765C1C8B9F7261E51CCB2F9E08DE28AFD829218CB4 - DC31333046C5A74DDB05B5FD5766AA61548E4DB7CACD9A05A19992BC6D2D88A3 - 7D7433117DADABF57D3A3233EA3AEF3DFF001D396D1E4071F11C5DAC8E08E309 - 2BD89A581A56221D4C0C5DE126DAFD3A8AE3D5F32AEBEA70CEADBF12C9FA5707 - 29CBE232387C9D8C664A07AD7EA1F6EC404ECEE24DD74D45DDBFD575D6CACA51 - CD6AB4E19F22FA7932550924B30C7196C90CC440F576D09DF467D5919F516DF2 - 54AA6287FB235EE5172DE3AFE32A64725FDC6F3CB69AF813EE80467606117D37 - 682DA68EDD74EB1EAE798AF29F82F02AB51C7ABB5E2CAD7E4FC44B87E7F9CC6C - B7A6C91D7B2EDF9B64DE59A4126621EE9BFDC6C2ECC4FF00554F45B2A27104ED - D58BB5D9185A991EA188E698220FBE42611D7EA4FA3233E971B016F96E1EA653 - 1D9DE6111E3F071D3A07960A6C738DFB622C31B916F1268FBB0FDC04E5BBE4E3 - D545BAAD9A6ABCBF0F22B55D94A76EBFC9563C8787C9E1B9BE6B1B93B657EF41 - 68FBD78D9D8A673F9B4A4CEEFA398933BB6BD156D3656A26899B6AD59A647968 - 664C3C75E3EB7CC2CDB6AD97A3893C7B47231DE91E3637372D3668C5AB8ECEAB - 1DDBB0F06E4DB56ACFC60B236A9790F2E54062B5C52FC952C0E46FD2AD24A2F7 - ECC31EC88E4F848C3B7683B74F501F933374989D14FBBF6283577FF3FB95679B - DCCFDCE5D97B3C822ECE6A4B527E742CDA3048CFA380B6A5F11D341EAFD3DD56 - D492AAC7A26EC6DD9CF66917B33265E37F1FE3F984F7E3BBC86A601A98C64077 - 36E92F71C99D8774917DBB7AFEEB1DDB9D22149B6AD4AFDB83A6F17F0DF0FE33 - C8B1BC82EF9171675F15623B671C471019F6498D818BBE5F73B68FA33BBB745C - B7F936B55D551F274D3E3D6AD3765C1C9FC9BC8A8F23E7B9BCD50676A572C3BD - 7771DAE4002C026E3EDB98772EBD1475A24CE5DD756B3688C2D4C82008020080 - 2008020080200802008020080200802008020080200802008020080200802008 - 0200802008020080200802008020080200802008020080200802008020080200 - 8020080200802008020080200802008020080200802008020080200802008020 - 080200802008020080FFD9} - end - object pnlComponentes: TPanel - Left = 29 - Top = 1 - Width = 476 - Height = 518 - Align = alClient - AutoSize = True - BevelOuter = bvNone - Color = 6435072 - TabOrder = 0 - object Panel1: TPanel - Left = 0 - Top = 2 - Width = 474 - Height = 104 - BevelOuter = bvNone - Color = clWhite - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - TabOrder = 0 - DesignSize = ( - 474 - 104) - object Image1: TImage - Left = 111 - Top = 1 - Width = 374 - Height = 80 - AutoSize = True - Picture.Data = { - 0A544A504547496D616765FE200000FFD8FFE000104A46494600010101004800 - 480000FFDB0043000302020302020303030304030304050805050404050A0707 - 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17 - 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414 - 1414141414141414141414141414141414141414141414141414141414141414 - 14141414141414141414141414FFC00011080050017603012200021101031101 - FFC4001F0000010501010101010100000000000000000102030405060708090A - 0BFFC400B5100002010303020403050504040000017D01020300041105122131 - 410613516107227114328191A1082342B1C11552D1F02433627282090A161718 - 191A25262728292A3435363738393A434445464748494A535455565758595A63 - 6465666768696A737475767778797A838485868788898A92939495969798999A - A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6 - D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301 - 01010101010101010000000000000102030405060708090A0BFFC400B5110002 - 0102040403040705040400010277000102031104052131061241510761711322 - 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728 - 292A35363738393A434445464748494A535455565758595A636465666768696A - 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7 - A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3 - E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00FD52 - DA2968A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2 - 800A28A280129314EA2801980690A8A7919A6918A0040A29703DE8A5C52B00A3 - 18A5A414B4C0422A3755352D3185260549A38D8739ACBBB82D70776EAD891335 - 977908C1AC66B4378339CBE834C19DFE67E15CF5F43A1027779D5D06A76FC371 - 5C86A96F8278AF36ABB743D3A4AFD4A772BE1B04EE37159D31F0B8CE5AE47E35 - 46FE2C678AE7EF58464F19AF32752DD11EA429DFED33A573E14EED723F1A88BF - 84FF00BD75F9D7097BAC476F9DD139C7A62B3EF3C516569A72DE3966466D8100 - F9B77A1F4AE7757FBA8E85497F333D2B7F84FF00BD75F9D1BFC27FDEBAFCEBC8 - 1BE22582FF00CBB5D9FA22FF00F1552699E3FD3753BF8ACD56686690E17CD500 - 13E9C1A9F6DFDD43F64BF999EB7BFC27FDEBAFCE8DFE13FEF5D7E75E47A87C43 - D1F4FBD92D5A5925963387F2937007D2A23F12F460325A751D7988D1EDBFBA83 - D92FE667B0EFF09FF7AEBF3A37F84FFBD75F9D7954FE39D1EDB4A8B507B922DE - 5E170A771F5E2AAC7F137C3EE3FE3EE45FADBC9FE147B6FEEA0F64BF999EBFBF - C27FDEBAFCE8DFE13FEF5D7E75E5FA678CB47D61E45B5BD5768D4BB0652B803A - 9E40A84F8FFC3C1CAFF6ADBE41C7DEA3DB7F7507B15FCCFEF3D5B7F84FFBD75F - 9D1BFC27FDEBAFCEBCD2CFC57A3DFCAB1C1A9DAC9231C2A0946E27D00A9E7D77 - 4DB598C336A16D14A3AA3CCA187E19A3DB7F7507B15FCCFEF3D1E27F0A6E386B - AE9EB4579D5BF88F4A0E4FF695A631FF003D97FC68AB557FBA84E8FF00799F6F - D14515F667C48578AFED47FB58F843F64AF0BE8FAEF8BEC757D42DB54BC36504 - 3A34514B287085CB1124B18DB85C6413C91C57B557E667FC16CF5069BC35F08B - 41882B5C5FEA779346A7824A2429D4F006661D7DBDE803F49347D622D6742B2D - 5638E5B782EAD92E563B850AE8ACA18061938201E79AF1CFD96BF6BDF08FED71 - A46BFA978434AD774DB5D1AE23B69DB5B82188C8EEA5BE4F2E59338039CE3A8E - B5DFFC43BB83C1DF077C4B72A425B697A15CC80C996C2476EC79EE785AFCB9FD - 85F46F88FF00F0EF5F8D3A97C286963F1B5C6BE21B56B363F6A31C515B3CC21F - 493CB91F6E3924903E6DB401FAF1457E7A7FC13CEC3C3BE25D3EC7C6F17C70F8 - 87ACF8CB44B694F8C3C19E24D51A4B7498C6EAE4DB3297DAAE772C9B9892B83B - 492A3C93E14FC51D5FF6CAD5BC69E37F1EF8B3E31693A1C7A8BD8E83A1FC32D3 - 2FDED2C91515834B25BC32234A1644E1BE6E493F2B28A00FD67A2BF29A4F8C1F - 1E3C3DFB0B7C7AB3F185CF8E344D47C2F7FA58F0D78BF58B6BBD2F52BCB59B50 - 4460257092310A9F31C96027DAC71815EFFF00B047C1DF889ACF87BC13F193C7 - FF00167C41E26BBD4745096DE1E9EE5E4B38ED9D0089E42CC77CC400ECE46496 - 20938CD007D91E24F12E95E0ED06FB5BD7350B6D2B48B189A7BABDBB90471428 - 064B331E00AF8E6EBFE0AADF0FF56D5EEED3C0FE03F1F7C42B5B46227D4743D1 - F740076203307C1E7EF2AF6FC392FF0082CF78BF57D13F67EF0BE8963349069B - AD6BAA97EC9902448E26748D8FA17C363D631E86BECDF82BF0DFC35F0A3E1778 - 73C33E13B6B78744B2B2896192DD028B825413331FE2673F31249249EB4009F0 - 57E2F693F1D3E1D69BE31D1AC752D2ECEF5E68CD8EB10082EEDDE295A3749630 - CC15B284E327820F7AEE335F17FF00C144BF683F1B7C3DBCF865F0C3E1BEA3FD - 85E2CF885AA8B01AC0452D6B1192288042DC2B33CCBF375011B182411E47FB4F - 7C16F887FB117C2FB5F8B3E09F8E5E3AF10EADA75EDB26B361E28D40DE595F89 - 1F696111E9F391C3163866C303C900FD2DA4AFCCBFDB1BE36FC4AF1F7C4AFD95 - D3E17F89F56F085FF8DAC2DB54FB35B5ECB1DA319DADDD3ED31290264405B72B - 020AEE183922B8BFDB17E1FF00C62FD892F3C13F12346F8EFE2DF19EA1A96A62 - CEEECF549A4F265976F981443E632344C10AF9647181827B007E9BFC48F8C1E0 - EF84506972F8BF5EB7D15755BB5B1B1598333DCCEC40088AA092791D05762391 - 5F969FF0534F86773AEFED57F01ED23F1BF88ADCF8C75986D16CD6EDBECFA291 - 35A42B7166BD23918BB3B11CEE45356FF6EDB7F897FB3AFF00C339F81FC0DF16 - 3C657DAB6A5AAEA513EABABEB33196FA469ECBC95BA2A40963432950AC080A48 - C726803F5069335F9BDFB456ADF12BF61BF83DA7787343F893ACF8E3E23FC4BD - 6E3B74D775C3BFEC0422897ECE1CB040CD246173C28662390083F685FD9BBE24 - 7ECABF042EFE2D785FE3F78F759F19E83E45CEAD0EB5A89B8D3EFD5A54470903 - 676805C1C397C80470482003EBFF00DA37F6A3F0BFECC96BE179BC4BA66B5AA7 - FC245A80D32CE3D1608A57129008DC1E44E39ED93ED5EC40EE00FAD7E5D7ED95 - F14A4F8E3E0FFD8D3C4374134F9FC4FAD4379736711E165DF6A92140792AACED - 827B30CF5AFD451C28FA5007C6BE23FF0082A37C3BD03E2078ABC1F0780FE226 - BDAA786B51B8D32F9F46D22DEE2212452B44CCA45C03B4B2360B0048EC3A57AC - 7ECC7FB63FC3DFDABACF566F07C9A8596A5A5328BCD27598161BA895890AF856 - 752A4823218E08E71919F80BF65EF8A7E36F02FED0DFB53788FC01F0EA6F88FA - A5DF8A5D1F468AF85AC90C4F777CDE76E28DB82B0452A00CEFCE462BDC7F634F - D9DBC69F0C75BF8C5F1BFE30DCE9FF000DF57F1847707ECF1DC4489A5C72C865 - 92777DC5130DB3682C4FCA77726803EFEC8CE296BF217F68DF8A3F0E349F873A - EDFF00C26F8C7F19BC75E3ED29A37FF84861D5EF64B0B502450E6E242B1C4232 - ACC079631B99474241EE3E287ED25F17BE21F81FF664F857E1EF14CFE1CF177C - 45D2ADEF75AF135B7EEEE7C973B15D597054ED59246D855890002B93900FD41C - F04D78EFECF9FB517863F692BAF1941E1AD3359B0FF845B51FECCBC93568228D - 25972C0F945247C81B3BED3F30E39AE6BE05FEC872FC09F13C5ADDBFC5AF883E - 2B46B5782EF4AF12EAA2EACA66603122C7B46C652383927048CF35F99BF077F6 - 88F137C38F83DE38F0A783E5934CF1DFC4EF1FCFA45B7882590DB5B69EB88449 - 209BA47266E0004728096E0AAE403F6D5D720D52B88F703C57CFDAAF8234AF81 - 3FB2F47E1FF881F1B3C43A34AE623A978E6F35A73A8CB3EE5774B692732140C1 - 0A2A2293B37705896AFCF4F8FDF1D74CF056A3E0DF107ECF7F10FE2B6B178DAA - ADADE6B5E23BFBC9748BF623E58D85C01E63B1524AEDC60138CE312D5CA4EC7E - B6EA30641E335C9EAD66E413B49AF953E367C4AF885FB467ED8D3FECFF00E02F - 175E7C3FF0DF8774F1A9788F5CD24EDBE986D898AC520C1400CF120008F9998B - 6E002D79978CFE19EB3FB3EFEDA1F03BC1BE1AF8AFE3ED6348F105D25CEA969A - FEBCF32CCB14A494288114C6EAAC36B03DF9AE49D1E6D2E75C2B72EB63EC8D42 - D5D890149FA5731AADAC9129DC8471DEBE5FF881F14F52F8E3FB58F8DBC0B7BA - EF8EF41F875E0D4F25ECFE1DE9D753DEDF5D0655633BDBC6EC91EEDE0646308B - 8192586A7ECFD71F107C3DF1C7C55E10B88FE206BBF0926D3FED3A46B7E3AD2E - EE1B8B49D550F95E74D1AE464C8BB78076A900739F3AA60DA8B95CF4A963173A - 8DB4D8F55D6530589FA570177765361203C6AECE14F4278AF40D7ADCBB380E40 - 071D6B86D6745DD1A8128048DC0AB7415E1BDCF711CD6A17AD711A284085776E - 61DF3D3F2ACCFB535A5CDA4A8C77ACE9839E4722AD5E6892C793F6E7EBCE0D63 - B69ACB9B87BB6985BCE8BB59F1927E607F4350C64F1EADE5CD70CD1ABC924E58 - B9EA0066CE3EA71F954324E6595DB2CB131385CF41DA9B2F872EA646BC8A6115 - BC929032C383DFF0EB43F873528ECBED4D707C8CECDF818CF5C50324D52F19B4 - 9B488A868E3B99064807AAA9C7EA6A2BBD596E632208DA06F309C87E36E381D3 - B63AD2CFA705F0FB34B3B3CA6E7098C7DEDA327F2C7D6A80D12F0410CEB3AEC9 - 7215830EB9C629202DDADE4B0A4C530ED246C8FB8F6EA7F90FCAAB69D7F6B15A - 8596373212C77AB7418C0E3A7506A44D2AE6D512E259C3444942A1C020E3BFF9 - E6B3EE74B9AD4C5FBC0AB28CA96C607247269812C37522CA926F3BD1832F3DFA - 8A20BCB792FEE1EEFCDD8DF364364E4E3D7E8696E743BFB7754255B70CA32302 - AC0F420FF9EB556F6C26B3BC68DDB6C8A76B0E281D84D4DD3CD7113EE8836109 - E0E314555786691701867D4D154897B9FB25451457DD9F0615F317EDD9FB175B - FED87E09D16D6DB595D07C4BA04D2CDA6DDCD11920612851245201C80DE5C677 - 0CE0AF435F4ED1401F9EBE29F811FB6E7C4CF8793FC37F11F8EBC056BE1FBAB6 - FB05FEB56E66379796F80ACACDE4F3BD7838542C0904F273EC3E05FD98FC7BFB - 2FFECD5A47827E08EB9A15E78BADB52FED1D46F7C556EE969A8EF5612AED8B73 - 47D220B839C4782DC935F54D1401F10FECFF00FB22FC545FDA9F56F8E5F162FB - C27A6EA177A7BD89D0BC211CBE45CEE411969BCC1D3033C972C7192028159BF0 - E7F655F8F7FB21F8A7C516DF04F56F077897E1D6B77CD7D1685E2B7B8867B291 - 8019568860E15550B6EF9828F941E47DE145007C9BF1BBE04FC6DFDA23F647F1 - 2F813C59AAF836D3C7BACEA104CBFD96D7316970DAC734522C459A3794B7EEC9 - 2769E4819C0AF79F817E04BBF85FF05BC09E0FD40DABEA1A168765A6DD3D9126 - 179A28112474255490CCA4E4804E7919AEE68A00F2BFDA5FF677F0E7ED3FF0A6 - FF00C11E23696DA19644B9B4BFB700CB677299D92A83C1E199483D55D8646723 - E5BF03FC14FDB53E07787ED7C19E14F1D780BC59E19B2416FA75EEBF1CEB736B - 08E1548099C28E80B49800007000AFBE28A00F8FBE3AFEC6DE38FDA0BE0FFC3F - 9FC41E34B0B4F8E1E0EBA7D46D3C49676FB6C8CCD207F2B68452117643B5F612 - 0C5920EE6CF0DF107F65BFDA63F6AD8744F09FC67F15782BC3FE01D3AEE3B9BD - 4F08473B5DEA6C80804F98368C827BAA82C1B6315007DF545007C99F127F643F - 10F89BF6B3F833E3DD12E747B2F87FE01D2D6C8E9B35CCC2EF728982F95188CA - 1500C2325C13B4E470337BF6E6FD967C51FB4FC7F0DED7C3F79A3DA59F87F5B1 - A96A3FDA9712C4D245F28DB17971BE588DDD4AF6E79E3EA5A2803E36FDB7FF00 - 651F88FF0018BE25FC2DF88BF0CB55D1A0D7FC1571E72D8EB8EE90BB09525460 - 555B23298653B72318354BE337ECA5F17BE3D78E3F677F17789753F080D43C0F - A9FF0069F88ACA092E12DE4DD7704CD1DAA989F70114213F78C3240C9E49AFB5 - A8A00F9FBF6CEFD94ADFF6ADF86F65A4DBEAC7C3DE26D1AEC6A3A36ADB4B2C33 - 01828E01076B71C8E54AA919C60F827C41FD9B3F6AEFDA4FC2B65F0EBE2878C7 - C0BA2F81E39E27D4F52F0EC33BDF6A8B1B065DC8EA13EF2AB607963201C1C62B - EFCA2803E3BF8F7FB13EB1E39F1BFECD83C1B2E8963E0AF8557B0BDCDA6A934A - 2E27B7496D09540B132BB14B539DC572CDC9E491F6191C114B45007C7FFB177E - C89E36FD9E7E2FFC5FF1778AB52D0AF6D3C6579F6AB38B489E6778BF7F348448 - 248900E255E85BA1FC7D4BF6C9F801A87ED33F0075EF02695AC268BA8DDC90DC - 5BCF3EEF21DE29038497682761C7500E08070718AF6EA2803E0ED7FF00661F8E - FE3FFD8FF50F8217DA5FC38F0CC70DA69F656979A6DE5CAA5CF913C723CB2010 - 1D8CDE502700966624EDEFB1F1C7F60FF1378BFC13F05754F01F896C3C35F143 - E18E996561697571BDECAE4411C63696DA5800E848250EE0CC1979E3ED9A2803 - C1BE04C7FB464F79A8CBF175FC07159476061B0B5F0C8B9F366B9CAFEF676932 - 02E01184EEC78E057CE5F0C3FE09A3AB59FEC65E32F845E38D4342B8F135EEBD - 36BFA26ABA6492CB0D9CFF006682388B33C48C3262757014FC8FC64F4FD06A28 - 03F3DFE2E7EC47F1C7E32FC12F85FA6F8ABC45E13D5FC75F0FAF9DE159EEAE67 - D3F5BB5222DBF6ADD0AB79A3C90872A430662581635D67C6DFD9A3E32FED1BA6 - FC243E20B5F03785FF00E114F118D4AF74ED36FAE5A33669E408D623E472E42C - FF002FCAA0797C9C9DBF6D9E9514BF769303E1AF8CDFB2D7C48F0EFED5B77F1A - 3E077893C370789753B14835AF0EF8919C45345B563DDFBB058A3F90848CA9DD - 19218E481E05FD9DE339BFE0A9FF000B2D7C63E26D3FC4FE2B834B7B8D461D1A - 268AC34B3F67BC7FB3401C96D823D8FB9FE66694FA8AFB9FE3CFEC8FF0FF00E3 - D789AC3C49E211AC69FE22B0B4FB0DBEABA26A525A4EB0EE66D9C641019D8F23 - F88D731F06BF643F861FB386B97FAFF85B4EBEBDF135EC4F0CBAD6B578D75721 - 18E5829202A93C6485C90304F5CE529A8ABB368C1C9D91E47E36FD9C7E22780B - F685F107C59F82FAFF0087E1B9F114623D6FC37E2712A5B5C1F972F1BC609C96 - 50FC952096E483B6BB7F07FF00C2D478B56B9F89771E11B64758D74ED3FC2AF7 - 1214396F31E7798724FC9B42718273CD7A9EAEE497393CD71BABBB156E49AF12 - BD76E3CAD1EE50C3A52E64CE1356CF98C73EB5C76B9108A4DAA79C648C743FFE - AAEBF5C0E992B9CF3DABCF35ABABB47202E49E9953CD78EF73D8455D5EC05B5B - C6FE62E48E54BF24FB0F4FA135C4DE122F2E0E401F684079C7F09ABBA86A57A5 - C8FBB838E10D6588A67B69A4663E679AAFEE7823A566CA35E5898E9913FDA588 - DC40889E14FA819FE9DFE99D58F4991FC30938BA2A4B31F21BEE151CE47E22B8 - B13DE200426476CA77A57BEBBCED2BB4F4236907E94EC05DD409FB2F04802688 - F5F50C3FA5422DDA4D29A6FB50C472045B6CF232324E3F21F89A8E232DD59DD8 - 98FCC4C65401D704E40FFBEAA9949F3900B0ED94CD219B1656F14BA44EED2482 - 58183E09FDDE0F18FA9FE40D65EA058980EEC0194C7EBFFB3547299E2E1F838E - 8463FCFF00F5E9E13CFB52F23E595C6D53D48C75FE5400B730CCBA7DADC79EF2 - 2312A149202107A0E7F954FABD835B7932995A7124633213BB6B775CFB7071D7 - 9ACE5858703201F6C7144B1B4726D7C061C1C60E3FFD540CA52B10872790DDA8 - A9EFAD96354084485802483800E3A73455AD897B9FB1F451457DD1F061505EDE - DBE9D6B2DD5DCF1DB5B44A5E49A670888A3A924F0054F5F3CFED75309DBE1DE9 - 3A94EF6DE13D475E8A3D5E40FB10A0236ABB7653973CF1F2E7B567527C91722A - 2B99D8F4DD1FE3978035FD5E3D2F4FF17693757F236C8E14B95CC8D9C00A4F0C - 4F60339AD2F157C4EF09F81EF21B5D7FC43A7E9173347E6C715DCEA8CCB92320 - 1ED906BCCFF69CF0C78374EF80FADB4FA769D66B6D6E3FB35A18923649F23CB1 - 1631D4F503A8CF6AF318E7F10EAFF17BE1C4573A559EB3E251E038A792DF5872 - 91CB2B3B06F30ED62AC0027A1E78E3AD73CAACE0F95EFA1A2826AE7D253FC5EF - 055B6836FADC9E29D297499E5304579F6A431348064A6ECFDE039C75A5F0F7C5 - BF0678B2F64B4D1BC4DA6EA7751C4D33456D70AEC11719620761915F20FC5FF8 - 4BA9FC2FF04682B7EFA75C6B9AEF8CC6A274FB2056CA12CADB6240403B464027 - 1C020638C9FA374EB6F10E97E14F15DEF893C33E1DD0441A64CD04DA1C86491B - F76C5C3651703818C511AD37269AB581C2295D1E8BE17F19E85E36B192F740D5 - AD357B48E4313CD67289155C004A923A1C107F1AB1A078934BF15581BDD22FE0 - D46D048D119ADDC3AEE5386191DC1AF8EFE10492FECEBA6782FC5D24931F05F8 - BEC92DF5757FBB6979F318A6F6565E3E9B89ED5ED1FB1B44E3F67FD0EE2460CF - 753DDCC5BB93F6891493EFF2D3A559CDA8B5ADBFCBFCC528249B477B75F187C1 - 365E275F0ECDE27D363D6DA5100B3338DE2427010F60D9E3079C9157BC5DF11B - C31E028E27F10EBB63A479BFEAD2E660AEFEEABD48F702BC06DEC3FE19ABE234 - B1EAB616BADF81BC61AC0787546895AEAC2EE424AA3E7974E3208E98247390D7 - FE09E9FA778A3E3C7C57BFF12C50DE7892C75116B6305E00E60B205846D1AB67 - 01805C91EA3A6EE45564DF2F5BFDDFE63E45BF43DC7C37F10BC35E30D2EE352D - 175CB1D4ECAD8133CB6D32B08B8CFCE3AAF009E7156B45F1768DE22D0CEB3A66 - A76D7DA500E7ED90481A3C2E777CC3D3073F4AF997E274567E1CFDA32E3FE111 - 8A18257F0A6A12EBF6F66A044408643099157A3171175E71B7D79DAFD9F751B5 - D1FF00633B8BD17118686C753925F318611C3CD853E991B4E3AF3EF446B37271 - 7D2FF8581C15AE7B45CFC5FF000559E8569AD4FE27D322D26EE468A0BC6B8511 - 4AEBF7955BB918ABBE15F887E18F1C19D7C3FAF69FAC3C1CCA96770B2320EC48 - 07207BD7C6DE15B655F85DFB3C59FD923964BCD7EEE631DC83E5B9170C006183 - C1057B7415D1E836FA86B7A7FC54F899A7C36DE1BF14E9BA65CE88DE1FD2A3D8 - F66C982F2BB0C6E7C2E548007CBDCAD66B11276D3FAB5C6E9A3E8FD77E38F807 - C33AA49A76A5E2DD2AD6FA36DB2406E0168DBD1B19DA7D8E2A5D6BE33F817C39 - A949A7EA9E2BD2AC2FA20ACF6F3DCAABA8650CA48F75607E84571DFB35F83BC2 - 2BF05BC3971A7D8D8DEBDFD9A4D7F71246B23CB70C3F7A1D8E492AFB9707A018 - AF2436BAD5D7ED7BF118786F43D135D923B0B557875890A431A886DC654856F9 - B2318FAD5CAACD4632D35128C5B6BB1F56786FC51A478C34C5D4744D46DF54B1 - 66282E2D640E85875191E95A958BE0FB4B9B3F0ED9A5F69F63A5DF32EEB8B5D3 - 7FD4239EBB4E067B738ADAAEB57B6A64F70A2909C526EA621D45341A5CE68016 - 8A28A0028A28A0043504C78A998D5699F8352CA4665F3F06B94D59F83CD747A8 - 4A0035C8EAD36735C1599DF451CA6ACFF7AB92D4D861ABA5D525C93CFE15C96A - 92F04F7AF12AB3DDA48E4B597C0635E6FE2AB968A7B62A7E6DE4835E89AADD22 - AB2B1C0279E33FE7BD79778AAE55AE611B8654312076E2B86476A29E9F756696 - 98BB505C901495CF0E0066FC3191EF5957BA82C9772F908A232C4AA8E38CF1FA - 556B8B8263554E46DC649E9515B5F3DA5CA4E84ABA1CF071F5E6A063F509644B - 59B7864CC6C57231EBCF35957B7B25C5ECF2311BCED3D38FBA2AF6B3A925DBDC - CA5A42B22127CD604E7078CD624B701667E832A98CFF00BB40D1D16BFACDAC97 - 28F64D09888236A2ED201C75F917FA9AAD7B7A9733FEEE268543124375E79C7B - 77FD2B0924000CB2E07239E95A775AF89558222A091104A0BEEDCCBFC43D3D3F - 1340CADA85DBC97A189C1F25003F4007F4AD1D5BC4C97D690C691324D16D1B88 - CEEF9403D4F1C8381D0E7B62B1AEE50E6091082BB5813D7F88FF0088AABBC11C - 9183C60D03355ADEF0DB2DCC90CA203C6FDA42FE759AD73279ACCAC438C1DC09 - CE6AECFAE3CDA65B59BB02B0B3156279C1C71598CE59B78FBA473ED4016F58D6 - 66D426131762C5543193E6390B83C9F53CD1599338F2C73DF3CD156B621EE7EC - DD14515F747C18565789BC2DA478CF469F4AD6F4F8353D3E61F3C170BB94FA11 - E847623915AB452693D181E57A47ECC7F0EF47BFB5BB5D124BC366C1AD60BFBD - 9EE61B7C74DB1C8E57D3A83D0576327C3CD025F1CC5E306B027C4515AFD892F3 - CE93E58724EDD9BB675279C679AE8E8A954E0B6453937BB393F883F0AFC31F14 - AD2CEDBC4DA69D461B394CD001712C251C8C6731B29E9EB597E1DF80DE09F0AC - 3AA45A669771047A9DA3D8DD07D46E64DF0BFDE51BE43B4FFB4B823B1AF40A28 - 708B7CCD6A1CCED6B9CBDE7C32F0CEA1E034F065CE9693F869204B75B1791C80 - 8841501F76EC82010739E3AD5DF07783747F00786ED340D06D3EC3A4DA6FF26D - FCC7936EE72EDF3392C72CC4F27BD6DD14F9527748577B1E61A57ECDBF0FF47D - 76CF55834691E6B193CEB382E2F26960B67C83BA38D9CA8E4647181DB1815A7E - 37F821E0EF883AAC5AAEADA511ABC4BB1351B3B892DA70BE85E3605B8C8E73C1 - AEF28A9F670B5AC87CD2DEE721E07F849E13F87305DC7A0E8F15ABDDFF00C7CC - F2B34D34FECF2392C47278CE39E95C8CFF00B297C339EEA693FB06486DA6904B - 2D8417D3C76AEE3A1312B85F4E071C74AF5DA2874E0D59A41CD2EE723A87C28F - 0A6A571E199A6D1E356F0D36FD252091E24B53F2F44460A7EE2F0C0F4F735634 - 9F86FE1DD0FC53ACF88AC74FF2356D65556FE513485270A00198CB6C078EA141 - E4FA9CF4B9A322AB963BD8576795DC7ECC3F0EE5BF9AE61D1E6B18E77F327B3B - 1BE9E0B694FBC48E171DB0001567C43FB387C3DF15788AF75DD4B43965D56F48 - 6B8B88B50B988C840007092003803A0AF4BDD499351ECA9FF2A1F34BB995E14F - 0AE99E09D06D745D1E07B6D3ADB779514933CA5773163F3392C7962793FA56A9 - 3484D34B815A68B442DC7526EA85A5A6F99CF5A571D8B19A51CD5712548AF9A2 - E1627A2981A9D9AA245A43416A8D9F14003BE0550BA97683534B2ED15937B738 - 06B194AC6D0899FA95C601E6B8FD5AE3EF56D6A775D6B91D4EE09CF5AF2EB48F - 528C0C4D465C96FEB5CAEA90BCB9DA466B7AF9C9278358B73B893F29FCABC99B - B9ECD3470DAC786AF2EC10850E7D4D7253FC38D4AE2E49263452319DD5EB32AB - 7A1FCAABB23127E53F957233A923C3753F841AD198883CB9A3ECDBC0FE66B264 - F83DE24278B65FC254FF001AFA17637F74FE546C6FEE9FCAA752AC7CEEBF073C - 4593BACF23DA58F9FF00C7AAFC9F07B57B848BFD1E48A5C618B49195FD1ABDE7 - 637F74FE546C6FEE9FCA9582C7CEF71F077C41148CA962F30ECEB2C401FCDB35 - 10F841E23FFA0549FF008110FF00F155F46EC6FEE9FCA8D8DFDD3F951619F3DB - FC2AF109B348468EFBD5890DF6A8BBFE3504FF00077C43184F2F4D798B282D99 - E25DA7D3EF735F45EC6FEE9FCA8D8DFDD3F951603E71FF008543E25500FF0064 - 06CF6FB4C7C7FE3D5249F0ABC4CF6EB18D0C295E770BA8B27FF1EAFA2B637F74 - FE546C6FEE9FCA8B01F355CFC1EF15CBB443A2F18C906E62EBFF007D515F4D5B - A36F3F29E9E945689684B3FFD9} - end - object Image2: TImage - Left = 12 - Top = 22 - Width = 98 - Height = 60 - Cursor = crHandPoint - AutoSize = True - Picture.Data = { - 0A544A504547496D616765FE0E0000FFD8FFE000104A46494600010101004800 - 480000FFDB0043000302020302020303030304030304050805050404050A0707 - 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17 - 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414 - 1414141414141414141414141414141414141414141414141414141414141414 - 14141414141414141414141414FFC0001108003C006203012200021101031101 - FFC4001F0000010501010101010100000000000000000102030405060708090A - 0BFFC400B5100002010303020403050504040000017D01020300041105122131 - 410613516107227114328191A1082342B1C11552D1F02433627282090A161718 - 191A25262728292A3435363738393A434445464748494A535455565758595A63 - 6465666768696A737475767778797A838485868788898A92939495969798999A - A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6 - D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301 - 01010101010101010000000000000102030405060708090A0BFFC400B5110002 - 0102040403040705040400010277000102031104052131061241510761711322 - 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728 - 292A35363738393A434445464748494A535455565758595A636465666768696A - 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7 - A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3 - E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00F58F - 8C1FB7F37C49F845F190781FE1C78A757F04E9FA7EA3A1FF00C279A7BC5E4C57 - 4D0346932C7B8379419E372EAC596360ECAB902B6BE03FED47A5FC05FD84FE12 - 6BBE24B7D67C55E20D77CCD3B4BD274C8CDD5F6A576D712848D79F6032493D00 - 0CC429F15F8657DF10BE027ECC5F167F673B8F83FE33F1278B9D757B4D3755D1 - 74E63A65D5A4F032FDA85C3633801CAA2A9673B2300392173BE20FECCBF10B5E - FD927F664D7E0F08F886F2F7E1FDDDCCBAE78674F8E4B3D696DE5BA490BC0AD8 - 9164516E00D80B832A328C2922BA127D8DF0D7F6C083E267883C57F0FF00C49E - 0DD77E19FC43D3B4893548F49D599185CDB6DC79B04E84062A48C8E31CE09DAF - B7E75FD91FF6A33FB3F7FC13E2DFE2178A6DF53F166CF11CF65E58B9DD70DE64 - 802FCCF9E07A569FECC5F0E2CFC67F1635BF1CE8FF000BFE2668D65A66897161 - 69E26F88DAE49F6DBB778D94DB4766E8C4AEE773B84BB415E818EDAF06F15F81 - BC45F0FF00FE0936FA5789741D4BC3BAB9F18098D86AB6525ACE15A5F94F96E0 - 3608190693B0D1F6FE99FB795843F113C23A278ABE1D78A7C19E1AF194C96DE1 - CF146A912182F6572A22124684B4224DE9B4B723782C154332FCF1F0F7F683F1 - 87C36FDB2FF692B2D17C13E28F8A173F6A824B5D2B4CB80B059431EF32312E48 - 42DBD76AA292C4115B7E3D8FC5DFB61EB7F01FE1F4BF0DBC5DE00B6F0F5CA6B1 - E20F126ABA3B369F6D2DBDB7C90DACC24D93A4AE1903EE1C323618EE51E8DFB2 - A780FC4DE1CFDB27F699D6B55F0EEA9A668BABDCD9B69FA8DD59C90DBDE85F33 - 261760164C6E192A4E33EF43567661B947E37FED45E02F8E7FB056A5F11E4FF8 - 4B74AD026BDB6B5BCB3D02F22B4D52DEE12EA3531F9A43A6DCED6CE0EE465E14 - 92170BE25789AF62FDB5FF0064EB4D2B53D4E0D1EFB4099DAD66BA62664FB339 - 065C101DB006491C9AF0EF0E7C14F8871FFC12BBC5FE117F01788E1F14DC78A9 - 2E21D11B499D6FA5884D6C4C821D9BCAE15B9C630B5EF1E38F86DE2CBCFDAD7F - 651D660F0CEB13691A2787DE1D4AFD2C66682C6436CCA127902E236C9030D839 - A6D6B60BE877BF14BF6EFD4BE1DDF78CAF2D3E0CF8B35BF067847503A6EADE25 - 0F1DB46251805A189FE69630DC171F2805492030AD6F8D1FB79F85BE11693F09 - 356B6F0CEBBE31D3FE244267D2D343895EEB18B728821620BC8FF694508083B8 - 115F0E7C47F007C52F88DA0FC5AD27E25FC3EF8B7E3AF89D26A174DE1D48BCEF - F8452C6D1764BE6C255C46CFB629008943890F908AA64248F58BBF86BE33D461 - FD83248BC19E2203C32CF16B824D2AE11B4B2A6C909B9CA66104C6E417C060A7 - 0714AD7D02E7D39F03BF6C587E28FC55F11FC38F14781F56F86FE2FD22C46A82 - CB579A39167B4CA664122FCA08F310E013FC5CFCA71E19F19FFE0A0927C41F81 - BF14AFFC13F0CBC5DA8780BFB36FF45B5F1EC3B21885CBC4D124E21622458833 - AB6FFBC0632AAD903A2D57E13F88FC47FF00051EF18EA72E89AB5A785B53F87F - 2694BE20FB1486CFCE708BB1652BB0B8193B320F07E87C37C107E29FC35FD8C3 - E227ECF375F053C65A9F8CA2FED1B6B4D4ECB4D32E91736D26659265BA240770 - A65D888ACCEDE52AE5998280647C2EF18F88E6F869E137935ED41DDB49B42CCF - 3B1627C95C9249E4D15BDF0CBE09FC41B1F86FE15B6B8F04EBD04F0E956B1C91 - 4DA7C88E8C225055948041078208C8A290CFBCFF006997B9FF00855D0DBDB6A1 - 7DA635F788FC3FA7CB73A6DE4B693F933EB1670CAAB344E9226E8E47525581C3 - 1E6A13FB387855582FF6BF8EC64E307E20EBDCFD3FD33B54FF00B4AFFC93BD27 - FEC70F0B7FE9FAC2A9FED01E30F11F84345B59745BD1A4D84ECD15C6AA9671DC - 3C1334912C2BFBC758D15B7481A493E55000CEE65CF2E2B111C2D19559EC8695 - CCBF11FC22F87BE128E11A8F893C751CF306F22D62F1D78826B89F6805BCB852 - EDA47DA082DB41C0E4E0035F287ED3567F0D7C67F083C79A71D5FC4ECD67A5CD - 7F67697BE32BBD49D2E20432C6CFF6BB996D5D59D42910334A1461198C8E9174 - 57F796BACEB325BEABADCDA8DBDFA379B6E969F6D8DFCA39533BDAEA124F21CE - D5532BBE0485536AA8AF3EF8C9A5783EC7E0E78B6F2DE0B3469344BA96DCC650 - CCA4C0C232631A9BB0390323CB3B7736E5C2E0FC054E23C555AF4E5452F66DA5 - AECF5EE69CB169C7AFC8F77F0D7C569FC4BA54779A1F8A6EEE2D611E4B2477B2 - 2B5BBA805A196332031C8B900C6CAAEA7A8ED5DCFC2BF166AD73E3DD2E1BCD66 - FAE2176903C13DDB3A36227FE12E73FC273C8E477C1AFCDED43E227D8AF6EB54 - D3FC63630DEDA01630EA365696769751053B96211CBAC24AF0A3F58E64688B03 - B91F62E7ECAFD943C47E24F1558697A9F88A5FB4995CFD87506B416B2EA16BF6 - 74FDFC902CF2286697CF0193E4608190142A6BF78A18FA18DC34E8CE928CD2E9 - 6FBCFCF6AE16BE13150AD1AADC5CB6BBFB8FBA1183A2B0E411914EA86CC96B48 - 0B72C5173CE7B54D5F22CFBC5AA392F8B9AE5F7867E14F8CB58D327FB36A5A7E - 8D79776D39556F2E5481D91B0C0838201C118F5AF96FC1DFB55F8ABC45E06F86 - 76579A88B0F1B4FE2ED2B4FD66336D16FBFD32E91A449D536E156443182C9B48 - 2323686507E95F881F0F75AF1D2F88AC3FE1296B2F0EEAFE1DB9D1BFB2858238 - 8AE65DC3ED9E6E439C236DF2B214F5CE6BCF35FF00D91F4CD76F7E126A7FDB4F - 6FACF8092C207BB4B6DC35286D4AB2A3297FDDFCCAC41CB11E6303BB835D74A5 - 4546D516BFF00C2A2A8E57833CAAC7E38788758F1CF8DB4FD57E31EA1E137B0F - 145EE95A7E996BE124BF4FB3C726232D32C0DCF3B7E66CFCB9279AF4DFDA01BE - 257873C57E17B9F0E7C459B48D23C45AEDA68A34E5D22D661641E272D207742C - E498C9C1231BB1D2AD693FB3FF008FBC21AC78AAE3C2DF14ADB47B0D7F5ABBD6 - E4B49BC351DCB452CE7950E6619002A0CE39C138E6BD0FC77F0D66F1E45E0A37 - 5AA882E7C3BACDB6B324AB6C08BA78A3910A6DDDF206F309CE4E31D0F5A994A0 - A778DADE9FF00718CB96CF732A0F877F10A386347F8AD752BAA80D21D0ECC163 - DCE02E28AF4FA2B98DCF2AFDA5BFE49D693FF637F85FFF004FD615B7F17E0593 - E1578C997396D1EF3A1DA7FD43F427A1EBD78AE17F6DBBAB9D3FF66CF12DFD8D - D49657F6377A65EDADCC4A8CD14D16A36D246C03AB29C3229C1523DABE2EB9FD - A3BC59AFFC38D6A7D73E326B6D1C967245358CB67A1C02E370D862DD25B2AA82 - 6450493C678EF8E98E02AE2B0F52AD36AD1DEEEDFF000E7156C5D3C3D48C26AE - DEC7D45E33D2D755F88BAE295202D85B0C904120DC5DE3079208C6015CE3038C - E057887ED39A6487F643BBB7B646966497536221C2E151B51666C860A0001C91 - 93DF00F0B5E37E1FFDA9AEE7F19F885B5FF8B7ADD959CF6D0C50CEB1F8665697 - 6B4CCC2411875E4CBC6C1D378663F28AE63C5BF1C0F89B4CD27C35AB78F75A9F - C2D7B2DD3DFC73DEF86A5648E7F3F0C0C2C5D5BFD209756E4658000852BF08B0 - 2BEA387C3549ABD39F33DEC95F6D8F2BD9BA78BAD8A82779452F2D1F42DE8B65 - 1E87F067E20A2848FCC31CE4921372F94C371064527E5503764E001865CE6BEF - 6F0513FF0009169F970E4B1C912139F90E490246078EA4E49C6322BF3FFC57F1 - 7FC30BE0FF0015E9FA3496ED0DF794B0CB16B564A0BEC6E591AF926382E3E70A - 0707016BEEDF837E35D33E205BF87BC45A55D2CFA7EA1199D0FDA11CC7946DC8 - FB6570194E558027041E7BD7E9B964E94F138B9C5A6A4AEBD2C7CC631577F559 - D44E2DB775E6D9F5458926CADF2727CB5C9249EDEF53D4162316506460F96BC7 - E153D788F73F485B0514514861451450014514500783FEDCB8FF00865CF1A64E - 07FA173FF6FB057E441D36587C40BAB69FA9DCE9B7C20580C96C226CA824E0EF - 56F5FA703D057EF06B9A169BE25D2E7D3757D3ED755D3A7C79B697B0ACD14982 - 186E46041C100F23A815E41E30F80BF0E4DD208FC0FE1FB6FF00AE1A6409FC93 - DEBD8C1E269C29BA1561CC9BB9E563284A7255612B5B43F367C01AFF00DB5960 - BDF1FF0089AC651F29108D3957248FBBBADCE39553D3F810FF0002E3DB3C39E1 - 0D3A68131E3CD76EE40415919EC8328DAA005D9100A46C8F040C8D91E0FEED31 - F4B49FB3FF00C3EC063E12D21B9C60D8C3FF00C4D5FB4F83DE10B623ECFA1595 - BE071E55BA2E3FF1DAF59D5CAAA4396AE13EE67CFD7C1E2EBAFE3687CEE9F0EE - C02204F17EBA8AB82AA8F6A8108C63680A00C6C4C7A6C4C7DC4DBDCFC05F0D69 - BE04F101B0D3AFAE6ED2FEF65D418DD3444A48601195411ED50B88F71017E667 - 278AF59FF8573E1F889DBA7C40FAED1FE15A3E1FF06E93A76A26E2DECE38A78F - 76D9154647CBFF00D73510AD96D252F6141C5B4D6E7152CAF14E4A6EADECD77E - E7B0D8E7EC56F9E0F96BFCAA7A8AD062D61E73F20E4FD2A5AF943F42B5B40A28 - A2800A28A2800A28A2803FFFD9} - OnClick = Image2Click - end - object lblVersao: TLabel - Left = 395 - Top = 81 - Width = 72 - Height = 23 - Alignment = taRightJustify - Anchors = [akTop, akRight] - Caption = 'Version' - Color = clWhite - Font.Charset = ANSI_CHARSET - Font.Color = 6435072 - Font.Height = -19 - Font.Name = 'Verdana' - Font.Style = [] - ParentColor = False - ParentFont = False - Transparent = True - Layout = tlCenter - end - end - object Panel2: TPanel - Left = 0 - Top = 109 - Width = 474 - Height = 105 - BevelOuter = bvNone - Color = clWhite - TabOrder = 1 - object Label2: TLabel - Left = 8 - Top = 8 - Width = 109 - Height = 13 - Caption = 'Desenvolvido por :' - Font.Charset = ANSI_CHARSET - Font.Color = clBlack - Font.Height = -11 - Font.Name = 'Verdana' - Font.Style = [] - ParentFont = False - end - object Label3: TLabel - Left = 136 - Top = 32 - Width = 37 - Height = 13 - Caption = '( QmD )' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - end - object Label8: TLabel - Left = 168 - Top = 56 - Width = 68 - Height = 13 - Caption = 'icq: 15630894' - end - object Label4: TLabel - Left = 16 - Top = 56 - Width = 143 - Height = 13 - Cursor = crHandPoint - Caption = 'qmd@usercontrol.com.br' - Font.Charset = ANSI_CHARSET - Font.Color = clBlue - Font.Height = -11 - Font.Name = 'Verdana' - Font.Style = [fsUnderline] - ParentFont = False - OnClick = Label4Click - end - object Label5: TLabel - Left = 16 - Top = 84 - Width = 82 - Height = 13 - Cursor = crHandPoint - Caption = 'Canal #Delphi' - Font.Charset = ANSI_CHARSET - Font.Color = 21248 - Font.Height = -11 - Font.Name = 'Verdana' - Font.Style = [] - ParentFont = False - OnClick = Image2Click - end - object Label11: TLabel - Left = 104 - Top = 84 - Width = 84 - Height = 13 - Cursor = crHandPoint - Caption = 'irc.brasnet.org' - Font.Charset = ANSI_CHARSET - Font.Color = clGray - Font.Height = -11 - Font.Name = 'Verdana' - Font.Style = [fsItalic] - ParentFont = False - end - object Label1: TLabel - Left = 16 - Top = 32 - Width = 108 - Height = 13 - Caption = 'Rodrigo Alves Cordeiro' - end - object Image3: TImage - Left = 424 - Top = 56 - Width = 30 - Height = 16 - Cursor = crHandPoint - AutoSize = True - Picture.Data = { - 0A544A504547496D61676502040000FFD8FFE000104A46494600010101004800 - 480000FFDB0043000302020302020303030304030304050805050404050A0707 - 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17 - 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414 - 1414141414141414141414141414141414141414141414141414141414141414 - 14141414141414141414141414FFC00011080010001E03012200021101031101 - FFC4001F0000010501010101010100000000000000000102030405060708090A - 0BFFC400B5100002010303020403050504040000017D01020300041105122131 - 410613516107227114328191A1082342B1C11552D1F02433627282090A161718 - 191A25262728292A3435363738393A434445464748494A535455565758595A63 - 6465666768696A737475767778797A838485868788898A92939495969798999A - A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6 - D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301 - 01010101010101010000000000000102030405060708090A0BFFC400B5110002 - 0102040403040705040400010277000102031104052131061241510761711322 - 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728 - 292A35363738393A434445464748494A535455565758595A636465666768696A - 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7 - A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3 - E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00EC22 - F12FC42F16F88A4B2D0D5AE56355DF2150B1C63FDA63C0FA753DB3567C57F193 - 5DF84FE289BC3561A769FE33D7D2DD659E5D4B52B6B445C8DC2386DD9B7C8D8C - 60E7249C2A9AF21D3BF6BCB2F873E23BA8F4ED563B8B266FDED9CE85A22D800B - 0C1043600E41F4C835E77F1CBC5FE10F8C3E3DBBF16F877C4769692DEA45F68D - 3B5589A2963748C47942AACAEA4203C9041ED5F8EF0BE1DE3388254B889B8E0B - 924E2EF51273BC6CA6E0E2D2B7335AA8B764DBD11F3B4146182F6B85E6788E65 - 7524ACA3AFC09DD3E9BEBD92DCFA7BC1BF10FC45F1B6C7C4571E1FB69BC39E23 - D12758AFBC3F7243C6598B00639485DBCA499461C63AF35F3CFED1BF117C69A7 - C96561A94F3595CC3236E85D0A10707F3FAD747F07FF00695F0CFC06F056A3A6 - 0F11AF88F589D93ECD0A23C96968A32482EDB5893B8FCAA368C0E72493E2BF1F - 7E3643F15351B5BFB8D45EFEE9723EE61634E48551D00E4FE75857C3E2171262 - 6860A2E597A6BD9B939B7F02BD9CB571E6BD9CAEFB4A4ACCAC452A32A54653BF - B777E7492E4DDDAFD13B5B45A79267FFD9} - OnClick = Image3Click - end - object Label12: TLabel - Left = 408 - Top = 80 - Width = 59 - Height = 13 - Cursor = crHandPoint - Caption = 'Curitiba - PR' - OnClick = Image3Click - end - end - object Panel3: TPanel - Left = 0 - Top = 217 - Width = 474 - Height = 299 - BevelOuter = bvNone - TabOrder = 2 - object Label9: TLabel - Left = 6 - Top = 9 - Width = 163 - Height = 13 - Caption = 'Cr'#233'ditos e agradecimentos :' - Font.Charset = ANSI_CHARSET - Font.Color = clBlack - Font.Height = -11 - Font.Name = 'Verdana' - Font.Style = [] - ParentFont = False - end - object Label6: TLabel - Left = 77 - Top = 271 - Width = 154 - Height = 13 - Cursor = crHandPoint - Caption = 'http://www.usercontrol.net' - Font.Charset = ANSI_CHARSET - Font.Color = clBlue - Font.Height = -11 - Font.Name = 'Verdana' - Font.Style = [] - ParentFont = False - OnClick = Label6Click - end - object Label7: TLabel - Left = 6 - Top = 271 - Width = 68 - Height = 13 - Caption = 'Site oficial :' - Font.Charset = ANSI_CHARSET - Font.Color = clBlack - Font.Height = -11 - Font.Name = 'Verdana' - Font.Style = [] - ParentFont = False - end - object MemoAgrd: TMemo - Left = 6 - Top = 24 - Width = 463 - Height = 228 - Ctl3D = False - Font.Charset = ANSI_CHARSET - Font.Color = clBlack - Font.Height = -11 - Font.Name = 'Verdana' - Font.Style = [] - Lines.Strings = ( - 'Alexandre Oliveira Campioni - alexandre.rural@netsite.com.br' - 'Bernard Grandmougin' - 'Carlos Guerra' - 'Daniel Wszelaki' - 'Everton Ramos [BS2 Internet]' - 'Francisco Due'#241'as - fduenas@flashmail.com' - 'Germ'#225'n H. Cravero' - 'Luciano Almeida Pimenta [ClubeDelphi.net]' - 'Luiz Benevenuto - luiz@siffra.com' - 'Luiz Fernando Severnini' - 'Peter van Mierlo' - 'Rodolfo Ferezin Moreira - rodolfo.fm@bol.com.br' - 'Rodrigo Palhano (WertherOO)' - 'Ronald Marconi ' - 'Sergiy Sekela (Dr.Web)' - 'Stefan Nawrath' - 'Vicente Barros Leonel [ Fknyght ]') - ParentCtl3D = False - ParentFont = False - ReadOnly = True - TabOrder = 1 - end - object BitBtn1: TBitBtn - Left = 395 - Top = 264 - Width = 75 - Height = 25 - TabOrder = 0 - Kind = bkOK - end - end - end - end -end diff --git a/internal/2.31RC1/1/Source/UCAbout.pas b/internal/2.31RC1/1/Source/UCAbout.pas deleted file mode 100644 index 5c99bb4..0000000 --- a/internal/2.31RC1/1/Source/UCAbout.pas +++ /dev/null @@ -1,115 +0,0 @@ -unit UCAbout; - -interface - -{$I 'UserControl.inc'} - -uses - Messages, - Buttons, - Classes, - Controls, - ExtCtrls, - Forms, - jpeg, - StdCtrls; - -type - TAboutForm = class(TForm) - Panel1: TPanel; - Image1: TImage; - Image2: TImage; - lblVersao: TLabel; - Panel2: TPanel; - Label2: TLabel; - Label3: TLabel; - Label8: TLabel; - Label4: TLabel; - Label5: TLabel; - Label11: TLabel; - Panel3: TPanel; - Label9: TLabel; - Label6: TLabel; - Label7: TLabel; - MemoAgrd: TMemo; - Label1: TLabel; - Image3: TImage; - Label12: TLabel; - BitBtn1: TBitBtn; - pnlFundo: TPanel; - pnlComponentes: TPanel; - Image4: TImage; - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure Label4Click(Sender: TObject); - procedure Label6Click(Sender: TObject); - procedure Image2Click(Sender: TObject); - procedure Image3Click(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure FormShow(Sender: TObject); - private - procedure WMNChitTest(var M: TWMNchitTest);message WM_NCHITTEST; - { Private declarations } - public - { Public declarations } - end; - -{ -var - AboutForm: TAboutForm; -} - -implementation - -uses - ShellAPI, - UCBase, - Windows; - -{$R *.dfm} - -procedure TAboutForm.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TAboutForm.Label4Click(Sender: TObject); -begin - //ShellExecute(0, 'open', 'mailto:qmd@usercontrol.com.br', '', '', SW_SHOW); -end; - -procedure TAboutForm.Label6Click(Sender: TObject); -begin - //ShellExecute(0, 'open', 'http://www.usercontrol.net', '', '', SW_SHOW); -end; - -procedure TAboutForm.Image2Click(Sender: TObject); -begin - //ShellExecute(0, 'open', 'http://delphiland.dyns.cx', nil, nil, SW_SHOW); -end; - -procedure TAboutForm.Image3Click(Sender: TObject); -begin - //ShellExecute(0, 'open', 'http://www.curitiba.pr.gov.br/', nil, nil, SW_SHOW); -end; - -procedure TAboutForm.FormCreate(Sender: TObject); -begin - Self.BorderStyle := bsNone; - lblVersao.Caption := 'Versão ' + UCVersion; -end; - -procedure TAboutForm.FormShow(Sender: TObject); -begin -// pnlComponentes.Top := Round((pnlFundo.Height - pnlComponentes.Height) / 2); -// pnlComponentes.Left := Round((pnlFundo.Width - pnlComponentes.Width) / 2); -end; - -procedure TAboutForm.WMNChitTest(var M: TWMNchitTest); -begin - inherited; - if M.result = htclient then - M.result := htCaption; -end; - -end. - diff --git a/internal/2.31RC1/1/Source/UCAboutXpStyle_U.dfm b/internal/2.31RC1/1/Source/UCAboutXpStyle_U.dfm deleted file mode 100644 index 966218a..0000000 --- a/internal/2.31RC1/1/Source/UCAboutXpStyle_U.dfm +++ /dev/null @@ -1,768 +0,0 @@ -object UCAboutXpStyle: TUCAboutXpStyle - Left = 245 - Top = 225 - BorderStyle = bsDialog - Caption = 'About TUCXpStyle' - ClientHeight = 315 - ClientWidth = 510 - Color = clGray - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - Position = poDesktopCenter - PixelsPerInch = 96 - TextHeight = 13 - object Image1: TImage - Left = -1 - Top = 0 - Width = 510 - Height = 151 - AutoSize = True - Picture.Data = { - 0A544A504547496D616765F54C0000FFD8FFE000104A46494600010101006000 - 600000FFDB0043000302020302020303030304030304050805050404050A0707 - 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17 - 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414 - 1414141414141414141414141414141414141414141414141414141414141414 - 14141414141414141414141414FFC0001108009701FE03012200021101031101 - FFC4001E000100020301010101010000000000000000070805060904030A0201 - FFC4006A10000103030204020505080610110C03000102030400051106120708 - 21311341091422325115617181911618234254A1B1C138A2B2B3B4D117333637 - 4352556272737475769293D2192425262734355364848594A3A4C2C3E1283946 - 476365828395B5C4F0D3E2F1FFC4001B01000203010101000000000000000000 - 000003010204050607FFC4002F11000202010302050305000203000000000001 - 021103041221053113223241513361D1141571A1C12353424381FFDA000C0301 - 0002110311003F00E9738E2196D4B716942123254A380056264EB2B0C26FC491 - 7AB7C74633B9E928401F69AF5DE5D0C5A65B8AF752DA89E80F97C0D561E235FA - 3A19214CB0A013B49F0539CF7AE5CA51846DF73AB8F1BC8E913B4AE3670F6115 - 7AC6B9D3AC6DEFE25D184E3ED55798F1FF008623BF10F4BFFF00588FFE7D5174 - DA205F6F9E2FA9C6280A395A994F4E9FD8D652E3656448663A2D709008202FC1 - 6FE1FD857267D4B163E25DCEDE3E94F246D32EB7F27DE191008E21E9639E9D2F - 11FF00CFA238F7C3471CD89E2069852F3B768BBB19CFF8F54E34FE92B6352521 - C87094E673D5A6C63ED456957DD4D618F26732CDBA0ADE123C341532DABDACFC - 366690BAA29729705FF6895D597FFF0093B70E338FBBCD39DF6FFBA8CE33FE35 - 15C76E1C2319D7BA6C67B7FAAAC75FDB55129F668B6F8B1643916DE1A7901650 - DC64A55BBE19DBD2B2AC3365D5B692C376F61A92C607BA91D73F1F0E96FAB457 - B0FF00D91FCB2EEB5C6BE1F3E406F5B69F709EC137264FFDAAFBB7C5CD10EA82 - 51ABAC8B51380133DA3FF6AA8459AD6B5CB7633B1A3A10DAB614A425473FE27E - BA99B41F0E60458C64AE3B2E3A06E095B68C7E8A44FAD6D7492172E8FB5D5967 - C71034C28029D416C502768299683D7EA35FD7DDDE9CF2BE5BCFD12507F5D562 - B8C88D69BAAD8716DB51969CA709091BBCFF0017A563634C8525C5A187512413 - D46E49FCC40CD57F7A6FB240BA3DFB96D11AC6C4E0CA6ED0D43E67926BFD6F57 - D91DCEDBAC538FFDA8155A6D96F5BECF8AC846D1FD0D4D006B60B3E9BD892EBC - 184ACF64A9BC83F652A5D724A554BFBFC959F4A8C78B764F4753DA4027E528C4 - 0F30E835FE7DD45A3FAA51B1F1F105549E33EBA8F60868B4DA0B4BB83982B759 - 4E437839FD58FAEBC9C24E27196DBD0EF31824A13B9525491848F2FA727A7D74 - E7D626D5C52FEFF2443A4EE8DB6CB83F75367FEAA44FF2C9FE3AF92B59D852B0 - 937885B8F978E9CFE9A8463AADD7C64B915C5141F34242143F58FB2B0726D2EC - 175C54656F5792DC73247ED6B37EFB91774BFBFC911E957EE586775DE9C61652 - E5F6DE850EE152503F5D7C871134B904FDD0DB7A7FC291FC755851A6E3DE1F58 - 9EA5A64FE3786B391FB5C57B9BD096FB7462F02EF5F74B8B041FA462A575E7EE - 97F7F918BA3DFB96355C4BD26804AB51DB001E66523F8EBFDFE495A4CA41FBA4 - B5907FE168FE3AAC31EC51D9716B90DA568CF61839FDAD6B770532DDCA5210DE - F69006D6B03AFD7B6991EB97EC86AE8A9FBB2E08E25E93270351DB3FE748FE3A - 0E25E933FF00A476CFF9D23F8EA8ECE8724C80E368F0D39F733FFF005AF43B18 - 21090B52724754E707F73575D6EDD522FF00B1C6AF732F0C5D7DA6A6AC263DFA - DCF28F64A24A09FD35916AF76F7D7B1A9AC38AF821C06B9FECDF9EB5CA546491 - BC00BF0FCC8CFD18FCF52568BE27ADB948695B4277241F670475F8D7574FD423 - 99D1CBD4F4E783B170B70DC13E66BFDAC5E9EB80B94469C42F202015271594AE - C3AF6389CFB8AAF3CCDF3B3A2396C5C7B3BCD49D57AE26FB30B4C5A0853E54A0 - 7C32F2BAF84952B6A47452CEECA50A00E242E61B8BB1780FC17D59AEA5A03DF2 - 4432B61950514BD216436C3676F5014EAD0927C8127CAB983E8E9B34BE38F1BF - 5BF10B544A7AFBAB58530512E504AB0B925DDEE818F65494B2109DB84A52A500 - 318C3611B56CA4A4D3A458AB87359CDADEE4C3B958381DA7AD36390DA5C106F5 - 7342A6804E4856E90C96CE3036A9A0410723C8677417A4C2D96CD64DE8FE34E8 - B9FC2BBDAC27C39CE3864C1741253E21504828415020293BD1D0E56306ADCDAB - 435AEDD1D285B097DCEEA52C773518F329CA9E95E61787770B0CC8CDC4B906D4 - BB74F08DCA89236E12B1D412338CA73ED0C8E9DC4DC5F0D11525CD9F0639D0E1 - BDCB980B1F08AD32E4DF2FB7688263574B7782EDB5B498EB9294A9EF1324A9A4 - 2540A12A49F111D7A9C4EF5C1CE4E74E5C742F3B5A72C1734F8174B4DC2E3024 - A10AC843ADC79085804771B927AD7772092614724E496D3D7EAA89C547B13093 - 9773EF4A5292305294A8014A528014A528014A528014A528014A528014A52801 - 4A528014A528014A528014A528014A528014A528014A52A40C06BE9420E88BF4 - 927686613CE67E184135456F3A8A45E9294A944E427775ECAC76FCE2AEDF174A - 870BF5484F552ADCFA40F89282055046E4FABB016BE8A24287CE0A40FD46B87D - 432CA12DABE0F45D330A9C1CBEFF008363D3D6C5379DC8C255D4AAB292105525 - AC273B54304F4AC7596F01684A428249E80D643504B8F63B248B94A7C283693B - 5BC1F695E5F9EBCDA4E72ED6CF53CE38F0423C52D633CEAA94CC77D715B8FECE - 5B3DCD66B86ECC2976EDEF2A0BCEE7D616E3C83E20FAF1519CA71ED65A8F6B08 - 5788FE54A48EFE67F40ACD9B3DC6C501515511E8E5E3B52EA8E06D1D7F557665 - 0C7186D6B9150C9293E495AE136DD7E69F93EB43C409D8D3683EC835F7D22A8F - 02F315B65C0E2D6D1DE8FEBB06A0F4F8D6C4A521E586F3EF673D6B60D352661B - B09515F52D4C9DCAF2C0F3EFF366B93934D149C91D14DB4582B459D8877F75E7 - 46E69C0167033ED549D1AECEBE8D90E394242701407CD5A3D8E47CA91A0BAD37 - E1A1C4654AEE55D3E1DEB3D7176E08B4BD1E23A88CE280C3CB38090082AEBF46 - 457127EAA664CA9B9A56642668F87AB6D2B44E0ACA8F5711F8BD73DFCAA37BE7 - 09665910F3B67F582A410A4A93ED63A8ACDE9BBB7C88EACC490A929DE80E23C4 - 2B42C9501DBEBCD4AEECC75B92E3214B6C2D093840C63EDAB37E1F090A92941D - 27C118692E233B6AB53CD6A080B624B40203D903C539C0FA3AFC6BEB7DE26DC5 - EB67ABC1692C2923F0AE9EA5093F38E9D7B7D7595D53A75B97252DBE12B6DC23 - 25CC7D23B57F08D090EDB6E9E979D2A664B44123DD49C647E7C509C65CC91A61 - 1C6D6E6F923DD37A1AD3ADA4BBE24B79B928214EE1585AC13D719ACF46D1D078 - 7D73F9454DBF3ED2973608CB2327C8124F4E8483F557F4F59CE9FB3D96F30B08 - BA297EAEE20F675B07DEAF67132E4F46D24B9697521C4A90B085F441F686720D - 31F9DD2EC2E772957646C568E2B5AAF3735C18B1D36F58C270BDA9F13E615B05 - D4088E34F2FD92AEC93E67155DF40CB99A875EDBAE122032E30959DAFA127674 - 49CD4F3799CEDDDF71A1B5B61046C2E7551FEC7E1F5D2B263D8E8A4F1A849462 - CF4BF3E2C58C1F6D285C83EF253D7BF4AC14EBBC99C5D63C3D8063667AF9FC2B - 0B263A92F80DBBEA8D15ED538B574C8AF72E4A3D7938783AB40CE5A3DFA521C7 - E50F58AA3767D5A8373536579429903AA36E09F877A5B74E371E33B224379794 - 7A823B75ACAB17495290DA83ADA5A1FD0CA7DB557FB72B9AC3186FDB4F4DC318 - 3DEA8DEDE12149BF935CBBC76D8F690D25381DEB587ED91653A875F5F86A27D9 - 3D71F3FE6AD8A715C8960281013D5408AC7CE8C62A5C71080E38EF40850C84D5 - E0EDF61D16DAAB347D496E4A64267B237141DBF4A7B5601529F4294FB0A294EE - 49C8E9D8835BC5DADAE18BE1B89521D3D7C30462B013EDA96ADAB4A127784924 - 63E6AEC69DB8E44D19B3C13C6D32E1701F52FDD0E978EBDDB949484A8E0F90A9 - 3EA03E529E53BA29A2AF7B7A81FB0D4F95F4387314CF9D64E26D1493D2ED7F97 - 66E5621448CA0966EBA8A243920E7AB61A7DE0075FE9D9477CF6FAEB9C7C9573 - 38E72C9C5B62E935B54AD2B71D91EEF1DB46E70201250EB7D47B4824F4EC52A5 - 8C64823AD3E90AE1C4BE267297AE215BD90FDC6DECB776650491911DC4B8EE00 - 0727C20EE0799C7D35C15ED5BF1D38D18B25A959FA61D25AB2D1AEB4DDBAFF00 - 61B83174B3DC194BF1A5C756E43883D88FD047704107A8ACBD700395BE7275DF - 2AD7970D85E45D34D4B792ECFD3D3947D5DE3D0296D91D5A74A46378C8384EE4 - AC240AEC8F2D5CDFF0F79A0B378BA66E061DF996CB9334F5C0A5136380424AC2 - 4121C6F253EDA491EDA42B6A8ED09941C47466A4571E2EF2C9A8ACFE908D3DC5 - 5B4598AF474D8BE2DCEE2990D252CCC319E8FB4365616720304909232B273DF1 - 7D607FB463FF006B4FE8A4A84C4E40448692EA41DC028763507733BCDA59B952 - 836A9DA8F4C5EAE7679EB11D99D6C5475243D8512D14ADD4AF2128CE71B7A8EB - 9C810DB95225251B64F14AA4FC3EF4AAF0F389DAF34D693B3696D48C5C6F5706 - 6087AE098EDB2C85AB0564A5D51381D718ABACDB89750168214923208AAB8B5D - CB269F63FAA5294B245294A9014A52A005294A005294A9014A52A005294A9014 - A528014A528014A52A005294A005294A00533D71E75E6B95C63DA2DD2A74B752 - C448CD29E79D59C2508482544FCC0035CC2D6DE98FBA41E253ACE9BD136F97A2 - 633CA68AE73CE2674A4838F112A49D8DE7A9DA52BF2EA29AA2E5D8AB928F73A8 - D4AD3F847C53B271A387B66D61A7DD52EDB73603C843980B6CFE321401385039 - 07E8ADC2AB5458D5F8A08F17879A8118CE61B831F55506B9B498D150A2839421 - 00EE49C66AFF00F11491A1AF653DFD5578FB2A8FDFA72E5C4530E3284A425009 - C8F85797EA726B2A5F6FF59EC7A1F38DA7F3FE23496F50AE3BC84B696FBFE28C - 1AD3788FACA55C18303C5213B8A9601EC3BD66AED67762179F6CA94002AE9E55 - 18C97C4A97BD6A25D51DA5241EC4E3F5D65D142E7B8EEE67CD1BAF082D0CCDD5 - 487CAD4831D9F13281D76E3A9ADBB8D97A61EBAC1619756A6D0D6E08EC14318C - 9AC6704A422D37B9C879A0ADE9F0867E158CE2ABC976FD25686D450DA7C30AC1 - C0EB56CF52CFC0AC78D7734B952965A6CE7F07BBAA6B6AD117443321F56DC851 - 4A7183D8900D69689252868ED2AEBDB15B169E7DAF5D254141AFC6083839F2FC - F8AD538258CDB1EC59BE12DC5BBA3B2E329636C5E890839C03D056F1334F9996 - F9B0C3AB0EBE92105CEA9FCD508E81873AD739BB95B66B4C3EE6416CA0942860 - E428799C671F3E2A4699C50865BF010DBD1AE2DA76A5851CA94A3D329C7D35E5 - B3636F25AEC67C89B9AA350976F89A0F5E438D2E629D891D80E3C86158255FF8 - 77FAAA6E8DAC6CF7A6FD6203C5C3E1A7A295920640AAD9AB6DD2A2DE9B7A5BA0 - C998129587BA9482467AF6ED598D28E2F4BCF90B8F95425128539B4E074E9D7E - 9C52B24177343C4A51B65925D9A3C94B6F78CDAD4A1D947A0AC56A3B00930DB8 - ED3AA703609C21584AAB45D3FF0029CB5154590A74AB0A1B81DA067E7A926DF6 - A2194C85A96EBED8F6920E13D7A79F7EF5CF9368E6497872E089EFBA52F4D371 - 489676A5794A4F66FF00FDED512F10F51DE27DD16C3CE789158F60A3F157F1FC - DD6ACAF126E6AB7E9E79F61D687868EA85903AF61DEAB55A34FDC3883A83D59C - 7C223303C678B293920F4EFF005D74F49CC6CD78E52C91B245E0BEA3876DB74C - 80E7868525A0EB0D8503B727AFDBF0AD9F517146DD6CB4253B10673990907B8F - A4797D75156A6D00BD0B716E6D9964B6FA3C35B6B3ED363E3F4D78D16599227D - BE3BD8971E42FDEC12FF00C7DA3E63E8AD3979E467876ED9B1DCB532E021A71C - F1DF75F4788851FE56927E20D7F568E21DBECF15722E4F2D4EEEC165381D6B2C - FDB576D7150A486DF75253E0B4B4E709C839FABBFD550E6A4D1D77BAEA7BD214 - 96D3EAE03CB08411B904E011F59149C58B1E54DE47436B8A2CDE8ABB2350DADE - BBC771B5E07B083DD23FFF002B231A5BD25E03D5B2544E17E5DAA02E1A710646 - 8AB7A218693323A95B5C03A11F6D4C07513B74F01D8CBF05858C8420E0938F8D - 62CB81C65C7633CA0D3E0CA5E47AB4553AE101EF36D2327BFCD5AE35AA524A90 - 5290A4F62A159B8E82E36B4AD41D4FE31CFB63E18AC24C8ECC4F18A90D023CDC - 193F6D2A0A99314D2E4F3C5B8B5789EE9791D53D96074AC6EA95B486DE01012A - 4B6A3803BF4358E8D2DA89752DA1C56C7D5D0A4109E9D7F556735134D9B64A59 - C1CB0AC2BEAAEAE17FF2242B3FA192FF002909F1347B6B07185A958F9B06AC0D - 57DE51891A45B03DDEB560ABE8F15508FF0007CE327D491FCB8DA5D6D485A429 - 0A182923208AE24F3F3C92DCB97BD633B5469A86ECAE1DDC9F2EB6A6D19F92DC - 5ABF942F1D9BC9C2147E64925401576E2B17A974CDB357D925DA6F1099B85BA5 - B6A65E8F21B0B438850C292A4904104120823041A7425B5889C7723F33759AD1 - BACEF9C3DD4F6ED45A6EE722CF7BB7BA1E8D362AF6ADB56307E9041208390412 - 08209157DF9BDF460DC74C3F3B5470ADB336DC478AEE9D272E37D7DA31D64FB4 - 3183E1ABAF43B4AB2948E7A4C86FDBE5BD16532E4692CACB6EB2EA4A56850382 - 9503D41046306B626A4B831B4D773BBDC8EF37B0B9A9E1CADC9C86A06B5B3EC6 - 6EF09BE887090763ED0C93B1783D0F54A92A1D4614A83BD32BFCE57447F7FCFF - 000772A84F22DC5999C20E66B475C1871C10EE9253669AD231875A90A4A13BB3 - E4973C273A7FBDD5F1F4C5C84CAE06E83791EEB97DDC3EB8EE5276ED9AA1FBB7 - 419CE0E58094F30DC3D20E0FCB51BF762BF43763FF0072227F6B15F9DCE5C6E0 - C5AB8F1A0E64A70351D9BBC75AD4AF20162BA1BCDE73DDC66E09BF668563D14D - E92B2CAC98576BC78525D9C94A46EFC1A16435EF24E15857C40EA2A7245C9D22 - B8E4A2B93A494AA53C897A4097CCA5D24E8FD596E62D7AB634612599114E199A - 804256769F7140A93ECE4E41E9D8D59CE35718F4F701B87574D65A99E5B76D82 - 90036D0CB8F38A3843681F151E959DC5A7468524D59BD52AAC72DBCCFDD39B5D - 2B7DBE5AE4A7454589735408B1186D12E5A9094B6E171DDE0A46E4ACA4003A14 - 9393DAA07E237A46F5CF2CDC6EBC684D736881AC6DB0DD42D17185FE9593EAEE - 00B465006DDE12A008E9D7AD4A836E88DEBB9D1FA5687C15E35696E3E68283AB - 349CEF5BB7C8CA56D2C6D763B83DE6DC4F9281FA8F7190735E8E2F717B4CF03B - 42CFD5BAB277A8DA6200094A7738E2CF44A109FC6513D8556B92D6AACDD295CF - 8E0FFA46AFBCCBF1A62E8CD3F6D8DA1EC8A65E90AB849C4B96EA5006109491B1 - 2A39CE4E4601AFBF335CFA6B3E5278AD6CD2B32145D716D9D6862E6254B6C439 - 08DCEBADAD20363691F822474E9BB0738C9BEC95D15DF1AB2EEDF388FA574CDF - EDB63BB6A3B5DB6F372514C2812A5B6DBD208EE108272AFAAB63AE50F11B8131 - B9E69BA5F8BBA0351163C42989A8D13B719515F428A89404F4F6429294A7A0DA - 1273D6A76E6579BCE22728BA43482CDB2CBA921DC774360CFF001D32C065B465 - 6EAF7616A56EEA40152E1ECBB95DFF0025E8A5734B823E955D4DC58E2EE93D31 - 72D2B69B1DAE6BEA4CD92C3CE3AE14A5A5AB080AF32A48C0EA4E70324D65F9DA - F4836B7E086B4B469DD2A9B645B929A4CE9B124470F96195FF002B69C56EC788 - A00A88481B4148CAB39A8F0E5744F891EE745A955C3928E6FA1735BA0E7CD910 - 9BB3EA4B3BA966E3090E6E4614096DD467AED56D58C1F342AA30E2F7A486D70B - 8CF69E1670F2345BA5D265CDAB54BD4131798911C5B81076253D5D2924E7A819 - E99EF51B1F62772AB2EF52A9AF321CD76AAE51D9D2B79B9BED6BDB05E652E33E - CBECB70A535B4056E68A06D50C743B877C7519C558BE07F1C34B7305A0A26ACD - 2730C880F12DBACBA025E8EE8F79B7139E847E7041A8DAD724A926E8DFE954A7 - 9D6E74B5FF0028F7FB0B08B269CBFC0BE994E45043EDBACB6D29B002CEE214A2 - 1C1D4003A1E9D6B40E58BD26FA9F8F5C70D2DA2EEBA5ED564B7CEF595499315D - 5AD6AD91DC5A1290AEDED253E756D8DAB237ABA3A2B4AA2FCE7F3E3AE7953E20 - DB6C71B4FE9FBF41BA42F5F8CEB85F6DC6D1BCA36AF0AC28FB24E463BD627947 - F48FEA1E6378CF0F49DDF4D5B6C36F36F7A438EC4756E2DC753B3681BBB0EA7A - 7D1D68D8EAC37C6E8BFD4AAEBCE5F1F35972D5C3D7B5BD96158EED6969D6232A - 14E43C1F2E38A20A82D2A09DA063A633DFAD52CB47A627595DA742812345D8AD - E24496DB727092EED65B2A4852B6ABA741B8E49C7D950A0DF281CD274CEAED2A - 8473A1CF27143845658371D19A23E4AD3139D4311B545E0B6E7AC38415ED4470 - B2A482942B05C093D0E076AF07243E929B871A75C41D01C41B7C58B7B9CDAFD4 - 6EF086C6DF7120ACB6B47641290A208382538C648A9F0DD591BE3745F7D41648 - BA9AC372B44E6FC585708CE457DB3F8CDAD252A1F5826B8B9C4BF46571334BF1 - 21FB5DA556FB869A79F598F785BE1B0D359E81C6FDEDD8FE942874EE2BAEBC6C - D4FA934470FAF1A934E7C94B5DA21489F219BA36E2C3A86DA52F6A0A14304EDC - 64E475AE66C8F4C46AD9ADB9EB5C39B03AF630D2C49786CFA41CE7CBE157C7BB - D8AE4DBEE5FBE50F85C383FC2CB6E988CA52E1C26B697549DBE2BAA254B5E3CB - 2A2A3F5D4E951A72DFC47778AFC15D23A9E536D3370B95B999329A613B509716 - 904848F866A4BA4CBBF2323DB835DE22AFC3D0D7B563388AB3F9AA80DEE705CA - 5A8925B213D079F4AE80EBE478BA32F08C12151963A7D154B752E8D8B19F5361 - C0038842B27A63A66BC8F58938E58B5F1FEB3D7F449349AFBFE08E2ED3242ED3 - 251193ED29381D326A3087A5E4DDEE896DB1BA420A77E081B0E7CEA62BF31F21 - 4079C6543784FB0A3DB3DAB0FA22CE5AB34D94A49F5B93953AEE33BB1D463ECA - CFA6CEF1C3F93D24E09CB93FDD1F6136F74CF43E85252F96D655D82803D2B50D - 59735CABCDC587093B95918E8922B69D0115C9B639A1D75494AE528A09CE49FA - 2B63BD70B53758119D6886E5B60E14A1D17918EBF6D2DE48F896D8463B484CC6 - 298C858649483DC75AF569A608BA171D412D107A1F33838FCF59476D12EDD395 - 6C782912413D4E02079D65EC3A525A2E6CFAC496A3A09C92E754E0FD15B326A1 - 3850D8F637DD3A1C6E3BD295E2376F623F89BD23A6E1D719AD4ECBABA4BBAADA - BD38D87D80EEC4A8A4E00C1F3FA335B4710B595BED9A7DCB0468921A5A9AD9EB - 23A32BCF7CFD59FAEB4FBB5E2D32F4841B45B1A75831D616642540070EDC1F9E - B99096E4EC3FF2245E2AC46EE973B74C65E4BBE234970349EF8FA2B76D3F68B7 - B1A61F4AD45D0E33BB628E46F1D718EFE555EA0DCE52A304C97D4E0424368524 - E56067A60F6AB53C2ED35063E8E86B790E3AEBA3F08B70E4A0115932C631E0D1 - 964A30B3E1A43504455A602D2B4B6ADBED369EC4038FD3523BF2DB910DC5A4F8 - 4360EDD327CBF3D46FA6B45C7B729D4BD1D69DAB5EC513D36EEC8ADA5C92FF00 - 889C84B71074C2FB2AB8F349BA89CBC9152E51AA714624ABBF0FE63694308900 - A4656924F45827A8F9AAB3D9265CED12A5A84B7A1B8EE194ADB5042719F9EACC - 7102ED161C7B7B725C508AE384BDE1A804E3076F7F9F151D3B7C665DDD82C5B6 - 09B521D0DA9529A39512703AE3E38AE8E9B74214C7E9B7422D334D8EE25F118A - E5CEB9BAE15655BF294E3DEADF20C8F90E334A6D41B6D61252F38921480481D3 - EDAF91B2C5B45FE0DB5B7E332E3CB5A9C0D9010D82723AFCF5BF5FED90576F2C - 486D0B4A53B52AC6524791E9F3E299926FB0D9E457C9A6DD3C0BACB75975E2F1 - 28DA24B44EF04F4E847D358C92FB9A4E4AEE2DCD85F846043711209538A48EB9 - AC843D29F73B19D96C3EA7DC07294672939E9F9B39AD3F5469A9BAB1F5C453CC - 32C21217BF610ADD9EA2931A7C36554AFB183D4776B64C4B66CD11697CEE2F96 - FDD2707AE2B7FE14AA46A0D2ED34F1523C370A50E118DC7CC7D95AB5A786CEC6 - 43715BB8A487B207843DB3819207D952469980DE912CB0B904C46C6F4327DFDF - E75B32644D28240E6D2B332AB5C9B3DC19DC545B7BA0CF9D7F372652EF8C5C4E - E493B704742475AFE75BF112D56B87EB8F2C0776FB2D7880907E8A86EEBCC230 - 90B4222AD4950CA5455D0AB3D6918F459323B8995E777C9BA5F6E519EDAC3458 - 69C64FB49030AFAABCF2EE8F2A03ACBA308534A0147B7BA71505EABE3239704E - F662B319D27AAF2370EBF1AD6E47166F975532C2DFDAC15252427AE7A8F315DA - C1D372EF527D8C1AAD56C833A31CA4B6A6B49212B183D47C6AC0541FCAB4411B - 44C6DC72B280AFB454E15ED1764BE0F0B2929C9B4415CE1F33FF007A7F0D6D7A - B7EE6FEEA3D76EED5ABD53D7BD5366F65E73C4DFE1B99C7838C63F1B39E9D66D - 81399B9446A4C7712E34E24282927E233546BD317FB19F4D7F85B1BF81CCA95F - D1F1C558BC53E5AF4C3C891E34FB64745AE6A56E6F703CCA420959EF9527639D - 4F670536BCB62F779A8B26EB287DB287101683D0850CD523E7AB900B4F19ECB7 - 2D65A3A12626BD8D1F7EC6484A6E6103A36E03D37E3D94AFA1F7428ED036DDFA - 1191D7B556326B944CA2A4B93F3256AB849B35DA24D8ABF0A5C5790F34BDA15B - 5695029383D0F503A1AEA3FA5625197CB6F0ED655B88BE919FF8BB955024E8B5 - 6AFF00482DF2C76F61B53035F4E74B4956C488ECCC71D70248EDF836D58C7CD5 - 703D2B51150F96FE1EA0F637E2AFFABB9F0AD6DF28CAB84CE7E72C0A09E61387 - E0A10E055DD84ED706475563B7D7577BD2F36E442D1BC205F7756E5C772B3FD6 - C7E95483961FD90BC3DFEFD46FDD8ABD9E98AFE63B83BFDB2E3FB98F5597AD12 - 979594F79169F22DFCD46845C7756D15C8790B09510149F01C383F11900E3E6A - EA97A41797CD43CC5F02E044D3323FD57B5C84CE44353A50DCA4ECC292AEF923 - 394E7CEB94BC927ECA4D05FDD4EFEF0E5750F9EBE75DEE57B4A592CFA722C5B8 - EAFBCC62B6552C6F6A2B4001E229208C924F40703A79818A89DEE544C1ADAEC8 - 6BD1A1C0BD79C12D4378BA6A76D56B62EC84C64D9144297B90A3F85731900819 - 09C1390B5671D2AAF7A50483CE56AEC75FF4AC0FE0AD5495C8DF12F577319C78 - BA3DC41D4F77D431A2C33353674CA54684F3BBD081B996B62368CE76E304F706 - A1DF48A69D81A5B9ADD516FB6DB21D9E2A23C258890194B2D24AA33649094800 - 124927A75249A95EBE486FC8592F43A6B59AC5D35B69A2E1F93CA9898119E9E2 - 2C2904E3E86D3FFE8ACA7A66EFD7841E1ED992D2858961F94A787654818484FF - 008A735A47A1FBF9E46B3FEE789FBB72AF673C1CBA5AB98BE0F3B6D9535BB5DD - EDCEFACDB26B99294BD8C6C20770AEDE6479551BA98C49BC672B3D1C9FB282CD - FDC723F722A4BF4C18C7321A540E83EE422FF0B9758CE50F82FAC7803CC1DAEF - BAF74F4DB1D9DB69F8E272901C682D4001B8A09294919EA7E6ADF3D20FC32D53 - CCDF1F2C379E1FD965DE6C51AC112DCEDDD6D9663078C87D67DA5804801D4E48 - 070723C8D5ED6F17CECA305E88CD5972B5F16755D98341DB1CDB736FC852FAA5 - 0F21D096C0F9D4971CFF00147C2A5EF4CFA128D1FC304A404A44D9B800607B8D - 5487C8BF296381701C5CA784EBDDC54872E129B528340201D8DA01F24EE575C6 - 4EE39F2023DF4D17F323C30FEEE9BFBDB555BBC85E9AC6ECA1BC9FC2893F993D - 08CCD8E994C7AE95786B008DE96D6A41C1F82824FD557AB9E4F47F5FB8ABABA2 - F10B464B8EA9F718EC3172832D4500ADB4840792AEB8F6128494E3F173E66A8D - F267FB27340E7A0F5D57EF4BAFD015B1A43F688C97109524B63A11D3B54E4938 - B54571C54AD3397A787D71E44F94CD6D718171F13575ECB715D9ED82D16D4E1F - 0D286883DDB4A9C5839EA49F2E9546397B3FECF3C3B27A9FBA1807FEB08AEADF - A59F45AAEDCABB33E26C659B25F22CD75013EFA54971803ED781FAAB947CBE1C - 71DF877FE1040FE108AB45DC5B2B35B5D23A0DE978404709B853F1F5E959FF00 - 268A847D15BC639DA138E3234B2E462CD7F8E7C4656B2078C8EA8291DB241232 - 7CAA70F4BD67F913F0AB3DFD7A5FEF68AA6DC8A69C95A83998D2AE465148B72D - 739DC0FC448DBFA562AB1E71F25A5EBB2D97A6988373E1291D4166E7D7EB8D55 - 5BD1FDFB2BB45F5C7FB6BAFF00C55DAB41E99470B8BE0F150C2BD5AE5919CF9C - 5AABFE8FF19E6BB467FC6FF82BB52BE9912F593C7A61C7FB2BF0F8F9FDCEFF00 - DFAEA2AF46912399C8641C116D918FB5152AFA61FF009EBF0F7FC1EFFBF5D453 - E8D419E66A263FA9923F4A2A17D3225EA3A19E955EBCA0DD3FBE70BF7CAE32E8 - 477C1D6FA7DC284B811708EAD8B190AC389E847C2BB35E955FD88375FEF9C2FD - F2B8C5A2FF009B0B1FF7731FBE26AD8FD24CFBA3A93E945B734C728DA49F032B - 56A88C91E4123D5257415CDBE5FE63D6FE3A70F5F8EEAD97537F823736A29382 - FA01191E44120FCC6BA5DE94DFD879A3BFC298DFC125D732F819FCFAF407F7FE - 07F08454C3B04FD48EF9F17E4AE5F2E1AE9D70E56AD3370CFF00CD9CAFCEA9EE - 6BF44BC55FD8D3AE3FC19B87F0672BF3B47B9AA62F72F97D8EF7F2143FF264D0 - E7FF007547FDC5588AAF1C857EC63D0DFDEA8FFB8AB0F59E5EA6361E946035E9 - DBA36EE725204751C838AA8BAB59726F86E2101C616DA13BFCFDDAB6DC474173 - 42DF120804C55E0ABB76AA8F012A9288D15D52C7BA0EDEC3D935E33ADF134FED - FEB3D5F47928C5BFBFE08C38845943B6EB4994843606F7727AE31D3F3E2BEBA3 - D12373D1B79F56436A20246770DA7CEB70D6DA46DEC843CEB0D3EF9514EE503B - 80F2AC5E988688D9F0C143D9C16D241183D2B84B23A47AF693E4C470CED8D6E7 - 9125A7A3AD0F29C6D4E7BA52723352DC88A12DC65216971AE870923AE3AD60AD - B39CB6C971B94C36E282B0DA0A7BA6B291EF81E75D8EA31DB69209C0490479F4 - AA4F74BCC51AA311A9B4369AB94A72F8F4794B7C27DA682BD8E95E16AD369B8C - F6018E3C30D24A49EC067CEB6393257704B512227C46D632E380744A6BDF1B4D - C18A5C5C605C46C0929C609EBE59A5AC93F704E8D6B5DE8CB76A48B1E2224350 - C3683B4ABDD5F4F3A898E94BAE9C054D448F3586C93EE7422A739B6684A7D323 - 290F23DD6DCC9049E9D857926C9B75C202E3CA8F21975B3B3647E815D6B4473B - 8AA2CB976451A4ED364D61203CD30EC3951D60ADB49C209CFC3CEACC599FF538 - 8DB681B17B000DFC00AD1F4F6826ECC80B891501B7C83D46E77BE7A62A428B0C - B3BBC4C216947627AF6ACD9B26F62F3C9CD6D67C85F95295B8A125B49DA40E84 - F95691C59E249D330D10E2B8CBF31406124FB9D4673F566BE9AEF5D46D0D6E32 - 5A8C1F7D4086C1EC547A7EBCD57C72E53F55BE5E7A1176E7217EDAB19C27BF6A - AE9F4EE72DC8AE382AB3E3A83575DB5038F225AD4B6B1B928CFB1D3AFEAADAE7 - 3F0ACBA76D4FB2B7A427C2F1DE69E57407CB1F5E2B5E5C1B75AAE8D437E5A64B - EE25414B6D40A1A3B4E01C7CFD2BD7628726F32A2C59090DC44A94D9757D51B5 - 20AB1F9ABB3971C60BEE6BDADAB4481C3ED191F88F61917BBC05C48EAC6C5215 - B547072307CBB79D48D6E9564D3F6965969A97794B87624A0EF29C7C456034FE - ABB63D1E3DAE3B6531228214C471BBC6383E43EDACCC2BB3E10E2AD76F7ED2C8 - E8A4BAD8EBF3E7CAB90DCE52A68C192AFCCCFEE64D43C95C78F09E68AF070B09 - F671D7B039F2AD4752EB4B059CA5B75C6D324821CC10950E9F3D681C65E2C8D2 - 5714B16875E7EE2B07C5710E0211F1F3AAE770BDCED4D7171E794644870F449C - 939FA2BADA7E9B2D42F16E90A79563548B2372E37592D105286007DC49EAA460 - 2D3F41A8F3557196EBA85C2C5B12194AC603BFD113F41ED5A35B7435C1DC3920 - 351D048CEF07A0A9460F0EAD96C80CBEC3A6549233EC7BA3E35BDE1C1A77576C - BE29CB2AE51174B4DD24202A63EE4A59392544E457898B04EB9C92D31BF67E28 - 524E0D49B798C994E25086835B3B93D2BD8C4B90A4350E3434EE5F40E8181F6D - 5DEA6B949169E9A37CB2354F09AF13565186DB3DCA9C4F415B3D9B84F02D610F - 4B53AA92D9DC0A7F95FD62A6FB0E9B459EDAD3D35689925DEBB413ECFDBD2BC9 - AAE3B6A657E06C4A76125208CF6A547A86594D2464CFA786C69969796B5A4693 - 88949CE53D3E8C54CF50372A2F29FD26D15FE2A309A9E6BD7C1DC533C0CD2536 - 9144BD317FB19F4D7F85B1BF81CCAA8BCA8EB6E2B72568B5F1026E97977AE15E - A561A7AEB1A210B5B2D12A0DC803FA1AC270A055F835A5C4A4A82882DF60B881 - C3AD39C4FB01B46A6B1DB2FD092E07DA62EB0DB94DB6E80521C4A56080A014A1 - 91D70A23CEBCF69E1CDBA15B9C8D250994A73DE591D6B5466946999E506DD91F - E8CE75381FAE2C6C5D21F13B4E406DD1D63DE27B7024367B14A9B78A54307CF0 - 41EE09183516F329E913D07C3DD3D22CBC38BB45E21F10EE294C6B5C2B19F5C8 - EDBAE129438B7500A1783D9A412B5129184856E1B17107900E146B998A912747 - 5A94B5385D52E32150D6B51CE4AD4C290559273D49C9EB59DE1AF297A538641A - 3A7B4DD96C0F21A31FD722454996A6CE32953EADCE281C0CE54724026A3C9DC9 - 7BCAC9C8BF28D76D117093ABF581764EBABD0529EF15D2EAA234B505AC2D59F6 - 9D5A802A51CE30003EFEEF67A62971A3706342DBDB79BF1DBBD6FF0004286FD9 - E03A376DEF8C83D6AFE58B4FC5D3F17C18C8EA7DE591D546B11AD7867A6F5E20 - AEEF63B5DC25F861A4C99B09B79C4A0124242949240C92703E27E346FF0036E6 - 1B3CB47E7F796879B8BC7FD00EBCB4B4D22F31CA96B3B5291BC7524D5E8F4C1C - F8B2B4A7081966434F3A854F5A9B42C15241447C1207607CAAEDA7954D109567 - E41B3E739EB6E64E3F6B5B4DF782BA5F51406D99F61B3CB7D2D86BD65F80D2DC - D89184A7714E700761D855DCD3699450693470D392E90D42E677423D21D44765 - 325DDCE3AA094A7F00E7726AD77A5978277A9D7DD2DC51B5479172B03B6B6E04 - C798095B514A49536AE8738585ABDAC63A0EBD6AFAA3957D128712B160B36E07 - 23FD4E6BE39FE96A4C3A4A0C9D309B14A8CC396F434184301B01B4200C252138 - C0007402A1E4F35A058F8A671AFD175A9ACBA738F539BBB4E6A13D32DC598DEB - 0A0942C8712B5024F4076A49FB6B1FE942B6CBFBEC7505DFD55EF92E7468822C - DD87C17F6474217B17D95B54920E0F422BA663923E1D41D546FF000B4A59D371 - F13C5F194C0EFDBA27DDFCD5256B4E0B58B88BA5DBB26A2810EE509A4EC6E3BA - C24B681F374E9F554EF5BB711E1BAA396FE89FD5B66D31C47D50DDCEE4C44953 - 1B88DC48AB24BD29616E652DA002564129181D7DA181560B9D6E76EF9CBBF32F - A5A3274E2EEF6481675C85C07E4F80879F7CE038140286F6C2149EC461C57CC6 - ACCF0D395BD33C2A92AFB9AB641B2B255B94A88DE16AFAFBFE7F2AAFBE93AE17 - 70F755E9AD30BBCDE26C4D7EA5391EC70AD90D53665C49C1536184904A73B7DA - C80091DC9C12D4A564D350A21877D2EB6992A52DFE0D975E51CA9DFBA300E73F - DCB5EA67D2F7699CFC666E7C259061255EDA9BD4016A4A7E212632771F98A87D - 3D2ABD593D1C7C5CBB5B5326422CD699273BA04C98A53C8C123AF8485A3CB3EF - 798F3E95EF6FD19FC57712B3EBDA751B4765497F2AFA3F014CA80BB99D40E56B - 9C9E18F324D49B769372459EFB15BF15EB25D1B4B720B7D8B88DAA525C483807 - 69C8C8C84E466ABFA66AE5125E9BE1BC662532F496274DF1596DC0A5B7F836BD - E03A8FAEAA6702741EBBE5D39C4E1FDBEE56C544BC09E82929505B6F467029B7 - 1C428770105CF9C104100F4AED0DFB84FA4F5E45F5D99A6ECCFCB969DEF4A7ED - ECADD59C6325452493F49F2A534A124C626E71699C2AE4F64350F994D08F3EE2 - 1865135454E38A0948FC12FB935FA06B13EDC9B24075A712EB4B610A4AD07214 - 368C10477A899BE55F44216951D3F66560E71F2735D7F6B52CD8ED4DD8ED5160 - 3096DA8F19B4B4D34D20210842461290074000E981F0AACE4A45A10DA61789FC - 3DB5F15B87F7ED257A643D6EBB44722B830329DC301493E4A07041F222B876CF - 2FFAA7976E6BB4558B53C65B1199D490FD5AEA50511E534242085A547A038EE9 - 27A7D1D4F7B2B53D7DC33B17116DEA8B78811E6248C61E6C2863EBFD22A213A2 - 650DDC9CFDF4B7B427F0CF851122A9322699D20222B432EAC29B48CA52339191 - 8FA48AF9FA3AF959BAE81439A9B50C27225FAE8021A88F2005468E0E7DACF50A - 51C1C74E83AD5DAB6F002C368095C6B64633520A44E90A5BEF246EC909538545 - 033D7A56FDA6F4AC4D36C6D65214E9F79C3DEADBFCB446CF35B2877A5F784172 - D4BC32D1FACAD8C3F2DAD3521D8B2DB693BBC361F08FC2ABA760B6909FFE3EDD - 3239EDCA26BFB2F0C3980D31A8F50BEE46B54453C975C6D853CA056CAD09F612 - 093D543B03F457E82EE76D8F7780FC296D21F8CFA0A1C6D690A4A81F883DEA01 - 85C96E81D3FAB1DD4166D376A8771714A529F4B03764904E01E83A807A54C722 - 4A995941B95A39F7E956BBC8D67ABF87FA99986E46B149B41620392D0E3325F0 - 17B94B5B2B4852139574DD851EB903A546DE8E09D1EDBCCA447A53ED456BE4D9 - 09DEF2C2139CA3A64D765AFBC18D3DAA6D6D46BD5BE1DDDE6861B7674643BE18 - F827703815ABC7E56744C7790E0D3F66514A82B06DCD63F7346F5B688F0DDD90 - D7A556E90FEF50B94232D8F5D5DC612D31FC41E214F89DC2739C7CF5C6BD1A76 - 6AEB2295ECA44E60927B0FC20AFD196A2E1969FD56D21577B15A2E7343619F59 - 9905A75610338485292481D4F4F9CD6887956D13924582CC3273D2DACFF9B446 - 6A2A8B4A0DBB2A97A51EE70E4F289A2D86A532EBCBD4B19E4B687015291EA92C - 6E03CC67A67B5734B822E258E33E8371C506DB45FA0A94B51C0481211924D7E8 - 11FE0B69699618F6C9560B44B4C668311D6FC0697E0B79276A729F64649381D3 - A9AD4C72A7A201CFC8367F8FFB9CD7F9B531C8A2A825072767AB8B17CB6A3963 - D60EAA7C54B5234DDC10CACBC9DAEABD5DCE8939EA7E615F9E820E4F435FA486 - 3861601A621D924D92D3320C2C98B19F84DAD960924929494E06727B0AD2E5F2 - BBA265CA53C74F595009CED45B9903E8C6CA884D4499C1CA8D4F902B84695CB5 - 68D61990D3AF316B8C1D6D0B0A52328E9B80EDD8F7F8558FAD2B87BC2DB470D4 - 48459604180DC9C78DEA9190D1736E76EE290338C9EFF1ADD6932E5D978AA546 - 075DB064E8FBB343DE5B0A48FA4D40568D3AC8F0FD8CA80415123B6075AB0BAA - 97E1E9F9AAC818479FD22A1B430E04890CA82C6CF7479D78DEB5CE44BEDFEB3D - 0F4EE22DFDFF000469C42D2D21F056DE47B794E3AF4A8EA05B5DB65D545D52D0 - B3EEA87C71560E5296FB690EB7B5C190323351C6ACD312E09764A8EF49F68015 - E69499EB70E5B7B59ABDCED4BD42036CC85B17103D951248E9D7CAB4AF90F5CC - 6B8069B5C4CEEDA54A049DA7A7E8ADC61DC4C675A7C2B6AC1C28F6C7956CAC4C - 7234DCA02DF5A91E275ED8EFDE98B234A8DD91453460AC56C9DEA0B79B92E264 - 36EF86E241DA838F98F7A932D8526D8DA9CDA878FB215904FCFD2A20D493EF2F - CF44DB7A434DB6A2E142BDD52B18EA2A46B1EA06751DB1B717222A5D4B290EA5 - A385B6BC8F2A5B7625D7B1F57ECCD37710EB6A53EA47B6AE8401F6D78AF210AB - 489259282B7463C3EAA3D6B2CF5CA1426D2B6A5A1D73042D25D4E7B7C3351DEA - 2E22B16B095A55E3785B8A5B477CE0FE8EFF0055536EE95168F62414EB26B4DB - 31BC429502318CE1C1918158F9F3DDBA9F15996A0E39DD1BC6F03E6A86237106 - 35D58F94A5B894BC85FB6B50EE3B002BC175E34B6B9454CB0F96D92925C6801D - 323CEB47E8F237C149C6D998E3BDC936F62D0CA4BA5D2A20AD7D810335127DDE - 5CA338EFAB492DB8A1B14FB430540F4207D5595E24F18236BC8AC45540290DAF - 295EF1BC8A8E9FBB4661B221C57BC6F252BA81F1AF45A2D34B1C36BF914F22C6 - A8D96E9291608495C8012978152024E54B57CF8AFB49E374D8F65896D80D23C2 - 6D395AD43A951AD420D96E3A84B9225BCA4B0D8F63776AFE2D5A3644894B0B51 - 2D249CABCBEDAEBF83812B9F73064CD9E52A8AE0DCF4B73037FD26F9718896D9 - 009C9F19A2A359EBE736BAB6ED0D71D98B6B8285A76A9E69ADAA4FD1D7EAAD25 - 9E1FADD24B3B8A867A94E4564F4C707255E9D5F8CE214D8392903E1D7F552251 - D2A8B97B95587513971D8C1698B3CDD613DD9329C5F84A512E388EAA593DB1F5 - E2A65D2BC3762D308489296D2C647B5B70FF007F23FA7E6CD7A2CDA45D622B71 - 6325A6100819C104E3E7AD96269E98971E66E03C4013F82752B3815C2CDAA6E5 - 51748EB62D36C5E7EE79A559A3788B545417929006D7BDA1D7A7956305BDD4C7 - 7A4B6EE108596FF03D81F318EF5F55DBAED6A7169873025D5E410B1B8015F1B5 - 3F2E2C59169212B716ADE5D48F694A3F0AC4E519BDD26687517C231A887016DA - D5214E3AEA88C249C67AF5ACD69C7DA8B316AF60464FB892324D6B33346498ED - B9233216FA578DBDF049C76FAEB69D37A4A47AB054A0E3408CE542A6538BE2CA - CDEF76CCE4C9C9237A5FC23EBE95AC5CDE6990F292B538B52158575C0E86B3FF - 0020998957B64251F0F3AC0DE6DE5B42D08F68849EFD28C35BD519B341786D96 - BB946255A35B2AEE062A7FA807946FE6347F646A7EAFA1C3D11FE0F9964FA921 - 4A52AE505294A005294A005294A005294A005294A005519E6F783FA96C7CCFF0 - F78D56D66E379B05B11EA772890925E7618295A3C56DA1D549C39956D04FB39C - 1ABCD5F1971199CC2997DB4B8DABB850ABC5B44356A8D4B8773F4AEAAD350EEB - 629D06F111E4058951DD4BA32476241E87E20F6ACC5EAF160D3EDA55707A2462 - BC86DA5005C74FF4A840F6967E64826B5CD41C16D2BA9B6A6EDA76C97C6D2772 - 5176B7352424FCDBD2AC56534EE81B76958498567B6DB2C91123019B6C36D940 - 1F3250902A6C1264097CE09A3887C7E81C529F00DB3E4F81F24D8EDEB6CA5F52 - 54A517253E93EE1216A4A53DF69CAB04E059E83184386CB00E76240CD7CE2DB1 - A8CB2E7575D3DDC59C9AF5D0DD90950A5294B2C294A500294A500294A500294A - 500294A500294A500294A500294A50061759A928D2F7152FDC4B5B8FD00D4536 - D094C36C01B55D539CE7A8C13FA6A4AE26BC63F0FF00503A06E2986E1007D150 - 0E93D64CC88C9641C8751BC2CE7A13B7F88D792EB4AA4A5F6FF59E87A745BC6D - AF9FC1B8CC82F83BB72719F88AC75DED8BB8475B2B50248DB8FA6BE0DCF74C9F - 0DB73C504E48CF6AD8ED90038FF8EB57D44F7AF25B99D872943CC45323844A72 - 5B496DE050D2F77B43A107BFD82B6563872988B5A83EA505109C818484FD1527 - 46B7894F2CB48E87F1ABD4EDA17E0293DD5E4314394AAD165AC72F59114FE1F3 - 125E7192AF61092404E01271D3F3D47772E14DD6E0E25F8321105C4AF0E390B2 - 85AC76EF8AB17234C17D1B8AB63A7B8CD63B502E3E9EB5AB0A2DB8D23C4596B0 - 57B7CF148597237543F1EA377088465F0625C1611211707D6A09CAC3CF95E7A7 - C315A35E786CE5BA24C9CFC86DD696DA89C1F7303F356EFA8B983B4B897530E3 - 4D71D40C05A969083E5D7AF4A87B5C6B7BCDF6DAB67C12D32B077223FBB8FEB8 - D74F041B96E3A11DFF001C119DB2C73EEF1A4356FDCF0F13A0292411B87956FB - 6BD0931FB64982FC35A54E246E52505206083E7F4564780D3A340BE2AD325487 - 172523C270F749EF8FD5539B16B7A15D253CF603493B02493D4D6FCFA89E392A - 468DB17DCAD13B84EAB7C7019610EAB3951DBED8FA2BCCDE9B8AC29A48692144 - E09574C7C7BD4F7A99952D7907C34AD5B029033D7E15EB621166D4A8CEDB6049 - 46DDCE296DFE100EFD0D57F5F92A986CC776411728DE1C736C80D21C6C81F860 - 9CA4FC6BED074D14458F11390A1925450769E9E7527A349B4C237C75B6DB2FFB - 4D343F13E35F1718F0169492168070ADA30695FAB95558F5084B948D3A158A53 - 8EA5090E32067DB48C2718AD86D6D31684A51112B0F38704A8F43F1FCD9ACDCD - 2861A436DB8A2A5FF43C649AF569CD3E89EB744869C094F54FB26B2CF3B7EE3A - D2E0F8B4F2E24A694908527FAE4E466BF9D42F495CD4A565480E0F6423DD3D2B - D77584843DB4BBE12500E100FB47A5639B5ED8895788B71F493EF9E82937BB91 - 52767DBE4F6A24065730A92E28FB5B4E4FCDD6B73B4E99B71B5098CB0953F8C9 - 594E542B44811244B77129D25A51F2EBF4548365BA2AD519705921C514F53DF1 - 4A92E444BB9AE5CD80E4B75236B6D14E4AD408015FA6BE36A49948719714D9F8 - 14A8D7875219720C95FAC018EBB3B5602C825021DF115B15920E69908DA2866A - E6DFC9C54E256A0D1E84A4E0D609E71C9D16586D9DC94A09538A1D47D75B14A7 - E3CE88862602000494A7B9C751F9C5787C2C5A6429A5ADB6CA140B6AFC6E95BF - 02A92179BE932C3728BD34627FB3353FD401CA41C68C40F3F115FA0D4FF5F458 - 7A23FC1F2EC9F525FC8A5295728294A500294A500294A500294A500294A50029 - 4A500294A500294A500294A500294A500294A500294A500294A500294A500294 - A500294A500294A5006B1C4D5251C3FBF15FBBEA8BCFD18AAA5C3228951DF380 - F488CB082C248CEDC60FD99156A78AEDA9EE1AEA54273B8C07718F8ED38AA43A - 56FB2B44EA489BB608D311B96E7E30240C75F2ED5E5FAC477349FC7E4F5BD1D2 - 78A49FCFF88B2B6C8515A65C7DB8E42881952BA63EAAC8C209796144FE081F68 - 76AF85AA78BDD892B8CE32F367016A4104823AF715E28125D91352DE0A101452 - 7E720578E51B36E5B69D9245B222584A0B4E8008F748F9ABECF3AB49242C2F1E - 5DABCD063295190A4ABA247527A57D5961A5255E23A0FC46698934A91C19F2CF - 8B6CA663A3AF5EBECF6A87B8AAFB835E5BADD1D5B1A90CFB6547A6D1DFF8AA6A - 73C04290A092DAD27A7CF51DEADD29F2B712EC929C6C94351561431D0939C0A2 - 38D2E59AB4B2719591C6BBE15427ADE972345851B6A14A56D6CA52B0013957E9 - AAC1799EE5A4391D92B5B8EA8B692DF540CF4EDDFCEACEF1D353B4D990C21C79 - 8311B536B40384E48C0FA7BD41FC2BB65926872FD7A9495C588B3B230580B715 - E400F98F5FAABA586548F658B33943947CA3F0D17A1F48D9F50B4A5BB7832029 - E23AF868CFEBCE3EBA9B34DDE6F9AD6229366B626330A482E3D756D5B56AF9B0 - 3350D6A2D613F5C3F2DE65D4DBA034E6D6620E81783D323BF7C558CE5EF52AF5 - 3E8E48949025425968A50AE99EDD479FD354D4BDFE7663D44DE3568C02F83E13 - 706E6DCEE9297B30B31E36030547A1C83D7A6735919765F54448F05490CA8040 - 52939560900D4877665725D5C7D981E6723A79D6BD756550E3292B47B27A83DF - B1CFEAAE0CB236C5432CA4AD9A7C6D35062C5FC232A76436BC85760135AAEA4D - 1AFCA96EC98ABF0D0E63281F8BD6A5D5BAD5D2CCDBA86D2951E87C89C1AC34E6 - 5A84C871E412938C04F73429B66DC5964A2476CE920CA1A5CB4B892923F083A6 - 3EBADB61C584C4C65B8CF3CB6D430A5EE181D2BED73BB34F470969054823DC70 - 74358180E21943886095BAE286327D91D727A7D1436D969E46D59F5D5F62696F - A0B2C6E27FA2F98FAEB5A7EC186D3E1A56777C106A594C56E5DA92B0145C0076 - E89FCF5AD5C24CA8AF2DBE9EAC074DA3AD5E3371542B1E693746A8842ADB1490 - 9C383B6EFCFF009ABC5659A9B7EA17945EF11D713B8157400115994C59375277 - ED4344F52AF7B1E7F9AB55BEA3E4DBB21D4A01009432C9EBD08233D3E9A747CE - AD9A5BB327A890268714846545272B4F6AD43D6DD8A434C7B8848055F039ADB1 - 4FA9AB4B697595B4B4F5049C24E7E35AB4E770E2B6202B77C2B4E35EC4A56659 - 9485B4DBAE0CA88E8A0735F39D7667D49D654A4B6B6D0ACA7CFB1AC0499EF426 - 9B6D454A49C93B14322BC4BB8B0603EB736A5C2850255D55DB03B56FC70A9AA1 - 59D56365B2E5246747B5FD9295F560D580A8039483FEB39AFA3153FD7D0609A8 - 46FE0F9664FA92FE45294AB1414A528014AE5EFA49A0F183972E21DA389DA178 - 8BAAE0E89BACC6C39017A85F7E3C3B982B77C34C57145263B886F706C85A014B - A921082DA0E2B8FF00E909D59CCFD93879C3EE02337DB2EAFD45F84BDC78396E - 6477D2AF623332C29386C6C71D71D0103C3F0F72903C66C35636E9A16E695A67 - 55E95CEEE7CADBABF95BE4CF4740B17137594FD4AAD511D171D4F22F7244D98A - 5C4925690AF1096D9CA11B590768DA09DCBDCB5437A27835C75D77C9E48E39C0 - E64B5932FB16E9D73569F93729A9496A23CEA1D0240924EE28656A48F0F05442 - 49032B0285ABB073A75475D6954AFD197CDB6B2E663486ADB6EB9F027DEB4CBD - 188BD32DA1954C6A4178A52E348484254D9648DC900292A4829CA4A97637992B - ACDB172EFC50B95B65BF6FB8C3D2F73911A5C570B6EB0EA22B8A42D0B49052A4 - 900820E4100D51C5A7B5964D35648F4AE3B7A36F9C5D748E632DFA4B5CEB5BB6 - A3B06A96570507515DD4F2624B4A4AD85B6A7B71DCB295321B4A93BD4F233B8A - 102B29E934E73753AF8E2D68AE1D6AFBB69EB76946551EE12EC17272319739CD - AA750A5B2EE169682508C2929521CF1D27CA99E1BDDB4A788AACEBAD2AAA7259 - C656ACDC88696E21712B55BEE311599EFDC6FB7B94E4875494CF7D080A5A8A96 - B560210848CA89DA94824815A1DD3D30DC13B7DCE5C68F66D65738EC3CB6913A - 2DBE38664242880E2039212B09501901694AB07A80722A9B1DB48BEE556CBCF4 - A8935BF343A1B46F2FAF719A3CB7F53689432C3E87AC894B8EBA975F430004B8 - A461495AF0B4ACA5492950202814D57DFF0045EB81DF72FF002AFA9EABF5DF5C - F56F917E4D6BD6BC3D9BBD63778DE0F879F631E26FCFE26DF6A85193EC81C92E - ECBBB4A893487341A1B5F700AE7C5DD3F2DFB9E9BB65BA4DC26C56509F5D8CA6 - 1A2EBD19C6CA804BC903B156D3B92A0A285254743E0D73F9C3EE38685E23EABB - 159F5244B7683B70B9DC9AB846610EBCD16DF730C843CA0A5623AFA28A464A7A - F7C46D64EE4597A540DCADF395A2F9B6FBA5FB90B65F6DDF207AB7AD7CB4C32D - 6FF1FC5D9B3C375CCE3C156738EE319EB89E6A1A69D304EF94294A5412294A50 - 0294A500294A500294A500294A500294A500294A5006075DA3C4D1D7841190A8 - CB49FA08AA8970D3312E311E8786D5236A437B8F6E991F9EADFEB48EE4BD2776 - 659197571D6940F8AB1D07DB549A6DECE9DB9AD17561C6969202D49F6B181FD6 - E7CEB87D474F2CCEE3F077FA7678E1836DFB990B16A5D43C342C5BA7C45BF6EF - 7CC98682129FECAA66D29AA1AB9418CFB2B8E1A7145654A58C80474EBF4E2A2F - 83C74E1E26198F7CBE3F1D246C5B6B84FB8920F43EEB66A3ABDF10787B6E79C5 - E99D62EC5677E531DC852C003E390D1AF28F459E2EB6367565A9C59179A49174 - E0C97E4B4A08701481D723D9FB6BE4FEA3B4C47C32F488A873CD45C0923EDAAB - 3A6B8DFA063C46D778E22DD5D91E6CB0C4C2D7D60B2335B943E3DF01D0905EBE - 29F7F1FCB9FB64C511FF0045578E9F3C552C6CE6CE5A784AB75FF04D53B8A5A6 - E3A92DCC9B19948E9BBC618FB7B0AC5DE3891A74C03259B934EA8E705A792484 - 8EBDF3508DD38AFC03BC2D5E3EA379B07FDEAD72C7FDCD69772D51C1D9D24B49 - E21DCDAB66E196116F95850CF6FE52287A7D43FF00D6C662CDA58F36CC6F18EE - 32757EA57DBB0BCBB9879BDEB6A37E1979CF6C27269A7B8497F5DB9B6A458DD8 - 65B6FC525E6168EA7B64918A96348F1C7805A350916CBAA23BE93B4C85DA2592 - B1F1386B35B24CE6C783F2D95EED4A03AA504EE4DA660F673FDAE991D3EA231E - 31B37FEEB8A1C47B1A5E8BE0E263479F7ABCBB1DF8ECC3594B4D8DBB17B48ACC - F0D25AB4EDFEDF2E02A3FC99758C5A7191EF25690559FCD5EA47339C1C69F798 - 46A2DD01D1871B72D730A57F5785580BAF1E782698CA6A25E5C002BF0662DBA5 - 20A3CF232D0ACD3C5AA9AAF0990F5F8F3AF33268B8CF4B296C24A54F3FDC67A8 - F3AC4DD3470BA21878CB7D0E039F0C2BD9350CDB3997D090E4786ABF95C727DA - 75DB7C92E11E58FC1F4EB8ADC3EFAFE1686523EE916481DBE4D97FFF001573DE - 83537C63647EAF1C784CCD5C63C1B2A1F5B6FAD4E23A6D27201F3E9E75849F7E - 79E5C64BAC91849500474208EF5A6CCE62386931609BC389714F1529C3064901 - 3F47875E8FBE63876C3636DDC3EA41DA90AB7C9C14FF0093AB4743A9F7C6CD18 - F5B8D2E59B17AC7AE16C784521215BB03B7435F2D37604DCAE0CA90BF612A255 - E5E46B553CC0F0DA4AD4E397E7985107D96E049C7EF75F4B5F319C3CB1361B8D - 7B2E851CA96AB7C9DC3FE8EADFA1D47FD6CB4B5F8FB5937784DA5B75A48C3490 - 024E3B9CD6BD7AB7A0C27A42405049DB9F9EB4A739A4E1D2E3A922FCB0A23FA9 - F27BF97F43AF223996E1CAE3069CBF28823242ADF248DDFE4E8FD0EA3FEB62E1 - ADC49F73F9BADE531DBF063F57067200ED5ABCB65E425A90FB8572B3F83707E2 - 67FF000C8AFE6FFC6DE1FCA709897A0927F1C5BE4823FE8EB4DBBF16B4D3BE08 - 8777504A540AF7447BAFED29D8F49A85C3C6CE8AD6616B99A465EFD3A6BA95A1 - C756BD98CA770F8D79E1CD21AC21A517FC891D3E7FCD9AD66E3C47B1AEE46435 - 784B8823AA4C37F07F6958FBBF106D32168F57BB3A3E21B8CEA47E74D7461A1C - AB9DAD0D8EAF057D446C37D4A5C5EC657E1EEF7C28E0D6A6A5F86F2925DC8F85 - 7CA66ADB5CD6FDAB8A8280E998EEEE3F5EDAFE74D5B266A0B935E1B2B5B255D1 - 58C647D75D3D3E9726E4E48C9ABD76358DA84932F77294D291A359DC31DFF454 - FD51372F361167D30849053848C0352CD7AB4DB493F63E7926DC9B6294A5040A - 5294014D7D273CC5693E18F01AF7A12588378D61AB627ABC2B3C960480CB2560 - 2A6389DC3C3D9B545A5F53E3210529506D653CE5E59B555EB91AE6834C5CB895 - A2FE4B6A6C469120DEE2AC3F0214BDB99B1F6A54A0E213B92A48495603EC9095 - 956DEA6EB2E40F87FC4CE3935C50D6F78D49ACEE2CBC1C66C97892C2ED6DB49C - 96A38650CA4F8282776C2A216725CF137AF76D1CCFF281A179B2B5D862EB076E - B05FB23CEB90E6D9E4A5A752971290E3642D0B414A8A1B3D53B816C60805414F - 8CA296D1328C9BB2B97A5FAEB0AFDCA868DB95B65B170B74CD510E4469715C4B - 8D3ED2E14B521685A490A4A8104107041CD40DCBCF0039A4E34728F67B368FE2 - 5E9BB2F0AEF2CCB8ED5965294C4A0D7ADBA1F42DD6E229CDAB712E6407485216 - 527D9253577B54F219A475BF00AC3C22BF6B1D6574D3762B8A2E16E952264654 - D6128696D223073D5F05948757B4149527A242821294896F817C1AB2F2FDC2DB - 2E82D3D2674CB3DA7C6F01EB93885BEAF15E5BCADCA421093ED38A03091D00EF - DEA37A51A44ED6E56CD0B93CE52ECBCA3F0F26D8615CBEE82F1729665DC6F4E4 - 34465BF81B5A6929054A0DA139212A5ABDA71D50C6FDA368E69FF6327173FC11 - BB7F0376A51AC0EBFD1B0B88DA1751694B93AFB16EBEDBA45B24BB15412EA1A7 - 9B536B282A040500A3824119C7434BBB76C6552A4715F859C05D4DC4EE4691AD - B42A6EB2359687D7F2644489660E2A538D3F1ADC952D843485385E6DC6D85821 - 4909425D5752134E29F0175370C791A5EB6D749BAC7D65AE35FC6912E25E4389 - 94DB4C46B8A52B7D0EA12E079C71C7D649528290A695D095575AF968E5A34C72 - AFA167694D293AEB70B74CB8AEE6E3B7875B71D0EADB6DB2016DB40DB8693D31 - 9C93D7E0E65F968D31CD468583A5355CEBADBEDD0EE28B9B6ED9DD6DB74BA86D - C6C025C6D636E1D574C672075F8BBC4E7EC27C3E0E6DF11FE5AFF41E385DF25F - AF7A8FDD13DF2AFAA6FF000FD5BD72E1B7C7DBD3C3F1FD5F1BBA6FF0FF001B6D - 64B93FE5E6F5CCEF2A137465938ED6FB069F725937FD1AC6928AEC88EFF8FE23 - 2E3B277B6F39BC32D292E67184784090D148E8E70CB970D17C34E08DBB851EA5 - F753A421789FE96D48D332FC7DF21523F0A9F0C215B5C5653ECF4DA9F319AAE9 - A9BD10DC0EBEDF24CF81335669B8AF6DD96CB65C9B547670900ED2FB2E387241 - 51DCB3D547181800DEB941B1F0C8B389BC06B2F2E7E8D5E34E90B2EBD83C400D - EA28EECC9905A435EA7244BB7B4E45710975CDAE23C20482411BC0291DCC35C2 - 148FF42278D87033F75D1FAFFF0036D55D116B91BE1A5BF973BC705ED68BB5A7 - 4BDE1E6255C25C799BE6C892DA985178ADD4AD0952CC66F704A023BED4A7358B - D37C81F0FB4C72E5AA382F16F1A91CD2FA8AE28B9CA96F4960CD43A9547500DA - C32101398ADF42827AABAF51814D57FF0049707FD154F913FF00CD91CC0FFCBF - FF00D9D8A8BBD1E4A03964E6FB240FF5A29FE0772AE97F2FBCA968BE5D38637A - D03665CED41A76F12DE97358D445993E2F8ACB6CB8D29296D0953650D0052527 - 3956720E04231BD123C098F74BECA527523EC5C597DB8F09CB980D5B14E2B287 - 1829405A94D8E890F29D491EF859EB46F8F21B5F041FE84AFF00D71FFC8FFF00 - E6D750EA06E56F935D17CA4FDD2FDC85CEFB71F97FD5BD6BE5A7D9776781E2EC - D9E1B4DE33E32B39CF618C75CCF34B9B5295A2F0551A6294A52CB8A529400A52 - 9400A529400A529400A529400A529400A529401F390C890CADB3D943151C5F38 - 1F69BDC871E79B4952CF5E94A55E2E88B6BB1AACDE5534F4D7095B0820FCC2BC - AAE50F4D1491E023EC14A5129C976E03629F323E7F7A069BFC9D1F60A7DE81A6 - FF002747D8294AAF893F921C547843EF40D37F93A3EC14FBD034DFE4E8FB0529 - 47893F92C90FBD034DFE4E8FB053EF40D37F93A3EC14A54F8B3AAB21AA1F7A06 - 9BFC9D1F60A7DE81A6FF002747D8294AAC6725EE2DFD98FBD034DFE4E8FB053E - F40D37F93A3EC14A53565922C9B5EE3EF40D37F93A3EC14FBD034DFE4E8FB052 - 950F2C98393F91F7A069BFC9D1F60A7DE81A6FF2747D8294AAF8922ADB7EE3EF - 40D37F93A3EC14FBD034DFE4E8FB052947892215A7DC7DE81A6FF2747D829F7A - 069BFC9D1F60A52AAE72BBB34A4A7CC87DE81A6FF2747D82BFD4F283A6C281F5 - 747D8294A66E73E6459422BD8FA7DE8DA691D4474123CB02B61B0F2F365B2ED2 - 88C8494F6E8294A2EBD85CBCAF824EB3DA1BB347430C3612D81DC57BE94AA5D8 - 376294A5410294A500294A500294A500294A500294A500294A500294A500294A - 500294A500294A500294A500294A500294A500294A500294A500294A500294A5 - 007FFFD9} - end - object Label1: TLabel - Left = 40 - Top = 192 - Width = 377 - Height = 57 - AutoSize = False - Caption = - 'XP Menu is a none-visual component that changes the visual aspec' + - 'ts of menus, toolbars and many other controls to nearly the same' + - ' look and feel of MS Office XP. No code required, you do not hav' + - 'e to reconstruct menus or toolbars using controls other than tho' + - 'se shipped with Delphi.' - Color = clGray - Font.Charset = DEFAULT_CHARSET - Font.Color = clSilver - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - ParentColor = False - ParentFont = False - WordWrap = True - end - object Label2: TLabel - Left = 48 - Top = 160 - Width = 218 - Height = 13 - Caption = 'TUCXpStyle component is based in TXPMenu' - Font.Charset = DEFAULT_CHARSET - Font.Color = clSilver - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - ParentFont = False - end - object Label3: TLabel - Left = 40 - Top = 264 - Width = 236 - Height = 13 - Cursor = crHandPoint - Caption = 'Author: Khaled Shagrouni khaled@shagrouni.com' - Font.Charset = DEFAULT_CHARSET - Font.Color = clWhite - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - ParentFont = False - OnClick = Label3Click - end - object Label4: TLabel - Left = 40 - Top = 288 - Width = 274 - Height = 13 - Cursor = crHandPoint - Caption = 'http://www.shagrouni.com/english/software/xpmenu.html' - Font.Charset = DEFAULT_CHARSET - Font.Color = 16634037 - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [fsUnderline] - ParentFont = False - OnClick = Label4Click - end - object SpeedButton1: TSpeedButton - Left = 424 - Top = 282 - Width = 75 - Height = 25 - Caption = '&Close' - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - OnClick = SpeedButton1Click - end -end diff --git a/internal/2.31RC1/1/Source/UCAboutXpStyle_U.pas b/internal/2.31RC1/1/Source/UCAboutXpStyle_U.pas deleted file mode 100644 index 5cba471..0000000 --- a/internal/2.31RC1/1/Source/UCAboutXpStyle_U.pas +++ /dev/null @@ -1,46 +0,0 @@ -unit UCAboutXpStyle_U; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, Jpeg, ExtCtrls, StdCtrls, ShellApi, Buttons; - -type - TUCAboutXpStyle = class(TForm) - Image1: TImage; - Label1: TLabel; - Label2: TLabel; - Label3: TLabel; - Label4: TLabel; - SpeedButton1: TSpeedButton; - procedure Label3Click(Sender: TObject); - procedure SpeedButton1Click(Sender: TObject); - procedure Label4Click(Sender: TObject); - private - { Private declarations } - public - { Public declarations } - end; - - -implementation - -{$R *.dfm} - -procedure TUCAboutXpStyle.Label3Click(Sender: TObject); -begin - ShellExecute(0, 'open', 'mailto:khaled@shagrouni.com', nil, nil, sw_show); -end; - -procedure TUCAboutXpStyle.SpeedButton1Click(Sender: TObject); -begin - Close; -end; - -procedure TUCAboutXpStyle.Label4Click(Sender: TObject); -begin - ShellExecute(0, 'open', 'http://www.shagrouni.com/english/software/xpmenu.html', nil, nil, sw_show); -end; - -end. diff --git a/internal/2.31RC1/1/Source/UCBase.pas b/internal/2.31RC1/1/Source/UCBase.pas deleted file mode 100644 index 005af76..0000000 --- a/internal/2.31RC1/1/Source/UCBase.pas +++ /dev/null @@ -1,4080 +0,0 @@ -{ ------------------------------------------------------------------------------ - Unit Name: UCBase - Author: QmD - changed: 06-dez-2004 - Purpose: Main Unit - History: included delphi 2005 support ------------------------------------------------------------------------------} - -(* - - Vesões do Delphi - - VER120 = Delphi4 - VER130 = Delphi5 - VER140 = Delphi6 - VER150 = Delphi7 - VER160 = Delphi8 - VER170 = BDS2005 - VER180 = BDS2006 - -*) - -unit UCBase; - -interface - -{$I 'UserControl.inc'} - -uses - ActnList, - ActnMan, - ActnMenus, - Classes, - Controls, - DB, - ExtActns, - Forms, - Graphics, - md5, - Menus, - StdCtrls, - SysUtils, - UcConsts_Language, - UCDataConnector, - UCDataInfo, - UCMail, - UCMessages, - UCSettings, - Variants, - Windows; - -const - llBaixo = 0; - llNormal = 1; - llMedio = 2; - llCritico = 3; - -// Version -const - UCVersion = '2.31 RC1'; - -type - // Pensando em usar GUID para gerar a chave das tabelas !!!! - TUCGUID = class - //Creates and returns a new globally unique identifier - class function NovoGUID: TGUID; - //sometimes we need to have an "empty" value, like NULL - class function EmptyGUID: TGUID; - //Checks whether a Guid is EmptyGuid - class function IsEmptyGUID(GUID: TGUID): Boolean; - //Convert to string - class function ToString(GUID: TGUID): String; - //convert to quoted string - class function ToQuotedString(GUID: TGUID): String; - //return a GUID from string - class function FromString(Value: String): TGUID; - //Indicates whether two TGUID values are the same - class function EqualGUIDs(GUID1, GUID2: TGUID): Boolean; - //Creates and returns a new globally unique identifier string - class function NovoGUIDString: String; - end; - - TUCAboutVar = String; - - //classe para armazenar usuario logado = currentuser - TUCCurrentUser = class(TComponent) - private - FPerfilUsuario: TDataSet; - FPerfilGrupo: TDataSet; - public - UserID: Integer; - Profile: Integer; - UserIDOld: Integer; - IdLogon: String; - UserName: String; - UserLogin: String; - Password: String; - Email: String; - DateExpiration: TDateTime; - Privileged: Boolean; - UserNotExpired: Boolean; - UserDaysExpired: Integer; - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - published - { TODO 1 -oLuiz -cUpgrade : Terminar a implementação dos DataSets para os Perfis de Usuario Loggado } - property PerfilUsuario: TDataSet read FPerfilUsuario write FPerfilUsuario; //Cadastro de Usuarios - property PerfilGrupo: TDataSet read FPerfilGrupo write FPerfilGrupo; //Cadastro de Perfil - end; - - TUCUser = class(TPersistent) // armazenar menuitem ou action responsavel pelo controle de usuarios - private - FAction: TAction; - FMenuItem: TMenuItem; - FUsePrivilegedField: Boolean; - FProtectAdministrator: Boolean; - procedure SetAction(const Value: TAction); - procedure SetMenuItem(const Value: TMenuItem); - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property Action: TAction read FAction write SetAction; - property MenuItem: TMenuItem read FMenuItem write SetMenuItem; - property UsePrivilegedField: Boolean read FUsePrivilegedField write FUsePrivilegedField default False; - property ProtectAdministrator: Boolean read FProtectAdministrator write FProtectAdministrator default True; - end; - - TUCUserProfile = class(TPersistent) // armazenar menuitem ou action responsavel pelo Perfil de usuarios - private - FAtive: Boolean; - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property Active: Boolean read FAtive write FAtive default True; - end; - - TUCUserPasswordChange = class(TPersistent) // armazenar menuitem ou action responsavel pelo Form trocar senha - private - FForcePassword: Boolean; - FMinPasswordLength: Integer; - FAction: TAction; - FMenuItem: TMenuItem; - procedure SetAction(const Value: TAction); - procedure SetMenuItem(const Value: TMenuItem); - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property Action: TAction read FAction write SetAction; - property MenuItem: TMenuItem read FMenuItem write SetMenuItem; - property ForcePassword: Boolean read FForcePassword write FForcePassword default False; - property MinPasswordLength: Integer read FMinPasswordLength write FMinPasswordLength default 0; - end; - - TUCUserLogoff = class(TPersistent) // armazenar menuitem ou action responsavel pelo logoff - private - FAction: TAction; - FMenuItem: TMenuItem; - procedure SetAction(const Value: TAction); - procedure SetMenuItem(const Value: TMenuItem); - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property Action: TAction read FAction write SetAction; - property MenuItem: TMenuItem read FMenuItem write SetMenuItem; - end; - - TUCAutoLogin = class(TPersistent) // armazenar configuracao de Auto-Logon - private - FActive: Boolean; - FUser: String; - FPassword: String; - FMessageOnError: Boolean; - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property Active: Boolean read FActive write FActive default False; - property User: String read FUser write FUser; - property Password: String read FPassword write FPassword; - property MessageOnError: Boolean read FMessageOnError write FMessageOnError default True; - end; - - TUCInitialLogin = class(TPersistent) // armazenar Dados do Login que sera criado na primeira execucao do programa. - private - FUser: String; - FPassword: String; - FInitialRights: TStrings; - FEmail: String; - procedure SetInitialRights(const Value: TStrings); - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property User: String read FUser write FUser; - property Email: String read FEmail write FEmail; - property Password: String read FPassword write FPassword; - property InitialRights: TStrings read FInitialRights write SetInitialRights; - end; - - TUCGetLoginName = (lnNone, lnUserName, lnMachineName); - - TUCLogin = class(TPersistent) - private - FAutoLogin: TUCAutoLogin; - FMaxLoginAttempts: Integer; - FInitialLogin: TUCInitialLogin; - FGetLoginName: TUCGetLoginName; - fCharCaseUser: TEditCharCase; - fCharCasePass: TEditCharCase; - fDateExpireActive: Boolean; - fDaysOfSunExpired: Word; - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property AutoLogin: TUCAutoLogin read FAutoLogin write FAutoLogin; - property InitialLogin: TUCInitialLogin read FInitialLogin write FInitialLogin; - property MaxLoginAttempts: Integer read FMaxLoginAttempts write FMaxLoginAttempts; - property GetLoginName: TUCGetLoginName read FGetLoginName write FGetLoginName default lnNone; - property CharCaseUser: TEditCharCase read fCharCaseUser write fCharCaseUser default ecNormal; { By Vicente Barros leonel } - property CharCasePass: TEditCharCase read fCharCasePass write fCharCasePass default ecNormal; { By Vicente Barros leonel } - property ActiveDateExpired: Boolean read fDateExpireActive write fDateExpireActive default False; { By Vicente Barros leonel } - property DaysOfSunExpired: Word read fDaysOfSunExpired write fDaysOfSunExpired default 30; { By Vicente Barros leonel } - end; - - TUCNotAllowedItems = class(TPersistent) // Ocultar e/ou Desabilitar os itens que o usuario nao tem acesso - private - FMenuVisible: Boolean; - FActionVisible: Boolean; - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property MenuVisible: Boolean read FMenuVisible write FMenuVisible default True; - property ActionVisible: Boolean read FActionVisible write FActionVisible default True; - end; - - TUCLogControl = class(TPersistent) // Responsavel pelo Controle de Log - private - FActive: Boolean; - FTableLog: String; - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property Active: Boolean read FActive write FActive default True; - property TableLog: String read FTableLog write FTableLog; - end; - - TUCControlRight = class(TPersistent) // Menu / ActionList/ActionManager ou ActionMainMenuBar a serem Controlados - private - FActionList: TActionList; - FActionManager: TActionManager; - FActionMainMenuBar: TActionMainMenuBar; - FMainMenu: TMenu; - procedure SetActionList(const Value: TActionList); - procedure SetActionManager(const Value: TActionManager); - procedure SetActionMainMenuBar(const Value: TActionMainMenuBar); - procedure SetMainMenu(const Value: TMenu); - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property ActionList: TActionList read FActionList write SetActionList; - property MainMenu: TMenu read FMainMenu write SetMainMenu; - property ActionManager: TActionManager read FActionManager write SetActionManager; - property ActionMainMenuBar: TActionMainMenuBar read FActionMainMenuBar write SetActionMainMenuBar; - end; - - TOnLogin = procedure(Sender: TObject; var User, Password: String) of object; - TOnLoginSucess = procedure(Sender: TObject; IdUser: Integer; Usuario, Nome, Senha, Email: String; Privileged: Boolean) of object; - TOnLoginError = procedure(Sender: TObject; Usuario, Senha: String) of object; - TOnApplyRightsMenuItem = procedure(Sender: TObject; MenuItem: TMenuItem) of object; - TOnApllyRightsActionItem = procedure(Sender: TObject; Action: TAction) of object; - TCustomUserForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object; - TCustomUserProfileForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object; - TCustomLoginForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object; - TCustomUserPasswordChangeForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object; - TCustomLogControlForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object; - TCustomInitialMessage = procedure(Sender: TObject; var CustomForm: TCustomForm; var Msg: TStrings) of object; - TCustomUserLoggedForm = procedure(Sender: TObject; var CustomForm: TCustomForm) of object; //Cesar: 13/07/2005 - TOnAddUser = procedure(Sender: TObject; var Login, Password, Name, Mail: String; var Profile: Integer; var Privuser: Boolean) of object; - TOnChangeUser = procedure(Sender: TObject; IDUser: Integer; var Login, Name, Mail: String; var Profile: Integer; var Privuser: Boolean) of object; - TOnDeleteUser = procedure(Sender: TObject; IDUser: Integer; var CanDelete: Boolean; var ErrorMsg: String) of object; - TOnAddProfile = procedure(Sender: TObject; var Profile: String) of object; - TOnDeleteProfile = procedure(Sender: TObject; IDProfile: Integer; var CanDelete: Boolean; var ErrorMsg: String) of object; - TOnChangePassword = procedure(Sender: TObject; IDUser: Integer; Login, CurrentPassword, NewPassword: String) of object; - TOnLogoff = procedure(Sender: TObject; IDUser: Integer) of object; - - TUCExtraRights = class; - TUCExecuteThread = class; - TUCApplicationMessage = class; - TUCControls = class; - TUCUsersLogged = class; //Cesar: 12/07/2005 - - TUCLoginMode = (lmActive, lmPassive); - TUCCriptografia = (cPadrao, cMD5); - - TUserControl = class(TComponent) // Classe principal - private - FCurrentUser: TUCCurrentUser; - FUserSettings: TUCUserSettings; - FApplicationID: String; - FNotAllowedItems: TUCNotAllowedItems; - FOnLogin: TOnLogin; - FOnStartApplication: TNotifyEvent; - FOnLoginError: TOnLoginError; - FOnLoginSucess: TOnLoginSucess; - FOnApplyRightsActionIt: TOnApllyRightsActionItem; - FOnApplyRightsMenuIt: TOnApplyRightsMenuItem; - FLogControl: TUCLogControl; - FEncrytKey: Word; - FUser: TUCUser; - FLogin: TUCLogin; - FUserProfile: TUCUserProfile; - FUserPasswordChange: TUCUserPasswordChange; - FControlRight: TUCControlRight; - FOnCustomCadUsuarioForm: TCustomUserForm; - FCustomLogControlForm: TCustomLogControlForm; - FCustomLoginForm: TCustomLoginForm; - FCustomPerfilUsuarioForm: TCustomUserProfileForm; - FCustomTrocarSenhaForm: TCustomUserPasswordChangeForm; - FOnAddProfile: TOnAddProfile; - FOnAddUser: TOnAddUser; - FOnChangePassword: TOnChangePassword; - FOnChangeUser: TOnChangeUser; - FOnDeleteProfile: TOnDeleteProfile; - FOnDeleteUser: TOnDeleteUser; - FOnLogoff: TOnLogoff; - FCustomInicialMsg: TCustomInitialMessage; - FAbout: TUCAboutVar; - FExtraRights: TUCExtraRights; - FThUCRun: TUCExecuteThread; - FAutoStart: Boolean; - FTableRights: TUCTableRights; - FTableUsers: TUCTableUsers; - FLoginMode: TUCLoginMode; - FControlList: TList; - FDataConnector: TUCDataConnector; - FLoginMonitorList: TList; - FAfterLogin: TNotifyEvent; - FCheckValidationKey: Boolean; - FCriptografia: TUCCriptografia; - FUsersLogged: TUCUsersLogged; - FTableUsersLogged: TUCTableUsersLogged; - FUsersLogoff: TUCUserLogoff; - fLanguage: TUCLanguage; - FMailUserControl: TMailUserControl; - procedure SetExtraRights(Value: TUCExtraRights); - procedure ActionCadUser(Sender: TObject); - procedure ActionTrocaSenha(Sender: TObject); - procedure ActionOKLogin(Sender: TObject); - procedure TestaFecha(Sender: TObject; var CanClose: Boolean); - procedure ApplySettings(SourceSettings: TUCSettings); - procedure UnlockEX(FormObj: TCustomForm; ObjName: String); - procedure LockEX(FormObj: TCustomForm; ObjName: String; naInvisible: Boolean); - {.$IFDEF UCACTMANAGER} - procedure TrataActMenuBarIt(IT: TActionClientItem; ADataset: TDataset); - procedure IncPermissActMenuBar(idUser: Integer; Act: TAction); - {.$ENDIF} - procedure SetDataConnector(const Value: TUCDataConnector); - procedure DoCheckValidationField; - procedure SetfLanguage(const Value: TUCLanguage); - procedure SetFMailUserControl(const Value: TMailUserControl); - procedure ActionEsqueceuSenha(Sender: TObject); - protected - FRetry: Integer; - // Formulários - FFormTrocarSenha: TCustomForm; - FFormLogin: TCustomForm; - FFormGeral: TCustomForm; - // ----- - - procedure Loaded; override; - // Criar Formulários - procedure CriaFormTrocarSenha; dynamic; - // ----- - - procedure ActionLogoff(Sender: TObject); dynamic; - procedure ActionTSBtGrava(Sender: TObject); - procedure SetUserSettings(const Value: TUCUserSettings); - procedure SetfrmLoginWindow(Form: TCustomForm); - procedure Notification(AComponent: TComponent; AOperation: TOperation); override; - procedure RegistraCurrentUser(Dados: TDataset); - procedure ApplyRightsObj(ADataset: TDataset; FProfile: Boolean = False); - procedure ShowLogin; - procedure ApplyRights; - - // Criar Tabelas - procedure CriaTabelaLog; - procedure CriaTabelaRights(ExtraRights: Boolean = False); - procedure CriaTabelaUsuarios(TableExists: Boolean); - procedure CriaTabelaMsgs(const TableName: String); - // ----- - - // Atualiza Versao - procedure AtualizarVersao; - //-------- - - procedure TryAutoLogon; - procedure AddUCControlMonitor(UCControl: TUCControls); - procedure DeleteUCControlMonitor(UCControl: TUCControls); - procedure ApplyRightsUCControlMonitor; - procedure LockControlsUCControlMonitor; - procedure AddLoginMonitor(UCAppMessage: TUCApplicationMessage); - procedure DeleteLoginMonitor(UCAppMessage: TUCApplicationMessage); - procedure NotificationLoginMonitor; - procedure ShowNewConfig; - public - procedure Logoff; - procedure Execute; - procedure StartLogin; - procedure ShowChangePassword; - procedure ChangeUser(IDUser: Integer; Login, Name, Mail: String; Profile, UserExpired, UserDaysSun, Status: Integer; PrivUser: Boolean); - 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); - procedure HideField(Sender: TField; var Text: String; DisplayText: Boolean); - procedure Log(MSG: String; Level: Integer = llNormal); - function VerificaLogin(User, Password: String): Integer;//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 UserSettings: TUCUserSettings read FUserSettings write SetUserSettings; - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - published - property About: TUCAboutVar read FAbout write FAbout; - property Criptografia: TUCCriptografia read FCriptografia write FCriptografia default cPadrao; - property AutoStart: Boolean read FAutoStart write FAutoStart default False; - property ApplicationID: String read FApplicationID write FApplicationID; - property ControlRight: TUCControlRight read FControlRight write FControlRight; - // Controle dos formularios - property User: TUCUser read FUser write FUser; - property UserProfile: TUCUserProfile read FUserProfile write FUserProfile; - property UserPasswordChange: TUCUserPasswordChange read FUserPasswordChange write FUserPasswordChange; - property UsersLogged: TUCUsersLogged read FUsersLogged write FUsersLogged; - property UsersLogoff: TUCUserLogoff read FUsersLogoff write FUsersLogoff; //by vicente barros leonel - property LogControl: TUCLogControl read FLogControl write FLogControl; - - property MailUserControl: TMailUserControl read FMailUserControl write SetFMailUserControl; // by vicente barros leonel - - property Language: TUCLanguage read fLanguage write SetfLanguage; - - property EncryptKey: Word read FEncrytKey write FEncrytKey; - property NotAllowedItems: TUCNotAllowedItems read FNotAllowedItems write FNotAllowedItems; - property Login: TUCLogin read FLogin write FLogin; - property ExtraRights: TUCExtraRights read FExtraRights write SetExtraRights; - property LoginMode: TUCLoginMode read FLoginMode write FLoginMode default lmActive; - // Tabelas - property TableUsers: TUCTableUsers read FTableUsers write FTableUsers; - property TableRights: TUCTableRights read FTableRights write FTableRights; - property TableUsersLogged: TUCTableUsersLogged read FTableUsersLogged write FTableUsersLogged; - - property DataConnector: TUCDataConnector read FDataConnector write SetDataConnector; - property CheckValidationKey: Boolean read FCheckValidationKey write FCheckValidationKey default False; - // Eventos - property OnLogin: TOnLogin read FOnLogin write FOnLogin; - property OnStartApplication: TNotifyEvent read FOnStartApplication write FOnStartApplication; - property OnLoginSucess: TOnLoginSucess read FOnLoginSucess write FOnLoginSucess; - property OnLoginError: TOnLoginError read FOnLoginError write FOnLoginError; - property OnApplyRightsMenuIt: TOnApplyRightsMenuItem read FOnApplyRightsMenuIt write FOnApplyRightsMenuIt; - property OnApplyRightsActionIt: TOnApllyRightsActionItem read FOnApplyRightsActionIt write FOnApplyRightsActionIt; - property OnCustomUsersForm: TCustomUserForm read FOnCustomCadUsuarioForm write FOnCustomCadUsuarioForm; - property OnCustomUsersProfileForm: TCustomUserProfileForm read FCustomPerfilUsuarioForm write FCustomPerfilUsuarioForm; - property OnCustomLoginForm: TCustomLoginForm read FCustomLoginForm write FCustomLoginForm; - property OnCustomChangePasswordForm: TCustomUserPasswordChangeForm read FCustomTrocarSenhaForm write FCustomTrocarSenhaForm; - property OnCustomLogControlForm: TCustomLogControlForm read FCustomLogControlForm write FCustomLogControlForm; - property OnCustomInitialMsg: TCustomInitialMessage read FCustomInicialMsg write FCustomInicialMsg; - property OnCustomUserLoggedForm: TCustomUserForm read FOnCustomCadUsuarioForm write FOnCustomCadUsuarioForm; //Cesar: 13/07/2005 - property OnAddUser: TOnAddUser read FOnAddUser write FOnAddUser; - property OnChangeUser: TOnChangeUser read FOnChangeUser write FOnChangeUser; - property OnDeleteUser: TOnDeleteUser read FOnDeleteUser write FOnDeleteUser; - property OnAddProfile: TOnAddProfile read FOnAddProfile write FOnAddProfile; - property OnDeleteProfile: TOnDeleteProfile read FOnDeleteProfile write FOnDeleteProfile; - property OnChangePassword: TOnChangePassword read FOnChangePassword write FOnChangePassword; - property OnLogoff: TOnLogoff read FOnLogoff write FOnLogoff; - property OnAfterLogin: TNotifyEvent read FAfterLogin write FAfterLogin; - end; - - TUCExtraRightsItem = class(TCollectionItem) - private - FFormName: String; - FCompName: String; - FCaption: String; - FGroupName: String; - procedure SetFormName(const Value: String); - procedure SetCompName(const Value: String); - procedure SetCaption(const Value: String); - procedure SetGroupName(const Value: String); - protected - function GetDisplayName: String; override; - public - published - property FormName: String read FFormName write SetFormName; - property CompName: String read FCompName write SetCompName; - property Caption: String read FCaption write SetCaption; - property GroupName: String read FGroupName write SetGroupName; - end; - - TUCExtraRights = class(TCollection) - private - FUCBase: TUserControl; - function GetItem(Index: Integer): TUCExtraRightsItem; - procedure SetItem(Index: Integer; Value: TUCExtraRightsItem); - protected - function GetOwner: TPersistent; override; - public - constructor Create(UCBase: TUserControl); - function Add: TUCExtraRightsItem; - property Items[Index: Integer]: TUCExtraRightsItem read GetItem write SetItem; default; - end; - - TUCVerificaMensagemThread = class(TThread) - private - procedure VerNovaMansagem; - public - AOwner: TComponent; - protected - procedure Execute; override; - end; - - TUCExecuteThread = class(TThread) - private - procedure UCStart; - public - AOwner: TComponent; - protected - procedure Execute; override; - end; - - TUCApplicationMessage = class(TComponent) - private - FActive: Boolean; - FReady: Boolean; - FInterval: Integer; - FUserControl: TUserControl; - FVerifThread: TUCVerificaMensagemThread; - FTableMessages: String; - procedure SetActive(const Value: Boolean); - procedure SetUserControl(const Value: TUserControl); - protected - procedure Loaded; override; - procedure Notification(AComponent: TComponent; AOperation: TOperation); override; - public - constructor Create(AOWner: TComponent); override; - destructor Destroy; override; - procedure ShowMessages(Modal: Boolean = True); - procedure SendAppMessage(ToUser: Integer; Subject, Msg: String); - procedure DeleteAppMessage(IdMsg: Integer); - procedure CheckMessages; - published - property Active: Boolean read FActive write SetActive; - property Interval: Integer read FInterval write FInterval; - property TableMessages: String read FTableMessages write FTableMessages; - property UserControl: TUserControl read FUserControl write SetUserControl; - end; - - TUCComponentsVar = String; - - TUCNotAllowed = (naInvisible, naDisabled); - - TUCControls = class(TComponent) - private - FGroupName: String; - FComponents: TUCComponentsVar; - FUserControl: TUserControl; - FNotAllowed: TUCNotAllowed; - function GetAccessType: String; - function GetActiveForm: String; - procedure SetGroupName(const Value: String); - procedure SetUserControl(const Value: TUserControl); - protected - procedure Loaded; override; - procedure Notification(AComponent: TComponent; AOperation: TOperation); override; - public - destructor Destroy; override; - procedure ApplyRights; - procedure LockControls; - procedure ListComponents(Form: String; List: TStrings); - published - property AccessType: String read GetAccessType; - property ActiveForm: String read GetActiveForm; - property GroupName: String read FGroupName write SetGroupName; - property UserControl: TUserControl read FUserControl write SetUserControl; - property Components: TUCComponentsVar read FComponents write FComponents; - property NotAllowed: TUCNotAllowed read FNotAllowed write FNotAllowed default naInvisible; - end; - - TUCUsersLogged = class(TPersistent) - //Cesar: 12/07/2005: classe que armazena os usuarios logados no sistema - private - FUserControl: TUserControl; - FAtive: Boolean; - fMultipleLogin: Boolean; - procedure AddCurrentUser; - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - procedure DelCurrentUser; - procedure CriaTableUserLogado; - function UsuarioJaLogado(ID: Integer): Boolean; - published - property Active: Boolean read FAtive write FAtive default True; - property MultipleLogin: Boolean read fMultipleLogin write fMultipleLogin default True; - end; - -function Decrypt(const S: ansistring; Key: Word): ansistring; -function Encrypt(const S: ansistring; Key: Word): ansistring; -function MD5Sum(strValor: String): String; - -{ TODO -oLuiz -cUpgrade : Mudar o GetLoginName para a Unit principal } - -implementation - -{$R UCLock.res} - -uses - DBGrids, - Dialogs, - LoginWindow_U, - MsgRecForm_U, - MsgsForm_U, - pUCGeral, - TrocaSenha_U, - UserPermis_U; - - -{$IFDEF DELPHI9_UP} {$REGION 'TUSerControl'} {$ENDIF} - -{ TUserControl } - -constructor TUserControl.Create(AOwner: TComponent); -begin - inherited; - FCurrentUser := TUCCurrentUser.Create(Self); - FControlRight := TUCControlRight.Create(Self); - FLogin := TUCLogin.Create(Self); - FLogControl := TUCLogControl.Create(Self); - FUser := TUCUser.Create(Self); - FUserProfile := TUCUserProfile.Create(Self); - FUserPasswordChange := TUCUserPasswordChange.Create(Self); - FUsersLogged := TUCUsersLogged.Create(Self); - FUsersLogoff := TUCUserLogoff.Create(Self); - FUserSettings := TUCUserSettings.Create(Self); - FNotAllowedItems := TUCNotAllowedItems.Create(Self); - FExtraRights := TUCExtraRights.Create(Self); - FTableUsers := TUCTableUsers.Create(Self); - FTableRights := TUCTableRights.Create(Self); - FTableUsersLogged := TUCTableUsersLogged.Create(Self); - - - if csDesigning in ComponentState then - begin - with TableUsers do - begin - if TableName = '' then - TableName := RetornaLingua(fLanguage, 'Const_TableUsers_TableName'); - if FieldUserID = '' then - FieldUserID := RetornaLingua(fLanguage, 'Const_TableUsers_FieldUserID'); - if FieldUserName = '' then - FieldUserName := RetornaLingua(fLanguage, 'Const_TableUsers_FieldUserName'); - if FieldLogin = '' then - FieldLogin := RetornaLingua(fLanguage, 'Const_TableUsers_FieldLogin'); - if FieldPassword = '' then - FieldPassword := RetornaLingua(fLanguage, 'Const_TableUsers_FieldPassword'); - if FieldEmail = '' then - FieldEmail := RetornaLingua(fLanguage, 'Const_TableUsers_FieldEmail'); - if FieldPrivileged = '' then - FieldPrivileged := RetornaLingua(fLanguage, 'Const_TableUsers_FieldPrivileged'); - if FieldTypeRec = '' then - FieldTypeRec := RetornaLingua(fLanguage, 'Const_TableUsers_FieldTypeRec'); - if FieldProfile = '' then - FieldProfile := RetornaLingua(fLanguage, 'Const_TableUsers_FieldProfile'); - if FieldKey = '' then - FieldKey := RetornaLingua(fLanguage, 'Const_TableUsers_FieldKey'); - - if FieldDateExpired = '' then - FieldDateExpired := RetornaLingua(fLanguage, 'Const_TableUsers_FieldDateExpired'); {Vicente Barros Leonel} - - if FieldUserExpired = '' then - FieldUserExpired := RetornaLingua(fLanguage, 'Const_TableUser_FieldUserExpired'); {Vicente Barros Leonel} - - if FieldUserDaysSun = '' then - FieldUserDaysSun := RetornaLingua(fLanguage, 'Const_TableUser_FieldUserDaysSun'); { Vicente Barros leoenl } - - if FieldUserInative = '' then - FieldUserInative := RetornaLingua(fLanguage, 'Const_TableUser_FieldUserInative'); { Vicente Barros leoenl } - end; - - with TableRights do - begin - if TableName = '' then - TableName := RetornaLingua(fLanguage, 'Const_TableRights_TableName'); - if FieldUserID = '' then - FieldUserID := RetornaLingua(fLanguage, 'Const_TableRights_FieldUserID'); - if FieldModule = '' then - FieldModule := RetornaLingua(fLanguage, 'Const_TableRights_FieldModule'); - if FieldComponentName = '' then - FieldComponentName := RetornaLingua(fLanguage, 'Const_TableRights_FieldComponentName'); - if FieldFormName = '' then - FieldFormName := RetornaLingua(fLanguage, 'Const_TableRights_FieldFormName'); - if FieldKey = '' then - FieldKey := RetornaLingua(fLanguage, 'Const_TableRights_FieldKey'); - end; - - with TableUsersLogged do - begin - if TableName = '' then - TableName := RetornaLingua(fLanguage, 'Const_TableUsersLogged_TableName'); - if FieldLogonID = '' then - FieldLogonID := RetornaLingua(fLanguage, 'Const_TableUsersLogged_FieldLogonID'); - if FieldUserID = '' then - FieldUserID := RetornaLingua(fLanguage, 'Const_TableUsersLogged_FieldUserID'); - if FieldApplicationID = '' then - FieldApplicationID := RetornaLingua(fLanguage, 'Const_TableUsersLogged_FieldApplicationID'); - if FieldMachineName = '' then - FieldMachineName := RetornaLingua(fLanguage, 'Const_TableUsersLogged_FieldMachineName'); - if FieldData = '' then - FieldData := RetornaLingua(fLanguage, 'Const_TableUsersLogged_FieldData'); - end; - - - if LogControl.TableLog = '' then - LogControl.TableLog := 'UCLog'; - if ApplicationID = '' then - ApplicationID := 'ProjetoNovo'; - if Login.InitialLogin.User = '' then - Login.InitialLogin.User := 'admin'; - if Login.InitialLogin.Password = '' then - Login.InitialLogin.Password := '123mudar'; - if Login.InitialLogin.Email = '' then - Login.InitialLogin.Email := 'usercontrol@usercontrol.net'; - - FLoginMode := lmActive; - FCriptografia := cPadrao; - FAutoStart := False; - FUserProfile.Active := True; - FLogControl.Active := True; - FUser.UsePrivilegedField := False; - FUser.ProtectAdministrator := True; - FUsersLogged.Active := True; - NotAllowedItems.MenuVisible := True; - NotAllowedItems.ActionVisible := True; - end - else - begin - FControlList := TList.Create; - FLoginMonitorList := TList.Create; - end; - - UCSettings.IniSettings(UserSettings); -end; - -procedure TUserControl.Loaded; -var - Contador: Integer; -begin - inherited; - if not (csDesigning in ComponentState) then - begin - if not Assigned(DataConnector) then - raise Exception.Create(RetornaLingua(fLanguage, 'MsgExceptConnector')); - - if ApplicationID = '' then - raise Exception.Create(RetornaLingua(fLanguage, 'MsgExceptAppID')); - - if ((not Assigned(ControlRight.ActionList)) and - (not Assigned(ControlRight.ActionManager)) and - (not Assigned(ControlRight.MainMenu)) and - (not Assigned(ControlRight.ActionMainMenuBar))) then - raise Exception.Create(Format(RetornaLingua(fLanguage, 'MsgExceptPropriedade'), ['ControlRight'])); - - for Contador := 0 to Pred(Owner.ComponentCount) do - if Owner.Components[Contador] is TUCSettings then - begin - Language := TUCSettings(Owner.Components[Contador]).Language;// torna a linguage do UCSETTINGS como padrão - FUserSettings.BancoDados := TUCSettings(Owner.Components[Contador]).BancoDados; - ApplySettings(TUCSettings(Owner.Components[Contador])); - end; - - if Assigned(User.MenuItem) and (not Assigned(User.MenuItem.OnClick)) then - User.MenuItem.OnClick := ActionCadUser; - - if Assigned(User.Action) and (not Assigned(User.Action.OnExecute)) then - User.Action.OnExecute := ActionCadUser; - - if ((not Assigned(User.Action)) and (not Assigned(User.MenuItem))) then - raise Exception.Create(Format(RetornaLingua(fLanguage, 'MsgExceptPropriedade'), ['User'])); - - if Assigned(UserPasswordChange.MenuItem) and (not Assigned(UserPasswordChange.MenuItem.OnClick)) then - UserPasswordChange.MenuItem.OnClick := ActionTrocaSenha; - - if Assigned(UserPasswordChange.Action) and (not Assigned(UserPasswordChange.Action.OnExecute)) then - UserPasswordChange.Action.OnExecute := ActionTrocaSenha; - - { By Vicente Barros Leonel } - if Assigned(UsersLogoff.MenuItem) and (not Assigned(UsersLogoff.MenuItem.OnClick)) then - UsersLogoff.MenuItem.OnClick := ActionLogoff; - - if Assigned(UsersLogoff.Action) and (not Assigned(UsersLogoff.Action.OnExecute)) then - UsersLogoff.Action.OnExecute := ActionLogoff; - - if ((not Assigned(UserPasswordChange.Action)) and (not Assigned(UserPasswordChange.MenuItem))) then - raise Exception.Create(Format(RetornaLingua(fLanguage, 'MsgExceptPropriedade'), ['UserPasswordChange'])); - - if ((not Assigned(UsersLogoff.Action)) and (not Assigned(UsersLogoff.MenuItem))) then - raise Exception.Create(Format(RetornaLingua(fLanguage, 'MsgExceptPropriedade'), ['UsersLogoff'])); - - with TableUsers do - begin - if TableName = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable')); - if FieldUserID = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldUserID***'); - if FieldUserName = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldUserName***'); - if FieldLogin = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldLogin***'); - if FieldPassword = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldPassword***'); - if FieldEmail = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldEmail***'); - if FieldPrivileged = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldPrivileged***'); - if FieldTypeRec = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldTypeRec***'); - if FieldKey = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldKey***'); - if FieldProfile = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldProfile***'); - - if FieldDateExpired = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldDateExpired***'); - - if FieldUserExpired = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldUserExpired***'); - - if FieldUserDaysSun = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldUserDaysSun***'); - - if FieldUserInative = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptUsersTable') + #13 + #10 + 'FieldUserInative***'); - - end; - - with TableRights do - begin - if TableName = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptRightsTable')); - if FieldUserID = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptRightsTable') + #13 + #10 + 'FieldProfile***'); - if FieldModule = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptRightsTable') + #13 + #10 + 'FieldModule***'); - if FieldComponentName = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptRightsTable') + #13 + #10 + 'FieldComponentName***'); - if FieldFormName = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptRightsTable') + #13 + #10 + 'FieldFormName***'); - if FieldKey = '' then - Exception.Create(RetornaLingua(fLanguage, 'MsgExceptRightsTable') + #13 + #10 + 'FieldKey***'); - end; - - if Assigned(OnStartApplication) then - OnStartApplication(self); - - //desviar para thread monitorando conexao ao banco qmd 30/01/2004 - if FAutoStart then - begin - FThUCRun := TUCExecuteThread.Create(True); - FThUCRun.AOwner := Self; - FThUCRun.FreeOnTerminate := True; - FThUCRun.Resume; - end; - end; -end; - -procedure TUserControl.ActionCadUser(Sender: TObject); -begin - ShowNewConfig; -end; - -procedure TUserControl.ActionEsqueceuSenha(Sender: TObject); -var - FDataset: TDataset; -begin - FDataset := DataConnector.UCGetSQLDataset('Select * from ' + TableUsers.TableName + ' Where ' + - TableUsers.FieldLogin + ' = ' + QuotedStr(TfrmLoginWindow(FFormLogin).EditUsuario.Text)); - try - if not FDataset.IsEmpty then - { TODO -oLuiz -cUpgrade : Consertar o método EnviarEsqueceuSenha para usar a criptografia md5 } - MailUserControl.EnviaEsqueceuSenha(FDataset.FieldByName(TableUsers.FieldUserName).AsString, - FDataset.FieldByName(TableUsers.FieldLogin).AsString, - FDataset.FieldByName(TableUsers.FieldPassword).AsString, - FDataset.FieldByName(TableUsers.FieldEmail).AsString, '', EncryptKey) - - else - MessageDlg(UserSettings.CommonMessages.InvalidLogin, mtWarning, [mbOK], 0); - finally - FDataset.Close; - FDataset.Free; - end; -end; - -procedure TUserControl.ActionTrocaSenha(Sender: TObject); -begin - if Assigned(OnCustomChangePasswordForm) then - OnCustomChangePasswordForm(Self, FFormTrocarSenha); - - if FFormTrocarSenha = nil then - CriaFormTrocarSenha; - - FFormTrocarSenha.ShowModal; - FreeAndNil(FFormTrocarSenha); -end; - -function TUserControl.ExisteUsuario(Login: String): Boolean; -var - SQLstmt: String; - DataSet: TDataSet; -begin - SQLstmt := Format('SELECT %s.%s FROM %s WHERE %s.%s=%s', - [Self.TableUsers.TableName, - Self.TableUsers.FieldLogin, - Self.TableUsers.TableName, - Self.TableUsers.TableName, - Self.TableUsers.FieldLogin, - QuotedStr(Login)]); - - DataSet := Self.DataConnector.UCGetSQLDataset(SQLstmt); - try - Result := (Dataset.RecordCount > 0); - finally - SysUtils.FreeAndNil(DataSet); - end; -end; - -function TUserControl.GetLocalComputerName: String; -var - Count: DWORD; - Buffer: String; -begin - Count := MAX_COMPUTERNAME_LENGTH + 1; - SetLength(Buffer, Count); - if GetComputerName(PChar(Buffer), Count) then - SetLength(Buffer, StrLen(PChar(Buffer))) - else - Buffer := ''; - Result := Buffer; -end; - -function TUserControl.GetLocalUserName: String; -var - Count: DWORD; - Buffer: String; -begin - Count := 254; - SetLength(Buffer, Count); - if GetUserName(PChar(Buffer), Count) then - SetLength(Buffer, StrLen(PChar(Buffer))) - else - Buffer := ''; - Result := Buffer; -end; - -procedure TUserControl.CriaFormTrocarSenha; -begin - FFormTrocarSenha := TTrocaSenha.Create(Self); - with Self.UserSettings.ChangePassword do - begin - TTrocaSenha(FFormTrocarSenha).fUsercontrol := Self; - TTrocaSenha(FFormTrocarSenha).Caption := WindowCaption; - TTrocaSenha(FFormTrocarSenha).lbDescricao.Caption := LabelDescription; - TTrocaSenha(FFormTrocarSenha).lbSenhaAtu.Caption := LabelCurrentPassword; - TTrocaSenha(FFormTrocarSenha).lbNovaSenha.Caption := LabelNewPassword; - TTrocaSenha(FFormTrocarSenha).lbConfirma.Caption := LabelConfirm; - TTrocaSenha(FFormTrocarSenha).btGrava.Caption := BtSave; - TTrocaSenha(FFormTrocarSenha).btCancel.Caption := BtCancel; - TTrocaSenha(FFormTrocarSenha).ForcarTroca := False; // Vicente Barros Leonel - end; - TTrocaSenha(FFormTrocarSenha).Position := Self.UserSettings.WindowsPosition; // Adicionado por Luiz Benevenuto - - TTrocaSenha(FFormTrocarSenha).btGrava.OnClick := ActionTSBtGrava; - if CurrentUser.Password = '' then - TTrocaSenha(FFormTrocarSenha).EditAtu.Enabled := False; -end; - -procedure TUserControl.ActionTSBtGrava(Sender: TObject); -var - AuxPass: String; -begin - { Pelo que eu analizei, a gravação da senha no Banco de Dados e feita criptografada - Qdo a criptografia e padrão, a funcao RegistraCurrentUser descriptografa a senha atual - agora quando criptografia e MD5SUM, devemos criptografar a senha atual vinda do formulario de - troca de senha para podemoscomparar com a senha atual da classe TUCCurrentUser - Modificação Feita por Vicente Barros Leonel - } - case Self.Criptografia of // por Vicente Barros Leonel - cPadrao: AuxPass := TTrocaSenha(FFormTrocarSenha).EditAtu.Text; - cMD5: AuxPass := MD5Sum(TTrocaSenha(FFormTrocarSenha).EditAtu.Text); - end; - - if CurrentUser.Password <> AuxPass then //MD5Sum(TTrocaSenha(FFormTrocarSenha).EditAtu.Text) then Vicente Barros Leonel - begin - MessageDlg(UserSettings.CommonMessages.ChangePasswordError.InvalidCurrentPassword, mtWarning, [mbOK], 0); - TTrocaSenha(FFormTrocarSenha).EditAtu.SetFocus; - Exit; - end; - - if TTrocaSenha(FFormTrocarSenha).EditNova.Text <> TTrocaSenha(FFormTrocarSenha).EditConfirma.Text then - begin - MessageDlg(UserSettings.CommonMessages.ChangePasswordError.InvalidNewPassword, mtWarning, [mbOK], 0); - TTrocaSenha(FFormTrocarSenha).EditNova.SetFocus; - Exit; - end; - - case Self.Criptografia of // por Vicente Barros Leonel - cPadrao: AuxPass := TTrocaSenha(FFormTrocarSenha).EditNova.Text; - cMD5: AuxPass := MD5Sum(TTrocaSenha(FFormTrocarSenha).EditNova.Text); - end; - - if AuxPass = CurrentUser.Password then - begin - MessageDlg(UserSettings.CommonMessages.ChangePasswordError.NewEqualCurrent, mtWarning, [mbOK], 0); - TTrocaSenha(FFormTrocarSenha).EditNova.SetFocus; - Exit; - end; - - if (UserPasswordChange.ForcePassword) and (TTrocaSenha(FFormTrocarSenha).EditNova.Text = '') then - begin - MessageDlg(UserSettings.CommonMessages.ChangePasswordError.PasswordRequired, mtWarning, [mbOK], 0); - TTrocaSenha(FFormTrocarSenha).EditNova.Text; - Exit; - end; - - if Length(TTrocaSenha(FFormTrocarSenha).EditNova.Text) < UserPasswordChange.MinPasswordLength then - begin - MessageDlg(Format(UserSettings.CommonMessages.ChangePasswordError.MinPasswordLength, [UserPasswordChange.MinPasswordLength]), mtWarning, [mbOK], 0); - TTrocaSenha(FFormTrocarSenha).EditNova.SetFocus; - Exit; - end; - - if Pos(LowerCase(TTrocaSenha(FFormTrocarSenha).EditNova.Text), 'abcdeasdfqwerzxcv1234567890321654987teste' + LowerCase(CurrentUser.UserName) + LowerCase(CurrentUser.UserLogin)) > 0 then - begin - MessageDlg(UserSettings.CommonMessages.ChangePasswordError.InvalidNewPassword, mtWarning, [mbOK], 0); - TTrocaSenha(FFormTrocarSenha).EditNova.SetFocus; - Exit; - end; - - if Assigned(OnChangePassword) then - OnChangePassword(Self, CurrentUser.UserID, CurrentUser.UserLogin, CurrentUser.Password, TTrocaSenha(FFormTrocarSenha).EditNova.Text); - - ChangePassword(CurrentUser.UserID, TTrocaSenha(FFormTrocarSenha).EditNova.Text); - - case Self.Criptografia of // Por Vicente Barros Leonel - cPadrao: CurrentUser.Password := TTrocaSenha(FFormTrocarSenha).EditNova.Text; - cMD5: CurrentUser.Password := MD5Sum(TTrocaSenha(FFormTrocarSenha).EditNova.Text); - end; - - - if CurrentUser.Password = '' then - MessageDlg(Format(UserSettings.CommonMessages.BlankPassword, [CurrentUser.UserLogin]), mtInformation, [mbOK], 0) - else - MessageDlg(UserSettings.CommonMessages.PasswordChanged, mtInformation, [mbOK], 0); - - if TTrocaSenha(FFormTrocarSenha).ForcarTroca = True then - TTrocaSenha(FFormTrocarSenha).ForcarTroca := False; // Vicente Barros Leonel - - - if (Assigned(FMailUserControl)) and (FMailUserControl.SenhaTrocada.Ativo) then - with CurrentUser do - try - FMailUserControl.EnviaEmailSenhaTrocada(Username, CurrentUser.UserLogin, TTrocaSenha(FFormTrocarSenha).EditNova.Text, Email, '', EncryptKey); - except - on e: Exception do - Log(e.Message, 2); - end; - - - TTrocaSenha(FFormTrocarSenha).Close; -end; - -procedure TUserControl.SetUserSettings(const Value: TUCUserSettings); -begin - UserSettings := Value; -end; - -procedure TUserControl.SetfrmLoginWindow(Form: TCustomForm); -begin - with UserSettings.Login, Form as TfrmLoginWindow do - begin - Caption := WindowCaption; - LbUsuario.Caption := LabelUser; - LbSenha.Caption := LabelPassword; - btOK.Caption := UserSettings.Login.BtOk; - BtCancela.Caption := BtCancel; - if LeftImage <> nil then - ImgLeft.Picture.Assign(LeftImage); - if BottomImage <> nil then - ImgBottom.Picture.Assign(BottomImage); - if TopImage <> nil then - ImgTop.Picture.Assign(TopImage); - - if Assigned(FMailUserControl) then - begin - lbEsqueci.Visible := FMailUserControl.EsqueceuSenha.Ativo; - lbEsqueci.Caption := FMailUserControl.EsqueceuSenha.LabelLoginForm; - end; - - StatusBar.Visible := Login.FMaxLoginAttempts > 0; // by vicente barros leonel - StatusBar.Panels[1].Text := '0'; // by vicente barros leonel - StatusBar.Panels[3].Text := IntToStr(Login.FMaxLoginAttempts); // by vicente barros leonel - end; -end; - -procedure TUserControl.Notification(AComponent: TComponent; AOperation: TOperation); -begin - if (AOperation = opRemove) then - begin - if AComponent = User.MenuItem then - User.MenuItem := nil; - if AComponent = User.Action then - User.Action := nil; - if AComponent = UserPasswordChange.Action then - UserPasswordChange.Action := nil; - if AComponent = UserPasswordChange.MenuItem then - UserPasswordChange.MenuItem := nil; - - { By Vicente Barros Leonel } - if AComponent = UsersLogoff.Action then - UsersLogoff.Action := nil; - if AComponent = UsersLogoff.MenuItem then - UsersLogoff.MenuItem := nil; - - - if AComponent = ControlRight.MainMenu then - ControlRight.MainMenu := nil; - if AComponent = ControlRight.ActionList then - ControlRight.ActionList := nil; - {.$IFDEF UCACTMANAGER} - if AComponent = ControlRight.ActionManager then - ControlRight.ActionManager := nil; - if AComponent = ControlRight.ActionMainMenuBar then - ControlRight.ActionMainMenuBar := nil; - {.$ENDIF} - - if AComponent = FDataConnector then - begin - if CurrentUser.UserID <> 0 then - UsersLogged.DelCurrentUser; - FDataConnector := nil; - end; - - if AComponent = FMailUserControl then - FMailUserControl := nil; - - end; - inherited Notification(AComponent, AOperation); -end; - - -procedure TUserControl.ActionLogoff(Sender: TObject); -begin - Self.Logoff; -end; - -procedure TUserControl.Log(MSG: String; Level: Integer); -begin - // Adicionado ao log a identificação da Aplicação - if not LogControl.Active then - Exit; - - if Assigned(DataConnector) then - DataConnector.UCExecSQL('INSERT INTO ' + LogControl.TableLog + - '(APPLICATIONID, IDUSER, MSG, DATA, NIVEL) VALUES ( ' + - QuotedStr(Self.ApplicationID) + ', ' + - IntToStr(CurrentUser.UserID) + ', ' + - QuotedStr(Copy(MSG, 1, 250)) + ', ' + - QuotedStr(FormatDateTime('YYYYMMDDhhmmss', now)) + ', ' + - IntToStr(Level) + ')'); -end; - -procedure TUserControl.RegistraCurrentUser(Dados: TDataset); -var - SQLStmt: String; -begin - with CurrentUser do - begin - UserID := Dados.FieldByName(TableUsers.FieldUserID).AsInteger; - UserName := Dados.FieldByName(TableUsers.FieldUserName).AsString; - UserLogin := Dados.FieldByName(TableUsers.FieldLogin).AsString; - DateExpiration := StrToDateDef(Dados.FieldByName(TableUsers.FieldDateExpired).AsString, Now); - UserNotExpired := Dados.FieldByName(TableUsers.FieldUserExpired).AsInteger = 1; //by vicente barros leonel - UserDaysExpired := Dados.FieldByName(TableUsers.FieldUserDaysSun).AsInteger; - - case Self.Criptografia of - cPadrao: Password := Decrypt(Dados.FieldByName(TableUsers.FieldPassword).AsString, EncryptKey); - cMD5: Password := Dados.FieldByName(TableUsers.FieldPassword).AsString; - end; - - Email := Dados.FieldByName(TableUsers.FieldEmail).AsString; - Privileged := StrToBool(Dados.FieldByName(TableUsers.FieldPrivileged).AsString); - Profile := Dados.FieldByName(TableUsers.FieldProfile).AsInteger; - - SQLStmt := Format('SELECT %s AS ObjName,' + - ' %s AS UCKey,' + - ' %s AS UserID' + - ' FROM %s' + - ' WHERE %s = %s AND %s = %s', - [TableRights.FieldComponentName, - TableRights.FieldKey, - TableRights.FieldUserID, - TableRights.TableName, - TableRights.FieldUserID, - IntToStr(UserID), - TableRights.FieldModule, - QuotedStr(ApplicationID)]); - - PerfilUsuario := DataConnector.UCGetSQLDataset(SQLStmt); - - // Aplica Permissoes do Perfil do usuario - if CurrentUser.Profile > 0 then - begin - SQLStmt := Format('SELECT %s AS ObjName,' + - ' %s AS UCKey,' + - ' %s AS UserID' + - ' FROM %s' + - ' WHERE %s = %s AND %s = %s', - [TableRights.FieldComponentName, - TableRights.FieldKey, - TableRights.FieldUserID, - TableRights.TableName, - TableRights.FieldUserID, - IntToStr(CurrentUser.Profile), - TableRights.FieldModule, - QuotedStr(ApplicationID)]); - - PerfilGrupo := DataConnector.UCGetSQLDataset(SQLStmt); - end - else - PerfilGrupo := nil; - - if Assigned(OnLoginSucess) then - OnLoginSucess(Self, UserID, UserLogin, UserName, Password, EMail, Privileged); - end; - - //Cesar: 13/07/2005 - if (CurrentUser.UserID <> 0) then - UsersLogged.AddCurrentUser; - - ApplyRightsUCControlMonitor; - NotificationLoginMonitor; - - if ((FLogin.fDateExpireActive = True) and (Date > CurrentUser.DateExpiration) and (CurrentUser.UserNotExpired = False)) then - begin { By Vicente Barros Leonel } - MessageDlg(UserSettings.CommonMessages.PasswordExpired, mtInformation, [mbOK], 0); - - if FFormTrocarSenha = nil then - CriaFormTrocarSenha; - TTrocaSenha(FFormTrocarSenha).ForcarTroca := True; - FFormTrocarSenha.ShowModal; - FreeAndNil(FFormTrocarSenha); - end; -end; - -procedure TUserControl.TryAutoLogon; -begin - if VerificaLogin(Login.AutoLogin.User, Login.AutoLogin.Password) <> 0 then - begin - if Login.AutoLogin.MessageOnError then - MessageDlg(UserSettings.CommonMessages.AutoLogonError, mtWarning, [mbOK], 0); - ShowLogin; - end; -end; - -function TUserControl.VerificaLogin(User, Password: String): Integer;//Boolean; -var - Senha: String; - Key: String; - SQLStmt: String; - Dataset: TDataset; - VerifKey: String; -begin - case Self.Criptografia of - cPadrao: Senha := TableUsers.FieldPassword + ' = ' + QuotedStr(Encrypt(Password, EncryptKey)); - cMD5: Senha := TableUsers.FieldPassword + ' = ' + QuotedStr(MD5Sum(Password)); - end; - - SQLStmt := 'SELECT * FROM ' + TableUsers.TableName + ' WHERE ' + - TableUsers.FieldLogin + ' = ' + QuotedStr(User) + ' AND ' + Senha; - - Dataset := DataConnector.UCGetSQLDataset(SQLStmt); - with Dataset do - try - if not IsEmpty then - begin - case Self.Criptografia of - cPadrao: - begin - Key := Decrypt(Dataset.FieldByName(TableUsers.FieldKey).AsString, EncryptKey); - VerifKey := Dataset.FieldByName(TableUsers.FieldUserID).AsString + - Dataset.FieldByName(TableUsers.FieldLogin).AsString + - Decrypt(Dataset.FieldByName(TableUsers.FieldPassword).AsString, EncryptKey); - end; - cMD5: - begin - Key := Dataset.FieldByName(TableUsers.FieldKey).AsString; - VerifKey := MD5Sum(Dataset.FieldByName(TableUsers.FieldUserID).AsString + - Dataset.FieldByName(TableUsers.FieldLogin).AsString + - Dataset.FieldByName(TableUsers.FieldPassword).AsString); - end; - end; - if Key <> VerifKey then - begin - Result := 1; - if Assigned(OnLoginError) then - OnLoginError(Self, User, Password); - end - else - begin - if DataSet.FieldByName(TableUsers.FieldUserInative).AsInteger = 0 then - begin - - if ((fUsersLogged.Active = True) and (fUsersLogged.MultipleLogin = False)) then - begin - //verifica se o usuário esta logado - if fUsersLogged.UsuarioJaLogado(Dataset.FieldByName(TableUsers.FieldUserID).AsInteger) = True then - begin - MessageDlg('Atenção: Seu usuário encontra-se logado em outra estação, verifique.', mtInformation, [mbOK], 0); - RegistraCurrentuser(Dataset); - Result := 0; - //Aqui deve-se colocar uma mensagem para derrubar a outra conexão - //Pensando ainda como fazer :) - end - else - begin - RegistraCurrentuser(Dataset); - Result := 0; - end; - end - else - begin - RegistraCurrentuser(Dataset); {Para voltar o codigo anterior, basta apagar e colocar esta duas linhas :) } - Result := 0; - end; - - end - else - Result := 2; - end; - end - else - begin - Result := 1; - if Assigned(OnLoginError) then - OnLoginError(Self, User, Password); - end; - finally - Close; - Free; - end; -end; - -procedure TUserControl.Logoff; -begin - if Assigned(onLogoff) then - onLogoff(Self, CurrentUser.UserID); - - LockControlsUCControlMonitor; - UsersLogged.DelCurrentUser; - CurrentUser.UserID := 0; - if LoginMode = lmActive then - ShowLogin; - ApplyRights; -end; - -function TUserControl.AddUser(Login, Password, Name, Mail: String; Profile, UserExpired, DaysExpired: Integer; PrivUser: Boolean): Integer; -var - Key: String; - SQLStmt: String; - Senha: String; -begin - case Self.Login.CharCasePass of - ecNormal: ; - ecUpperCase: Password := UpperCase(Password); - ecLowerCase: Password := LowerCase(Password); - end; - - case Self.Login.CharCaseUser of - ecNormal: ; - ecUpperCase: Login := UpperCase(Login); - ecLowerCase: Login := LowerCase(Login); - end; - - with DataConnector.UCGetSQLDataset('Select Max(' + TableUsers.FieldUserID + ') as IdUser from ' + TableUsers.TableName) do - begin - Result := StrToIntDef(FieldByName('idUser').AsString, 0) + 1; - Close; - Free; - end; - - case Self.Criptografia of - cPadrao: - begin - Key := Encrypt(IntToStr(Result) + Login + Password, EncryptKey); - Senha := Encrypt(Password, EncryptKey); - end; - cMD5: - begin - Key := MD5Sum(IntToStr(Result) + Login + MD5Sum(Password)); - Senha := MD5Sum(Password); - end; - end; - - with TableUsers do - begin - SQLStmt := Format('INSERT INTO %s( %s, %s, %s, %s, %s, %s, %s, %s, %s , %s , %s , %s , %s ) VALUES(%d, %s, %s, %s, %s, %s, %d, %s, %s , %s , %d , %d , %s )', - [TableName, - FieldUserID, - FieldUserName, - FieldLogin, - FieldPassword, - FieldEmail, - FieldPrivileged, - FieldProfile, - FieldTypeRec, - FieldKey, - FieldDateExpired, { By Vicente Barros Leonel } - FieldUserExpired, - FieldUserDaysSun, - FieldUserInative, - Result, - QuotedStr(Name), - QuotedStr(Login), - QuotedStr(Senha), - QuotedStr(Mail), - BoolToStr(PrivUser), - Profile, - QuotedStr('U'), - QuotedStr(Key), - QuotedStr(FormatDateTime('dd/mm/yyyy', Date + FLogin.fDaysOfSunExpired)), {By vicente Barros Leonel } - UserExpired, - DaysExpired, '0']); {By vicente Barros Leonel } - if Assigned(DataConnector) then - DataConnector.UCExecSQL(SQLStmt); - end; - - if Assigned(OnAddUser) then - OnAddUser(Self, Login, Password, Name, Mail, Profile, Privuser); -end; - - -procedure TUserControl.ChangePassword(IDUser: Integer; NewPassword: String); -var - Login: String; - Senha: String; - Key: String; - SQLStmt: String; -begin - inherited; - - case Self.Login.CharCasePass of - ecNormal: ; - ecUpperCase: NewPassword := UpperCase(NewPassword); - ecLowerCase: NewPassword := LowerCase(NewPassword); - end; - - SQLStmt := 'Select ' + TableUsers.FieldLogin + ' as login, ' + - TableUsers.FieldPassword + ' as senha from ' + TableUsers.TableName + ' ' + - 'where ' + TableUsers.FieldUserID + ' = ' + IntToStr(IdUser); - - with DataConnector.UCGetSQLDataset(SQLStmt) do - begin - Login := FieldByName('Login').AsString; - case Self.Criptografia of - cPadrao: - begin - Key := Encrypt(IntToStr(IDUser) + Login + NewPassword, EncryptKey); - Senha := Decrypt(FieldByName('Senha').AsString, EncryptKey); - end; - cMD5: - begin - Key := MD5Sum(IntToStr(IDUser) + Login + MD5Sum(NewPassword)); - Senha := FieldByName('Senha').AsString; - end; - end; - - Close; - Free; - end; - - case Self.Criptografia of // Por Vicente Barros Leonel - cPadrao: - SQLStmt := 'Update ' + TableUsers.TableName + - ' Set ' + TableUsers.FieldPassword + ' = ' + QuotedStr(Encrypt( - NewPassword, EncryptKey)) + - ', ' + TableUsers.FieldKey + ' = ' + QuotedStr(Key) + - ', ' + TableUsers.FieldDateExpired + ' = ' + - QuotedStr(FormatDateTime('dd/mm/yyyy', Date + FCurrentUser.UserDaysExpired)) + // by vicente barros leonel - ' Where ' + TableUsers.FieldUserID + ' = ' + IntToStr(IdUser); - - cMD5: SQLStmt := 'Update ' + TableUsers.TableName + - ' Set ' + TableUsers.FieldPassword + ' = ' + QuotedStr(MD5Sum(NewPassword)) + - ', ' + TableUsers.FieldKey + ' = ' + QuotedStr(Key) + - ', ' + TableUsers.FieldDateExpired + ' = ' + - QuotedStr(FormatDateTime('dd/mm/yyyy', Date + FCurrentUser.UserDaysExpired)) + // by vicente barros leonel - ' Where ' + TableUsers.FieldUserID + ' = ' + IntToStr(IdUser); - end; - - if Assigned(DataConnector) then - DataConnector.UCExecSQL(SQLStmt); - - if Assigned(onChangePassword) then - OnChangePassword(Self, IdUser, Login, Senha, NewPassword); -end; - -procedure TUserControl.ChangeUser(IDUser: Integer; Login, Name, Mail: String; Profile, UserExpired, UserDaysSun, Status: Integer; PrivUser: Boolean); -var - Key: String; - Password: String; - SQLStmt: String; -begin - SQLStmt := 'SELECT ' + TableUsers.FieldPassword + - ' AS SENHA FROM ' + TableUsers.TableName + ' WHERE ' + - TableUsers.FieldUserID + ' = ' + IntToStr(IdUser); - - with DataConnector.UCGetSQLDataset(SQLStmt) do - begin - case Self.Criptografia of - cPadrao: - begin - Password := Decrypt(FieldByName('Senha').AsString, EncryptKey); - Key := Encrypt(IntToStr(IDUser) + Login + Password, EncryptKey); - end; - cMD5: - begin - Password := FieldByName('Senha').AsString; - Key := MD5Sum(IntToStr(IDUser) + Login + Password); - end; - end; - Close; - Free; - end; - - with TableUsers do - if Assigned(DataConnector) then - DataConnector.UCExecSQL('Update ' + TableName + ' Set ' + - FieldUserName + ' = ' + QuotedStr(Name) + ', ' + - FieldLogin + ' = ' + QuotedStr(Login) + ', ' + - FieldEmail + ' = ' + QuotedStr(Mail) + ', ' + - FieldPrivileged + ' = ' + BooltoStr(PrivUser) + ', ' + - FieldProfile + ' = ' + IntToStr(Profile) + ', ' + - FieldKey + ' = ' + QuotedStr(Key) + ', ' + - FieldUserExpired + ' = ' + IntToStr(UserExpired) + ' , ' + // vicente barros leonel - FieldUserDaysSun + ' = ' + IntToStr(UserDaysSun) + ' , ' + - FieldUSerInative + ' = ' + IntToStr(Status) + - ' where ' + FieldUserID + ' = ' + IntToStr(IdUser)); - if Assigned(OnChangeUser) then - OnChangeUser(Self, IdUser, Login, Name, Mail, Profile, PrivUser); -end; - -procedure TUserControl.CriaTabelaMsgs(const TableName: String); -begin - if Assigned(DataConnector) then - DataConnector.UCExecSQL('CREATE TABLE ' + TableName + ' ( ' + - 'IdMsg ' + UserSettings.Type_Int + ' , ' + - 'UsrFrom ' + UserSettings.Type_Int + ' , ' + - 'UsrTo ' + UserSettings.Type_Int + ' , ' + - 'Subject ' + UserSettings.Type_VarChar + '(50),' + - 'Msg ' + UserSettings.Type_Varchar + '(255),' + - 'DtSend ' + UserSettings.Type_Varchar + '(12),' + - 'DtReceive ' + UserSettings.Type_Varchar + '(12) )'); -end; - -destructor TUserControl.Destroy; -begin - if not (csDesigning in ComponentState) then - fUsersLogged.DelCurrentUser; - - FCurrentUser.Free; - FControlRight.Free; - FLogin.Free; - FLogControl.Free; - FUser.Free; - FUserProfile.Free; - FUserPasswordChange.Free; - FUsersLogoff.Free; - FUsersLogged.Free; - FUserSettings.Free; - FNotAllowedItems.Free; - FExtraRights.Free; - FTableUsers.Free; - FTableRights.Free; - FTableUsersLogged.Free; - - if Assigned(FControlList) then - FControlList.Free; - - if Assigned(FLoginMonitorList) then - FLoginMonitorList.Free; - - inherited Destroy; -end; - -procedure TUserControl.SetExtraRights(Value: TUCExtraRights); -begin - -end; - -procedure TUserControl.HideField(Sender: TField; var Text: String; DisplayText: Boolean); -begin - Text := '(Campo Bloqueado)'; -end; - -procedure TUserControl.StartLogin; -begin - CurrentUser.UserID := 0; - ShowLogin; - ApplyRights; -end; - -procedure TUserControl.Execute; -begin - if Assigned(FThUCRun) then - FThUCRun.Terminate; - try - if not DataConnector.UCFindTable(FTableRights.TableName) then - CriaTabelaRights; - - if not DataConnector.UCFindTable(FTableRights.TableName + 'EX') then - CriaTabelaRights(True); //extra rights table - - if not DataConnector.UCFindTable(TableUsersLogged.TableName) then - UsersLogged.CriaTableUserLogado; - - if LogControl.Active then - if not DataConnector.UCFindTable(LogControl.TableLog) then - CriaTabelaLog; - - CriaTabelaUsuarios(DataConnector.UCFindTable(FTableUsers.TableName)); - - //Atualizador de Versoes By vicente barros leonel - AtualizarVersao; - - - // testa campo KEY qmd 28-02-2005 - if FCheckValidationKey then - DoCheckValidationField; - - finally - if LoginMode = lmActive then - if not Login.AutoLogin.Active then - ShowLogin - else - TryAutoLogon; - ApplyRights; - end; -end; - -procedure TUserControl.AtualizarVersao; // by vicente barros leonel -var - Sql: String; - DataSet: TDataSet; -begin - { Procura o campo FieldUserDaysSun na tabela de usuarios se o mesmo não existi cria } - try - Sql := Format('select * from %s', [FTableUsers.TableName]); - DataSet := DataConnector.UCGetSQLDataset(SQL); - - if DataSet.FindField(FTableUsers.FieldDateExpired) = nil then - begin - Sql := Format('alter table %s add %s %s(10)', - [FTableUsers.TableName, - FTableUsers.FieldDateExpired, - UserSettings.Type_Char]); - - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Sql); - Sql := Format('update %s set %s = %s where %s = ''U''', - [FTableUsers.TableName, - FTableUsers.FieldDateExpired, - QuotedStr(FormatDateTime('dd/mm/yyyy', Date + FLogin.fDaysOfSunExpired)), - FTableUsers.FieldTypeRec]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Sql); - end; - - if DataSet.FindField(FTableUsers.FieldUserExpired) = nil then - begin - Sql := Format('alter table %s add %s %s', - [FTableUsers.TableName, - FTableUsers.FieldUserExpired, - UserSettings.Type_Int]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Sql); - Sql := Format('update %s set %s = 1 where %s = ''U''', - [FTableUsers.TableName, - FTableUsers.FieldUserExpired, - FTableUsers.FieldTypeRec]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Sql); - end; - - if DataSet.FindField(FTableUsers.FieldUserDaysSun) = nil then - begin // Cria campo setado no FieldUserDaysSun na tabela de usuarios - Sql := Format('alter table %s add %s %s', - [FTableUsers.TableName, - FTableUsers.FieldUserDaysSun, - UserSettings.Type_Int]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Sql); - Sql := Format('update %s set %s = 30 where %s = ''U''', - [FTableUsers.TableName, - FTableUsers.FieldUserDaysSun, - FTableUsers.FieldTypeRec]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Sql); - end; - - - if DataSet.FindField(FTableUsers.FieldUserInative) = nil then - begin // Cria campo setado no FieldUserInative na tabela de usuarios - Sql := Format('alter table %s add %s %s', - [FTableUsers.TableName, - FTableUsers.FieldUserInative, - UserSettings.Type_Int]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Sql); - - Sql := Format('update %s set %s = 0 where %s = ''U''', - [FTableUsers.TableName, - FTableUsers.FieldUserInative, - FTableUsers.FieldTypeRec]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Sql); - end; - - finally - FreeAndNil(DataSet); - end; - -end; - -procedure TUserControl.DoCheckValidationField; -var - TempDS: TDataset; - Key: String; - Login: String; - Senha: String; - UserID: Integer; -begin - //verifica tabela de usuarios - TempDS := DataConnector.UCGetSQLDataset('SELECT * FROM ' + TableUsers.TableName); - - if TempDS.FindField(TableUsers.FieldKey) = nil then - begin - if Assigned(DataConnector) then - DataConnector.UCExecSQL('ALTER TABLE ' + TableUsers.TableName + ' ADD ' + TableUsers.FieldKey + ' ' + UserSettings.Type_VarChar + ' (255)'); - TempDS.First; - with TempDS do - while not EOF do - begin - UserID := TempDS.FieldByName(TableUsers.FieldUserID).AsInteger; - Login := TempDS.FieldByName(TableUsers.FieldLogin).AsString; - case Self.Criptografia of - cPadrao: - begin - Senha := Decrypt(TempDS.FieldByName(TableUsers.FieldPassword).AsString, EncryptKey); - Key := Encrypt(IntToStr(UserID) + Login + Senha, EncryptKey); - end; - cMD5: - begin - Senha := TempDS.FieldByName(TableUsers.FieldPassword).AsString; - Key := MD5Sum(IntToStr(UserID) + Login + Senha); - end; - end; - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s WHERE %s = %d', - [TableUsers.TableName, - TableUsers.FieldKey, - QuotedStr(Key), - TableUsers.FieldUserID, - TempDS.FieldByName(TableUsers.FieldUserID).AsInteger])); - Next; - end; - end; - - TempDS.Close; - FreeAndNil(TempDS); - - //verifica tabela de permissoes - TempDS := DataConnector.UCGetSQLDataset('SELECT * FROM ' + TableRights.TableName); - - if TempDS.FindField(TableRights.FieldKey) = nil then - begin - if Assigned(DataConnector) then - DataConnector.UCExecSQL('ALTER TABLE ' + TableRights.TableName + ' ADD ' + TableUsers.FieldKey + ' ' + UserSettings.Type_VarChar + ' (255)'); - TempDS.First; - with TempDS do - while not EOF do - begin - UserID := TempDS.FieldByName(TableRights.FieldUserID).AsInteger; - Login := TempDS.FieldByName(TableRights.FieldComponentName).AsString; - case Self.Criptografia of - cPadrao: Key := Encrypt(IntToStr(UserID) + Login, EncryptKey); - cMD5: Key := MD5Sum(IntToStr(UserID) + Login); - end; - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s where %s = %d and %s = %s and %s = %s', - [TableRights.TableName, - TableRights.FieldKey, - QuotedStr(Key), - TableRights.FieldUserID, - TempDS.FieldByName(TableRights.FieldUserID).AsInteger, - TableRights.FieldModule, - QuotedStr(ApplicationID), - TableRights.FieldComponentName, - QuotedStr(Login)])); - Next; - end; - end; - TempDS.Close; - FreeAndNil(TempDS); - - //verifica tabela de permissoes extendidas - TempDS := DataConnector.UCGetSQLDataset('SELECT * FROM ' + TableRights.TableName + 'EX'); - if TempDS.FindField(TableRights.FieldKey) = nil then - begin - if Assigned(DataConnector) then - DataConnector.UCExecSQL('ALTER TABLE ' + TableRights.TableName + 'EX ADD ' + - TableUsers.FieldKey + '' + UserSettings.Type_VarChar + ' (255)'); - TempDS.First; - with TempDS do - while not EOF do - begin - UserID := TempDS.FieldByName(TableRights.FieldUserID).AsInteger; - Login := TempDS.FieldByName(TableRights.FieldComponentName).AsString; //componentname - Senha := TempDS.FieldByName(TableRights.FieldFormName).AsString; // formname - case Self.Criptografia of - cPadrao: Key := Encrypt(IntToStr(UserID) + Login, EncryptKey); - cMD5: Key := MD5Sum(IntToStr(UserID) + Login); - end; - if Assigned(DataConnector) then - DataConnector.UCExecSQL(Format('UPDATE %s SET %s = %s' + - ' WHERE %s = %d AND' + - ' %s = %s AND %s = %s AND' + - ' %s = %s', - [TableRights.TableName + 'EX', - TableRights.FieldKey, - QuotedStr(Key), - TableRights.FieldUserID, - TempDS.FieldByName(TableRights.FieldUserID).AsInteger, - TableRights.FieldModule, - QuotedStr(ApplicationID), - TableRights.FieldComponentName, - QuotedStr(Login), // componente name - TableRights.FieldFormName, - QuotedStr(Senha)])); // formname - Next; - end; - end; - TempDS.Close; - FreeAndNil(TempDS); -end; - -procedure TUserControl.ShowChangePassword; -begin - ActionTrocaSenha(self); -end; - -procedure TUserControl.ShowNewConfig; -begin - FFormGeral := TFormUserPerf.Create(Self); - with TFormUserPerf(FFormGeral) do - begin - Position := UserSettings.WindowsPosition; - fUserControl := Self; - ShowModal; - end; - FreeAndNil(FFormGeral); -end; - -procedure TUserControl.AddUCControlMonitor(UCControl: TUCControls); -begin - FControlList.Add(UCControl); -end; - -procedure TUserControl.ApplyRightsUCControlMonitor; -var - Contador: Integer; -begin - for Contador := 0 to Pred(FControlList.Count) do - TUCControls(FControlList.Items[Contador]).ApplyRights; -end; - -procedure TUserControl.DeleteUCControlMonitor(UCControl: TUCControls); -var - Contador: Integer; - SLControls: TStringList; -begin - if not Assigned(FControlList) then - Exit; - SLControls := TStringList.Create; - for Contador := 0 to Pred(FControlList.Count) do - if TUCControls(FControlList.Items[Contador]) = UCControl then - SLControls.Add(IntToStr(Contador)); - - for Contador := 0 to Pred(SLControls.Count) do - FControlList.Delete(StrToInt(SLControls[Contador])); - - FreeAndNil(SLControls); -end; - -procedure TUserControl.LockControlsUCControlMonitor; -var - Contador: Integer; -begin - for Contador := 0 to Pred(FControlList.Count) do - TUCControls(FControlList.Items[Contador]).LockControls; -end; - -procedure TUserControl.SetDataConnector(const Value: TUCDataConnector); -begin - FDataConnector := Value; - if Assigned(Value) then - Value.FreeNotification(Self); -end; - -procedure TUserControl.AddLoginMonitor(UCAppMessage: TUCApplicationMessage); -begin - FLoginMonitorList.Add(UCAppMessage); -end; - -procedure TUserControl.DeleteLoginMonitor(UCAppMessage: TUCApplicationMessage); -var - Contador: Integer; - SLControls: TStringList; -begin - SLControls := TStringList.Create; - if Assigned(FLoginMonitorList) then - for Contador := 0 to Pred(FLoginMonitorList.Count) do - if TUCApplicationMessage(FLoginMonitorList.Items[Contador]) = UCAppMessage then - SLControls.Add(IntToStr(Contador)); - if assigned(SLControls) then - for Contador := 0 to Pred(SLControls.Count) do - FLoginMonitorList.Delete(StrToInt(SLControls[Contador])); - SysUtils.FreeAndNil(SLControls); -end; - -procedure TUserControl.NotificationLoginMonitor; -var - Contador: Integer; -begin - for Contador := 0 to Pred(FLoginMonitorList.Count) do - TUCApplicationMessage(FLoginMonitorList.Items[Contador]).CheckMessages; -end; - -procedure TUserControl.ShowLogin; -begin - FRetry := 0; - if Assigned(onCustomLoginForm) then - OnCustomLoginForm(Self, FFormLogin); - if FFormLogin = nil then - begin - FFormLogin := TfrmLoginWindow.Create(self); - with FFormLogin as TfrmLoginWindow do - begin - SetfrmLoginWindow(TfrmLoginWindow(FFormLogin)); - FUserControl := Self; - btOK.onClick := ActionOKLogin; - onCloseQuery := Testafecha; - Position := Self.UserSettings.WindowsPosition; - lbEsqueci.OnClick := ActionEsqueceuSenha; - end; - end; - FFormLogin.ShowModal; - FreeAndNil(FFormLogin); -end; - -procedure TUserControl.ActionOKLogin(Sender: TObject); -var - TempUser: String; - TempPassword: String; - retorno: Integer; -begin - TempUser := TfrmLoginWindow(FFormLogin).EditUsuario.Text; - TempPassword := TfrmLoginWindow(FFormLogin).EditSenha.Text; - - if Assigned(OnLogin) then - Onlogin(Self, TempUser, TempPassword); - retorno := VerificaLogin(TempUser, TempPassword); - if retorno = 0 then - TfrmLoginWindow(FFormLogin).Close - else - begin - if Retorno = 1 then - MessageDlg(UserSettings.CommonMessages.InvalidLogin, mtWarning, [mbOK], 0) - else if retorno = 2 then - MessageDlg(UserSettings.CommonMessages.InactiveLogin, mtWarning, [mbOK], 0); - - Inc(FRetry); - if TfrmLoginWindow(FFormLogin).StatusBar.Visible then - TfrmLoginWindow(FFormLogin).StatusBar.Panels[1].Text := IntToStr(FRetry); - - if (Login.MaxLoginAttempts > 0) and (FRetry = Login.MaxLoginAttempts) then - begin - MessageDlg(Format(UserSettings.CommonMessages.MaxLoginAttemptsError, [Login.MaxLoginAttempts]), mtError, [mbOK], 0); - Application.Terminate; - end; - end; -end; - -procedure TUserControl.TestaFecha(Sender: TObject; var CanClose: Boolean); -begin - CanClose := (CurrentUser.UserID > 0); -end; - -procedure TUserControl.ApplyRights; -begin - if Self.CurrentUser.UserID <> 0 then - begin - ApplyRightsObj(Self.CurrentUser.PerfilUsuario); - - // Aplica Permissoes do Perfil do usuario - if CurrentUser.Profile > 0 then - ApplyRightsObj(Self.CurrentUser.PerfilGrupo, True); - - if Assigned(FAfterLogin) then - FAfterLogin(Self); - end; -end; - -procedure TUserControl.ApplyRightsObj(ADataset: TDataset; FProfile: Boolean = False); -var - Contador: Integer; - Encontrado: Boolean; - KeyField: String; - Temp: String; - ObjetoAction: TObject; - OwnerMenu: TComponent; -begin - //Permissao de Menus QMD - Encontrado := False; - - if ADataset.State = dsInactive then - ADataset.Open; - - if Assigned(ControlRight.MainMenu) then - begin - OwnerMenu := ControlRight.MainMenu.Owner; - for Contador := 0 to Pred(OwnerMenu.ComponentCount) do - if (OwnerMenu.Components[Contador].ClassType = TMenuItem) and (TMenuItem(OwnerMenu.Components[Contador]).GetParentMenu = ControlRight.MainMenu) then - begin - if not FProfile then - begin - Encontrado := ADataset.Locate('ObjName', OwnerMenu.Components[Contador].Name, []); - KeyField := ADataset.FindField('UCKey').AsString; - //verifica key - if Encontrado then - case Self.Criptografia of - cPadrao: - Encontrado := (KeyField = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey)); - cMD5: - Encontrado := (KeyField = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString)); - end; - TMenuItem(OwnerMenu.Components[Contador]).Enabled := Encontrado; - if not Encontrado then - TMenuItem(OwnerMenu.Components[Contador]).Visible := NotAllowedItems.MenuVisible - else - TMenuItem(OwnerMenu.Components[Contador]).Visible := True; - end - else - if ADataset.Locate('ObjName', OwnerMenu.Components[Contador].Name, []) then - begin - KeyField := ADataset.FindField('UCKey').AsString; - case Self.Criptografia of - cPadrao: - Encontrado := (KeyField = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey)); - cMD5: - Encontrado := (KeyField = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString)); - end; - TMenuItem(OwnerMenu.Components[Contador]).Enabled := Encontrado; - TMenuItem(OwnerMenu.Components[Contador]).Visible := Encontrado; - end; - if Assigned(OnApplyRightsMenuIt) then - OnApplyRightsMenuIt(Self, TMenuItem(OwnerMenu.Components[Contador])); - end; - end; // Fim do controle do MainMenu - - //Permissao de Actions - if (Assigned(ControlRight.ActionList)) - {.$IFDEF UCACTMANAGER} or (Assigned(ControlRight.ActionManager)) {.$ENDIF} then - begin - if Assigned(ControlRight.ActionList) then - ObjetoAction := ControlRight.ActionList - {.$IFDEF UCACTMANAGER} - else - ObjetoAction := ControlRight.ActionManager - {.$ENDIF}; - for Contador := 0 to TActionList(ObjetoAction).ActionCount - 1 do - begin - if not FProfile then - begin - Encontrado := ADataset.Locate('ObjName', TActionList(ObjetoAction).Actions[contador].Name, []); - KeyField := ADataset.FindField('UCKey').AsString; - //verifica key - if Encontrado then - case Self.Criptografia of - cPadrao: Encontrado := (KeyField = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey)); - cMD5: Encontrado := (KeyField = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString)); - end; - - TAction(TActionList(ObjetoAction).Actions[contador]).Enabled := Encontrado; - - if not Encontrado then - TAction(TActionList(ObjetoAction).Actions[contador]).Visible := NotAllowedItems.ActionVisible - else - TAction(TActionList(ObjetoAction).Actions[contador]).Visible := True; - end - else - if ADataset.Locate('ObjName', TActionList(ObjetoAction).Actions[contador].Name, []) then - begin - KeyField := ADataset.FindField('UCKey').AsString; - case Self.Criptografia of - cPadrao: Encontrado := (KeyField = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey)); - cMD5: Encontrado := (KeyField = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString)); - end; - TAction(TActionList(ObjetoAction).Actions[contador]).Enabled := Encontrado; - TAction(TActionList(ObjetoAction).Actions[contador]).Visible := Encontrado; - end; - - if Assigned(OnApplyRightsActionIt) then - OnApplyRightsActionIt(Self, TAction(TActionList(ObjetoAction).Actions[contador])); - end; - end; // Fim das permissões de Actions - - {.$IFDEF UCACTMANAGER} - if Assigned(ControlRight.ActionMainMenuBar) then - for Contador := 0 to ControlRight.ActionMainMenuBar.ActionClient.Items.Count - 1 do - begin - Temp := IntToStr(Contador); - if ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Items.Count > 0 then - begin - if Self.Criptografia = cPadrao then - ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Visible := - (ADataset.Locate('ObjName', #1 + 'G' + ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Caption, [])) and - (ADataset.FieldByName('UCKey').AsString = Encrypt(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString, EncryptKey)); - - if Self.Criptografia = cMD5 then - ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Visible := - (ADataset.Locate('ObjName', #1 + 'G' + ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Caption, [])) and - (ADataset.FieldByName('UCKey').AsString = MD5Sum(ADataset.FieldByName('UserID').AsString + ADataset.FieldByName('ObjName').AsString)); - - TrataActMenuBarIt(ControlRight.ActionMainMenuBar.ActionClient.Items[StrToInt(Temp)], ADataset); - end; - end; - {.$ENDIF} -end; - -procedure TUserControl.UnlockEX(FormObj: TCustomForm; ObjName: String); -begin - if FormObj.FindComponent(ObjName) = nil then - Exit; - - if FormObj.FindComponent(ObjName) is TControl then - begin - TControl(FormObj.FindComponent(ObjName)).Enabled := True; - TControl(FormObj.FindComponent(ObjName)).Visible := True; - end; - - if FormObj.FindComponent(ObjName) is TMenuItem then // TMenuItem - begin - TMenuItem(FormObj.FindComponent(ObjName)).Enabled := True; - TMenuItem(FormObj.FindComponent(ObjName)).Visible := True; - //chama evento OnApplyRightsMenuIt - if Assigned(OnApplyRightsMenuIt) then - OnApplyRightsMenuIt(self, FormObj.FindComponent(ObjName) as TMenuItem); - end; - - if FormObj.FindComponent(ObjName) is TAction then // TAction - begin - TAction(FormObj.FindComponent(ObjName)).Enabled := True; - TAction(FormObj.FindComponent(ObjName)).Visible := True; - //chama evento OnApplyRightsMenuIt - if Assigned(OnApplyRightsActionIt) then - OnApplyRightsActionIt(self, FormObj.FindComponent(ObjName) as TAction); - end; - - if FormObj.FindComponent(ObjName) is TField then // TField - begin - TField(FormObj.FindComponent(ObjName)).ReadOnly := False; - TField(FormObj.FindComponent(ObjName)).Visible := True; - TField(FormObj.FindComponent(ObjName)).onGetText := nil; - end; -end; - -procedure TUserControl.LockEX(FormObj: TCustomForm; ObjName: String; naInvisible: Boolean); -begin - if FormObj.FindComponent(ObjName) = nil then - Exit; - - if FormObj.FindComponent(ObjName) is TControl then - begin - TControl(FormObj.FindComponent(ObjName)).Enabled := False; - TControl(FormObj.FindComponent(ObjName)).Visible := not naInvisible; - end; - - if FormObj.FindComponent(ObjName) is TMenuItem then // TMenuItem - begin - TMenuItem(FormObj.FindComponent(ObjName)).Enabled := False; - TMenuItem(FormObj.FindComponent(ObjName)).Visible := not naInvisible; - //chama evento OnApplyRightsMenuIt - if Assigned(OnApplyRightsMenuIt) then - OnApplyRightsMenuIt(self, FormObj.FindComponent(ObjName) as TMenuItem); - end; - - if FormObj.FindComponent(ObjName) is TAction then // TAction - begin - TAction(FormObj.FindComponent(ObjName)).Enabled := False; - TAction(FormObj.FindComponent(ObjName)).Visible := not naInvisible; - //chama evento OnApplyRightsMenuIt - if Assigned(OnApplyRightsActionIt) then - OnApplyRightsActionIt(self, FormObj.FindComponent(ObjName) as TAction); - end; - - if FormObj.FindComponent(ObjName) is TField then // TField - begin - TField(FormObj.FindComponent(ObjName)).ReadOnly := True; - TField(FormObj.FindComponent(ObjName)).Visible := not naInvisible; - TField(FormObj.FindComponent(ObjName)).onGetText := HideField; - end; -end; - -{.$IFDEF UCACTMANAGER} -procedure TUserControl.TrataActMenuBarIt(IT: TActionClientItem; ADataset: TDataset); -var - Contador: Integer; -begin - for contador := 0 to IT.Items.Count - 1 do - if IT.Items[Contador].Caption <> '-' then - if IT.Items[Contador].Items.Count > 0 then - begin - IT.Items[Contador].Visible := (ADataset.Locate('ObjName', #1 + 'G' + IT.Items[Contador].Caption, [])); - TrataActMenuBarIt(IT.Items[Contador], ADataset); - end; -end; - -{.$ENDIF} - -procedure TUserControl.CriaTabelaRights(ExtraRights: Boolean = False); -var - SQLStmt: String; - TipoCampo: String; -begin - case Self.Criptografia of - cPadrao: TipoCampo := UserSettings.Type_Varchar + '(250)'; - cMD5: TipoCampo := UserSettings.Type_Varchar + '(32)'; - end; - - with TableRights do - if not ExtraRights then - begin - SQLStmt := Format('CREATE TABLE %s( %s %s, %s %s(50), %s %s(50), %s %s )', - [TableName, - FieldUserID, - UserSettings.Type_Int, - FieldModule, - UserSettings.Type_VarChar, - FieldComponentName, - UserSettings.Type_Varchar, - FieldKey, - TipoCampo]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(SQLStmt); - end - else - begin - SQLStmt := Format('CREATE TABLE %sEX( %s %s, %s %s(50), %s %s(50), %s %s(50), %s %s )', - [TableName, - FieldUserID, - UserSettings.Type_Int, - FieldModule, - UserSettings.Type_VarChar, - FieldComponentName, - UserSettings.Type_VarChar, - FieldFormName, - UserSettings.Type_VarChar, - FieldKey, - TipoCampo]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(SQLStmt); - end; -end; - -procedure TUserControl.AddRightEX(idUser: Integer; Module, FormName, ObjName: String); -var - KeyField: String; - SQLStmt: String; -begin - case Self.Criptografia of - cPadrao: KeyField := Encrypt(IntToStr(idUser) + ObjName, EncryptKey); - cMD5: KeyField := MD5Sum(IntToStr(idUser) + ObjName); - end; - - with TableRights do - SQLStmt := Format('INSERT INTO %sEX( %s, %s, %s, %s, %s) VALUES (%d, %s, %s, %s, %s)', - [TableName, - FieldUserID, - FieldModule, - FieldFormName, - FieldComponentName, - FieldKey, - IdUser, - QuotedStr(Module), - QuotedStr(FormName), - QuotedStr(ObjName), - QuotedStr(KeyField)]); - - if Assigned(DataConnector) then - DataConnector.UCExecSQL(SQLStmt); -end; - -procedure TUserControl.AddRight(idUser: Integer; ItemRight: String); -var - KeyField: String; - SQLStmt: String; -begin - if ItemRight = '' then - Exit; - - case Self.Criptografia of - cPadrao: KeyField := Encrypt(IntToStr(idUser) + ItemRight, EncryptKey); - cMD5: KeyField := MD5Sum(IntToStr(idUser) + ItemRight); - end; - - SQLStmt := Format('Insert into %s( %s, %s, %s, %s) Values( %d, %s, %s, %s)', - [TableRights.TableName, - TableRights.FieldUserID, - TableRights.FieldModule, - TableRights.FieldComponentName, - TableRights.FieldKey, - idUser, - QuotedStr(ApplicationID), - QuotedStr(ItemRight), - QuotedStr(KeyField)]); - - if Assigned(DataConnector) then - DataConnector.UCExecSQL(SQLStmt); -end; - -procedure TUserControl.AddRight(idUser: Integer; ItemRight: TObject; FullPath: Boolean = True); -var - Obj: TObject; -begin - if ItemRight = nil then - Exit; - - Obj := ItemRight; - - if Obj.ClassType = TMenuItem then - while Assigned(Obj) and (Obj.ClassType = TMenuItem) and (TComponent(Obj).Name <> '') do - begin - AddRight(idUser, TComponent(Obj).Name); - if FullPath then - Obj := TMenuItem(Obj).Parent - else - Obj := nil; - end - else - AddRight(idUser, TComponent(Obj).Name); -end; - -procedure TUserControl.CriaTabelaLog; -begin - if Assigned(DataConnector) then - DataConnector.UCExecSQL( - Format('CREATE TABLE %S (APPLICATIONID %s(250), IDUSER %s , MSG %s(250), DATA %s(14), NIVEL %s)', - [ - LogControl.TableLog, - UserSettings.Type_VarChar, - UserSettings.Type_Int, - UserSettings.Type_Varchar, - UserSettings.Type_Varchar, - UserSettings.Type_Int - ])); -end; - -{.$IFDEF UCACTMANAGER} -procedure TUserControl.IncPermissActMenuBar(idUser: Integer; Act: TAction); -var - Temp: TActionClientItem; -begin - if Act = nil then - Exit; - - Temp := ControlRight.ActionMainMenuBar.ActionManager.FindItemByAction(Act); - while Temp <> nil do - begin - AddRight(idUser, #1 + 'G' + Temp.Caption); - Temp := (TActionClientItem(Temp).ParentItem as TActionClientItem); - end; -end; - -{.$ENDIF} - -procedure TUserControl.CriaTabelaUsuarios(TableExists: Boolean); -var - Contador: Integer; - IDUsuario: Integer; - CustomForm: TCustomForm; - Mensagens: TStrings; - DataSetUsuario: TDataSet; - DataSetPermissao: TDataSet; - SQLStmt: String; - TipoCampo: String; - UsuarioInicial: String; - PasswordInicial: String; -begin - case Self.Criptografia of - cPadrao: TipoCampo := UserSettings.Type_VarChar + '(250)'; - cMD5: TipoCampo := UserSettings.Type_Varchar + '(32)'; - end; - - if not TableExists then - with TableUsers do - begin - SQLStmt := Format('Create Table %s ' + // TableName - '( ' + - '%s %s, ' + // FieldUserID - '%s %s(30), ' + // FieldUserName - '%s %s(30), ' + // FieldLogin - '%s %s, ' + // FieldPassword - '%s %s(10), ' + // FieldDateExpired Vicente Barros Leonel - '%s %s , ' + //FieldUserExpired Vicente Barros Leonel - '%s %s , ' + //FieldUserDaysSun Vicente Barros Leonel - '%s %s(150), ' + - '%s %s, ' + - '%s %s(1), ' + - '%s %s, ' + - '%s %s,' + // FieldKey - '%s %s )', - [TableName, - FieldUserID, - UserSettings.Type_Int, - - FieldUserName, - UserSettings.Type_VarChar, - - FieldLogin, - UserSettings.Type_VarChar, - - FieldPassword, - TipoCampo, - - FieldDateExpired, - UserSettings.Type_Char, - - FieldUserExpired, - UserSettings.Type_Int, - - FieldUserDaysSun, - UserSettings.Type_Int, - - FieldEmail, - UserSettings.Type_Varchar, - - FieldPrivileged, - UserSettings.Type_Int, - - FieldTypeRec, - UserSettings.Type_Char, - - FieldProfile, - UserSettings.Type_Int, - - FieldKey, - TipoCampo, - - FieldUserInative, - UserSettings.Type_Int - ]); - - if Assigned(DataConnector) then - DataConnector.UCExecSQL(SQLstmt); - end; - - case Self.Login.CharCaseUser of - ecNormal: UsuarioInicial := Self.Login.InitialLogin.User; - ecUpperCase: UsuarioInicial := UpperCase(Self.Login.InitialLogin.User); - ecLowerCase: UsuarioInicial := LowerCase(Self.Login.InitialLogin.User); - end; - - case Self.Login.CharCasePass of - ecNormal: PasswordInicial := Self.Login.InitialLogin.Password; - ecUpperCase: PasswordInicial := UpperCase(Self.Login.InitialLogin.Password); - ecLowerCase: PasswordInicial := LowerCase(Self.Login.InitialLogin.Password); - end; - - SQLStmt := 'SELECT ' + TableUsers.FieldUserID + ' as idUser ' + - 'FROM ' + TableUsers.TableName + ' ' + - 'WHERE ' + TableUsers.FieldLogin + ' = ' + QuotedStr(UsuarioInicial); - - try - DataSetUsuario := DataConnector.UCGetSQLDataset(SQLstmt); - - // Inserir login inicial - if DataSetUsuario.IsEmpty then - IDUsuario := AddUser(UsuarioInicial, - PasswordInicial, - Login.InitialLogin.User, - Login.InitialLogin.Email, - 0, 0, Login.DaysOfSunExpired, - True) - else - IDUsuario := DataSetUsuario.FieldByName('idUser').AsInteger; - - finally - DataSetUsuario.Close; - FreeAndNil(DataSetUsuario); - end; - - SQLStmt := 'SELECT ' + TableRights.FieldUserID + ' AS IDUSER ' + - 'FROM ' + TableRights.TableName + ' ' + - 'WHERE ' + TableRights.FieldUserID + ' = ' + IntToStr(IDUsuario) + ' ' + - 'AND ' + TableRights.FieldModule + ' = ' + QuotedStr(ApplicationID); - - try - DataSetPermissao := DataConnector.UCGetSQLDataset(SQLStmt); - - if not DataSetPermissao.IsEmpty then - Exit; - - finally - DataSetPermissao.Close; - FreeAndNil(DataSetPermissao); - end; - - AddRight(IDUsuario, User.MenuItem); - AddRight(IDUsuario, User.Action); - - AddRight(IDUsuario, UserPasswordChange.MenuItem); - AddRight(IDUsuario, UserPasswordChange.Action); - - AddRight(IDUsuario, UsersLogoff.MenuItem); - AddRight(IDUsuario, UsersLogoff.Action); - - {.$IFDEF UCACTMANAGER} - if Assigned(ControlRight.ActionMainMenuBar) then - IncPermissActMenuBar(IDUsuario, User.Action); - - if Assigned(ControlRight.ActionMainMenuBar) then - IncPermissActMenuBar(IDUsuario, UserPasswordChange.Action); - {.$ENDIF} - - for Contador := 0 to Pred(Login.InitialLogin.InitialRights.Count) do - if Owner.FindComponent(Login.InitialLogin.InitialRights[contador]) <> nil then - begin - AddRight(IDUsuario, Owner.FindComponent(Login.InitialLogin.InitialRights[contador])); - AddRightEX(IDUsuario, ApplicationID, TcustomForm(Owner).Name, Login.InitialLogin.InitialRights[contador]); - end; - - try - Mensagens := TStringList.Create; - Mensagens.Assign(UserSettings.CommonMessages.InitialMessage); - Mensagens.Text := StringReplace(Mensagens.Text, ':user', UsuarioInicial, [rfReplaceAll]); - Mensagens.Text := StringReplace(Mensagens.Text, ':password', PasswordInicial, [rfReplaceAll]); - - if Assigned(OnCustomInitialMsg) then - OnCustomInitialMsg(Self, CustomForm, Mensagens); - - if CustomForm <> nil then - CustomForm.ShowModal - else - MessageDlg(Mensagens.Text, mtInformation, [mbOK], 0); - - finally - FreeAndNil(Mensagens); - end; -end; - -procedure TUserControl.SetfLanguage(const Value: TUCLanguage); -begin - fLanguage := Value; - Self.UserSettings.Language := Value; - UCSettings.AlterLanguage(Self.UserSettings); -end; - - -procedure TUserControl.SetFMailUserControl(const Value: TMailUserControl); -begin // By Vicente Barros Leonel - FMailUserControl := Value; - if Value <> nil then - Value.FreeNotification(Self); -end; - -procedure TUserControl.ApplySettings(SourceSettings: TUCSettings); -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; - InactiveLogin := SourceSettings.CommonMessages.InactiveLogin; - 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.TypeFieldsDB do - begin - Type_VarChar := SourceSettings.Type_VarChar; - Type_Char := SourceSettings.Type_Char; - Type_Int := SourceSettings.Type_Int; - end; atenção mudar aqui } - - UserSettings.WindowsPosition := SourceSettings.WindowsPosition; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'Criptografia'} {$ENDIF} - -const - Codes64 = '0A1B2C3D4E5F6G7H89IjKlMnOPqRsTuVWXyZabcdefghijkLmNopQrStUvwxYz+/'; - C1 = 52845; - C2 = 22719; - -function Decode(const S: ansistring): ansistring; -const -{$IFDEF DELPHI12} - Map: array[AnsiChar] of byte = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0); -{$ELSE} - Map: array[char] of byte = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0); -{$ENDIF} - -var - I: longint; -begin - case Length(S) of - 2: - begin - I := Map[S[1]] + (Map[S[2]] shl 6); - SetLength(Result, 1); - Move(I, Result[1], Length(Result)); - end; - 3: - begin - I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12); - SetLength(Result, 2); - Move(I, Result[1], Length(Result)); - end; - 4: - begin - I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12) + (Map[S[4]] shl 18); - SetLength(Result, 3); - Move(I, Result[1], Length(Result)); - end - end; -end; - -function Encode(const S: ansistring): ansistring; -const - Map: array[0..63] of char = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; -var - I: longint; -begin - I := 0; - Move(S[1], I, Length(S)); - case Length(S) of - 1: - Result := Map[I mod 64] + Map[(I shr 6) mod 64]; - 2: - Result := Map[I mod 64] + Map[(I shr 6) mod 64] + Map[(I shr 12) mod 64]; - 3: - Result := Map[I mod 64] + Map[(I shr 6) mod 64] + Map[(I shr 12) mod 64] + Map[(I shr 18) mod 64]; - end; -end; - -function InternalDecrypt(const S: ansistring; Key: Word): ansistring; -var - I: Word; - Seed: int64; -begin - Result := S; - Seed := Key; - for I := 1 to Length(Result) do - begin - {$IFDEF DELPHI12} - Result[I] := AnsiChar(byte(Result[I]) xor (Seed shr 8)); - Seed := (byte(S[I]) + Seed) * Word(C1) + Word(C2); - {$ELSE} - Result[I] := char(byte(Result[I]) xor (Seed shr 8)); - Seed := (byte(S[I]) + Seed) * Word(C1) + Word(C2); - {$ENDIF} - end; -end; - -function PreProcess(const S: ansistring): ansistring; -var - SS: ansistring; -begin - SS := S; - Result := ''; - while SS <> '' do - begin - Result := Result + Decode(Copy(SS, 1, 4)); - Delete(SS, 1, 4); - end; -end; - -function Decrypt(const S: ansistring; Key: Word): ansistring; -begin - Result := InternalDecrypt(PreProcess(S), Key); -end; - -function PostProcess(const S: ansistring): ansistring; -var - SS: ansistring; -begin - SS := S; - Result := ''; - while SS <> '' do - begin - Result := Result + Encode(Copy(SS, 1, 3)); - Delete(SS, 1, 3); - end; -end; - -function InternalEncrypt(const S: ansistring; Key: Word): ansistring; -var - I: Word; - Seed: int64; -begin - Result := S; - Seed := Key; - for I := 1 to Length(Result) do - begin - {$IFDEF DELPHI12} - Result[I] := AnsiChar(byte(Result[I]) xor (Seed shr 8)); - Seed := (byte(Result[I]) + Seed) * Word(C1) + Word(C2); - {$ELSE} - Result[I] := Char(byte(Result[I]) xor (Seed shr 8)); - Seed := (byte(Result[I]) + Seed) * Word(C1) + Word(C2); - {$ENDIF} - end; -end; - -function Encrypt(const S: ansistring; Key: Word): ansistring; -begin - Result := PostProcess(InternalEncrypt(S, Key)); -end; - -function MD5Sum(strValor: String): String; -begin - Result := md5.MD5Print(md5.MD5String(strValor)); -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCAutoLogin'} {$ENDIF} - -{ TUCAutoLogin } - -procedure TUCAutoLogin.Assign(Source: TPersistent); -begin - if Source is TUCAutoLogin then - begin - Self.Active := TUCAutoLogin(Source).Active; - Self.User := TUCAutoLogin(Source).User; - Self.Password := TUCAutoLogin(Source).Password; - end - else - inherited; -end; - -constructor TUCAutoLogin.Create(AOwner: TComponent); -begin - inherited Create; - Self.Active := False; - Self.MessageOnError := True; -end; - -destructor TUCAutoLogin.Destroy; -begin - inherited Destroy; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TNaoPermitidos'} {$ENDIF} - -{ TNaoPermitidos } - -procedure TUCNotAllowedItems.Assign(Source: TPersistent); -begin - if Source is TUCNotAllowedItems then - begin - Self.MenuVisible := TUCNotAllowedItems(Source).MenuVisible; - Self.ActionVisible := TUCNotAllowedItems(Source).ActionVisible; // Consertado Luiz Benvenuto - end - else - inherited; -end; - -constructor TUCNotAllowedItems.Create(AOwner: TComponent); -begin - inherited Create; - Self.MenuVisible := True; - Self.ActionVisible := True; -end; - -destructor TUCNotAllowedItems.Destroy; -begin - inherited Destroy; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TLogControl'} {$ENDIF} - -{ TLogControl } - -constructor TUCLogControl.Create(AOwner: TComponent); -begin - inherited Create; - Self.Active := True; -end; - -destructor TUCLogControl.Destroy; -begin - inherited Destroy; -end; - -procedure TUCLogControl.Assign(Source: TPersistent); -begin - if Source is TUCLogControl then - begin - Self.Active := TUCLogControl(Source).Active; - Self.TableLog := TUCLogControl(Source).TableLog; - end - else - inherited; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TCadastroUsuarios'} {$ENDIF} - -{ TCadastroUsuarios } - -procedure TUCUser.Assign(Source: TPersistent); -begin - if Source is TUCUser then - begin - Self.MenuItem := TUCUser(Source).MenuItem; - Self.Action := TUCUser(Source).Action; - end - else - inherited; -end; - -constructor TUCUser.Create(AOwner: TComponent); -begin - inherited Create; - Self.FProtectAdministrator := True; - Self.FUsePrivilegedField := False; -end; - -destructor TUCUser.Destroy; -begin - inherited Destroy; -end; - -procedure TUCUser.SetAction(const Value: TAction); -begin - FAction := Value; - if Value <> nil then - begin - Self.FMenuItem := nil; - Value.FreeNotification(Self.Action); - end; -end; - -procedure TUCUser.SetMenuItem(const Value: TMenuItem); -begin - FMenuItem := Value; - if Value <> nil then - begin - Self.Action := nil; - Value.FreeNotification(Self.MenuItem); - end; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TLogin'} {$ENDIF} - -{ TLogin } - -constructor TUCLogin.Create(AOwner: TComponent); -begin - inherited Create; - AutoLogin := TUCAutoLogin.Create(nil); - InitialLogin := TUCInitialLogin.Create(nil); - if not AutoLogin.MessageOnError then - AutoLogin.MessageOnError := True; - - fDateExpireActive := False; { By Vicente Barros Leonel } - fDaysOfSunExpired := 30; { By Vicente Barros Leonel } -end; - -destructor TUCLogin.Destroy; -begin - SysUtils.FreeAndNil(Self.FAutoLogin); - SysUtils.FreeAndNil(Self.FInitialLogin); - - inherited Destroy; -end; - -procedure TUCLogin.Assign(Source: TPersistent); -begin - if Source is TUCLogin then - Self.MaxLoginAttempts := TUCLogin(Source).MaxLoginAttempts - else - inherited; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TPerfilUsuarios'} {$ENDIF} - -{ TPerfilUsuarios } - -constructor TUCUserProfile.Create(AOwner: TComponent); -begin - inherited Create; - Self.Active := True; -end; - -destructor TUCUserProfile.Destroy; -begin - inherited Destroy; -end; - -procedure TUCUserProfile.Assign(Source: TPersistent); -begin - if Source is TUCUserProfile then - Self.Active := TUCUserProfile(Source).Active - else - inherited; -end; - - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TTrocarSenha'} {$ENDIF} - -{ TTrocarSenha } - -procedure TUCUserPasswordChange.Assign(Source: TPersistent); -begin - if Source is TUCUserPasswordChange then - begin - Self.MenuItem := TUCUserPasswordChange(Source).MenuItem; - Self.Action := TUCUserPasswordChange(Source).Action; - Self.ForcePassword := TUCUserPasswordChange(Source).ForcePassword; - Self.MinPasswordLength := TUCUserPasswordChange(Source).MinPasswordLength; - end - else - inherited; -end; - -constructor TUCUserPasswordChange.Create(AOwner: TComponent); -begin - inherited Create; - Self.ForcePassword := False; -end; - -destructor TUCUserPasswordChange.Destroy; -begin - inherited Destroy; -end; - -procedure TUCUserPasswordChange.SetAction(const Value: TAction); -begin - FAction := Value; - if Value <> nil then - begin - Self.MenuItem := nil; - Value.FreeNotification(Self.Action); - end; -end; - -procedure TUCUserPasswordChange.SetMenuItem(const Value: TMenuItem); -begin - FMenuItem := Value; - if Value <> nil then - begin - Self.Action := nil; - Value.FreeNotification(Self.MenuItem); - end; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TInitialLogin'} {$ENDIF} - -{ TInitialLogin } - -procedure TUCInitialLogin.Assign(Source: TPersistent); -begin - if Source is TUCInitialLogin then - begin - Self.User := TUCInitialLogin(Source).User; - Self.Password := TUCInitialLogin(Source).Password; - end - else - inherited; -end; - -constructor TUCInitialLogin.Create(AOwner: TComponent); -begin - inherited Create; - FInitialRights := TStringList.Create; -end; - -destructor TUCInitialLogin.Destroy; -begin - if Assigned(Self.FInitialRights) then - Self.InitialRights.Free; - inherited Destroy; -end; - -procedure TUCInitialLogin.SetInitialRights(const Value: TStrings); -begin - FInitialRights.Assign(Value); -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCControlRight'} {$ENDIF} - -{ TUCControlRight } - -procedure TUCControlRight.Assign(Source: TPersistent); -begin - if Source is TUCControlRight then - Self.ActionList := TUCControlRight(Source).ActionList - {.$IFDEF UCACTMANAGER} - {.$ENDIF} - else - inherited; -end; - -constructor TUCControlRight.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCControlRight.Destroy; -begin - inherited Destroy; -end; - -procedure TUCControlRight.SetActionList(const Value: TActionList); -begin - FActionList := Value; - if Value <> nil then - Value.FreeNotification(Self.ActionList); -end; - -{.$IFDEF UCACTMANAGER} -procedure TUCControlRight.SetActionMainMenuBar(const Value: TActionMainMenuBar); -begin - FActionMainMenuBar := Value; - if Value <> nil then - Value.FreeNotification(Self.ActionMainMenuBar); -end; - -procedure TUCControlRight.SetActionManager(const Value: TActionManager); -begin - FActionManager := Value; - if Value <> nil then - Value.FreeNotification(Self.ActionManager); -end; - -{.$ENDIF} - -procedure TUCControlRight.SetMainMenu(const Value: TMenu); -begin - FMainMenu := Value; - if Value <> nil then - Value.FreeNotification(Self.MainMenu); -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCAppMessage'} {$ENDIF} - -{ TUCAppMessage } - -procedure TUCApplicationMessage.CheckMessages; - - function FmtDtHr(dt: String): String; - begin - Result := Copy(dt, 7, 2) + '/' + Copy(dt, 5, 2) + '/' + Copy(dt, 1, 4) + ' ' + Copy(dt, 9, 2) + ':' + Copy(dt, 11, 2); - end; - -begin - if not FReady then - Exit; - - with Self.UserControl.DataConnector.UCGetSQLDataset('SELECT UCM.IdMsg, ' + - 'UCC.' + Self.UserControl.TableUsers.FieldUserName + ' AS De, ' + - 'UCC_1.' + Self.UserControl.TableUsers.FieldUserName + ' AS Para, ' + - 'UCM.Subject, ' + - 'UCM.Msg, ' + - 'UCM.DtSend, ' + - 'UCM.DtReceive ' + - 'FROM (' + Self.TableMessages + ' UCM INNER JOIN ' + Self.UserControl.TableUsers.TableName + ' UCC ON UCM.UsrFrom = UCC.' + Self.UserControl.TableUsers.FieldUserID + ') INNER JOIN ' + - Self.UserControl.TableUsers.TableName + ' UCC_1 ON UCM.UsrTo = UCC_1.' + Self.UserControl.TableUsers.FieldUserID + ' where UCM.DtReceive is NULL and UCM.UsrTo = ' + IntToStr(Self.UserControl.CurrentUser.UserID)) do - begin - while not EOF do - begin - MsgRecForm := TMsgRecForm.Create(Self); - MsgRecForm.stDe.Caption := FieldByName('De').AsString; - MsgRecForm.stData.Caption := FmtDtHr(FieldByName('DtSend').AsString); - MsgRecForm.stAssunto.Caption := FieldByName('Subject').AsString; - MsgRecForm.MemoMsg.Text := FieldByName('msg').AsString; - if Assigned(Self.UserControl.DataConnector) then - Self.UserControl.DataConnector.UCExecSQL('Update ' + Self.TableMessages + ' set DtReceive = ' + - QuotedStr(FormatDateTime('YYYYMMDDhhmm', now)) + - ' Where idMsg = ' + FieldByName('idMsg').AsString); - MsgRecForm.Show; - Next; - end; - Close; - Free; - end; -end; - -constructor TUCApplicationMessage.Create(AOWner: TComponent); -begin - inherited Create(AOWner); - FReady := False; - if csDesigning in ComponentState then - begin - if Self.TableMessages = '' then - Self.TableMessages := 'UCTABMESSAGES'; - Interval := 60000; - Active := True; - end; - Self.FVerifThread := TUCVerificaMensagemThread.Create(False); - Self.FVerifThread.AOwner := Self; - Self.FVerifThread.FreeOnTerminate := True; -end; - -destructor TUCApplicationMessage.Destroy; -begin - - if not (csDesigning in ComponentState) then - if Assigned(UserControl) then - Usercontrol.DeleteLoginMonitor(Self); - - Self.FVerifThread.Terminate; - // FreeAndNil(FVerifThread); - inherited Destroy; -end; - -procedure TUCApplicationMessage.DeleteAppMessage(IdMsg: Integer); -begin - if MessageDlg(FUserControl.UserSettings.AppMessages.MsgsForm_PromptDelete, mtConfirmation, [mbYes, mbNo], 0) <> mrYes then - Exit; - if Assigned(UserControl.DataConnector) then - UserControl.DataConnector.UCExecSQL('Delete from ' + TableMessages + ' where IdMsg = ' + IntToStr(idMsg)); -end; - -procedure TUCApplicationMessage.Loaded; -begin - inherited; - if not (csDesigning in ComponentState) then - begin - if not Assigned(FUserControl) then - raise Exception.Create('Component UserControl not defined!'); - Usercontrol.AddLoginMonitor(Self); - if not FUserControl.DataConnector.UCFindTable(TableMessages) then - FUserControl.CriaTabelaMsgs(TableMessages); - end; - FReady := True; -end; - -procedure TUCApplicationMessage.Notification(AComponent: TComponent; AOperation: TOperation); -begin - if AOperation = opRemove then - if AComponent = FUserControl then - FUserControl := nil; - inherited Notification(AComponent, AOperation); -end; - -procedure TUCApplicationMessage.SendAppMessage(ToUser: Integer; Subject, Msg: String); -var - UltId: Integer; -begin - with UserControl.DataConnector.UCGetSQLDataset('Select Max(idMsg) as nr from ' + TableMessages) do - begin - UltID := FieldByName('nr').AsInteger + 1; - Close; - Free; - end; - if Assigned(UserControl.DataConnector) then - UserControl.DataConnector.UCExecSQL('Insert into ' + TableMessages + '( idMsg, UsrFrom, UsrTo, Subject, Msg, DtSend) Values (' + - IntToStr(UltId) + ', ' + - IntToStr(UserControl.CurrentUser.UserID) + ', ' + - IntToStr(toUser) + ', ' + - QuotedStr(Subject) + ', ' + - QuotedStr(Msg) + ', ' + - QuotedStr(FormatDateTime('YYYYMMDDHHMM', now)) + ')'); - -end; - -procedure TUCApplicationMessage.SetActive(const Value: Boolean); -begin - FActive := Value; - if (csDesigning in ComponentState) then - Exit; - if FActive then - FVerifThread.Resume - else - FVerifThread.Suspend; -end; - -procedure TUCApplicationMessage.SetUserControl(const Value: TUserControl); -begin - FUserControl := Value; - if Value <> nil then - Value.FreeNotification(self); -end; - -procedure TUCApplicationMessage.ShowMessages; -begin - try - MsgsForm := TMsgsForm.Create(self); - with FUserControl.UserSettings.AppMessages do - begin - MsgsForm.Caption := MsgsForm_WindowCaption; - MsgsForm.btnova.Caption := MsgsForm_BtNew; - MsgsForm.btResponder.Caption := MsgsForm_BtReplay; - MsgsForm.btEncaminhar.Caption := MsgsForm_BtForward; - MsgsForm.btExcluir.Caption := MsgsForm_BtDelete; - MsgsForm.btClose.Caption := MsgsForm_BtClose; - - MsgsForm.ListView1.Columns[0].Caption := MsgsForm_ColFrom; - MsgsForm.ListView1.Columns[1].Caption := MsgsForm_ColSubject; - MsgsForm.ListView1.Columns[2].Caption := MsgsForm_ColDate; - end; - - MsgsForm.DSMsgs := UserControl.DataConnector.UCGetSQLDataset('SELECT UCM.IdMsg, UCM.UsrFrom, UCC.' + Self.UserControl.TableUsers.FieldUserName + ' AS De, UCC_1.' + Self.UserControl.TableUsers.FieldUserName + ' AS Para, UCM.Subject, UCM.Msg, UCM.DtSend, UCM.DtReceive ' + - 'FROM (' + TableMessages + ' UCM INNER JOIN ' + UserControl.TableUsers.TableName + ' UCC ON UCM.UsrFrom = UCC.' + Self.UserControl.TableUsers.FieldUserID + ') ' + - ' INNER JOIN ' + UserControl.TableUsers.TableName + ' UCC_1 ON UCM.UsrTo = UCC_1.' + Self.UserControl.TableUsers.FieldUserID + ' WHERE UCM.UsrTo = ' + IntToStr(UserControl.CurrentUser.UserID) + ' ORDER BY UCM.DtReceive DESC'); - MsgsForm.DSMsgs.Open; - MsgsForm.DSUsuarios := UserControl.DataConnector.UCGetSQLDataset('SELECT ' + - UserControl.TableUsers.FieldUserID + ' as idUser, ' + - UserControl.TableUsers.FieldLogin + ' as Login, ' + - UserControl.TableUsers.FieldUserName + ' as Nome, ' + - UserControl.TableUsers.FieldPassword + ' as Senha, ' + - UserControl.TableUsers.FieldEmail + ' as Email, ' + - UserControl.TableUsers.FieldPrivileged + ' as Privilegiado, ' + - UserControl.TableUsers.FieldTypeRec + ' as Tipo, ' + - UserControl.TableUsers.FieldProfile + ' as Perfil ' + - ' FROM ' + UserControl.TableUsers.TableName + - ' WHERE ' + UserControl.TableUsers.FieldUserID + ' <> ' + IntToStr(UserControl.CurrentUser.UserID) + - ' AND ' + UserControl.TableUsers.FieldTypeRec + ' = ' + QuotedStr('U') + - ' ORDER BY ' + UserControl.TableUsers.FieldUserName); - MsgsForm.DSUsuarios.Open; - - MsgsForm.Position := Self.FUserControl.UserSettings.WindowsPosition; - MsgsForm.ShowModal; - finally - end; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TVerifThread'} {$ENDIF} - -{ TVerifThread } - -procedure TUCVerificaMensagemThread.Execute; -begin - if (Assigned(TUCApplicationMessage(AOwner).UserControl)) and (TUCApplicationMessage(AOwner).UserControl.CurrentUser.UserID <> 0) then - Synchronize(VerNovaMansagem); - Sleep(TUCApplicationMessage(AOwner).Interval); -end; - -procedure TUCVerificaMensagemThread.VerNovaMansagem; -begin - TUCApplicationMessage(AOwner).CheckMessages; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCCollectionItem'} {$ENDIF} - -{ TUCCollectionItem } - -function TUCExtraRightsItem.GetDisplayName: String; -begin - Result := FormName + '.' + CompName; - if Result = '' then - Result := inherited GetDisplayName; -end; - -procedure TUCExtraRightsItem.SetFormName(const Value: String); -begin - if FFormName <> Value then - FFormName := Value; -end; - -procedure TUCExtraRightsItem.SetCompName(const Value: String); -begin - if FCompName <> Value then - FCompName := Value; -end; - -procedure TUCExtraRightsItem.SetCaption(const Value: String); -begin - if FCaption <> Value then - FCaption := Value; -end; - -procedure TUCExtraRightsItem.SetGroupName(const Value: String); -begin - if FGroupName <> Value then - FGroupname := Value; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCCollection'} {$ENDIF} - -{ TUCCollection } - -constructor TUCExtraRights.Create(UCBase: TUserControl); -begin - inherited Create(TUCExtraRightsItem); - FUCBase := UCBase; -end; - -function TUCExtraRights.Add: TUCExtraRightsItem; -begin - Result := TUCExtraRightsItem(inherited Add); -end; - -function TUCExtraRights.GetItem(Index: Integer): TUCExtraRightsItem; -begin - Result := TUCExtraRightsItem(inherited GetItem(Index)); -end; - -procedure TUCExtraRights.SetItem(Index: Integer; Value: TUCExtraRightsItem); -begin - inherited SetItem(Index, Value); -end; - -function TUCExtraRights.GetOwner: TPersistent; -begin - Result := FUCBase; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCRun'} {$ENDIF} - -{ TUCRun } - -procedure TUCExecuteThread.Execute; -begin - while not self.Terminated do - begin - if TUserControl(AOwner).DataConnector.UCFindDataConnection then - Synchronize(UCStart); - Sleep(50); - end; -end; - -procedure TUCExecuteThread.UCStart; -begin - TUserControl(AOwner).Execute; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUControls'} {$ENDIF} - -{ TUCControls } - -function TUCControls.GetActiveForm: String; -begin - Result := Owner.Name; -end; - -function TUCControls.GetAccessType: String; -begin - if not Assigned(UserControl) then - Result := '' - else - Result := UserControl.ClassName; -end; - -procedure TUCControls.ListComponents(Form: String; List: TStrings); -var - Contador: Integer; -begin - List.Clear; - if not Assigned(UserControl) then - Exit; - for Contador := 0 to Pred(UserControl.ExtraRights.Count) do - if UpperCase(UserControl.ExtraRights[Contador].FormName) = UpperCase(Form) then - List.Append(UserControl.ExtraRights[Contador].CompName); -end; - -procedure TUCControls.ApplyRights; -var - FListObj: TStringList; - TempDS: TDataset; - Contador: Integer; - SQLStmt: String; - ExisteObj: Boolean; - String1: String; - String2: String; -begin - // Apply Extra Rights - - if not Assigned(UserControl) then - Exit; - with UserControl do - begin - if (UserControl.LoginMode = lmActive) and (CurrentUser.UserID = 0) then - Exit; - - FListObj := TStringList.Create; - Self.ListComponents(Self.Owner.Name, FListObj); - - if UserControl.DataConnector.UCFindDataConnection then - begin - // permissoes do usuario - SQLStmt := Format('SELECT %s AS UserID,' + - ' %s AS ObjName,' + - ' %s AS UCKey ' + - 'FROM %sEX ' + - 'WHERE %s = %d AND ' + - ' %s = %s AND ' + - ' %s = %s', - [TableRights.FieldUserID, - TableRights.FieldComponentName, - TableRights.FieldKey, - TableRights.TableName, - TableRights.FieldUserID, - CurrentUser.UserID, - TableRights.FieldModule, - QuotedStr(ApplicationID), - TableRights.FieldFormName, - QuotedStr(Self.Owner.Name)]); - - TempDS := DataConnector.UCGetSQLDataset(SQLStmt); - - for Contador := 0 to Pred(FListObj.Count) do - begin - UnlockEX(TCustomForm(Self.Owner), FListObj[Contador]); - - ExisteObj := (TempDS.Locate('ObjName', FListObj[Contador], [])); - - case Self.UserControl.Criptografia of - cPadrao: - begin - String1 := Decrypt(TempDS.FieldByName('UCKey').AsString, EncryptKey); - String2 := TempDS.FieldByName('UserID').AsString + TempDS.FieldByName('ObjName').AsString; - end; - cMD5: - begin - String1 := TempDS.FieldByName('UCKey').AsString; - String2 := MD5Sum(TempDS.FieldByName('UserID').AsString + TempDS.FieldByName('ObjName').AsString); - end; - end; - - if not ExisteObj or (String1 <> String2) then - LockEX(TCustomForm(Self.Owner), FListObj[Contador], NotAllowed = naInvisible); - end; - TempDS.Close; - - //permissoes do grupo - SQLStmt := Format('SELECT' + - ' %s AS UserID,' + - ' %s AS ObjName,' + - ' %s AS UCKey ' + - 'FROM %sEX ' + - 'WHERE %s = %d AND ' + - ' %s = %s AND ' + - ' %s = %s', - [TableRights.FieldUserID, - TableRights.FieldComponentName, - TableRights.FieldKey, - TableRights.TableName, - TableRights.FieldUserID, - CurrentUser.Profile, - TableRights.FieldModule, - QuotedStr(ApplicationID), - TableRights.FieldFormName, - QuotedStr(Self.Owner.Name)]); - - TempDS := DataConnector.UCGetSQLDataset(SQLStmt); - - for contador := 0 to Pred(FListObj.Count) do - begin - ExisteObj := (TempDS.Locate('ObjName', FListObj[Contador], [])); - - case Self.UserControl.Criptografia of - cPadrao: - begin - String1 := Decrypt(TempDS.FieldByName('UCKey').AsString, EncryptKey); - String2 := TempDS.FieldByName('UserID').AsString + TempDS.FieldByName('ObjName').AsString; - end; - cMD5: - begin - String1 := TempDS.FieldByName('UCKey').AsString; - String2 := MD5Sum(TempDS.FieldByName('UserID').AsString + TempDS.FieldByName('ObjName').AsString); - end; - end; - - if ExisteObj and (String1 = String2) then - UnlockEX(TCustomForm(Self.Owner), FListObj[Contador]); - end; - TempDS.Close; - end - else - LockControls; - end; - - FreeAndNil(FListObj); -end; - -procedure TUCControls.LockControls; -var - Contador: Integer; - FListObj: TStringList; -begin - FListObj := TStringList.Create; - Self.ListComponents(Self.Owner.Name, FListObj); - for Contador := 0 to Pred(FListObj.Count) do - UserControl.LockEX(TCustomForm(Self.Owner), FListObj[Contador], NotAllowed = naInvisible); - FreeAndNil(FListObj); -end; - -procedure TUCControls.Loaded; -begin - inherited; - if not (csDesigning in ComponentState) then - begin - ApplyRights; - UserControl.AddUCControlMonitor(Self); - end; -end; - -procedure TUCControls.SetGroupName(const Value: String); -var - Contador: Integer; -begin - if FGroupName = Value then - Exit; - FGroupName := Value; - if Assigned(UserControl) then - for Contador := 0 to Pred(UserControl.ExtraRights.Count) do - if UpperCase(UserControl.ExtraRights[Contador].FormName) = UpperCase(Owner.Name) then - UserControl.ExtraRights[Contador].GroupName := Value; -end; - -destructor TUCControls.Destroy; -begin - if not (csDesigning in ComponentState) then - if Assigned(UserControl) then - UserControl.DeleteUCControlMonitor(Self); - - inherited Destroy; -end; - -procedure TUCControls.SetUserControl(const Value: TUserControl); -begin - FUserControl := Value; - if Value <> nil then - Value.FreeNotification(self.UserControl); -end; - -procedure TUCControls.Notification(AComponent: TComponent; AOperation: TOperation); -begin - if AOperation = opRemove then - if AComponent = FUserControl then - FUserControl := nil; - - inherited Notification(AComponent, AOperation); -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCGUID'} {$ENDIF} - -{ TUCGUID } - -class function TUCGUID.EmptyGUID: TGUID; -begin - Result := FromString('{00000000-0000-0000-0000-000000000000}'); -end; - -class function TUCGUID.EqualGUIDs(GUID1, GUID2: TGUID): Boolean; -begin - Result := IsEqualGUID(Guid1, Guid2); -end; - -class function TUCGUID.FromString(Value: String): TGUID; -begin - Result := StringToGuid(Value); -end; - -class function TUCGUID.IsEmptyGUID(GUID: TGUID): Boolean; -begin - Result := EqualGuids(Guid, EmptyGuid); -end; - -class function TUCGUID.NovoGUID: TGUID; -var - GUID: TGUID; -begin - CreateGUID(GUID); - Result := GUID; -end; - -class function TUCGUID.NovoGUIDString: String; -begin - Result := ToString(NovoGUID); -end; - -class function TUCGUID.ToQuotedString(GUID: TGUID): String; -begin - Result := QuotedStr(ToString(Guid)); -end; - -class function TUCGUID.ToString(GUID: TGUID): String; -begin - Result := GuidToString(Guid); -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUSERLOGGED'} {$ENDIF} -{ TUserLogged } - -procedure TUCUsersLogged.AddCurrentUser; -var - SQLStmt: String; -begin - if not Active then - Exit; - - with FUserControl do - begin - CurrentUser.IDLogon := TUCGUID.NovoGUIDString; - SQLStmt := Format('INSERT INTO %s (%s, %s, %s, %s, %s) Values( %s, %d, %s, %s, %s)', - [TableUsersLogged.TableName, - TableUsersLogged.FieldLogonID, - TableUsersLogged.FieldUserID, - TableUsersLogged.FieldApplicationID, - TableUsersLogged.FieldMachineName, - TableUsersLogged.FieldData, - QuotedStr(CurrentUser.IDLogon), - CurrentUser.UserID, - QuotedStr(ApplicationID), - QuotedStr(GetLocalComputerName), - QuotedStr(FormatDateTime('dd/mm/yy hh:mm', now))]); - if Assigned(DataConnector) then - DataConnector.UCExecSQL(SQLStmt); - end; -end; - -procedure TUCUsersLogged.Assign(Source: TPersistent); -begin - if Source is TUCUsersLogged then - begin - Self.Active := TUCUsersLogged(Source).Active; - Self.MultipleLogin := TUCUsersLogged(Source).MultipleLogin; - end - else - inherited; -end; - -constructor TUCUsersLogged.Create(AOwner: TComponent); -begin - inherited Create; - FUserControl := TUserControl(AOwner); - Self.FAtive := True; - Self.fMultipleLogin := True; -end; - -procedure TUCUsersLogged.CriaTableUserLogado; -var - SQLStmt: String; -begin - if not Active then - Exit; - - with FUserControl.TableUsersLogged do - SQLStmt := Format('CREATE TABLE %s (%s %s(38), %s %s, %s %s(50), %s %s(50), %s %s(14))', - [TableName, - FieldLogonID, - FUserControl.UserSettings.Type_Char, - - FieldUserID, - FUserControl.UserSettings.Type_Int, - - FieldApplicationID, - FUserControl.UserSettings.Type_VarChar, - - FieldMachineName, - FUserControl.UserSettings.Type_VarChar, - - FieldData, - FUserControl.UserSettings.Type_VarChar]); - if Assigned(FUserControl.DataConnector) then - FUserControl.DataConnector.UCExecSQL(SQLStmt); -end; - -procedure TUCUsersLogged.DelCurrentUser; -var - SQLStmt: String; -begin - if not Active then - Exit; - - if Assigned(FUserControl.DataConnector) = False then - Exit; - - with FUserControl do - begin - SQLStmt := Format('DELETE FROM %s WHERE %s = %s', - [TableUsersLogged.TableName, - TableUsersLogged.FieldLogonID, - QuotedStr(CurrentUser.IdLogon)]); - - if Assigned(DataConnector) then - DataConnector.UCExecSQL(SQLStmt); - end; -end; - -destructor TUCUsersLogged.Destroy; -begin - inherited Destroy; -end; - -function TUCUsersLogged.UsuarioJaLogado(ID: Integer): Boolean; -var - SQLStmt: String; - FDataset: TDataset; -begin - Result := False; - if Assigned(FUserControl.DataConnector) = False then - Exit; - - with FUserControl do - begin - SQLStmt := Format('SELECT * FROM %s WHERE %s = %s', - [TableUsersLogged.TableName, - TableUsersLogged.FieldUserID, - QuotedStr(IntToStr(ID))]); - - if Assigned(DataConnector) then - begin - fDataSet := DataConnector.UCGetSQLDataset(SQLStmt); - Result := not (fDataSet.IsEmpty); - end; - end; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCUserLogoff'} {$ENDIF} - -{ TUCUserLogoff Por Vicente Barros Leonel } - -procedure TUCUserLogoff.Assign(Source: TPersistent); -begin - if Source is TUCUserLogoff then - begin - Self.MenuItem := TUCUserLogoff(Source).MenuItem; - Self.Action := TUCUserLogoff(Source).Action; - end - else - inherited; -end; - -constructor TUCUserLogoff.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCUserLogoff.Destroy; -begin - inherited Destroy; -end; - -procedure TUCUserLogoff.SetAction(const Value: TAction); -begin - FAction := Value; - if Value <> nil then - begin - Self.MenuItem := nil; - Value.FreeNotification(Self.Action); - end; -end; - -procedure TUCUserLogoff.SetMenuItem(const Value: TMenuItem); -begin - FMenuItem := Value; - if Value <> nil then - begin - Self.Action := nil; - Value.FreeNotification(Self.MenuItem); - end; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCCurrentUser'} {$ENDIF} -{ TUCCurrentUser } - -constructor TUCCurrentUser.Create(AOwner: TComponent); -begin - inherited Create(AOwner); -end; - -destructor TUCCurrentUser.Destroy; -begin - if Assigned(FPerfilUsuario) then - SysUtils.FreeAndNil(FPerfilUsuario); - if Assigned(FPerfilGrupo) then - SysUtils.FreeAndNil(FPerfilGrupo); - inherited; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -end. diff --git a/internal/2.31RC1/1/Source/UCDataConnector.pas b/internal/2.31RC1/1/Source/UCDataConnector.pas deleted file mode 100644 index 5c73a01..0000000 --- a/internal/2.31RC1/1/Source/UCDataConnector.pas +++ /dev/null @@ -1,25 +0,0 @@ -unit UCDataConnector; - -interface - -{.$I 'UserControl.inc'} - -uses - Classes, - DB; - -type - TUCDataConnector = class(TComponent) - public - procedure UCExecSQL(FSQL: String); virtual; abstract; - function UCGetSQLDataset(FSQL: String): TDataset; dynamic; abstract; - function UCFindTable(const Tablename: String): Boolean; virtual; abstract; - function UCFindDataConnection: Boolean; virtual; abstract; - function GetDBObjectName: String; virtual; abstract; - function GetTransObjectName: String; virtual; abstract; - end; - -implementation - -end. - diff --git a/internal/2.31RC1/1/Source/UCDataInfo.pas b/internal/2.31RC1/1/Source/UCDataInfo.pas deleted file mode 100644 index 3ac4572..0000000 --- a/internal/2.31RC1/1/Source/UCDataInfo.pas +++ /dev/null @@ -1,247 +0,0 @@ -unit UCDataInfo; - -interface - -uses - Classes; - -type - TUCTableUsers = class(TPersistent) - private - FEmail: String; - FTypeRec: String; - FUserID: String; - FPrivileged: String; - FUserName: String; - FTable: String; - FProfile: String; - FLogin: String; - FPassword: String; - FKey: String; - fDateExpired: String; - fUserExpired: String; - fFieldUserDaysSun: String; - fFieldUserInative: String; - protected - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property FieldUserID: String read FUserID write FUserID; - property FieldUserName: String read FUserName write FUserName; - property FieldLogin: String read FLogin write FLogin; - property FieldPassword: String read FPassword write FPassword; - property FieldEmail: String read FEmail write FEmail; - property FieldPrivileged: String read FPrivileged write FPrivileged; - property FieldTypeRec: String read FTypeRec write FTypeRec; - property FieldProfile: String read FProfile write FProfile; - property FieldKey: String read FKey write FKey; - property FieldDateExpired: String read fDateExpired write fDateExpired; { By Vicente Barros Leonel } - property FieldUserExpired: String read fUserExpired write fUserExpired; { By vicente barros leonel } - property FieldUserDaysSun: String read fFieldUserDaysSun write fFieldUserDaysSun; { By vicente barros leonel } - property FieldUserInative: String read fFieldUserInative write fFieldUserInative; { By vicente barros leonel } - property TableName: String read FTable write FTable; - end; - - TUCTableRights = class(TPersistent) - private - FUserID: String; - FFormName: String; - FModule: String; - FTable: String; - FComponentName: String; - FKey: String; - protected - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property FieldUserID: String read FUserID write FUserID; - property FieldModule: String read FModule write FModule; - property FieldComponentName: String read FComponentName write FComponentName; - property FieldFormName: String read FFormName write FFormName; - property FieldKey: String read FKey write FKey; - property TableName: String read FTable write FTable; - end; - - TUCTableUsersLogged = class(TPersistent) - private - FTableName: String; - FData: String; - FApplicationID: String; - FUserID: String; - FLogonID: String; - FMachineName: String; - { private declarations } - protected - { protected declarations } - public - { public declarations } - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - { published declarations } - property FieldLogonID: String read FLogonID write FLogonID; - property FieldUserID: String read FUserID write FUserID; - property FieldApplicationID: String read FApplicationID write FApplicationID; - property FieldMachineName: String read FMachineName write FMachineName; - property FieldData: String read FData write FData; - property TableName: String read FTableName write FTableName; - end; - - TUCTableHistorico = class(TPersistent) - private - FTable: String; - FApplicationID: String; - FUserID: String; - fDateEvent: String; - fFieldForm: String; - fFieldEvent: String; - fFieldObs: String; - fCaptionForm: string; - fEventTime: String; - fFieldTableName: String; - protected - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property TableName : String read FTable write FTable; // nome da tabela - property FieldApplicationID : String read FApplicationID write FApplicationID; - property FieldUserID : String read FUserID write FUserID; - property FieldEventDate : String read fDateEvent write fDateEvent; - property FieldEventTime : String read fEventTime Write fEventTime; - property FieldForm : String read fFieldForm write fFieldForm; - property FieldCaptionForm : string read fCaptionForm write fCaptionForm; - Property FieldEvent : String read fFieldEvent write fFieldEvent; - property FieldObs : String read fFieldObs write fFieldObs; - property FieldTableName : String read fFieldTableName write fFieldTableName; // grava o nome da tabela monitorada - end; - -implementation - -{ TUCTableRights } - -procedure TUCTableRights.Assign(Source: TPersistent); -begin - if Source is TUCTableRights then - begin - Self.FieldUserID := TUCTableRights(Source).FieldUserID; - Self.FieldModule := TUCTableRights(Source).FieldModule; - Self.FieldComponentName := TUCTableRights(Source).FieldComponentName; - Self.FieldFormName := TUCTableRights(Source).FieldFormName; - Self.FieldKey := TUCTableRights(Source).FieldKey; - end - else - inherited; -end; - -constructor TUCTableRights.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCTableRights.Destroy; -begin - - inherited; -end; - -{ TUCTableUsers } - -procedure TUCTableUsers.Assign(Source: TPersistent); -begin - if Source is TUCTableUsers then - begin - Self.FieldUserID := TUCTableUsers(Source).FieldUserID; - Self.FieldUserName := TUCTableUsers(Source).FieldUserName; - Self.FieldLogin := TUCTableUsers(Source).FieldLogin; - Self.FieldPassword := TUCTableUsers(Source).FieldPassword; - Self.FieldEmail := TUCTableUsers(Source).FieldEmail; - Self.FieldPrivileged := TUCTableUsers(Source).FieldPrivileged; - Self.FieldProfile := TUCTableUsers(Source).FieldProfile; - Self.FieldKey := TUCTableUsers(Source).FieldKey; - Self.FieldDateExpired := TUCTableUsers(Source).FieldDateExpired; {By Vicente Barros Leonel} - Self.FieldUserExpired := TUCTableUsers(Source).FieldUserExpired; {By Vicente Barros Leonel} - Self.FieldUserDaysSun := TUCTableUsers(Source).FieldUserDaysSun; { By vicente barros leonel } - Self.FieldUserInative := TUCTableUsers(Source).FieldUserInative; { By vicente barros leonel } - Self.TableName := TUCTableUsers(Source).TableName; - end - else - inherited; -end; - -constructor TUCTableUsers.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCTableUsers.Destroy; -begin - inherited; -end; - -{ TUCTableUsersLogged } - -procedure TUCTableUsersLogged.Assign(Source: TPersistent); -begin - if Source is TUCTableUsersLogged then - begin - Self.FieldLogonID := TUCTableUsersLogged(Source).FieldLogonID; - Self.FieldUserID := TUCTableUsersLogged(Source).FieldUserID; - Self.FieldApplicationID := TUCTableUsersLogged(Source).FieldApplicationID; - Self.FieldMachineName := TUCTableUsersLogged(Source).FieldMachineName; - Self.FieldData := TUCTableUsersLogged(Source).FieldData; - Self.TableName := TUCTableUsersLogged(Source).TableName; - end - else - inherited; -end; - -constructor TUCTableUsersLogged.Create(AOwner: TComponent); -begin - -end; - -destructor TUCTableUsersLogged.Destroy; -begin - inherited; -end; - -{ TUCTableHistorico } - -procedure TUCTableHistorico.Assign(Source: TPersistent); -begin - if Source is TUCTableHistorico then - begin - Self.FieldApplicationID := TUCTableHistorico(Source).FieldApplicationID; - Self.FieldUserID := TUCTableHistorico(Source).FieldUserID; - Self.FieldEventDate := TUCTableHistorico(Source).FieldEventDate; - Self.TableName := TUCTableHistorico(Source).TableName; - Self.FieldForm := TUCTableHistorico(Source).FieldForm; - Self.FieldEvent := TUCTableHistorico(Source).FieldEvent; - Self.FieldObs := TUCTableHistorico(Source).FieldObs; - Self.FieldCaptionForm := TUCTableHistorico(Source).FieldCaptionForm; - Self.FieldEventTime := TUCTableHistorico(Source).FieldEventTime; - Self.FieldTableName := TUCTableHistorico(Source).FieldTableName; - end - else - inherited; -end; - -constructor TUCTableHistorico.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCTableHistorico.Destroy; -begin - inherited; -end; - -end. - diff --git a/internal/2.31RC1/1/Source/UCEMailForm_U.dfm b/internal/2.31RC1/1/Source/UCEMailForm_U.dfm deleted file mode 100644 index 2abfdac..0000000 --- a/internal/2.31RC1/1/Source/UCEMailForm_U.dfm +++ /dev/null @@ -1,151 +0,0 @@ -object UCEMailForm: TUCEMailForm - Left = 450 - Top = 464 - BorderStyle = bsDialog - Caption = 'Envio de Email' - ClientHeight = 34 - ClientWidth = 303 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - FormStyle = fsStayOnTop - OldCreateOrder = False - Position = poScreenCenter - PixelsPerInch = 96 - TextHeight = 13 - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 303 - Height = 34 - Align = alClient - BevelOuter = bvLowered - Color = clWhite - TabOrder = 0 - object img: TImage - Left = 8 - Top = 3 - Width = 28 - Height = 28 - AutoSize = True - Picture.Data = { - 07544269746D6170760C0000424D760C00000000000036000000280000001C00 - 00001C0000000100200000000000400C00000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0098300000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF009830000098300000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00D76733009830000098300000983000009830000098300000DB8D - 630098300000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7673300FBC4A100FFB3 - 8B00FCAF8800F8AB8300F0A27A00E89A7100E092680098300000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00D7673300FBC4A100FFB38B00FFB38B00FFB38B00F8AB8300F0A2 - 7A00E89A7100E092680098300000FFFFFF00C7B2A30069473100694731006947 - 3100694731006947310069473100694731006947310069473100694731006947 - 310069473100694731006947310069473100B7A29300D7673300FBC4A100FFB3 - 8B00FFB38B00FFB38B00FFB38B00F8AB8300F0A27A00E89A7100E09268009830 - 0000C7B2A300DBC9BF00B7A29300B7A29300B7A29300B7A29300B7A29300B7A2 - 9300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A29300B7A2 - 9300DDC5C200D7673300FBC4A100FFB38B00FFB38B00FFB38B00FFB38B00FFB3 - 8B00F8AB8300F0A27A0098300000FFFFFF00C7B2A300DBC9BF00B7A29300E4D7 - CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7 - CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00E4D7CF00D7673300FBC4A100FBC4 - A100FBC4A100FBC4A100FBC4A100FBC4A100FFB38B0098300000FFFFFF00FFFF - FF00C7B2A300DECEC500DECEC500B7A29300E9DED700E9DED700E9DED700E9DE - D700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DED700E9DE - D700E9DED700D7673300D7673300D7673300D7673300D7673300D7673300FBC4 - A10098300000FFFFFF00FFFFFF00FFFFFF00C7B2A300E2D4CC00E2D4CC00E2D4 - CC00B7A29300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4 - DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4 - DF00DDC5C200E2D4CC00D767330098300000B7A29300FFFFFF00FFFFFF00FFFF - FF00C7B2A300E6D9D200E6D9D200E6D9D200E6D9D200B7A29300F0E9E500F0E9 - E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9E500F0E9 - E500F0E9E500F0E9E500F0E9E500B7A29300E6D9D200E6D9D20098300000DDC5 - C20069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300EADFD900EADFD900EADF - D900EADFD900EADFD900B7A29300F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EF - EC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00F4EFEC00B7A29300EADF - D900EADFD900EADFD900EADFD900B7A2930069473100FFFFFF00FFFFFF00FFFF - FF00C7B2A300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A2 - 9300F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4F200F8F4 - F200F8F4F200B7A29300EDE4DF00EDE4DF00EDE4DF00EDE4DF00EDE4DF00B7A2 - 930069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300F0E8E400F0E8E400F0E8 - E400F0E8E400F0E8E400F0E8E400B7A29300B7A29300FCFAF900FCFAF900FCFA - F900FCFAF900FCFAF900FCFAF900FCFAF900B7A29300B7A29300F0E8E400F0E8 - E400F0E8E400F0E8E400F0E8E400B7A2930069473100FFFFFF00FFFFFF00FFFF - FF00C7B2A300F3EDE900F3EDE900F3EDE900F3EDE900F3EDE900B7A29300DDC5 - C200DDC5C200B7A29300DDC5C200FFFFFF00FFFFFF00FFFFFF00DDC5C200B7A2 - 9300DDC5C200DDC5C200B7A29300F3EDE900F3EDE900F3EDE900F3EDE900B7A2 - 930069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300F6F1EF00F6F1EF00F6F1 - EF00F6F1EF00B7A29300DDC5C200AFE0FB00A7DDFB00A0DAFC00C7B2A300B7A2 - 9300B7A29300B7A29300C7B2A300DDC5C2006AC4FD0062C0FD005ABDFD00B7A2 - 9300F6F1EF00F6F1EF00F6F1EF00B7A2930069473100FFFFFF00FFFFFF00FFFF - FF00C7B2A300F9F6F400F9F6F400F9F6F400B7A29300DDC5C200BDE7FB00B6E3 - FB00AFE0FB00A7DDFB00A0DAFC0099D7FC0091D4FC008AD1FC0082CEFC007ACA - FD0072C7FD006AC4FD0062C0FD005ABDFD00B7A29300F9F6F400F9F6F400B7A2 - 930069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300FCFBFA00FCFBFA00B7A2 - 9300C8B3A400CCEDFA00C5EAFB00BDE7FB00B6E3FB00AFE0FB00A7DDFB00A0DA - FC0099D7FC0091D4FC008AD1FC0082CEFC007ACAFD0072C7FD006AC4FD0062C0 - FD005ABDFD00B7A29300FCFBFA00B7A2930069473100FFFFFF00FFFFFF00FFFF - FF00C7B2A300FFFFFF00B8A39400DDC5C200DBF3FA00D3F0FA00CCEDFA00C5EA - FB00BDE7FB00B6E3FB00AFE0FB00A7DDFB00A0DAFC0099D7FC0091D4FC008AD1 - FC0082CEFC007ACAFD0072C7FD006AC4FD0062C0FD005ABDFD00B7A29300FFFF - FF0069473100FFFFFF00FFFFFF00FFFFFF00C7B2A300B7A29300DDC5C200DBF3 - FA00DBF3FA00DBF3FA00D3F0FA00CCEDFA00C5EAFB00BDE7FB00B6E3FB00AFE0 - FB00A7DDFB00A0DAFC0099D7FC0091D4FC008AD1FC0082CEFC007ACAFD0072C7 - FD006AC4FD0062C0FD005ABDFD00B7A2930069473100FFFFFF00FFFFFF00FFFF - FF00FFFFFF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2 - FA00D0EFFA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00A7DDFB00A0DAFC0099D7 - FC0091D4FC008AD1FC0082CEFC007ACAFD0072C7FD006AC4FD0062C0FD00B7A2 - 930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DBF3 - FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EFFA00C8EBFA00C1E8 - FB00BAE5FB00B2E2FB00ABDFFB00A4DBFC009CD8FC0095D6FC008ED3FC0086CF - FC007ECCFD0076C9FD00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3 - FA00DBF3FA00D7F2FA00D0EFFA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00ABDF - FB00A4DBFC009CD8FC0095D6FC008ED3FC0086CFFC00BCA7980069473100FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EF - FA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00ABDFFB00A4DBFC009CD8FC0095D6 - FC00BBA6970073533E00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300DBF3FA00DBF3 - FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EFFA00C8EBFA00C1E8FB00BAE5 - FB00B2E2FB00ABDFFB00A4DBFC00B7A2930069473100FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00C7B2A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3 - FA00D7F2FA00D0EFFA00C8EBFA00C1E8FB00BAE5FB00B2E2FB00B7A293006947 - 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2 - A300DBF3FA00DBF3FA00DBF3FA00DBF3FA00DBF3FA00D7F2FA00D0EFFA00C8EB - FA00C1E8FB00B7A2930069473100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C7B2A300C7B2A300C7B2A300C7B2 - A300C7B2A300C7B2A300C7B2A300C7B2A300B7A2930069473100FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00} - end - object lbStatus: TLabel - Left = 48 - Top = 14 - Width = 66 - Height = 14 - Caption = 'Status email' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - end - end -end diff --git a/internal/2.31RC1/1/Source/UCEMailForm_U.pas b/internal/2.31RC1/1/Source/UCEMailForm_U.pas deleted file mode 100644 index 79101cb..0000000 --- a/internal/2.31RC1/1/Source/UCEMailForm_U.pas +++ /dev/null @@ -1,34 +0,0 @@ -unit UCEMailForm_U; - -interface - -{$I 'UserControl.inc'} - -uses - Classes, - Controls, - ExtCtrls, - Forms, - Graphics, - StdCtrls; - -type - TUCEMailForm = class(TForm) - Panel1: TPanel; - img: TImage; - lbStatus: TLabel; - private - { Private declarations } - public - { Public declarations } - end; - -var - UCEMailForm: TUCEMailForm; - -implementation - -{$R *.dfm} - -end. - diff --git a/internal/2.31RC1/1/Source/UCEditorForm_U.dfm b/internal/2.31RC1/1/Source/UCEditorForm_U.dfm deleted file mode 100644 index 53cd4ad..0000000 --- a/internal/2.31RC1/1/Source/UCEditorForm_U.dfm +++ /dev/null @@ -1,1585 +0,0 @@ -object UCEditorForm: TUCEditorForm - Left = 237 - Top = 128 - BorderStyle = bsDialog - Caption = 'Configura'#231#227'o UserControl' - ClientHeight = 524 - ClientWidth = 594 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - Position = poMainFormCenter - OnClose = FormClose - OnCreate = FormCreate - PixelsPerInch = 96 - TextHeight = 13 - object pnlBotoes: TPanel - Left = 0 - Top = 479 - Width = 594 - Height = 45 - Align = alBottom - BevelOuter = bvNone - TabOrder = 0 - object btnOK: TBitBtn - Left = 219 - Top = 7 - Width = 75 - Height = 25 - TabOrder = 0 - Kind = bkOK - end - object btnClose: TBitBtn - Left = 299 - Top = 7 - Width = 75 - Height = 25 - Caption = '&Fechar' - TabOrder = 1 - Kind = bkClose - end - end - object Panel2: TPanel - Left = 0 - Top = 0 - Width = 594 - Height = 73 - Align = alTop - BevelOuter = bvNone - Color = clWhite - TabOrder = 1 - object lbComponente: TLabel - Left = 5 - Top = 27 - Width = 230 - Height = 19 - Alignment = taCenter - AutoSize = False - Caption = 'Configura'#231#227'o B'#225'sica' - Font.Charset = ANSI_CHARSET - Font.Color = clBlack - Font.Height = -16 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - ParentFont = False - end - object Image1: TImage - Left = 220 - Top = 0 - Width = 374 - Height = 73 - Align = alRight - AutoSize = True - Picture.Data = { - 0A544A504547496D616765FE200000FFD8FFE000104A46494600010101004800 - 480000FFDB0043000302020302020303030304030304050805050404050A0707 - 06080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17 - 1816141812141514FFDB00430103040405040509050509140D0B0D1414141414 - 1414141414141414141414141414141414141414141414141414141414141414 - 14141414141414141414141414FFC00011080050017603012200021101031101 - FFC4001F0000010501010101010100000000000000000102030405060708090A - 0BFFC400B5100002010303020403050504040000017D01020300041105122131 - 410613516107227114328191A1082342B1C11552D1F02433627282090A161718 - 191A25262728292A3435363738393A434445464748494A535455565758595A63 - 6465666768696A737475767778797A838485868788898A92939495969798999A - A2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6 - D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F01000301 - 01010101010101010000000000000102030405060708090A0BFFC400B5110002 - 0102040403040705040400010277000102031104052131061241510761711322 - 328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728 - 292A35363738393A434445464748494A535455565758595A636465666768696A - 737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7 - A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3 - E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00FD52 - DA2968A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2800A28A2 - 800A28A280129314EA2801980690A8A7919A6918A0040A29703DE8A5C52B00A3 - 18A5A414B4C0422A3755352D3185260549A38D8739ACBBB82D70776EAD891335 - 977908C1AC66B4378339CBE834C19DFE67E15CF5F43A1027779D5D06A76FC371 - 5C86A96F8278AF36ABB743D3A4AFD4A772BE1B04EE37159D31F0B8CE5AE47E35 - 46FE2C678AE7EF58464F19AF32752DD11EA429DFED33A573E14EED723F1A88BF - 84FF00BD75F9D7097BAC476F9DD139C7A62B3EF3C516569A72DE3966466D8100 - F9B77A1F4AE7757FBA8E85497F333D2B7F84FF00BD75F9D1BFC27FDEBAFCEBC8 - 1BE22582FF00CBB5D9FA22FF00F1552699E3FD3753BF8ACD56686690E17CD500 - 13E9C1A9F6DFDD43F64BF999EB7BFC27FDEBAFCE8DFE13FEF5D7E75E47A87C43 - D1F4FBD92D5A5925963387F2937007D2A23F12F460325A751D7988D1EDBFBA83 - D92FE667B0EFF09FF7AEBF3A37F84FFBD75F9D7954FE39D1EDB4A8B507B922DE - 5E170A771F5E2AAC7F137C3EE3FE3EE45FADBC9FE147B6FEEA0F64BF999EBFBF - C27FDEBAFCE8DFE13FEF5D7E75E5FA678CB47D61E45B5BD5768D4BB0652B803A - 9E40A84F8FFC3C1CAFF6ADBE41C7DEA3DB7F7507B15FCCFEF3D5B7F84FFBD75F - 9D1BFC27FDEBAFCEBCD2CFC57A3DFCAB1C1A9DAC9231C2A0946E27D00A9E7D77 - 4DB598C336A16D14A3AA3CCA187E19A3DB7F7507B15FCCFEF3D1E27F0A6E386B - AE9EB4579D5BF88F4A0E4FF695A631FF003D97FC68AB557FBA84E8FF00799F6F - D14515F667C48578AFED47FB58F843F64AF0BE8FAEF8BEC757D42DB54BC36504 - 3A34514B287085CB1124B18DB85C6413C91C57B557E667FC16CF5069BC35F08B - 41882B5C5FEA779346A7824A2429D4F006661D7DBDE803F49347D622D6742B2D - 5638E5B782EAD92E563B850AE8ACA18061938201E79AF1CFD96BF6BDF08FED71 - A46BFA978434AD774DB5D1AE23B69DB5B82188C8EEA5BE4F2E59338039CE3A8E - B5DFFC43BB83C1DF077C4B72A425B697A15CC80C996C2476EC79EE785AFCB9FD - 85F46F88FF00F0EF5F8D3A97C286963F1B5C6BE21B56B363F6A31C515B3CC21F - 493CB91F6E3924903E6DB401FAF1457E7A7FC13CEC3C3BE25D3EC7C6F17C70F8 - 87ACF8CB44B694F8C3C19E24D51A4B7498C6EAE4DB3297DAAE772C9B9892B83B - 492A3C93E14FC51D5FF6CAD5BC69E37F1EF8B3E31693A1C7A8BD8E83A1FC32D3 - 2FDED2C91515834B25BC32234A1644E1BE6E493F2B28A00FD67A2BF29A4F8C1F - 1E3C3DFB0B7C7AB3F185CF8E344D47C2F7FA58F0D78BF58B6BBD2F52BCB59B50 - 4460257092310A9F31C96027DAC71815EFFF00B047C1DF889ACF87BC13F193C7 - FF00167C41E26BBD4745096DE1E9EE5E4B38ED9D0089E42CC77CC400ECE46496 - 20938CD007D91E24F12E95E0ED06FB5BD7350B6D2B48B189A7BABDBB90471428 - 064B331E00AF8E6EBFE0AADF0FF56D5EEED3C0FE03F1F7C42B5B46227D4743D1 - F740076203307C1E7EF2AF6FC392FF0082CF78BF57D13F67EF0BE8963349069B - AD6BAA97EC9902448E26748D8FA17C363D631E86BECDF82BF0DFC35F0A3E1778 - 73C33E13B6B78744B2B2896192DD028B825413331FE2673F31249249EB4009F0 - 57E2F693F1D3E1D69BE31D1AC752D2ECEF5E68CD8EB10082EEDDE295A3749630 - CC15B284E327820F7AEE335F17FF00C144BF683F1B7C3DBCF865F0C3E1BEA3FD - 85E2CF885AA8B01AC0452D6B1192288042DC2B33CCBF375011B182411E47FB4F - 7C16F887FB117C2FB5F8B3E09F8E5E3AF10EADA75EDB26B361E28D40DE595F89 - 1F696111E9F391C3163866C303C900FD2DA4AFCCBFDB1BE36FC4AF1F7C4AFD95 - D3E17F89F56F085FF8DAC2DB54FB35B5ECB1DA319DADDD3ED31290264405B72B - 020AEE183922B8BFDB17E1FF00C62FD892F3C13F12346F8EFE2DF19EA1A96A62 - CEEECF549A4F265976F981443E632344C10AF9647181827B007E9BFC48F8C1E0 - EF84506972F8BF5EB7D15755BB5B1B1598333DCCEC40088AA092791D05762391 - 5F969FF0534F86773AEFED57F01ED23F1BF88ADCF8C75986D16CD6EDBECFA291 - 35A42B7166BD23918BB3B11CEE45356FF6EDB7F897FB3AFF00C339F81FC0DF16 - 3C657DAB6A5AAEA513EABABEB33196FA469ECBC95BA2A40963432950AC080A48 - C726803F5069335F9BDFB456ADF12BF61BF83DA7787343F893ACF8E3E23FC4BD - 6E3B74D775C3BFEC0422897ECE1CB040CD246173C28662390083F685FD9BBE24 - 7ECABF042EFE2D785FE3F78F759F19E83E45CEAD0EB5A89B8D3EFD5A54470903 - 676805C1C397C80470482003EBFF00DA37F6A3F0BFECC96BE179BC4BA66B5AA7 - FC245A80D32CE3D1608A57129008DC1E44E39ED93ED5EC40EE00FAD7E5D7ED95 - F14A4F8E3E0FFD8D3C4374134F9FC4FAD4379736711E165DF6A92140792AACED - 827B30CF5AFD451C28FA5007C6BE23FF0082A37C3BD03E2078ABC1F0780FE226 - BDAA786B51B8D32F9F46D22DEE2212452B44CCA45C03B4B2360B0048EC3A57AC - 7ECC7FB63FC3DFDABACF566F07C9A8596A5A5328BCD27598161BA895890AF856 - 752A4823218E08E71919F80BF65EF8A7E36F02FED0DFB53788FC01F0EA6F88FA - A5DF8A5D1F468AF85AC90C4F777CDE76E28DB82B0452A00CEFCE462BDC7F634F - D9DBC69F0C75BF8C5F1BFE30DCE9FF000DF57F1847707ECF1DC4489A5C72C865 - 92777DC5130DB3682C4FCA77726803EFEC8CE296BF217F68DF8A3F0E349F873A - EDFF00C26F8C7F19BC75E3ED29A37FF84861D5EF64B0B502450E6E242B1C4232 - ACC079631B99474241EE3E287ED25F17BE21F81FF664F857E1EF14CFE1CF177C - 45D2ADEF75AF135B7EEEE7C973B15D597054ED59246D855890002B93900FD41C - F04D78EFECF9FB517863F692BAF1941E1AD3359B0FF845B51FECCBC93568228D - 25972C0F945247C81B3BED3F30E39AE6BE05FEC872FC09F13C5ADDBFC5AF883E - 2B46B5782EF4AF12EAA2EACA66603122C7B46C652383927048CF35F99BF077F6 - 88F137C38F83DE38F0A783E5934CF1DFC4EF1FCFA45B7882590DB5B69EB88449 - 209BA47266E0004728096E0AAE403F6D5D720D52B88F703C57CFDAAF8234AF81 - 3FB2F47E1FF881F1B3C43A34AE623A978E6F35A73A8CB3EE5774B692732140C1 - 0A2A2293B37705896AFCF4F8FDF1D74CF056A3E0DF107ECF7F10FE2B6B178DAA - ADADE6B5E23BFBC9748BF623E58D85C01E63B1524AEDC60138CE312D5CA4EC7E - B6EA30641E335C9EAD66E413B49AF953E367C4AF885FB467ED8D3FECFF00E02F - 175E7C3FF0DF8774F1A9788F5CD24EDBE986D898AC520C1400CF120008F9998B - 6E002D79978CFE19EB3FB3EFEDA1F03BC1BE1AF8AFE3ED6348F105D25CEA969A - FEBCF32CCB14A494288114C6EAAC36B03DF9AE49D1E6D2E75C2B72EB63EC8D42 - D5D890149FA5731AADAC9129DC8471DEBE5FF881F14F52F8E3FB58F8DBC0B7BA - EF8EF41F875E0D4F25ECFE1DE9D753DEDF5D0655633BDBC6EC91EEDE0646308B - 8192586A7ECFD71F107C3DF1C7C55E10B88FE206BBF0926D3FED3A46B7E3AD2E - EE1B8B49D550F95E74D1AE464C8BB78076A900739F3AA60DA8B95CF4A963173A - 8DB4D8F55D6530589FA570177765361203C6AECE14F4278AF40D7ADCBB380E40 - 071D6B86D6745DD1A8128048DC0AB7415E1BDCF711CD6A17AD711A284085776E - 61DF3D3F2ACCFB535A5CDA4A8C77ACE9839E4722AD5E6892C793F6E7EBCE0D63 - B69ACB9B87BB6985BCE8BB59F1927E607F4350C64F1EADE5CD70CD1ABC924E58 - B9EA0066CE3EA71F954324E6595DB2CB131385CF41DA9B2F872EA646BC8A6115 - BC929032C383DFF0EB43F873528ECBED4D707C8CECDF818CF5C50324D52F19B4 - 9B488A868E3B99064807AAA9C7EA6A2BBD596E632208DA06F309C87E36E381D3 - B63AD2CFA705F0FB34B3B3CA6E7098C7DEDA327F2C7D6A80D12F0410CEB3AEC9 - 7215830EB9C629202DDADE4B0A4C530ED246C8FB8F6EA7F90FCAAB69D7F6B15A - 8596373212C77AB7418C0E3A7506A44D2AE6D512E259C3444942A1C020E3BFF9 - E6B3EE74B9AD4C5FBC0AB28CA96C607247269812C37522CA926F3BD1832F3DFA - 8A20BCB792FEE1EEFCDD8DF364364E4E3D7E8696E743BFB7754255B70CA32302 - AC0F420FF9EB556F6C26B3BC68DDB6C8A76B0E281D84D4DD3CD7113EE8836109 - E0E314555786691701867D4D154897B9FB25451457DD9F0615F317EDD9FB175B - FED87E09D16D6DB595D07C4BA04D2CDA6DDCD11920612851245201C80DE5C677 - 0CE0AF435F4ED1401F9EBE29F811FB6E7C4CF8793FC37F11F8EBC056BE1FBAB6 - FB05FEB56E66379796F80ACACDE4F3BD7838542C0904F273EC3E05FD98FC7BFB - 2FFECD5A47827E08EB9A15E78BADB52FED1D46F7C556EE969A8EF5612AED8B73 - 47D220B839C4782DC935F54D1401F10FECFF00FB22FC545FDA9F56F8E5F162FB - C27A6EA177A7BD89D0BC211CBE45CEE411969BCC1D3033C972C7192028159BF0 - E7F655F8F7FB21F8A7C516DF04F56F077897E1D6B77CD7D1685E2B7B8867B291 - 8019568860E15550B6EF9828F941E47DE145007C9BF1BBE04FC6DFDA23F647F1 - 2F813C59AAF836D3C7BACEA104CBFD96D7316970DAC734522C459A3794B7EEC9 - 2769E4819C0AF79F817E04BBF85FF05BC09E0FD40DABEA1A168765A6DD3D9126 - 179A28112474255490CCA4E4804E7919AEE68A00F2BFDA5FF677F0E7ED3FF0A6 - FF00C11E23696DA19644B9B4BFB700CB677299D92A83C1E199483D55D8646723 - E5BF03FC14FDB53E07787ED7C19E14F1D780BC59E19B2416FA75EEBF1CEB736B - 08E1548099C28E80B49800007000AFBE28A00F8FBE3AFEC6DE38FDA0BE0FFC3F - 9FC41E34B0B4F8E1E0EBA7D46D3C49676FB6C8CCD207F2B68452117643B5F612 - 0C5920EE6CF0DF107F65BFDA63F6AD8744F09FC67F15782BC3FE01D3AEE3B9BD - 4F08473B5DEA6C80804F98368C827BAA82C1B6315007DF545007C99F127F643F - 10F89BF6B3F833E3DD12E747B2F87FE01D2D6C8E9B35CCC2EF728982F95188CA - 1500C2325C13B4E470337BF6E6FD967C51FB4FC7F0DED7C3F79A3DA59F87F5B1 - A96A3FDA9712C4D245F28DB17971BE588DDD4AF6E79E3EA5A2803E36FDB7FF00 - 651F88FF0018BE25FC2DF88BF0CB55D1A0D7FC1571E72D8EB8EE90BB09525460 - 555B23298653B72318354BE337ECA5F17BE3D78E3F677F17789753F080D43C0F - A9FF0069F88ACA092E12DE4DD7704CD1DAA989F70114213F78C3240C9E49AFB5 - A8A00F9FBF6CEFD94ADFF6ADF86F65A4DBEAC7C3DE26D1AEC6A3A36ADB4B2C33 - 01828E01076B71C8E54AA919C60F827C41FD9B3F6AEFDA4FC2B65F0EBE2878C7 - C0BA2F81E39E27D4F52F0EC33BDF6A8B1B065DC8EA13EF2AB607963201C1C62B - EFCA2803E3BF8F7FB13EB1E39F1BFECD83C1B2E8963E0AF8557B0BDCDA6A934A - 2E27B7496D09540B132BB14B539DC572CDC9E491F6191C114B45007C7FFB177E - C89E36FD9E7E2FFC5FF1778AB52D0AF6D3C6579F6AB38B489E6778BF7F348448 - 248900E255E85BA1FC7D4BF6C9F801A87ED33F0075EF02695AC268BA8DDC90DC - 5BCF3EEF21DE29038497682761C7500E08070718AF6EA2803E0ED7FF00661F8E - FE3FFD8FF50F8217DA5FC38F0CC70DA69F656979A6DE5CAA5CF913C723CB2010 - 1D8CDE502700966624EDEFB1F1C7F60FF1378BFC13F05754F01F896C3C35F143 - E18E996561697571BDECAE4411C63696DA5800E848250EE0CC1979E3ED9A2803 - C1BE04C7FB464F79A8CBF175FC07159476061B0B5F0C8B9F366B9CAFEF676932 - 02E01184EEC78E057CE5F0C3FE09A3AB59FEC65E32F845E38D4342B8F135EEBD - 36BFA26ABA6492CB0D9CFF006682388B33C48C3262757014FC8FC64F4FD06A28 - 03F3DFE2E7EC47F1C7E32FC12F85FA6F8ABC45E13D5FC75F0FAF9DE159EEAE67 - D3F5BB5222DBF6ADD0AB79A3C90872A430662581635D67C6DFD9A3E32FED1BA6 - FC243E20B5F03785FF00E114F118D4AF74ED36FAE5A33669E408D623E472E42C - FF002FCAA0797C9C9DBF6D9E9514BF769303E1AF8CDFB2D7C48F0EFED5B77F1A - 3E077893C370789753B14835AF0EF8919C45345B563DDFBB058A3F90848CA9DD - 19218E481E05FD9DE339BFE0A9FF000B2D7C63E26D3FC4FE2B834B7B8D461D1A - 268AC34B3F67BC7FB3401C96D823D8FB9FE66694FA8AFB9FE3CFEC8FF0FF00E3 - D789AC3C49E211AC69FE22B0B4FB0DBEABA26A525A4EB0EE66D9C641019D8F23 - F88D731F06BF643F861FB386B97FAFF85B4EBEBDF135EC4F0CBAD6B578D75721 - 18E5829202A93C6485C90304F5CE529A8ABB368C1C9D91E47E36FD9C7E22780B - F685F107C59F82FAFF0087E1B9F114623D6FC37E2712A5B5C1F972F1BC609C96 - 50FC952096E483B6BB7F07FF00C2D478B56B9F89771E11B64758D74ED3FC2AF7 - 1214396F31E7798724FC9B42718273CD7A9EAEE497393CD71BABBB156E49AF12 - BD76E3CAD1EE50C3A52E64CE1356CF98C73EB5C76B9108A4DAA79C648C743FFE - AAEBF5C0E992B9CF3DABCF35ABABB47202E49E9953CD78EF73D8455D5EC05B5B - C6FE62E48E54BF24FB0F4FA135C4DE122F2E0E401F684079C7F09ABBA86A57A5 - C8FBB838E10D6588A67B69A4663E679AAFEE7823A566CA35E5898E9913FDA588 - DC40889E14FA819FE9DFE99D58F4991FC30938BA2A4B31F21BEE151CE47E22B8 - B13DE200426476CA77A57BEBBCED2BB4F4236907E94EC05DD409FB2F04802688 - F5F50C3FA5422DDA4D29A6FB50C472045B6CF232324E3F21F89A8E232DD59DD8 - 98FCC4C65401D704E40FFBEAA9949F3900B0ED94CD219B1656F14BA44EED2482 - 58183E09FDDE0F18FA9FE40D65EA058980EEC0194C7EBFFB3547299E2E1F838E - 8463FCFF00F5E9E13CFB52F23E595C6D53D48C75FE5400B730CCBA7DADC79EF2 - 2312A149202107A0E7F954FABD835B7932995A7124633213BB6B775CFB7071D7 - 9ACE5858703201F6C7144B1B4726D7C061C1C60E3FFD540CA52B10872790DDA8 - A9EFAD96354084485802483800E3A73455AD897B9FB1F451457DD1F061505EDE - DBE9D6B2DD5DCF1DB5B44A5E49A670888A3A924F0054F5F3CFED75309DBE1DE9 - 3A94EF6DE13D475E8A3D5E40FB10A0236ABB7653973CF1F2E7B567527C91722A - 2B99D8F4DD1FE3978035FD5E3D2F4FF17693757F236C8E14B95CC8D9C00A4F0C - 4F60339AD2F157C4EF09F81EF21B5D7FC43A7E9173347E6C715DCEA8CCB92320 - 1ED906BCCFF69CF0C78374EF80FADB4FA769D66B6D6E3FB35A18923649F23CB1 - 1631D4F503A8CF6AF318E7F10EAFF17BE1C4573A559EB3E251E038A792DF5872 - 91CB2B3B06F30ED62AC0027A1E78E3AD73CAACE0F95EFA1A2826AE7D253FC5EF - 055B6836FADC9E29D297499E5304579F6A431348064A6ECFDE039C75A5F0F7C5 - BF0678B2F64B4D1BC4DA6EA7751C4D33456D70AEC11719620761915F20FC5FF8 - 4BA9FC2FF04682B7EFA75C6B9AEF8CC6A274FB2056CA12CADB6240403B464027 - 1C020638C9FA374EB6F10E97E14F15DEF893C33E1DD0441A64CD04DA1C86491B - F76C5C3651703818C511AD37269AB581C2295D1E8BE17F19E85E36B192F740D5 - AD357B48E4313CD67289155C004A923A1C107F1AB1A078934BF15581BDD22FE0 - D46D048D119ADDC3AEE5386191DC1AF8EFE10492FECEBA6782FC5D24931F05F8 - BEC92DF5757FBB6979F318A6F6565E3E9B89ED5ED1FB1B44E3F67FD0EE2460CF - 753DDCC5BB93F6891493EFF2D3A559CDA8B5ADBFCBFCC528249B477B75F187C1 - 365E275F0ECDE27D363D6DA5100B3338DE2427010F60D9E3079C9157BC5DF11B - C31E028E27F10EBB63A479BFEAD2E660AEFEEABD48F702BC06DEC3FE19ABE234 - B1EAB616BADF81BC61AC0787546895AEAC2EE424AA3E7974E3208E98247390D7 - FE09E9FA778A3E3C7C57BFF12C50DE7892C75116B6305E00E60B205846D1AB67 - 01805C91EA3A6EE45564DF2F5BFDDFE63E45BF43DC7C37F10BC35E30D2EE352D - 175CB1D4ECAD8133CB6D32B08B8CFCE3AAF009E7156B45F1768DE22D0CEB3A66 - A76D7DA500E7ED90481A3C2E777CC3D3073F4AF997E274567E1CFDA32E3FE111 - 8A18257F0A6A12EBF6F66A044408643099157A3171175E71B7D79DAFD9F751B5 - D1FF00633B8BD17118686C753925F318611C3CD853E991B4E3AF3EF446B37271 - 7D2FF8581C15AE7B45CFC5FF000559E8569AD4FE27D322D26EE468A0BC6B8511 - 4AEBF7955BB918ABBE15F887E18F1C19D7C3FAF69FAC3C1CCA96770B2320EC48 - 07207BD7C6DE15B655F85DFB3C59FD923964BCD7EEE631DC83E5B9170C006183 - C1057B7415D1E836FA86B7A7FC54F899A7C36DE1BF14E9BA65CE88DE1FD2A3D8 - F66C982F2BB0C6E7C2E548007CBDCAD66B11276D3FAB5C6E9A3E8FD77E38F807 - C33AA49A76A5E2DD2AD6FA36DB2406E0168DBD1B19DA7D8E2A5D6BE33F817C39 - A949A7EA9E2BD2AC2FA20ACF6F3DCAABA8650CA48F75607E84571DFB35F83BC2 - 2BF05BC3971A7D8D8DEBDFD9A4D7F71246B23CB70C3F7A1D8E492AFB9707A018 - AF2436BAD5D7ED7BF118786F43D135D923B0B557875890A431A886DC654856F9 - B2318FAD5CAACD4632D35128C5B6BB1F56786FC51A478C34C5D4744D46DF54B1 - 66282E2D640E85875191E95A958BE0FB4B9B3F0ED9A5F69F63A5DF32EEB8B5D3 - 7FD4239EBB4E067B738ADAAEB57B6A64F70A2909C526EA621D45341A5CE68016 - 8A28A0028A28A0043504C78A998D5699F8352CA4665F3F06B94D59F83CD747A8 - 4A0035C8EAD36735C1599DF451CA6ACFF7AB92D4D861ABA5D525C93CFE15C96A - 92F04F7AF12AB3DDA48E4B597C0635E6FE2AB968A7B62A7E6DE4835E89AADD22 - AB2B1C0279E33FE7BD79778AAE55AE611B8654312076E2B86476A29E9F756696 - 98BB505C901495CF0E0066FC3191EF5957BA82C9772F908A232C4AA8E38CF1FA - 556B8B8263554E46DC649E9515B5F3DA5CA4E84ABA1CF071F5E6A063F509644B - 59B7864CC6C57231EBCF35957B7B25C5ECF2311BCED3D38FBA2AF6B3A925DBDC - CA5A42B22127CD604E7078CD624B701667E832A98CFF00BB40D1D16BFACDAC97 - 28F64D09888236A2ED201C75F917FA9AAD7B7A9733FEEE268543124375E79C7B - 77FD2B0924000CB2E07239E95A775AF89558222A091104A0BEEDCCBFC43D3D3F - 1340CADA85DBC97A189C1F25003F4007F4AD1D5BC4C97D690C691324D16D1B88 - CEEF9403D4F1C8381D0E7B62B1AEE50E6091082BB5813D7F88FF0088AABBC11C - 9183C60D03355ADEF0DB2DCC90CA203C6FDA42FE759AD73279ACCAC438C1DC09 - CE6AECFAE3CDA65B59BB02B0B3156279C1C71598CE59B78FBA473ED4016F58D6 - 66D426131762C5543193E6390B83C9F53CD1599338F2C73DF3CD156B621EE7EC - DD14515F747C18565789BC2DA478CF469F4AD6F4F8353D3E61F3C170BB94FA11 - E847623915AB452693D181E57A47ECC7F0EF47BFB5BB5D124BC366C1AD60BFBD - 9EE61B7C74DB1C8E57D3A83D0576327C3CD025F1CC5E306B027C4515AFD892F3 - CE93E58724EDD9BB675279C679AE8E8A954E0B6453937BB393F883F0AFC31F14 - AD2CEDBC4DA69D461B394CD001712C251C8C6731B29E9EB597E1DF80DE09F0AC - 3AA45A669771047A9DA3D8DD07D46E64DF0BFDE51BE43B4FFB4B823B1AF40A28 - 708B7CCD6A1CCED6B9CBDE7C32F0CEA1E034F065CE9693F869204B75B1791C80 - 8841501F76EC82010739E3AD5DF07783747F00786ED340D06D3EC3A4DA6FF26D - FCC7936EE72EDF3392C72CC4F27BD6DD14F9527748577B1E61A57ECDBF0FF47D - 76CF55834691E6B193CEB382E2F26960B67C83BA38D9CA8E4647181DB1815A7E - 37F821E0EF883AAC5AAEADA511ABC4BB1351B3B892DA70BE85E3605B8C8E73C1 - AEF28A9F670B5AC87CD2DEE721E07F849E13F87305DC7A0E8F15ABDDFF00C7CC - F2B34D34FECF2392C47278CE39E95C8CFF00B297C339EEA693FB06486DA6904B - 2D8417D3C76AEE3A1312B85F4E071C74AF5DA2874E0D59A41CD2EE723A87C28F - 0A6A571E199A6D1E356F0D36FD252091E24B53F2F44460A7EE2F0C0F4F735634 - 9F86FE1DD0FC53ACF88AC74FF2356D65556FE513485270A00198CB6C078EA141 - E4FA9CF4B9A322AB963BD8576795DC7ECC3F0EE5BF9AE61D1E6B18E77F327B3B - 1BE9E0B694FBC48E171DB0001567C43FB387C3DF15788AF75DD4B43965D56F48 - 6B8B88B50B988C840007092003803A0AF4BDD499351ECA9FF2A1F34BB995E14F - 0AE99E09D06D745D1E07B6D3ADB779514933CA5773163F3392C7962793FA56A9 - 3484D34B815A68B442DC7526EA85A5A6F99CF5A571D8B19A51CD5712548AF9A2 - E1627A2981A9D9AA245A43416A8D9F14003BE0550BA97683534B2ED15937B738 - 06B194AC6D0899FA95C601E6B8FD5AE3EF56D6A775D6B91D4EE09CF5AF2EB48F - 528C0C4D465C96FEB5CAEA90BCB9DA466B7AF9C9278358B73B893F29FCABC99B - B9ECD3470DAC786AF2EC10850E7D4D7253FC38D4AE2E49263452319DD5EB32AB - 7A1FCAABB23127E53F957233A923C3753F841AD198883CB9A3ECDBC0FE66B264 - F83DE24278B65FC254FF001AFA17637F74FE546C6FEE9FCAA752AC7CEEBF073C - 4593BACF23DA58F9FF00C7AAFC9F07B57B848BFD1E48A5C618B49195FD1ABDE7 - 637F74FE546C6FEE9FCA9582C7CEF71F077C41148CA962F30ECEB2C401FCDB35 - 10F841E23FFA0549FF008110FF00F155F46EC6FEE9FCA8D8DFDD3F951619F3DB - FC2AF109B348468EFBD5890DF6A8BBFE3504FF00077C43184F2F4D798B282D99 - E25DA7D3EF735F45EC6FEE9FCA8D8DFDD3F951603E71FF008543E25500FF0064 - 06CF6FB4C7C7FE3D5249F0ABC4CF6EB18D0C295E770BA8B27FF1EAFA2B637F74 - FE546C6FEE9FCA8B01F355CFC1EF15CBB443A2F18C906E62EBFF007D515F4D5B - A36F3F29E9E945689684B3FFD9} - ExplicitHeight = 80 - end - end - object pnlCentro: TPanel - Left = 0 - Top = 73 - Width = 594 - Height = 406 - Align = alClient - BevelOuter = bvNone - TabOrder = 2 - object PageControl: TPageControl - Left = 0 - Top = 0 - Width = 594 - Height = 406 - ActivePage = tabPrincipal - Align = alClient - Style = tsFlatButtons - TabOrder = 0 - object tabPrincipal: TTabSheet - Caption = 'Principal' - object Panel5: TPanel - Left = 0 - Top = 0 - Width = 586 - Height = 375 - Align = alClient - BevelOuter = bvNone - TabOrder = 0 - object Label5: TLabel - Left = 64 - Top = 20 - Width = 115 - Height = 13 - Caption = 'Identifica'#231#227'o Programa :' - end - object Label6: TLabel - Left = 47 - Top = 276 - Width = 132 - Height = 13 - Caption = 'Tabela de Usuarios/Perfis : ' - end - object Label7: TLabel - Left = 69 - Top = 213 - Width = 110 - Height = 13 - Caption = 'Tabela de Permiss'#245'es :' - end - object Label29: TLabel - Left = 120 - Top = 107 - Width = 59 - Height = 13 - Alignment = taRightJustify - Caption = 'Criptografia :' - end - object Label30: TLabel - Left = 116 - Top = 142 - Width = 63 - Height = 13 - Alignment = taRightJustify - Caption = 'Encrypt Key :' - end - object Label32: TLabel - Left = 117 - Top = 178 - Width = 62 - Height = 13 - Alignment = taRightJustify - Caption = 'Login Mode :' - end - object edtApplicationID: TEdit - Left = 182 - Top = 17 - Width = 220 - Height = 21 - TabOrder = 0 - end - object edtTableUsers: TEdit - Left = 182 - Top = 268 - Width = 220 - Height = 21 - TabOrder = 1 - end - object edtTableRights: TEdit - Left = 182 - Top = 205 - Width = 220 - Height = 21 - TabOrder = 2 - OnChange = edtTableRightsChange - end - object edtTabelaPermissoesEX: TEdit - Left = 182 - Top = 233 - Width = 220 - Height = 21 - Enabled = False - TabOrder = 3 - Text = 'EX' - end - object ckAutoStart: TCheckBox - Left = 182 - Top = 44 - Width = 220 - Height = 21 - Caption = 'Iniciar Automaticamente' - TabOrder = 4 - end - object btnTabelasPadrao: TButton - Left = 182 - Top = 344 - Width = 220 - Height = 21 - Caption = 'Tabelas Padr'#227'o' - TabOrder = 5 - OnClick = btnTabelasPadraoClick - end - object ckValidationKey: TCheckBox - Left = 182 - Top = 71 - Width = 220 - Height = 21 - Caption = 'CheckValidationKey' - TabOrder = 6 - end - object cbCriptografia: TComboBox - Left = 182 - Top = 99 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 13 - TabOrder = 7 - Items.Strings = ( - 'cPadrao' - 'cMD5') - end - object cbLoginMode: TComboBox - Left = 182 - Top = 170 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 13 - TabOrder = 8 - Items.Strings = ( - 'lmActive' - 'lmPassive') - end - object GroupBox3: TGroupBox - Left = 425 - Top = 9 - Width = 113 - Height = 78 - Caption = 'Not Allowed Items' - TabOrder = 9 - object ckActionVisible: TCheckBox - Left = 12 - Top = 24 - Width = 89 - Height = 17 - Caption = 'Action Visible' - Checked = True - State = cbChecked - TabOrder = 0 - end - object ckMenuVisible: TCheckBox - Left = 12 - Top = 47 - Width = 89 - Height = 17 - Caption = 'Menu Visible' - Checked = True - State = cbChecked - TabOrder = 1 - end - end - object spedtEncryptKey: TSpinEdit - Left = 182 - Top = 133 - Width = 220 - Height = 22 - MaxValue = 0 - MinValue = 0 - TabOrder = 10 - Value = 0 - end - end - end - object tabControlRights: TTabSheet - Caption = 'Control Rights' - ImageIndex = 6 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object Label33: TLabel - Left = 179 - Top = 117 - Width = 52 - Height = 13 - Alignment = taRightJustify - Caption = 'ActionList :' - end - object Label34: TLabel - Left = 129 - Top = 159 - Width = 102 - Height = 13 - Alignment = taRightJustify - Caption = 'ActionMainMenuBar :' - end - object Label35: TLabel - Left = 153 - Top = 202 - Width = 78 - Height = 13 - Alignment = taRightJustify - Caption = 'ActionManager :' - end - object Label36: TLabel - Left = 175 - Top = 245 - Width = 56 - Height = 13 - Alignment = taRightJustify - Caption = 'MainMenu :' - end - object SpeedButton5: TSpeedButton - Left = 463 - Top = 112 - Width = 23 - Height = 22 - Flat = True - Glyph.Data = { - 36050000424D3605000000000000360400002800000010000000100000000100 - 08000000000000010000EE0E0000EE0E000000010000000100006B6B6B008484 - 8400C6C6C600DEDEDE00FF00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00040404040404 - 0404040404040404040404040404040404040404040404040404040404040404 - 0404040404040404040404010000000000000104040404040404040002020202 - 0202000004040404040404000202020202020001000404040404040100020202 - 0202000101000404040404040003030303030300010100040404040404000303 - 0303030300010100040404040404000303030303030001010004040404040400 - 0303030303030001000404040404040400030303030303000004040404040404 - 0400030303030303000404040404040404040100000000010104040404040404 - 0404040404040404040404040404040404040404040404040404} - OnClick = SpeedButton5Click - end - object SpeedButton6: TSpeedButton - Tag = 1 - Left = 463 - Top = 155 - Width = 23 - Height = 22 - Flat = True - Glyph.Data = { - 36050000424D3605000000000000360400002800000010000000100000000100 - 08000000000000010000EE0E0000EE0E000000010000000100006B6B6B008484 - 8400C6C6C600DEDEDE00FF00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00040404040404 - 0404040404040404040404040404040404040404040404040404040404040404 - 0404040404040404040404010000000000000104040404040404040002020202 - 0202000004040404040404000202020202020001000404040404040100020202 - 0202000101000404040404040003030303030300010100040404040404000303 - 0303030300010100040404040404000303030303030001010004040404040400 - 0303030303030001000404040404040400030303030303000004040404040404 - 0400030303030303000404040404040404040100000000010104040404040404 - 0404040404040404040404040404040404040404040404040404} - OnClick = SpeedButton5Click - end - object SpeedButton7: TSpeedButton - Tag = 2 - Left = 463 - Top = 197 - Width = 23 - Height = 22 - Flat = True - Glyph.Data = { - 36050000424D3605000000000000360400002800000010000000100000000100 - 08000000000000010000EE0E0000EE0E000000010000000100006B6B6B008484 - 8400C6C6C600DEDEDE00FF00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00040404040404 - 0404040404040404040404040404040404040404040404040404040404040404 - 0404040404040404040404010000000000000104040404040404040002020202 - 0202000004040404040404000202020202020001000404040404040100020202 - 0202000101000404040404040003030303030300010100040404040404000303 - 0303030300010100040404040404000303030303030001010004040404040400 - 0303030303030001000404040404040400030303030303000004040404040404 - 0400030303030303000404040404040404040100000000010104040404040404 - 0404040404040404040404040404040404040404040404040404} - OnClick = SpeedButton5Click - end - object SpeedButton8: TSpeedButton - Tag = 3 - Left = 463 - Top = 241 - Width = 23 - Height = 22 - Flat = True - Glyph.Data = { - 36050000424D3605000000000000360400002800000010000000100000000100 - 08000000000000010000EE0E0000EE0E000000010000000100006B6B6B008484 - 8400C6C6C600DEDEDE00FF00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00040404040404 - 0404040404040404040404040404040404040404040404040404040404040404 - 0404040404040404040404010000000000000104040404040404040002020202 - 0202000004040404040404000202020202020001000404040404040100020202 - 0202000101000404040404040003030303030300010100040404040404000303 - 0303030300010100040404040404000303030303030001010004040404040400 - 0303030303030001000404040404040400030303030303000004040404040404 - 0400030303030303000404040404040404040100000000010104040404040404 - 0404040404040404040404040404040404040404040404040404} - OnClick = SpeedButton5Click - end - object cbActionList: TComboBox - Left = 237 - Top = 113 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 0 - OnChange = ComboRightsChange - end - object cbActionMainMenuBar: TComboBox - Left = 237 - Top = 155 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 1 - OnChange = ComboRightsChange - OnClick = ComboRightsChange - end - object cbActionManager: TComboBox - Left = 237 - Top = 198 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 2 - OnChange = ComboRightsChange - end - object cbMainMenu: TComboBox - Left = 237 - Top = 241 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 3 - OnChange = ComboRightsChange - end - end - object tabUser: TTabSheet - Caption = 'User' - ImageIndex = 3 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object Label2: TLabel - Left = 172 - Top = 122 - Width = 36 - Height = 13 - Caption = 'Action :' - end - object Label27: TLabel - Left = 152 - Top = 161 - Width = 56 - Height = 13 - Caption = 'Menu Item :' - end - object cbUserAction: TComboBox - Left = 214 - Top = 118 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 0 - OnChange = ComboActionMenuItem - OnClick = ComboActionMenuItem - end - object cbUserMenuItem: TComboBox - Left = 214 - Top = 157 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 1 - OnChange = ComboActionMenuItem - OnClick = ComboActionMenuItem - end - object ckUserProtectAdministrator: TCheckBox - Left = 214 - Top = 196 - Width = 220 - Height = 21 - Caption = 'User Protect Administrator' - TabOrder = 2 - end - object ckUserUsePrivilegedField: TCheckBox - Left = 214 - Top = 236 - Width = 220 - Height = 21 - Caption = 'Use Privileged Field' - TabOrder = 3 - end - end - object tabUserProfile: TTabSheet - Caption = 'User Profile' - ImageIndex = 4 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object Label3: TLabel - Left = 174 - Top = 128 - Width = 36 - Height = 13 - Alignment = taRightJustify - Caption = 'Action :' - Visible = False - end - object Label28: TLabel - Left = 154 - Top = 181 - Width = 56 - Height = 13 - Alignment = taRightJustify - Caption = 'Menu Item :' - Visible = False - end - object cbUserProfileAction: TComboBox - Left = 213 - Top = 124 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 0 - Visible = False - OnChange = ComboActionMenuItem - OnClick = ComboActionMenuItem - end - object cbUserProfileMenuItem: TComboBox - Left = 213 - Top = 177 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 1 - Visible = False - OnChange = ComboActionMenuItem - OnClick = ComboActionMenuItem - end - object ckUserProfileActive: TCheckBox - Left = 213 - Top = 230 - Width = 220 - Height = 21 - Caption = 'Active' - TabOrder = 2 - end - end - object tabUserPasswordChange: TTabSheet - Caption = 'User Password Change' - ImageIndex = 5 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object Label4: TLabel - Left = 126 - Top = 252 - Width = 108 - Height = 13 - Alignment = taRightJustify - Caption = 'Min Password Length :' - end - object Label31: TLabel - Left = 198 - Top = 110 - Width = 36 - Height = 13 - Alignment = taRightJustify - Caption = 'Action :' - end - object Label37: TLabel - Left = 178 - Top = 157 - Width = 56 - Height = 13 - Alignment = taRightJustify - Caption = 'Menu Item :' - end - object cbUserPasswordChangeAction: TComboBox - Left = 239 - Top = 106 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 0 - OnChange = ComboActionMenuItem - OnClick = ComboActionMenuItem - end - object cbUserPasswordChangeMenuItem: TComboBox - Left = 239 - Top = 153 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 1 - OnChange = ComboActionMenuItem - OnClick = ComboActionMenuItem - end - object ckUserPassowrdChangeForcePassword: TCheckBox - Left = 239 - Top = 200 - Width = 220 - Height = 21 - Caption = 'Force Password' - TabOrder = 2 - end - object spedtUserPasswordChangeMinPasswordLength: TSpinEdit - Left = 239 - Top = 247 - Width = 220 - Height = 22 - MaxValue = 0 - MinValue = 0 - TabOrder = 3 - Value = 0 - end - end - object tabLogControl: TTabSheet - Caption = 'Log Control' - ImageIndex = 1 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object Label25: TLabel - Left = 140 - Top = 115 - Width = 80 - Height = 13 - Alignment = taRightJustify - Caption = 'Tabela de Logs :' - end - object Label1: TLabel - Left = 164 - Top = 75 - Width = 56 - Height = 13 - Alignment = taRightJustify - Caption = 'Menu Item :' - Visible = False - end - object Label26: TLabel - Left = 184 - Top = 35 - Width = 36 - Height = 13 - Alignment = taRightJustify - Caption = 'Action :' - Visible = False - end - object Panel4: TPanel - Left = 0 - Top = 205 - Width = 586 - Height = 170 - Align = alBottom - BevelOuter = bvNone - Color = clWhite - TabOrder = 0 - object Image4: TImage - Left = 20 - Top = 28 - Width = 25 - Height = 24 - Picture.Data = { - 07544269746D617076060000424D760600000000000036040000280000001800 - 000018000000010008000000000040020000C40E0000C40E0000000100000000 - 00000800000008080800310010004A08180031101800391821005A1821004A18 - 290063292900522131006B21310039314200843142001042420018394A001042 - 4A008C524A0031395200084252006B4A5200085252005A525200845252005A5A - 5A00635A5A006B5A5A00845A5A008C5A5A00635A6300845A63005A6363008463 - 6300946363008C6B6B00A56B6B00086B7300426B730094737300396B7B009C7B - 7B00A57B7B00AD848400187B9400188C9C00298C9C0029949C002994A500B5A5 - A500218CAD00089CAD0021A5AD0021ADAD009CA5B5007BB5B500089CBD00219C - BD0021B5BD00089CC60008BDC60010A5CE0018B5CE0008BDD60000B5DE0008B5 - DE0010B5DE0008DEDE0000BDE70008BDE70000C6E70008C6E70018C6E70008CE - E70052CEE70000D6E70000DEE70018E7E70000BDEF0000C6EF0000CEEF0000D6 - EF0018D6EF0000DEEF0008DEEF0063DEEF0000E7EF0008E7EF0010E7EF004AE7 - EF0063E7EF0000EFEF004AEFEF0000C6F70000CEF7006BDEF70000E7F70094E7 - F7009CE7F70000EFF70008F7F70010F7F700FF00FF0000D6FF0000DEFF0008DE - FF0000E7FF0008E7FF0000EFFF0008EFFF0010EFFF0000F7FF0008F7FF0010F7 - FF0018F7FF0000FFFF0008FFFF0010FFFF0018FFFF0031FFFF0052FFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF007777777777777777777777777777777777777777777777777777772F1F1A - 1D1D1D1D1D1D1D1D1D1D1D1D1D1D161B77777777483B36363636363636393636 - 36363636363930081B7777483F3E42424242424D3F37404C4242424242425B26 - 10777753434D655C5C5C654E0F073446655C5C5C655C5C2429777777464D6765 - 656565440104093C656565656C65431377777777534467676565654F12000E47 - 656565676C5C2C277777777777464E69666565665E495E666565667067451C77 - 77777777775D4E6769666666662A666666666970662E2977777777777777504F - 6C666666490B4F68666670674F1977777777777777775344676966683A063D6A - 666C6C662C28777777777777777777474F6B686A310C2B6A686F694715777777 - 7777777777777753496B6B61230A26616B70682D287777777777777777777777 - 505E6E540F0311496F6C5418777777777777777777777777585162410102053A - 706A322277777777777777777777777777526141000204386E52177777777777 - 77777777777777777757515514010D4B6D332177777777777777777777777777 - 777756616E4A746E551E7777777777777777777777777777777758546E72746D - 382077777777777777777777777777777777774B627573611E77777777777777 - 77777777777777777777775A5975713825777777777777777777777777777777 - 77777777636E6335777777777777777777777777777777777777777753765377 - 7777777777777777777777777777777777777777775377777777777777777777 - 7777} - end - object Label19: TLabel - Left = 60 - Top = 28 - Width = 320 - Height = 13 - Caption = 'O Componente n'#227'o grava nenhum log automaticamente!' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - ParentFont = False - end - object Label20: TLabel - Left = 60 - Top = 52 - Width = 505 - Height = 13 - Caption = - 'Utilize o Metodo: Log(msg : String; nivel : Integer {0..3} = 0) ' + - 'para gravar registros no Log de mensagens' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - end - object Label21: TLabel - Left = 68 - Top = 76 - Width = 16 - Height = 13 - Caption = 'Ex:' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - end - object Label22: TLabel - Left = 92 - Top = 76 - Width = 175 - Height = 13 - Caption = 'UserControl1.Log('#39'Exemplo de Log'#39');' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - end - object Label23: TLabel - Left = 280 - Top = 76 - Width = 285 - Height = 65 - Caption = - 'try'#13#10' ..'#13#10'except'#13#10' on e : Exception do ADOUserControl1.Log(e.M' + - 'essage, 3);'#13#10'end;' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - end - object Label24: TLabel - Left = 92 - Top = 108 - Width = 162 - Height = 13 - Caption = 'UserControl1.Log('#39'Exemplo 2'#39', 1);' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - end - end - object edtLogControlTableLog: TEdit - Left = 226 - Top = 112 - Width = 220 - Height = 21 - TabOrder = 1 - end - object ckLogControlActive: TCheckBox - Left = 226 - Top = 152 - Width = 220 - Height = 21 - Caption = 'Active' - Checked = True - State = cbChecked - TabOrder = 2 - end - object cbLogControlAction: TComboBox - Left = 226 - Top = 32 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 3 - Visible = False - OnChange = ComboActionMenuItem - OnClick = ComboActionMenuItem - end - object cbLogControlMenuItem: TComboBox - Left = 226 - Top = 72 - Width = 220 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - TabOrder = 4 - Visible = False - OnChange = ComboActionMenuItem - OnClick = ComboActionMenuItem - end - end - object tabLogin: TTabSheet - Caption = 'Login' - ImageIndex = 2 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object Label14: TLabel - Left = 115 - Top = 25 - Width = 149 - Height = 13 - Alignment = taRightJustify - Caption = 'N'#250'mero m'#225'ximo de Tentativas :' - end - object Label15: TLabel - Left = 181 - Top = 52 - Width = 83 - Height = 13 - Alignment = taRightJustify - Caption = 'Get Login Name :' - end - object Label16: TLabel - Left = 136 - Top = 350 - Width = 79 - Height = 13 - Caption = 'Imagem Superior' - end - object Label17: TLabel - Left = 288 - Top = 350 - Width = 85 - Height = 13 - Caption = 'Imagem Esquerda' - end - object Label18: TLabel - Left = 440 - Top = 350 - Width = 72 - Height = 13 - Caption = 'Imagem Inferior' - end - object SpeedButton1: TSpeedButton - Left = 19 - Top = 288 - Width = 73 - Height = 40 - Caption = 'Visualizar' - Flat = True - Glyph.Data = { - 36030000424D3603000000000000360000002800000010000000100000000100 - 18000000000000030000420B0000420B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC6701CC - 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFCC6701 - FFFFFFFFFFFFFFFAF5FFF3E6FEEBD5FEE3C3FEDCB5FED7ABFED7ABFED7ABFED7 - ABFED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FE - EBD5FEE3C4FEDCB500C0C000C0C000C0C000C0C0FED7ABCC6701FF00FFCC6701 - FFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FFFFFFFFFFFFFFFF - FF00C0C0FED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FAF5FFF3E6FFEBD5FEE3C4FEDCB5FED7ABFED7ABFED7ABCC6701FF00FFCC6701 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4FEDC - B5FED7ABFED7ABCC6701FF00FFCC6701FFFFFFFFFFFFFFFFFF80808080808080 - 8080FFFFFF808080FFF3E6808080808080808080FED7ABCC6701FF00FFCC6701 - 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEB - D5FEE3C4FEDCB5CC6701FF00FFCC67010000FF0000FF0000FFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6FFEBD5FEE3C4CC6701FF00FFCC6701 - 8080FF0000FF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA - F5FFF3E6FFEBD5CC6701FF00FFCC6701FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF5FFF3E6CC6701FF00FFCC6701 - CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701CC67 - 01CC6701CC6701CC6701FF00FFFF00FFCC6701CC6701CC6701CC6701CC6701CC - 6701CC6701CC6701CC6701CC6701CC6701CC6701CC6701FF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - Layout = blGlyphTop - OnClick = SpeedButton1Click - end - object SpeedButton2: TSpeedButton - Left = 211 - Top = 322 - Width = 48 - Height = 22 - Caption = 'Limpar' - Flat = True - OnClick = SpeedButton2Click - end - object SpeedButton3: TSpeedButton - Left = 365 - Top = 322 - Width = 48 - Height = 22 - Caption = 'Limpar' - Flat = True - OnClick = SpeedButton3Click - end - object SpeedButton4: TSpeedButton - Left = 517 - Top = 322 - Width = 48 - Height = 22 - Caption = 'Limpar' - Flat = True - OnClick = SpeedButton4Click - end - object GroupBox1: TGroupBox - Left = 2 - Top = 88 - Width = 290 - Height = 185 - Caption = 'Login Inicial' - TabOrder = 0 - object Label8: TLabel - Left = 14 - Top = 24 - Width = 42 - Height = 13 - Caption = 'Usu'#225'rio :' - end - object Label9: TLabel - Left = 19 - Top = 55 - Width = 37 - Height = 13 - Caption = 'Senha :' - end - object Label12: TLabel - Left = 25 - Top = 87 - Width = 31 - Height = 13 - Caption = 'Email :' - end - object lblInitialRights: TLabel - Left = -7 - Top = 115 - Width = 63 - Height = 13 - Alignment = taRightJustify - Caption = 'Initial Rights :' - end - object edtInitialLoginUser: TEdit - Left = 64 - Top = 20 - Width = 220 - Height = 21 - TabOrder = 0 - end - object edtInitialLoginPassword: TEdit - Left = 64 - Top = 51 - Width = 220 - Height = 21 - TabOrder = 1 - end - object edtInitialLoginEmail: TEdit - Left = 64 - Top = 83 - Width = 220 - Height = 21 - TabOrder = 2 - end - object mmInitialRights: TMemo - Left = 64 - Top = 115 - Width = 220 - Height = 62 - Font.Charset = DEFAULT_CHARSET - Font.Color = clGreen - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - ParentFont = False - TabOrder = 3 - end - end - object GroupBox2: TGroupBox - Left = 295 - Top = 88 - Width = 290 - Height = 185 - Caption = 'Login Autom'#225'tico' - TabOrder = 1 - object Label10: TLabel - Left = 13 - Top = 44 - Width = 42 - Height = 13 - Alignment = taRightJustify - Caption = 'Usu'#225'rio :' - end - object Label11: TLabel - Left = 18 - Top = 81 - Width = 37 - Height = 13 - Alignment = taRightJustify - Caption = 'Senha :' - end - object edtLoginAutoLoginUser: TEdit - Left = 56 - Top = 40 - Width = 220 - Height = 21 - TabOrder = 0 - end - object edtLoginAutoLoginPassword: TEdit - Left = 56 - Top = 77 - Width = 220 - Height = 21 - TabOrder = 1 - end - object ckLoginAutologinActive: TCheckBox - Left = 56 - Top = 104 - Width = 65 - Height = 17 - Caption = 'Ativo' - Checked = True - State = cbChecked - TabOrder = 2 - end - object ckLoginAutoLoginMessageOnError: TCheckBox - Left = 33 - Top = 127 - Width = 225 - Height = 17 - Caption = 'Exibir mensagem padr'#227'o de erro se falhar ?' - TabOrder = 3 - end - end - object cbGetLoginName: TComboBox - Left = 270 - Top = 48 - Width = 201 - Height = 21 - Style = csDropDownList - ItemHeight = 0 - ItemIndex = 0 - TabOrder = 2 - Text = 'lnNone' - Items.Strings = ( - 'lnNone' - 'lnUserName' - 'lnMachineName') - end - object Panel6: TPanel - Left = 143 - Top = 280 - Width = 65 - Height = 65 - BevelOuter = bvLowered - Color = clGray - TabOrder = 3 - object imgTop: TImage - Left = 1 - Top = 1 - Width = 63 - Height = 63 - Cursor = crHandPoint - Align = alClient - Center = True - Proportional = True - Stretch = True - OnClick = ActionsExecute - end - end - object Panel7: TPanel - Left = 295 - Top = 280 - Width = 65 - Height = 65 - BevelOuter = bvLowered - Color = clGray - TabOrder = 4 - object imgLeft: TImage - Left = 1 - Top = 1 - Width = 63 - Height = 63 - Cursor = crHandPoint - Align = alClient - Center = True - Proportional = True - Stretch = True - OnClick = ActionsExecute - end - end - object Panel8: TPanel - Left = 447 - Top = 280 - Width = 65 - Height = 65 - BevelOuter = bvLowered - Color = clGray - TabOrder = 5 - object imgBottom: TImage - Left = 1 - Top = 1 - Width = 63 - Height = 63 - Cursor = crHandPoint - Align = alClient - Center = True - Proportional = True - Stretch = True - OnClick = ActionsExecute - end - end - object spedtMaxLoginAttempts: TSpinEdit - Left = 270 - Top = 20 - Width = 121 - Height = 22 - MaxValue = 0 - MinValue = 0 - TabOrder = 6 - Value = 0 - end - end - end - end - object OpenPictureDialog: TOpenPictureDialog - Left = 512 - Top = 240 - end - object ActionList: TActionList - Left = 545 - Top = 240 - object acCarregarFigura: TAction - Caption = 'Carregar Figura' - OnExecute = ActionsExecute - end - object acVisualizarTelaLogin: TAction - Caption = 'acVisualizarTelaLogin' - OnExecute = ActionsExecute - end - end -end diff --git a/internal/2.31RC1/1/Source/UCEditorForm_U.pas b/internal/2.31RC1/1/Source/UCEditorForm_U.pas deleted file mode 100644 index cb7e1fe..0000000 --- a/internal/2.31RC1/1/Source/UCEditorForm_U.pas +++ /dev/null @@ -1,469 +0,0 @@ -unit UCEditorForm_U; - -interface - -{.$I 'UserControl.inc'} - -uses - ActnCtrls, - ActnList, - ActnMan, - ActnMenus, - Buttons, - Classes, - ComCtrls, - Contnrs, - Controls, - Dialogs, - ExtCtrls, - ExtDlgs, - Forms, - Graphics, - jpeg, - Menus, - Spin, - StdCtrls, - ToolWin, - UCBase; - -type - TUCEditorForm = class(TForm) - pnlBotoes: TPanel; - Panel2: TPanel; - lbComponente: TLabel; - pnlCentro: TPanel; - PageControl: TPageControl; - tabPrincipal: TTabSheet; - tabLogin: TTabSheet; - Label14: TLabel; - Label15: TLabel; - Label16: TLabel; - Label17: TLabel; - Label18: TLabel; - SpeedButton1: TSpeedButton; - GroupBox1: TGroupBox; - Label8: TLabel; - Label9: TLabel; - Label12: TLabel; - lblInitialRights: TLabel; - edtInitialLoginUser: TEdit; - edtInitialLoginPassword: TEdit; - edtInitialLoginEmail: TEdit; - mmInitialRights: TMemo; - GroupBox2: TGroupBox; - Label10: TLabel; - Label11: TLabel; - edtLoginAutoLoginUser: TEdit; - edtLoginAutoLoginPassword: TEdit; - ckLoginAutologinActive: TCheckBox; - ckLoginAutoLoginMessageOnError: TCheckBox; - cbGetLoginName: TComboBox; - tabLogControl: TTabSheet; - Label25: TLabel; - Panel4: TPanel; - Image4: TImage; - Label19: TLabel; - Label20: TLabel; - Label21: TLabel; - Label22: TLabel; - Label23: TLabel; - Label24: TLabel; - edtLogControlTableLog: TEdit; - ckLogControlActive: TCheckBox; - cbLogControlAction: TComboBox; - cbLogControlMenuItem: TComboBox; - Panel6: TPanel; - imgTop: TImage; - Panel7: TPanel; - imgLeft: TImage; - Panel8: TPanel; - imgBottom: TImage; - Panel5: TPanel; - Label5: TLabel; - Label6: TLabel; - Label7: TLabel; - edtApplicationID: TEdit; - edtTableUsers: TEdit; - edtTableRights: TEdit; - edtTabelaPermissoesEX: TEdit; - ckAutoStart: TCheckBox; - btnTabelasPadrao: TButton; - btnOK: TBitBtn; - btnClose: TBitBtn; - ckValidationKey: TCheckBox; - cbCriptografia: TComboBox; - Label29: TLabel; - Label30: TLabel; - Label32: TLabel; - cbLoginMode: TComboBox; - GroupBox3: TGroupBox; - ckActionVisible: TCheckBox; - ckMenuVisible: TCheckBox; - tabUser: TTabSheet; - tabUserProfile: TTabSheet; - tabUserPasswordChange: TTabSheet; - cbUserAction: TComboBox; - cbUserMenuItem: TComboBox; - Label3: TLabel; - cbUserProfileAction: TComboBox; - cbUserProfileMenuItem: TComboBox; - Label4: TLabel; - cbUserPasswordChangeAction: TComboBox; - cbUserPasswordChangeMenuItem: TComboBox; - Label1: TLabel; - Label26: TLabel; - tabControlRights: TTabSheet; - Label33: TLabel; - Label34: TLabel; - Label35: TLabel; - Label36: TLabel; - cbActionList: TComboBox; - cbActionMainMenuBar: TComboBox; - cbActionManager: TComboBox; - cbMainMenu: TComboBox; - spedtEncryptKey: TSpinEdit; - ckUserProtectAdministrator: TCheckBox; - ckUserUsePrivilegedField: TCheckBox; - Label2: TLabel; - Label27: TLabel; - Label28: TLabel; - ckUserProfileActive: TCheckBox; - Label31: TLabel; - Label37: TLabel; - ckUserPassowrdChangeForcePassword: TCheckBox; - spedtUserPasswordChangeMinPasswordLength: TSpinEdit; - spedtMaxLoginAttempts: TSpinEdit; - OpenPictureDialog: TOpenPictureDialog; - ActionList: TActionList; - acCarregarFigura: TAction; - acVisualizarTelaLogin: TAction; - SpeedButton2: TSpeedButton; - SpeedButton3: TSpeedButton; - SpeedButton4: TSpeedButton; - Image1: TImage; - SpeedButton5: TSpeedButton; - SpeedButton6: TSpeedButton; - SpeedButton7: TSpeedButton; - SpeedButton8: TSpeedButton; - procedure SpeedButton4Click(Sender: TObject); - procedure SpeedButton3Click(Sender: TObject); - procedure SpeedButton2Click(Sender: TObject); - procedure SpeedButton1Click(Sender: TObject); - - procedure ComboRightsChange(Sender: TObject); - - procedure ComboActionMenuItem(Sender: TObject); - - procedure btnTabelasPadraoClick(Sender: TObject); - procedure edtTableRightsChange(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure FormClose(Sender: TObject; var Action: TCloseAction); - - procedure ActionsExecute(Sender: TObject); - procedure SpeedButton5Click(Sender: TObject); - private - { Private declarations } - FUserControl: TUserControl; - public - constructor Create(AOwner: TComponent; UserControl: TUserControl); reintroduce; - end; - -implementation - -uses - LoginWindow_U, - ShellAPI, - SysUtils, - UcConsts_Language, - UCMessages, - Windows; - -{$R *.dfm} - -procedure TUCEditorForm.edtTableRightsChange(Sender: TObject); -begin - edtTabelaPermissoesEX.Text := edtTableRights.Text + 'EX'; -end; - -procedure TUCEditorForm.ActionsExecute(Sender: TObject); -begin - if Sender = imgTop then - if OpenPictureDialog.Execute then - imgTop.Picture.LoadFromFile(OpenPictureDialog.FileName); - - if Sender = imgBottom then - if OpenPictureDialog.Execute then - imgBottom.Picture.LoadFromFile(OpenPictureDialog.FileName); - - if Sender = imgLeft then - if OpenPictureDialog.Execute then - imgLeft.Picture.LoadFromFile(OpenPictureDialog.FileName); -end; - -procedure TUCEditorForm.btnTabelasPadraoClick(Sender: TObject); -begin - edtTableUsers.Text := RetornaLingua( FUserControl.Language,'Const_TableUsers_TableName'); - edtTableRights.Text := RetornaLingua( FUserControl.Language,'Const_TableRights_TableName'); -end; - -procedure TUCEditorForm.ComboActionMenuItem(Sender: TObject); -begin - // Combo USER - if (Sender = cbUserAction) and (cbUserAction.ItemIndex >= 0) then - cbUserMenuItem.ItemIndex := -1; - - if (Sender = cbUserMenuItem) and (cbUserMenuItem.ItemIndex >= 0) then - cbUserAction.ItemIndex := -1; - - // Combo USERPROFILE - if (Sender = cbUserProfileAction) and (cbUserProfileAction.ItemIndex >= 0) then - cbUserProfileMenuItem.ItemIndex := -1; - - if (Sender = cbUserProfileMenuItem) and (cbUserProfileMenuItem.ItemIndex >= 0) then - cbUserProfileAction.ItemIndex := -1; - - // Combo USERPASSWORDCHANGE - if (Sender = cbUserPasswordChangeAction) and (cbUserPasswordChangeAction.ItemIndex >= 0) then - cbUserPasswordChangeMenuItem.ItemIndex := -1; - - if (Sender = cbUserPasswordChangeMenuItem) and (cbUserPasswordChangeMenuItem.ItemIndex >= 0) then - cbUserPasswordChangeAction.ItemIndex := -1; - - // Combo LOGCONTROL - if (Sender = cbLogControlAction) and (cbLogControlAction.ItemIndex >= 0) then - cbLogControlMenuItem.ItemIndex := -1; - - if (Sender = cbLogControlMenuItem) and (cbLogControlMenuItem.ItemIndex >= 0) then - cbLogControlAction.ItemIndex := -1; -end; - -procedure TUCEditorForm.ComboRightsChange(Sender: TObject); -begin -{ if Sender = cbActionList then - if cbActionList.ItemIndex >= 0 then - begin - cbActionMainMenuBar.ItemIndex := -1; - cbActionManager.ItemIndex := -1; - cbMainMenu.ItemIndex := -1; - end; - - if Sender = cbActionMainMenuBar then - if cbActionMainMenuBar.ItemIndex >= 0 then - begin - cbActionList.ItemIndex := -1; - cbActionManager.ItemIndex := -1; - cbMainMenu.ItemIndex := -1; - end; - - if Sender = cbActionManager then - if cbActionManager.ItemIndex >= 0 then - begin - cbActionList.ItemIndex := -1; - cbActionMainMenuBar.ItemIndex := -1; - cbMainMenu.ItemIndex := -1; - end; - - if Sender = cbMainMenu then - if cbMainMenu.ItemIndex >= 0 then - begin - cbActionList.ItemIndex := -1; - cbActionMainMenuBar.ItemIndex := -1; - cbActionManager.ItemIndex := -1; - end; } - -end; - -constructor TUCEditorForm.Create(AOwner: TComponent; UserControl: TUserControl); -begin - inherited Create(AOwner); - FUserControl := UserControl; -end; - -procedure TUCEditorForm.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TUCEditorForm.FormCreate(Sender: TObject); -var - I: Integer; - Formulario: TForm; -begin - lblInitialRights.Caption := 'Initial ' + #13 + 'Rights :'; - PageControl.ActivePage := tabPrincipal; - - with FUserControl do - begin - edtApplicationID.Text := ApplicationID; - ckAutoStart.Checked := AutoStart; - ckValidationKey.Checked := CheckValidationKey; - spedtEncryptKey.Value := EncryptKey; - edtTableRights.Text := TableRights.TableName; - edtTableUsers.Text := TableUsers.TableName; - ckActionVisible.Checked := NotAllowedItems.ActionVisible; - ckMenuVisible.Checked := NotAllowedItems.MenuVisible; - cbCriptografia.ItemIndex := integer(Criptografia); - cbLoginMode.ItemIndex := integer(LoginMode); - end; - - Formulario := TForm(FUserControl.Owner); - - for I := 0 to Formulario.ComponentCount - 1 do - begin - if Formulario.Components[I] is TAction then - begin - cbUserAction.Items.Add(TAction(Formulario.Components[I]).Name); - cbUserProfileAction.Items.Add(TAction(Formulario.Components[I]).Name); - cbLogControlAction.Items.Add(TAction(Formulario.Components[I]).Name); - cbUserPasswordChangeAction.Items.Add(TAction(Formulario.Components[I]).Name); - end; - - if Formulario.Components[I] is TMenuItem then - begin - cbUserMenuItem.Items.Add(Formulario.Components[I].Name); - cbUserProfileMenuItem.Items.Add(Formulario.Components[I].Name); - cbLogControlMenuItem.Items.Add(Formulario.Components[I].Name); - cbUserPasswordChangeMenuItem.Items.Add(Formulario.Components[I].Name); - end; - - // Adicionar os valores dos "ControlRights" - if Formulario.Components[I] is TActionList then - cbActionList.Items.Add(Formulario.Components[I].Name); - - if Formulario.Components[I] is TActionMainMenuBar then - cbActionMainMenuBar.Items.Add(Formulario.Components[I].Name); - - if Formulario.Components[I] is TActionManager then - cbActionManager.Items.Add(Formulario.Components[I].Name); - - if Formulario.Components[I] is TMainMenu then - cbMainMenu.Items.Add(Formulario.Components[I].Name); - end; - - with FUserControl.ControlRight do - begin - if Assigned(ActionList) then - cbActionList.ItemIndex := (cbActionList.Items.IndexOf(ActionList.Name)); - - if Assigned(MainMenu) then - cbMainMenu.ItemIndex := (cbMainMenu.Items.IndexOf(MainMenu.Name)); - - if Assigned(ActionMainMenuBar) then - cbActionMainMenuBar.ItemIndex := (cbActionMainMenuBar.Items.IndexOf(ActionMainMenuBar.Name)); - - if Assigned(ActionManager) then - cbActionManager.ItemIndex := (cbActionManager.Items.IndexOf(ActionManager.Name)); - end; - - // Action e MenuItem USER - if Assigned(FUserControl.User.Action) then - cbUserAction.ItemIndex := (cbUserAction.Items.IndexOf(FUserControl.User.Action.Name)); - - if Assigned(FUserControl.User.MenuItem) then - cbUserMenuItem.ItemIndex := (cbUserMenuItem.Items.IndexOf(FUserControl.User.MenuItem.Name)); - - // Action e MenuItem USERPROFILE -{ if Assigned(FUserControl.UserProfile.Action) then - cbUserProfileAction.ItemIndex := (cbUserProfileAction.Items.IndexOf(FUserControl.UserProfile.Action.Name)); - - if Assigned(FUserControl.UserProfile.MenuItem) then - cbUserProfileMenuItem.ItemIndex := (cbUserProfileMenuItem.Items.IndexOf(FUserControl.UserProfile.MenuItem.Name)); } - - // Action e MenuItem USERPASSWORDCHANGE - if Assigned(FUserControl.UserPasswordChange.Action) then - cbUserPasswordChangeAction.ItemIndex := (cbUserPasswordChangeAction.Items.IndexOf(FUserControl.UserPasswordChange.Action.Name)); - - if Assigned(FUserControl.UserPasswordChange.MenuItem) then - cbUserPasswordChangeMenuItem.ItemIndex := (cbUserPasswordChangeMenuItem.Items.IndexOf(FUserControl.UserPasswordChange.MenuItem.Name)); - - // Action e MenuItem LOGCONTROL -{ if Assigned(FUserControl.LogControl.Action) then - cbLogControlAction.ItemIndex := (cbLogControlAction.Items.IndexOf(FUserControl.LogControl.Action.Name)); - - if Assigned(FUserControl.LogControl.MenuItem) then - cbLogControlMenuItem.ItemIndex := (cbLogControlMenuItem.Items.IndexOf(FUserControl.LogControl.MenuItem.Name)); } - - ckUserProtectAdministrator.Checked := FUserControl.User.ProtectAdministrator; - ckUserUsePrivilegedField.Checked := FUserControl.User.UsePrivilegedField; - - ckUserProfileActive.Checked := FUserControl.UserProfile.Active; - - ckUserPassowrdChangeForcePassword.Checked := FUserControl.UserPasswordChange.ForcePassword; - spedtUserPasswordChangeMinPasswordLength.Value := FUserControl.UserPasswordChange.MinPasswordLength; - - edtLogControlTableLog.Text := FUserControl.LogControl.TableLog; - ckLogControlActive.Checked := FUserControl.LogControl.Active; - - // Login - spedtMaxLoginAttempts.Value := FUserControl.Login.MaxLoginAttempts; - cbGetLoginName.ItemIndex := integer(FUserControl.Login.GetLoginName); - // login inicial - edtInitialLoginUser.Text := FUserControl.Login.InitialLogin.User; - edtInitialLoginPassword.Text := FUserControl.Login.InitialLogin.Password; - edtInitialLoginEmail.Text := FUserControl.Login.InitialLogin.Email; - mmInitialRights.Lines := FUserControl.Login.InitialLogin.InitialRights; - // AutoLogin - edtLoginAutoLoginUser.Text := FUserControl.Login.AutoLogin.User; - edtLoginAutoLoginPassword.Text := FUserControl.Login.AutoLogin.Password; - ckLoginAutologinActive.Checked := FUserControl.Login.AutoLogin.Active; - ckLoginAutoLoginMessageOnError.Checked := FUserControl.Login.AutoLogin.MessageOnError; - // Figuras - imgTop.Picture.Bitmap := FUserControl.UserSettings.Login.TopImage.Bitmap; - imgLeft.Picture.Bitmap := FUserControl.UserSettings.Login.LeftImage.Bitmap; - imgBottom.Picture.Bitmap := FUserControl.UserSettings.Login.BottomImage.Bitmap; -end; - -procedure TUCEditorForm.SpeedButton1Click(Sender: TObject); -var - frmLogin: TfrmLoginWindow; -begin - try - frmLogin := TfrmLoginWindow.Create(nil); - with frmLogin do - begin - FUserControl := Self.FUserControl; - btOK.onClick := BotoesClickVisualizacao; - BtCancela.OnClick := BotoesClickVisualizacao; - Caption := Self.FUserControl.UserSettings.Login.WindowCaption; - LbUsuario.Caption := Self.FUserControl.UserSettings.Login.LabelUser; - LbSenha.Caption := Self.FUserControl.UserSettings.Login.LabelPassword; - ImgTop.Picture := Self.ImgTop.Picture; - imgLeft.Picture := Self.imgLeft.Picture; - ImgBottom.Picture := Self.imgBottom.Picture; - btOK.Caption := Self.FUserControl.UserSettings.Login.BtOk; - BtCancela.Caption := Self.FUserControl.UserSettings.Login.BtCancel; - Position := Self.FUserControl.UserSettings.WindowsPosition; - ShowModal; - end; - finally - SysUtils.FreeAndNil(frmLogin); - end; -end; - -procedure TUCEditorForm.SpeedButton2Click(Sender: TObject); -begin - imgTop.Picture := nil; -end; - -procedure TUCEditorForm.SpeedButton3Click(Sender: TObject); -begin - imgLeft.Picture := nil; -end; - -procedure TUCEditorForm.SpeedButton4Click(Sender: TObject); -begin - imgBottom.Picture := nil; -end; - -procedure TUCEditorForm.SpeedButton5Click(Sender: TObject); -begin - Case TSpeedButton(Sender).Tag of - 0 : cbActionList.ItemIndex := -1; - 1 : cbActionMainMenuBar.ItemIndex := -1; - 2 : cbActionManager.ItemIndex := -1; - 3 : cbMainMenu.ItemIndex := -1; - End; -end; - -end. - diff --git a/internal/2.31RC1/1/Source/UCIdle.pas b/internal/2.31RC1/1/Source/UCIdle.pas deleted file mode 100644 index 847719b..0000000 --- a/internal/2.31RC1/1/Source/UCIdle.pas +++ /dev/null @@ -1,138 +0,0 @@ -unit UCIdle; - -interface - -uses Classes, UCBase, Dialogs, Windows, Forms, ExtCtrls, Messages,SysUtils; - -type - - TUCIdle = class; - TUCIdleTimeLeft = procedure (TimeLeft : Integer) of Object; - - TThUCIdle = class(TThread) - private - procedure DoIdle; - procedure TimeLeftSinc; - protected - procedure Execute; override; - public - CurrentMilisec : Integer; - UCIdle : TUCIdle; - end; - - TUCIdle = class(TComponent) - private - FThIdle : TThUCIdle; - FTimeOut: Integer; - FOnIdle: TNotifyEvent; - FUserControl: TUserControl; //changed from FUCComp to FUserControl - FOnAppMessage : TMessageEvent; - FTimeLeftNotify: TUCIdleTimeLeft; - procedure UCAppMessage(var Msg: TMsg; var Handled: Boolean); - procedure SetUserControl(const Value: TUserControl); - protected - procedure Loaded; override; - procedure Notification(AComponent: TComponent; - AOperation: TOperation); override; //added by fduenas - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure DoIdle; - published - property UserControl : TUserControl read FUserControl write SetUserControl; //changed by fduenas - property OnIdle : TNotifyEvent read FOnIdle write FOnIdle; - property OnTimeLeftNotify : TUCIdleTimeLeft read FTimeLeftNotify write FTimeLeftNotify; - property Timeout : Integer read FTimeOut write FTimeOut; - end; - - -implementation - -{ TUCIdle } - -constructor TUCIdle.Create(AOwner: TComponent); -begin - inherited Create(AOwner); -end; - -destructor TUCIdle.Destroy; -begin - FreeAndNil( FThIdle ); - inherited; -end; - -procedure TUCIdle.DoIdle; -begin - if Assigned(UserControl) and (UserControl.CurrentUser.UserID <> 0 ) then - UserControl.Logoff; - if Assigned(OnIdle) then OnIdle(Self); -end; - -procedure TUCIdle.Loaded; -begin - inherited; - if not (csDesigning in ComponentState) then - if (Assigned(UserControl)) or (Assigned(OnIdle))then - begin - if Assigned(Application.OnMessage) then FOnAppMessage := Application.OnMessage; - Application.OnMessage := UCAppMessage; - FThIdle := TThUCIdle.Create(True); - FThIdle.CurrentMilisec := 0; - FThIdle.UCIdle := Self; - FThIdle.Resume; - end; -end; - -procedure TUCIdle.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - If AOperation = opRemove then - If AComponent = FUserControl then - FUserControl := nil; - inherited Notification(AComponent, AOperation) ; - -end; - -procedure TUCIdle.SetUserControl(const Value: TUserControl); -begin - FUserControl := Value; - if Value <> nil then - Value.FreeNotification(self); -end; - -procedure TUCIdle.UCAppMessage(var Msg: TMsg; var Handled: Boolean); -begin - if (msg.message = wm_mousemove) or (msg.message = wm_keydown) then FThIdle.CurrentMilisec := 0; - - if Assigned(FOnAppMessage) then FOnAppMessage(Msg, Handled); -end; - -{ TThUCIdle } - -procedure TThUCIdle.DoIdle; -begin - UCIdle.DoIdle; -end; - -procedure TThUCIdle.TimeLeftSinc; -begin - if Assigned(UCIdle.OnTimeLeftNotify) then UCIdle.OnTimeLeftNotify(UCIdle.Timeout - CurrentMilisec); -end; - -procedure TThUCIdle.Execute; -begin - while not Terminated do - begin - Sleep(1000); - if UCIdle.Timeout <= CurrentMilisec then - begin - CurrentMilisec := 0; - Synchronize(DoIdle); - end else begin - Inc(CurrentMilisec, 1000); - Synchronize(TimeLeftSinc); - end; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Source/UCLock.res b/internal/2.31RC1/1/Source/UCLock.res deleted file mode 100644 index 4a1f3ae..0000000 Binary files a/internal/2.31RC1/1/Source/UCLock.res and /dev/null differ diff --git a/internal/2.31RC1/1/Source/UCMail.pas b/internal/2.31RC1/1/Source/UCMail.pas deleted file mode 100644 index 0511b30..0000000 --- a/internal/2.31RC1/1/Source/UCMail.pas +++ /dev/null @@ -1,317 +0,0 @@ -{----------------------------------------------------------------------------- - Unit Name: UCMail - Author: QmD - Date: 09-nov-2004 - Purpose: Send Mail messages (forget password, user add/change/password force/etc) - History: included indy 10 support ------------------------------------------------------------------------------} - - -unit UCMail; - -interface - -{.$I 'UserControl.inc'} - - -uses - Classes, - Dialogs, - UCALSMTPClient, - SysUtils, - UcConsts_Language; - -type - TUCMailMessage = class(TPersistent) - private - FAtivo: Boolean; - FTitulo: String; - FLines: TStrings; - procedure SetLines(const Value: TStrings); - protected - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property Ativo: Boolean read FAtivo write FAtivo; - property Titulo: String read FTitulo write FTitulo; - property Mensagem: TStrings read FLines write SetLines; - end; - - TUCMEsqueceuSenha = class(TUCMailMessage) - private - FLabelLoginForm: String; - FMailEnviado: String; - protected - public - published - property LabelLoginForm: String read FLabelLoginForm write FLabelLoginForm; - property MensagemEmailEnviado: String read FMailEnviado write FMailEnviado; - end; - - TMessageTag = procedure(Tag: String; var ReplaceText: String) of object; - - TMailUserControl = class(TComponent) - private - FPorta: Integer; - FEmailRemetente: String; - FUsuario: String; - FNomeRemetente: String; - FSenha: String; - FSMTPServer: String; - FAdicionaUsuario: TUCMailMessage; - FSenhaTrocada: TUCMailMessage; - FAlteraUsuario: TUCMailMessage; - FSenhaForcada: TUCMailMessage; - FEsqueceuSenha: TUCMEsqueceuSenha; - fAuthType: TAlSmtpClientAuthType; - function ParseMailMSG(Nome, Login, Senha, Email, Perfil, txt: String): String; - function TrataSenha(Senha: String; Key: Word): String; - procedure onStatus(Status: String); - protected - procedure EnviaEmailTp(Nome, Login, USenha, Email, Perfil: String; UCMSG: TUCMailMessage); - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure EnviaEmailAdicionaUsuario(Nome, Login, Senha, Email, Perfil: String; Key: Word); - procedure EnviaEmailAlteraUsuario(Nome, Login, Senha, Email, Perfil: String; Key: Word); - procedure EnviaEmailSenhaForcada(Nome, Login, Senha, Email, Perfil: String); - procedure EnviaEmailSenhaTrocada(Nome, Login, Senha, Email, Perfil: String; Key: Word); - procedure EnviaEsqueceuSenha(Nome, Login, Senha, Email, Perfil: String; Key: Word); - published - property AuthType : TAlSmtpClientAuthType read fAuthType write fAuthType; - property ServidorSMTP: String read FSMTPServer write FSMTPServer; - property Usuario: String read FUsuario write FUsuario; - property Senha: String read FSenha write FSenha; - property Porta: Integer read FPorta write FPorta default 0; - property NomeRemetente: String read FNomeRemetente write FNomeRemetente; - property EmailRemetente: String read FEmailRemetente write FEmailRemetente; - property AdicionaUsuario: TUCMailMessage read FAdicionaUsuario write FAdicionaUsuario; - property AlteraUsuario: TUCMailMessage read FAlteraUsuario write FAlteraUsuario; - property EsqueceuSenha: TUCMEsqueceuSenha read FEsqueceuSenha write FEsqueceuSenha; - property SenhaForcada: TUCMailMessage read FSenhaForcada write FSenhaForcada; - property SenhaTrocada: TUCMailMessage read FSenhaTrocada write FSenhaTrocada; - end; - -implementation - -uses - UCBase, - UCEMailForm_U; - -{ TMailAdicUsuario } - -procedure TUCMailMessage.Assign(Source: TPersistent); -begin - if Source is TUCMailMessage then - begin - Self.Ativo := TUCMailMessage(Source).Ativo; - Self.Titulo := TUCMailMessage(Source).Titulo; - Self.Mensagem.Assign(TUCMailMessage(Source).Mensagem); - end - else - inherited; -end; - -constructor TUCMailMessage.Create(AOwner: TComponent); -begin - FLines := TStringList.Create; -end; - -destructor TUCMailMessage.Destroy; -begin - SysUtils.FreeAndNil(FLines); - inherited; -end; - -procedure TUCMailMessage.SetLines(const Value: TStrings); -begin - FLines.Assign(Value); -end; - -{ TMailUserControl } - -constructor TMailUserControl.Create(AOwner: TComponent); -begin - inherited; - AdicionaUsuario := TUCMailMessage.Create(self); - AdicionaUsuario.FLines.Add('Inclusão de usuário'); - AdicionaUsuario.FLines.Add(''); - AdicionaUsuario.fLines.Add('Nome...: :nome'); - AdicionaUsuario.fLines.Add('Login..: :login'); - AdicionaUsuario.fLines.Add('Senha..: :senha'); - AdicionaUsuario.fLines.Add('Email..: :email'); - AdicionaUsuario.fLines.Add('Perfil.: :perfil'); - AdicionaUsuario.fTitulo := 'Inclusão de usuário'; - - - AlteraUsuario := TUCMailMessage.Create(self); - AlteraUsuario.FLines.Add('Alteração de usuário'); - AlteraUsuario.FLines.Add(''); - AlteraUsuario.fLines.Add('Nome...: :nome'); - AlteraUsuario.fLines.Add('Login..: :login'); - AlteraUsuario.fLines.Add('Senha..: :senha'); - AlteraUsuario.fLines.Add('Email..: :email'); - AlteraUsuario.fLines.Add('Perfil.: :perfil'); - AlteraUsuario.fTitulo := 'Alteração de usuário'; - - EsqueceuSenha := TUCMEsqueceuSenha.Create(self); - EsqueceuSenha.FLines.Add('Esquecia a senha'); - EsqueceuSenha.FLines.Add(''); - EsqueceuSenha.fLines.Add('Nome...: :nome'); - EsqueceuSenha.fLines.Add('Login..: :login'); - EsqueceuSenha.fLines.Add('Senha..: :senha'); - EsqueceuSenha.fLines.Add('Email..: :email'); - EsqueceuSenha.fLines.Add('Perfil.: :perfil'); - EsqueceuSenha.fTitulo := 'Lembrete de senha'; - - SenhaForcada := TUCMailMessage.Create(self); - SenhaForcada.FLines.Add('Troca de senha forçada'); - SenhaForcada.FLines.Add(''); - SenhaForcada.fLines.Add('Nome...: :nome'); - SenhaForcada.fLines.Add('Login..: :login'); - SenhaForcada.fLines.Add('Senha..: :senha'); - SenhaForcada.fLines.Add('Email..: :email'); - SenhaForcada.fLines.Add('Perfil.: :perfil'); - SenhaForcada.fTitulo := 'Troca de senha forçada'; - - SenhaTrocada := TUCMailMessage.Create(self); - SenhaTrocada.FLines.Add('Alteração de senha'); - SenhaTrocada.FLines.Add(''); - SenhaTrocada.fLines.Add('Nome...: :nome'); - SenhaTrocada.fLines.Add('Login..: :login'); - SenhaTrocada.fLines.Add('Senha..: :senha'); - SenhaTrocada.fLines.Add('Email..: :email'); - SenhaTrocada.fLines.Add('Perfil.: :perfil'); - SenhaTrocada.fTitulo := 'Alteração de senha'; - - fAuthType := alsmtpClientAuthPlain; - if csDesigning in ComponentState then - begin - Porta := 25; - AdicionaUsuario.Ativo := True; - AlteraUsuario.Ativo := True; - EsqueceuSenha.Ativo := True; - SenhaForcada.Ativo := True; - SenhaTrocada.Ativo := True; - EsqueceuSenha.LabelLoginForm := RetornaLingua( ucPortuguesBr, 'Const_Log_LbEsqueciSenha'); - EsqueceuSenha.MensagemEmailEnviado := RetornaLingua( ucPortuguesBr,'Const_Log_MsgMailSend'); - end; - -end; - -destructor TMailUserControl.Destroy; -begin - SysUtils.FreeAndNil(FAdicionaUsuario); - SysUtils.FreeAndNil(FAlteraUsuario); - SysUtils.FreeAndNil(FEsqueceuSenha); - SysUtils.FreeAndNil(FSenhaForcada); - SysUtils.FreeAndNil(FSenhaTrocada); - - inherited; -end; - -procedure TMailUserControl.EnviaEmailAdicionaUsuario(Nome, Login, Senha, Email, Perfil: String; Key: Word); -begin - Senha := TrataSenha(Senha, Key); - EnviaEmailTP(Nome, Login, Senha, Email, Perfil, AdicionaUsuario); -end; - -procedure TMailUserControl.EnviaEmailAlteraUsuario(Nome, Login, Senha, Email, Perfil: String; Key: Word); -begin - Senha := TrataSenha(Senha, Key); - EnviaEmailTP(Nome, Login, Senha, Email, Perfil, AlteraUsuario); -end; - -procedure TMailUserControl.EnviaEmailSenhaForcada(Nome, Login, Senha, Email, Perfil: String); -begin - EnviaEmailTP(Nome, Login, Senha, Email, Perfil, SenhaForcada); -end; - -procedure TMailUserControl.EnviaEmailSenhaTrocada(Nome, Login, Senha, Email, Perfil: String; Key: Word); -begin - EnviaEmailTP(Nome, Login, Senha, Email, Perfil, SenhaTrocada); -end; - -function TMailUserControl.ParseMailMSG(Nome, Login, Senha, Email, Perfil, txt: String): String; -begin - Txt := StringReplace(txt, ':nome', nome, [rfReplaceAll]); - Txt := StringReplace(txt, ':login', login, [rfReplaceAll]); - Txt := StringReplace(txt, ':senha', senha, [rfReplaceAll]); - Txt := StringReplace(txt, ':email', email, [rfReplaceAll]); - Txt := StringReplace(txt, ':perfil', perfil, [rfReplaceAll]); - Result := Txt; -end; - -procedure TMailUserControl.onStatus( Status : String ); -begin - if not Assigned(UCEMailForm) then Exit; - UCEMailForm.lbStatus.Caption := Status; - UCEMailForm.Update; -end; - -procedure TMailUserControl.EnviaEmailTp(Nome, Login, USenha, Email, Perfil: String; UCMSG: TUCMailMessage); -var - MailMsg : TAlSmtpClient; - MailRecipients : TStringlist; - MailHeader : TALSMTPClientHeader; -begin - if Trim(Email) = '' then - Exit; - MailMsg := TAlSmtpClient.Create; - MailMsg.OnStatus := OnStatus; - MailRecipients := TStringlist.Create; - MailHeader := TALSMTPClientHeader.Create; - MailHeader.From := EmailRemetente; //'rodrigo@oxio.com.br'; - MailHeader.SendTo := Email ; - MailRecipients.Append(Email); - MailHeader.Subject := UCMSG.Titulo; - - try - try - UCEMailForm := TUCEMailForm.Create(Self); - UCEMailForm.lbStatus.Caption := ''; - UCEMailForm.Show; - UCEMailForm.Update; - - MailMsg.SendMail(ServidorSMTP, FPorta, NomeRemetente , - MailRecipients, Usuario, Senha, fAuthType , MailHeader.RawHeaderText, - ParseMailMSG(Nome, Login, USenha, Email, Perfil, UCMSG.Mensagem.Text)); - - UCEMailForm.Update; - except - on e: Exception do - begin - Beep; - UCEMailForm.Close; - MessageDlg(E.Message,mtWarning,[mbok],0); - raise; - end; - end; - finally - FreeAndNil(MailMsg); - FreeAndNil(MailHeader); - FreeAndNil(MailRecipients); - FreeAndNil(UCEMailForm); - end; -end; - -procedure TMailUserControl.EnviaEsqueceuSenha(Nome, Login, Senha, Email, Perfil: String; Key: Word); -begin - if Trim(Email) = '' then - Exit; - try - Senha := TrataSenha(Senha, Key); - EnviaEmailTP(Nome, Login, Senha, Email, Perfil, EsqueceuSenha); - MessageDlg(EsqueceuSenha.MensagemEmailEnviado, mtInformation, [mbOK], 0); - except - end; -end; - -function TmailUserControl.TrataSenha(Senha: String; Key: Word): String; -begin - Result := Decrypt(Senha, Key); -end; - -end. diff --git a/internal/2.31RC1/1/Source/UCMessages.pas b/internal/2.31RC1/1/Source/UCMessages.pas deleted file mode 100644 index 4ef209c..0000000 --- a/internal/2.31RC1/1/Source/UCMessages.pas +++ /dev/null @@ -1,1137 +0,0 @@ -unit UCMessages; - -interface - -{$I 'UserControl.inc'} - -uses - Classes, - Dialogs, - Forms, - Graphics, - SysUtils, - UCConsts_language; - -type - TUCAppMessagesMSG = class(TPersistent) - private - FMsgRec_LabelDate: String; - FMsgsForm_BtBtForward: String; - Fmsgsform_btnew: String; - FMsgSend_GroupTo: String; - FMsgSend_WindowCaption: String; - FMsgSend_GroupMessage: String; - FMsgsForm_ColFrom: String; - FMsgsForm_BtDelete: String; - FMsgsForm_BtClose: String; //added by fduenas - FMsgRec_LabelMessage: String; - FMsgRec_Title: String; - FMsgSend_RadioAll: String; - FMsgSend_RadioUser: String; - FMsgSend_Title: String; - FMsgsForm_ColSubject: String; - FMsgRec_LabelFrom: String; - FMsgsForm_WindowCaption: String; - FMsgRec_LabelSubject: String; - FMsgRec_WindowCaption: String; - FMsgSend_BtSend: String; - FMsgSend_BtCancel: String; - FMsgsForm_BtReplay: String; - FMsgRec_BtClose: String; - FMsgSend_LabelSubject: String; //added by fduenas - FMsgSend_LabelMessageText: String; //added by fduenas - FMsgsForm_PromptDelete: String; - FMsgsForm_PromptDelete_WindowCaption: String; //added by fduenas - FMsgsForm_ColDate: String; - FMsgsForm_NoMessagesSelected: String; //added by fduenas - FMsgsForm_NoMessagesSelected_WindowCaption: String; //added by fduenas - protected - public - constructor Create(Aowner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property MsgsForm_BtNew: String read Fmsgsform_btnew write Fmsgsform_btnew; - property MsgsForm_BtReplay: String read FMsgsForm_BtReplay write FMsgsForm_BtReplay; - property MsgsForm_BtForward: String read FMsgsForm_BtBtForward write FMsgsForm_BtBtForward; - property MsgsForm_BtDelete: String read FMsgsForm_BtDelete write FMsgsForm_BtDelete; - property MsgsForm_BtClose: String read FMsgsForm_BtClose write FMsgsForm_BtClose; //added By fduenas - property MsgsForm_WindowCaption: String read FMsgsForm_WindowCaption write FMsgsForm_WindowCaption; - property MsgsForm_ColFrom: String read FMsgsForm_ColFrom write FMsgsForm_ColFrom; - property MsgsForm_ColSubject: String read FMsgsForm_ColSubject write FMsgsForm_ColSubject; - property MsgsForm_ColDate: String read FMsgsForm_ColDate write FMsgsForm_ColDate; - property MsgsForm_PromptDelete: String read FMsgsForm_PromptDelete write FMsgsForm_PromptDelete; - property MsgsForm_PromptDelete_WindowCaption: String read FMsgsForm_PromptDelete_WindowCaption write FMsgsForm_PromptDelete_WindowCaption; //added by fduenas - property MsgsForm_NoMessagesSelected: String read FMsgsForm_NoMessagesSelected write FMsgsForm_NoMessagesSelected; //added by fduenas - property MsgsForm_NoMessagesSelected_WindowCaption: String read FMsgsForm_NoMessagesSelected_WindowCaption write FMsgsForm_NoMessagesSelected_WindowCaption; //added by fduenas - - property MsgRec_BtClose: String read FMsgRec_BtClose write FMsgRec_BtClose; - property MsgRec_WindowCaption: String read FMsgRec_WindowCaption write FMsgRec_WindowCaption; - property MsgRec_Title: String read FMsgRec_Title write FMsgRec_Title; - property MsgRec_LabelFrom: String read FMsgRec_LabelFrom write FMsgRec_LabelFrom; - property MsgRec_LabelDate: String read FMsgRec_LabelDate write FMsgRec_LabelDate; - property MsgRec_LabelSubject: String read FMsgRec_LabelSubject write FMsgRec_LabelSubject; - property MsgRec_LabelMessage: String read FMsgRec_LabelMessage write FMsgRec_LabelMessage; - - property MsgSend_BtSend: String read FMsgSend_BtSend write FMsgSend_BtSend; - property MsgSend_BtCancel: String read FMsgSend_BtCancel write FMsgSend_BtCancel; - property MsgSend_WindowCaption: String read FMsgSend_WindowCaption write FMsgSend_WindowCaption; - property MsgSend_Title: String read FMsgSend_Title write FMsgSend_Title; - property MsgSend_GroupTo: String read FMsgSend_GroupTo write FMsgSend_GroupTo; - property MsgSend_RadioUser: String read FMsgSend_RadioUser write FMsgSend_RadioUser; - property MsgSend_RadioAll: String read FMsgSend_RadioAll write FMsgSend_RadioAll; - property MsgSend_GroupMessage: String read FMsgSend_GroupMessage write FMsgSend_GroupMessage; - property MsgSend_LabelSubject: String read FMsgSend_LabelSubject write FMsgSend_LabelSubject; //added by fduenas - property MsgSend_LabelMessageText: String read FMsgSend_LabelMessageText write FMsgSend_LabelMessageText; //added by fduenas - end; - - TUCChangePassError = class(TPersistent) - private - FInvalidCurrentPassword: String; - FNewPasswordError: String; - FNewEqualCurrent: String; - FPasswordRequired: String; - FMinPasswordLength: String; - FInvalidNewPassword: String; - protected - public - constructor Create(Aowner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property InvalidCurrentPassword: String read FInvalidCurrentPassword write FInvalidCurrentPassword; - property NewPasswordError: String read FNewPasswordError write FNewPasswordError; - property NewEqualCurrent: String read FNewEqualCurrent write FNewEqualCurrent; - property PasswordRequired: String read FPasswordRequired write FPasswordRequired; - property MinPasswordLength: String read FMinPasswordLength write FMinPasswordLength; - property InvalidNewPassword: String read FInvalidNewPassword write FInvalidNewPassword; - end; - - TUCUserCommonMSG = class(TPersistent) - private - FPasswordOFF: String; - FPasswordChanged: String; - FInvalidUserPass: String; - FMaxLoginTry: String; - FAutoLogonError: String; - FFirstMSG: TStrings; - FChangePasswordError: TUCChangePassError; - FUsuarioExiste: String; - fPasswordExpired: String; - fForcaTrocaSenha: String; - fInactiveLogin: String; - procedure SetFErroTrocaSenha(const Value: TUCChangePassError); - procedure SetFFirstMSG(const Value: TStrings); - protected - - public - constructor Create(Aowner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property AutoLogonError: String read FAutoLogonError write FAutoLogonError; - property ChangePasswordError: TUCChangePassError read FChangePasswordError write SetFErroTrocaSenha; - property InvalidLogin: String read FInvalidUserPass write FInvalidUserPass; - property InactiveLogin: String read fInactiveLogin write fInactiveLogin; - property InitialMessage: TStrings read FFirstMSG write SetFFirstMSG; - property MaxLoginAttemptsError: String read FMaxLoginTry write FMaxLoginTry; - property PasswordChanged: String read FPasswordChanged write FPasswordChanged; - property BlankPassword: String read FPasswordOFF write FPasswordOFF; - property UsuarioExiste: String read FUsuarioExiste write FUsuarioExiste; - property PasswordExpired : String read fPasswordExpired write fPasswordExpired; - property ForcaTrocaSenha : String read fForcaTrocaSenha write fForcaTrocaSenha; - end; - - TUCLoginFormMSG = class(TPersistent) - private - FWindowCaption: String; - FLabelUser: String; - FLabelPassword: String; - FBtOk: String; - FBtCancel: String; - FBottomImage: TPicture; - FLeftImage: TPicture; - FTopImage: TPicture; - fLabelTentativas: String; - fLabelTentativa: String; - procedure SetFBottomImage(const Value: TPicture); - procedure SetFLeftImage(const Value: TPicture); - procedure SetFTopImage(const Value: TPicture); - protected - - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property WindowCaption: String read FWindowCaption write FWindowCaption; - property LabelUser: String read FLabelUser write FLabelUser; - property LabelPassword: String read FLabelPassword write FLabelPassword; - property BtOk: String read FBtOk write FBtOk; - property BtCancel: String read FBtCancel write FBtCancel; - property TopImage: TPicture read FTopImage write SetFTopImage; - property LeftImage: TPicture read FLeftImage write SetFLeftImage; - property BottomImage: TPicture read FBottomImage write SetFBottomImage; - property LabelTentativa : String read fLabelTentativa write fLabelTentativa; // by vicente barros leonel - property LabelTentativas : String read fLabelTentativas write fLabelTentativas; // by vicente barros leonel - end; - - TUCCadUserFormMSG = class(TPersistent) - private - FWindowCaption: String; - FLabelDescricao: String; - FColNome: String; - FColLogin: String; - FColEmail: String; - FBtAdic: String; - FBtAlt: String; - FBtExc: String; - FBtAccess: String; - FBtPass: String; - FBtClose: String; - FConfExc: String; - FPromptDelete_WindowCaption: String; //added by fduenas - protected - - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property WindowCaption: String read FWindowCaption write FWindowCaption; - property LabelDescription: String read FLabelDescricao write FLabelDescricao; - property ColName: String read FColNome write FColNome; - property ColLogin: String read FColLogin write FColLogin; - property ColEmail: String read FColEmail write FColEmail; - property BtAdd: String read FBtAdic write FBtAdic; - property BtChange: String read FBtAlt write FBtAlt; - property BtDelete: String read FBtExc write FBtExc; - property PromptDelete: String read FConfExc write FConfExc; - property PromptDelete_WindowCaption: String read FPromptDelete_WindowCaption write FPromptDelete_WindowCaption; //added by fduenas - property BtRights: String read FBtAccess write FBtAccess; - property BtPassword: String read FBtPass write FBtPass; - property BtClose: String read FBtClose write FBtClose; - end; - - TUCLogControlFormMSG = class(TPersistent) - private - FColAppID: String; - FColData: String; - FColNivel: String; - FColUsuario: String; - FColMensagem: String; - FLabelDescription: String; - FWindowCaption: String; - FLabelLevel: String; - FBtClose: String; - FConfExc: String; - FLabelUser: String; - FBtFilt: String; - FLabelDate: String; - FBtExc: String; - FOptionUserAll: String; //added by fduenas - FOptionLevelLow: String; //added by fduenas - FOptionLevelNormal: String; //added by fduenas - FOptionLevelHigh: String; //added by fduenas - FOptionLevelCritic: String; //added by fduenas - FPromptDelete_WindowCaption: String; //added by fduenas - FDeletePerformed: String; - protected - - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property WindowCaption: String read FWindowCaption write FWindowCaption; - property LabelDescription: String read FLabelDescription write FLabelDescription; - property LabelUser: String read FLabelUser write FLabelUser; - property LabelDate: String read FLabelDate write FLabelDate; - property LabelLevel: String read FLabelLevel write FLabelLevel; - property ColAppID: String read FColAppID write FColAppID; - property ColLevel: String read FColNivel write FColNivel; - property ColMessage: String read FColMensagem write FColMensagem; - property ColUser: String read FColUsuario write FColUsuario; - property ColDate: String read FColData write FColData; - property BtFilter: String read FBtFilt write FBtFilt; - property BtDelete: String read FBtExc write FBtExc; - property BtClose: String read FBtClose write FBtClose; - property PromptDelete: String read FConfExc write FConfExc; - property PromptDelete_WindowCaption: String read FPromptDelete_WindowCaption write FPromptDelete_WindowCaption; //added by fduenas - property OptionUserAll: String read FOptionUserAll write FOptionUserAll; //added by fduenas - property OptionLevelLow: String read FOptionLevelLow write FOptionLevelLow; //added by fduenas - property OptionLevelNormal: String read FOptionLevelNormal write FOptionLevelNormal; //added by fduenas - property OptionLevelHigh: String read FOptionLevelHigh write FOptionLevelHigh; //added by fduenas - property OptionLevelCritic: String read FOptionLevelCritic write FOptionLevelCritic; //added by fduenas - property DeletePerformed: String read FDeletePerformed write FDeletePerformed; //added by fduenas - end; - - TUCProfileUserFormMSG = class(TPersistent) - private - FWindowCaption: String; - FLabelDescription: String; - FColPerfil: String; - FBtAdic: String; - FBtAlt: String; - FBtExc: String; - FBtAcess: String; - FBtClose: String; - FConfExc: String; - FPromptDelete_WindowCaption: String; //added by fduenas - protected - - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property WindowCaption: String read FWindowCaption write FWindowCaption; - property LabelDescription: String read FLabelDescription write FLabelDescription; - property ColProfile: String read FColPerfil write FColPerfil; - property BtAdd: String read FBtAdic write FBtAdic; - property BtChange: String read FBtAlt write FBtAlt; - property BtDelete: String read FBtExc write FBtExc; - property BtRights: String read FBtAcess write FBtAcess; //BGM - property PromptDelete: String read FConfExc write FConfExc; - property PromptDelete_WindowCaption: String read FPromptDelete_WindowCaption write FPromptDelete_WindowCaption; //added by fduenas - property BtClose: String read FBtClose write FBtClose; - end; - - TUCAddUserFormMSG = class(TPersistent) - private - FWindowCaption: String; - FLabelAdd: String; - FLabelChange: String; - FLabelNome: String; - FLabelLogin: String; - FLabelEmail: String; - FCheckPriv: String; - FBtSave: String; - FBtCancelar: String; - FLabelPerfil: String; - fCheckExpira: String; - fExpiredIn: string; - fDay: String; - fLabelStatus: String; - fStatusDisabled: string; - fStatusActive: String; - protected - - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property WindowCaption: String read FWindowCaption write FWindowCaption; - property LabelAdd: String read FLabelAdd write FLabelAdd; - property LabelChange: String read FLabelChange write FLabelChange; - property LabelName: String read FLabelNome write FLabelNome; - property LabelLogin: String read FLabelLogin write FLabelLogin; - property LabelEmail: String read FLabelEmail write FLabelEmail; - property LabelPerfil: String read FLabelPerfil write FLabelPerfil; - property CheckPrivileged: String read FCheckPriv write FCheckPriv; - property BtSave: String read FBtSave write FBtSave; - property BtCancel: String read FBtCancelar write FBtCancelar; - property CheckExpira: String read fCheckExpira write fCheckExpira; - property Day : String read fDay write fDay; - property ExpiredIn : string read fExpiredIn write fExpiredIn; - property LabelStatus : String read fLabelStatus write fLabelStatus; - property StatusActive : String read fStatusActive write fStatusActive; - property StatusDisabled : string read fStatusDisabled write fStatusDisabled; - end; - - TUCAddProfileFormMSG = class(TPersistent) - private - FWindowCaption, FLabelAdd, FLabelChange, FLabelName, FBtGravar, FBtCancel: String; - protected - - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property WindowCaption: String read FWindowCaption write FWindowCaption; - property LabelAdd: String read FLabelAdd write FLabelAdd; - property LabelChange: String read FLabelChange write FLabelChange; - property LabelName: String read FLabelName write FLabelName; - property BtSave: String read FBtGravar write FBtGravar; - property BtCancel: String read FBtCancel write FBtCancel; - end; - - TUCPermissFormMSG = class(TPersistent) - private - FWindowCaption: String; - FBtCancela: String; - FBtGrava: String; - FBtLock: String; - FBtUnlock: String; - FPageActions: String; - FPageMenu: String; - FLabelProfile: String; - FLabelUser: String; - fPageControls: string; - protected - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property WindowCaption: String read FWindowCaption write FWindowCaption; - property LabelUser: String read FLabelUser write FLabelUser; - property LabelProfile: String read FLabelProfile write FLabelProfile; - property PageMenu: String read FPageMenu write FPageMenu; - property PageActions: String read FPageActions write FPageActions; - property PageControls: string read fPageControls write fPageControls; - property BtUnlock: String read FBtUnlock write FBtUnlock; - property BtLock: String read FBtLock write FBtLock; - property BtSave: String read FBtGrava write FBtGrava; - property BtCancel: String read FBtCancela write FBtCancela; - end; - - TUCTrocaSenhaFormMSG = class(TPersistent) - private - FWindowCaption: String; - FBtCancel: String; - FBtSave: String; - FLabelConfirm: String; - FLabelNewPassword: String; - FLabelCurrentPassword: String; - FLabelDescription: String; - protected - - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property WindowCaption: String read FWindowCaption write FWindowCaption; - property LabelDescription: String read FLabelDescription write FLabelDescription; - property LabelCurrentPassword: String read FLabelCurrentPassword write FLabelCurrentPassword; - property LabelNewPassword: String read FLabelNewPassword write FLabelNewPassword; - property LabelConfirm: String read FLabelConfirm write FLabelConfirm; - property BtSave: String read FBtSave write FBtSave; - property BtCancel: String read FBtCancel write FBtCancel; - end; - - TUCResetPassword = class(TPersistent) - private - FWindowCaption: String; - FLabelPassword: String; - protected - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property WindowCaption: String read FWindowCaption write FWindowCaption; - property LabelPassword: String read FLabelPassword write FLabelPassword; - end; - - TUCCadUserLoggedMSG = Class( TPersistent ) - private - fBtnMessage: String; - fBtnRefresh: String; - fBtnClose: String; - fLabelDescricao: String; - fLabelCaption: String; - FColLogin: String; - FColData: String; - FColNome: String; - FColComputer: String; - fInputCaption: String; - fInputText: String; - fMsgSystem: String; - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property BtnMessage : String read fBtnMessage write fBtnMessage; - property BtnRefresh : String read fBtnRefresh write fBtnRefresh; - property BtnClose : String read fBtnClose write fBtnClose; - property LabelDescricao : String read fLabelDescricao write fLabelDescricao; - property LabelCaption : String read fLabelCaption write fLabelCaption; - property ColName : String read FColNome write FColNome; - property ColLogin : String read FColLogin write FColLogin; - property ColComputer : String read FColComputer write FColComputer; - property ColData : String read FColData write FColData; - - property InputCaption : String read fInputCaption write fInputCaption; - property InputText : String read fInputText write fInputText; - property MsgSystem : String read fMsgSystem write fMsgSystem; - End; - - TUCTypeBancoDados = ( Interbase , Firebird , MySql , PARADOX, Oracle , SqlServer, PostgreSQL ); - - TUCUserSettings = class(TPersistent) - private - FUserCommomMSG: TUCUserCommonMSG; - FLoginFormMSG: TUCLoginFormMSG; - FCadUserFormMSG: TUCCadUserFormMSG; - FAddUserFormMSG: TUCAddUserFormMSG; - FPermissFormMSG: TUCPermissFormMSG; - FTrocaSenhaFormMSG: TUCTrocaSenhaFormMSG; - FResetPassword: TUCResetPassword; - FProfileUserFormMSG: TUCProfileUserFormMSG; - FAddProfileFormMSG: TUCAddProfileFormMSG; - FLogControlFormMSG: TUCLogControlFormMSG; - FAppMessagesMSG: TUCAppMessagesMSG; - FPosition: TPosition; - fLanguage: TUCLanguage; - fUsersLogged: TUCCadUserLoggedMSG; - fBancoDados: TUCTypeBancoDados; - procedure SetFResetPassword(const Value: TUCResetPassword); - procedure SetFProfileUserFormMSG(const Value: TUCProfileUserFormMSG); - procedure SetFAddProfileFormMSG(const Value: TUCAddProfileFormMSG); - procedure SetFLogControlFormMSG(const Value: TUCLogControlFormMSG); - procedure SetAppMessagesMSG(const Value: TUCAppMessagesMSG); - procedure SetfUsersLogged(const Value: TUCCadUserLoggedMSG); - procedure SetfBancoDados(const Value: TUCTypeBancoDados); - protected - procedure SetFUserCommonMsg(const Value: TUCUserCommonMSG); - procedure SetFFormLoginMsg(const Value: TUCLoginFormMSG); - procedure SetFCadUserFormMSG(const Value: TUCCadUserFormMSG); - procedure SetFAddUserFormMSG(const Value: TUCAddUserFormMSG); - procedure SetFPermissFormMSG(const Value: TUCPermissFormMSG); - procedure SetFTrocaSenhaFormMSG(const Value: TUCTrocaSenhaFormMSG); - public - Type_Int , - Type_Char , - Type_VarChar , - Type_Memo : String; - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - - published - property AppMessages: TUCAppMessagesMSG read FAppMessagesMSG write SetAppMessagesMSG; - property CommonMessages: TUCUserCommonMSG read FUserCommomMSG write SetFUserCommonMSg; - property Login: TUCLoginFormMSG read FLoginFormMSG write SetFFormLoginMsg; - property Log: TUCLogControlFormMSG read FLogControlFormMSG write SetFLogControlFormMSG; - property UsersForm: TUCCadUserFormMSG read FCadUserFormMSG write SetFCadUserFormMSG; - property AddChangeUser: TUCAddUserFormMSG read FAddUserFormMSG write SetFAddUserFormMSG; - property AddChangeProfile: TUCAddProfileFormMSG read FAddProfileFormMSG write SetFAddProfileFormMSG; - property UsersProfile: TUCProfileUserFormMSG read FProfileUserFormMSG write SetFProfileUserFormMSG; - property Rights: TUCPermissFormMSG read FPermissFormMSG write SetFPermissFormMSG; - property ChangePassword: TUCTrocaSenhaFormMSG read FTrocaSenhaFormMSG write SetFTrocaSenhaFormMSG; - property ResetPassword: TUCResetPassword read FResetPassword write SetFResetPassword; - property WindowsPosition: TPosition read FPosition write FPosition; - Property BancoDados : TUCTypeBancoDados read fBancoDados write SetfBancoDados; - property Language : TUCLanguage read fLanguage write fLanguage; - property UsersLogged : TUCCadUserLoggedMSG read fUsersLogged write SetfUsersLogged; - end; - - -implementation - -uses UCSettings; - -{ TUserSettings } - -procedure TUCUserSettings.Assign(Source: TPersistent); -begin - if Source is TUCUserSettings then - Self.CommonMessages.Assign(TUCUserSettings(Source).CommonMessages) - else - inherited; -end; - -constructor TUCUserSettings.Create(AOwner: TComponent); -begin - inherited Create; - FAppMessagesMSG := TUCAppMessagesMSG.Create(nil); - FLoginFormMSG := TUCLoginFormMSG.Create(nil); - FUserCommomMSG := TUCUserCommonMSG.Create(nil); - FCadUserFormMSG := TUCCadUserFormMSG.Create(nil); - FAddUserFormMSG := TUCAddUserFormMSG.Create(nil); - FAddProfileFormMSG := TUCAddProfileFormMSG.Create(nil); - FPermissFormMSG := TUCPermissFormMSG.Create(nil); - FProfileUserFormMSG := TUCProfileUserFormMSG.Create(nil); - FTrocaSenhaFormMSG := TUCTrocaSenhaFormMSG.Create(nil); - FResetPassword := TUCResetPassword.Create(nil); - FLogControlFormMSG := TUCLogControlFormMSG.Create(nil); - FPosition := poMainFormCenter; - fBancoDados := FireBird; - fUsersLogged := TUCCadUserLoggedMSG.Create(nil); - RetornaSqlBancoDados( fBancoDados, Type_Int,Type_Char,Type_VarChar,Type_Memo ); -end; - -destructor TUCUserSettings.Destroy; -begin - SysUtils.FreeAndNil(FAppMessagesMSG); - SysUtils.FreeAndNil(FLoginFormMSG); - SysUtils.FreeAndNil(FUserCommomMSG); - SysUtils.FreeAndNil(FCadUserFormMSG); - SysUtils.FreeAndNil(FAddUserFormMSG); - SysUtils.FreeAndNil(FAddProfileFormMSG); - SysUtils.FreeAndNil(FPermissFormMSG); - SysUtils.FreeAndNil(FProfileUserFormMSG); - SysUtils.FreeAndNil(FTrocaSenhaFormMSG); - SysUtils.FreeAndNil(FResetPassword); - SysUtils.FreeAndNil(FLogControlFormMSG); - SysUtils.FreeAndNil(fUsersLogged); - inherited; -end; - -procedure TUCUserSettings.SetAppMessagesMSG(const Value: TUCAppMessagesMSG); -begin - FAppMessagesMSG := Value; -end; - -procedure TUCUserSettings.SetFAddProfileFormMSG(const Value: TUCAddProfileFormMSG); -begin - FAddProfileFormMSG := Value; -end; - -procedure TUCUserSettings.SetFAddUserFormMSG(const Value: TUCAddUserFormMSG); -begin - AddChangeUser := Value; -end; - -procedure TUCUserSettings.SetfBancoDados(const Value: TUCTypeBancoDados); -begin - fBancoDados := Value; - RetornaSqlBancoDados( fBancoDados , Type_Int,Type_Char,Type_VarChar,Type_Memo ); -end; - -procedure TUCUserSettings.SetFCadUserFormMSG(const Value: TUCCadUserFormMSG); -begin - UsersForm := Value; -end; - -procedure TUCUserSettings.SetFFormLoginMsg(const Value: TUCLoginFormMSG); -begin - Login := Value; -end; - -procedure TUCUserSettings.SetFLogControlFormMSG(const Value: TUCLogControlFormMSG); -begin - FLogControlFormMSG := Value; -end; - -procedure TUCUserSettings.SetFPermissFormMSG(const Value: TUCPermissFormMSG); -begin - Rights := Value; -end; - -procedure TUCUserSettings.SetFProfileUserFormMSG(const Value: TUCProfileUserFormMSG); -begin - FProfileUserFormMSG := Value; -end; - -procedure TUCUserSettings.SetFResetPassword(const Value: TUCResetPassword); -begin - FResetPassword := Value; -end; - -procedure TUCUserSettings.SetFTrocaSenhaFormMSG(const Value: TUCTrocaSenhaFormMSG); -begin - ChangePassword := Value; -end; - -procedure TUCUserSettings.SetFUserCommonMsg(const Value: TUCUserCommonMSG); -begin - CommonMessages := Value; -end; - -procedure TUCUserSettings.SetfUsersLogged(const Value: TUCCadUserLoggedMSG); -begin - fUsersLogged := Value; -end; - -{ TUserCommonMSG } - -procedure TUCUserCommonMSG.Assign(Source: TPersistent); -begin - if Source is TUCUserCommonMSG then - begin - Self.BlankPassword := TUCUserCommonMSG(Source).BlankPassword; - Self.PasswordChanged := TUCUserCommonMSG(Source).PasswordChanged; - Self.InitialMessage := TUCUserCommonMSG(Source).InitialMessage; - Self.InvalidLogin := TUCUserCommonMSG(Source).InvalidLogin; - Self.InactiveLogin := TUCUserCommonMSG(Source).InactiveLogin; - Self.MaxLoginAttemptsError := TUCUserCommonMSG(Source).MaxLoginAttemptsError; - Self.ChangePasswordError := TUCUserCommonMSG(Source).ChangePasswordError; - Self.UsuarioExiste := TUCUserCommonMSG(Source).UsuarioExiste; - Self.PasswordExpired := TUCUserCommonMSG(Source).PasswordExpired; - Self.ForcaTrocaSenha := TUCUserCommonMSG(Source).ForcaTrocaSenha; - end - else - inherited; -end; - -constructor TUCUserCommonMSG.Create(Aowner: TComponent); -begin - inherited Create; - ChangePasswordError := TUCChangePassError.Create(nil); - FFirstMSG := TStringList.Create; -end; - -destructor TUCUserCommonMSG.Destroy; -begin - SysUtils.FreeAndNil(FChangePasswordError); - SysUtils.FreeAndNil(FFirstMSG); - inherited; -end; - -procedure TUCUserCommonMSG.SetFErroTrocaSenha(const Value: TUCChangePassError); -begin - FChangePasswordError := Value; -end; - -procedure TUCUserCommonMSG.SetFFirstMSG(const Value: TStrings); -begin - FFirstMSG.Assign(Value); -end; - -{ TLoginFormMSG } - -procedure TUCLoginFormMSG.Assign(Source: TPersistent); -begin - if Source is TUCLoginFormMSG then - with Source as TUCLoginFormMSG do - begin - Self.WindowCaption := WindowCaption; - Self.LabelUser := LabelUser; - Self.LabelPassword := LabelPassword; - Self.BtOk := BtOK; - Self.BtCancel := BtCancel; - end - else - inherited; -end; - -constructor TUCLoginFormMSG.Create(AOwner: TComponent); -begin - inherited Create; - FTopImage := TPicture.Create; - FLeftImage := TPicture.Create; - FBottomImage := TPicture.Create; -end; - -destructor TUCLoginFormMSG.Destroy; -begin - SysUtils.FreeAndNil(FTopImage); - SysUtils.FreeAndNil(FLeftImage); - SysUtils.FreeAndNil(FBottomImage); - inherited; -end; - -procedure TUCLoginFormMSG.SetFBottomImage(const Value: TPicture); -begin - FBottomImage.Assign(Value); -end; - -procedure TUCLoginFormMSG.SetFLeftImage(const Value: TPicture); -begin - FLeftImage.Assign(Value); -end; - -procedure TUCLoginFormMSG.SetFTopImage(const Value: TPicture); -begin - FTopImage.Assign(Value); -end; - -{ TCadUserFormMSG } - -procedure TUCCadUserFormMSG.Assign(Source: TPersistent); -begin - if Source is TUCCadUserFormMSG then - with Source as TUCCadUserFormMSG do - begin - Self.WindowCaption := WindowCaption; - Self.LabelDescription := LabelDescription; - Self.ColName := ColName; - Self.ColLogin := ColLogin; - Self.ColEmail := ColEmail; - Self.BtAdd := BtAdd; - Self.BtChange := BtChange; - Self.BtDelete := BtDelete; - Self.BtRights := BtRights; - Self.BtPassword := BtPassword; - Self.BtClose := BtClose; - Self.PromptDelete := PromptDelete; - Self.PromptDelete_WindowCaption := PromptDelete_WindowCaption; //added by fduenas - end - else - inherited; -end; - -constructor TUCCadUserFormMSG.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCCadUserFormMSG.Destroy; -begin - inherited; -end; - -{ TAddUserFormMSG } - -procedure TUCAddUserFormMSG.Assign(Source: TPersistent); -begin - if Source is TUCAddUserFormMSG then - with Source as TUCAddUserFormMSG do - begin - Self.WindowCaption := WindowCaption; - Self.LabelAdd := LabelAdd; - Self.LabelChange := LabelChange; - Self.LabelName := LabelName; - Self.LabelLogin := LabelLogin; - Self.LabelEmail := LabelEmail; - Self.LabelPerfil := LabelPerfil; - Self.CheckPrivileged := CheckPrivileged; - Self.BtSave := BtSave; - Self.BtCancel := BtCancel; - Self.CheckExpira := CheckExpira; - Self.Day := Day; - Self.ExpiredIn := ExpiredIn; - Self.LabelStatus := LabelStatus; - Self.StatusDisabled := StatusDisabled; - Self.StatusActive := StatusActive; - end - else - inherited; -end; - -constructor TUCAddUserFormMSG.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCAddUserFormMSG.Destroy; -begin - inherited; -end; - -{ TPermissFormMSG } - -procedure TUCPermissFormMSG.Assign(Source: TPersistent); -begin - if Source is TUCPermissFormMSG then - with Source as TUCPermissFormMSG do - begin - Self.WindowCaption := WindowCaption; - Self.LabelUser := LabelUser; - Self.LabelProfile := LabelProfile; - Self.PageMenu := PageMenu; - Self.PageActions := PageActions; - Self.BtUnlock := BtUnlock; - Self.BtLock := BtLock; - Self.BtSave := BtSave; - Self.BtCancel := BtCancel; - Self.PageControls := PageControls; - end - else - inherited; -end; - -constructor TUCPermissFormMSG.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCPermissFormMSG.Destroy; -begin - inherited; -end; - -{ TTrocaSenhaFormMSG } - -procedure TUCTrocaSenhaFormMSG.Assign(Source: TPersistent); -begin - if Source is TUCTrocaSenhaFormMSG then - with Source as TUCTrocaSenhaFormMSG do - begin - Self.WindowCaption := WindowCaption; - Self.LabelDescription := LabelDescription; - Self.LabelCurrentPassword := LabelCurrentPassword; - Self.LabelNewPassword := LabelNewPassword; - Self.LabelConfirm := LabelConfirm; - Self.BtSave := BtSave; - Self.BtCancel := BtCancel; - end - else - inherited; -end; - -constructor TUCTrocaSenhaFormMSG.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCTrocaSenhaFormMSG.Destroy; -begin - inherited; -end; - -{ TChangePassError } - -procedure TUCChangePassError.Assign(Source: TPersistent); -begin - if Source is TUCChangePassError then - with Source as TUCChangePassError do - begin - Self.InvalidCurrentPassword := InvalidCurrentPassword; - Self.NewPasswordError := NewPasswordError; - Self.NewEqualCurrent := NewEqualCurrent; - Self.PasswordRequired := PasswordRequired; - Self.MinPasswordLength := MinPasswordLength; - end - else - inherited; -end; - -constructor TUCChangePassError.Create(Aowner: TComponent); -begin - inherited Create; -end; - -destructor TUCChangePassError.Destroy; -begin - inherited; -end; - -{ TResetPassword } - -procedure TUCResetPassword.Assign(Source: TPersistent); -begin - if Source is TUCResetPassword then - begin - Self.WindowCaption := TUCResetPassword(Source).WindowCaption; - Self.LabelPassword := TUCResetPassword(Source).LabelPassword; - end - else - inherited; -end; - -constructor TUCResetPassword.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCResetPassword.Destroy; -begin - inherited; -end; - -{ TProfileUserFormMSG } - -procedure TUCProfileUserFormMSG.Assign(Source: TPersistent); -begin - if Source is TUCProfileUserFormMSG then - with Source as TUCProfileUserFormMSG do - begin - Self.WindowCaption := WindowCaption; - Self.LabelDescription := LabelDescription; - Self.ColProfile := ColProfile; - Self.BtAdd := BtAdd; - Self.BtChange := BtChange; - Self.BtDelete := BtDelete; - Self.BtRights := BtRights; //BGM - Self.BtClose := BtClose; - Self.PromptDelete := PromptDelete; - Self.PromptDelete_WindowCaption := PromptDelete_WindowCaption; //added by fduenas - end - else - inherited; -end; - -constructor TUCProfileUserFormMSG.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCProfileUserFormMSG.Destroy; -begin - inherited; -end; - -{ TAddProfileFormMSG } - -procedure TUCAddProfileFormMSG.Assign(Source: TPersistent); -begin - if Source is TUCAddProfileFormMSG then - with Source as TUCAddProfileFormMSG do - begin - Self.WindowCaption := WindowCaption; - Self.LabelAdd := LabelAdd; - Self.LabelChange := LabelChange; - Self.LabelName := LabelName; - Self.BtSave := BtSave; - Self.BtCancel := BtCancel; - end - else - inherited; -end; - -constructor TUCAddProfileFormMSG.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCAddProfileFormMSG.Destroy; -begin - inherited; -end; - -{ TLogControlFormMSG } - -procedure TUCLogControlFormMSG.Assign(Source: TPersistent); -begin - if Source is TUCLogControlFormMSG then - with Source as TUCLogControlFormMSG do - begin - Self.WindowCaption := WindowCaption; - Self.LabelDescription := LabelDescription; - Self.LabelUser := LabelUser; - Self.LabelDate := LabelDate; - Self.LabelLevel := LabelLevel; - Self.ColLevel := ColLevel; - Self.ColAppID := ColAppID; - Self.ColMessage := ColMessage; - Self.ColUser := ColUser; - Self.ColDate := ColDate; - Self.BtFilter := BtFilter; - Self.BtDelete := BtDelete; - Self.BtClose := BtClose; - Self.PromptDelete := PromptDelete; - Self.PromptDelete_WindowCaption := PromptDelete_WindowCaption; //added by fduenas - Self.OptionUserAll := OptionUserAll; //added by fduenas - Self.OptionLevelLow := OptionLevelLow; //added by fduenas - Self.OptionLevelNormal := OptionLevelNormal; //added by fduenas - Self.OptionLevelHigh := OptionLevelHigh; //added by fduenas - Self.OptionLevelCritic := OptionLevelCritic; //added by fduenas - Self.DeletePerformed := DeletePerformed; //added by fduenas - end - else - inherited; -end; - -constructor TUCLogControlFormMSG.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCLogControlFormMSG.Destroy; -begin - inherited; -end; - -{ TAppMessagesMSG } - -procedure TUCAppMessagesMSG.Assign(Source: TPersistent); -begin - if Source is TUCAppMessagesMSG then - with Source as TUCAppMessagesMSG do - begin - Self.MsgsForm_BtNew := MsgsForm_BtNew; - Self.MsgsForm_BtReplay := MsgsForm_BtReplay; - Self.MsgsForm_BtForward := MsgsForm_BtForward; - Self.MsgsForm_BtDelete := MsgsForm_BtDelete; - Self.MsgsForm_WindowCaption := MsgsForm_WindowCaption; - Self.MsgsForm_ColFrom := MsgsForm_ColFrom; - Self.MsgsForm_ColSubject := MsgsForm_ColSubject; - Self.MsgsForm_ColDate := MsgsForm_ColDate; - Self.MsgsForm_PromptDelete := MsgsForm_PromptDelete; - Self.MsgsForm_PromptDelete_WindowCaption := MsgsForm_PromptDelete_WindowCaption; //added by fduenas - Self.MsgsForm_BtClose := MsgsForm_BtClose; //added by fduenas - Self.MsgsForm_NoMessagesSelected := MsgsForm_NoMessagesSelected; //added by fduenas - Self.MsgsForm_NoMessagesSelected_WindowCaption := MsgsForm_NoMessagesSelected_WindowCaption; //added by fduenas - - Self.MsgRec_BtClose := MsgRec_BtClose; - Self.MsgRec_WindowCaption := MsgRec_WindowCaption; - Self.MsgRec_Title := MsgRec_Title; - Self.MsgRec_LabelFrom := MsgRec_LabelFrom; - Self.MsgRec_LabelDate := MsgRec_LabelDate; - Self.MsgRec_LabelSubject := MsgRec_LabelSubject; - Self.MsgRec_LabelMessage := MsgRec_LabelMessage; - - Self.MsgSend_BtSend := MsgSend_BtSend; - Self.MsgSend_BtCancel := MsgSend_BtCancel; - Self.MsgSend_WindowCaption := MsgSend_WindowCaption; - Self.MsgSend_Title := MsgSend_Title; - Self.MsgSend_GroupTo := MsgSend_GroupTo; - Self.MsgSend_RadioUser := MsgSend_RadioUser; - Self.MsgSend_RadioAll := MsgSend_RadioAll; - Self.MsgSend_GroupMessage := MsgSend_GroupMessage; - Self.MsgSend_LabelSubject := MsgSend_LabelSubject; - Self.MsgSend_LabelMessageText := MsgSend_LabelMessageText; - end - else - inherited; -end; - -constructor TUCAppMessagesMSG.Create(Aowner: TComponent); -begin - inherited Create; -end; - -destructor TUCAppMessagesMSG.Destroy; -begin - inherited; -end; - -{ TUCHistoryMSG } - -{ TUCFieldType } - { -procedure TUCFieldType.Assign(Source: TPersistent); -begin - if Source is TUCFieldType then - Begin - Self.Type_VarChar := TUCFieldType(Source).Type_VarChar; - Self.Type_Char := TUCFieldType(Source).Type_Char; - Self.Type_Int := TUCFieldType(Source).Type_Int; - end - else - inherited; -end; - -constructor TUCFieldType.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCFieldType.Destroy; -begin - - inherited; -end; } - -{ TUCCadUserLoggedMSG } - -procedure TUCCadUserLoggedMSG.Assign(Source: TPersistent); -begin - if Source is TUCCadUserLoggedMSG then - Begin - BtnMessage := TUCCadUserLoggedMSG(Source).BtnMessage; - BtnRefresh := TUCCadUserLoggedMSG(Source).BtnRefresh; - BtnClose := TUCCadUserLoggedMSG(Source).BtnClose; - LabelDescricao := TUCCadUserLoggedMSG(Source).LabelDescricao; - LabelCaption := TUCCadUserLoggedMSG(Source).LabelCaption; - ColName := TUCCadUserLoggedMSG(Source).ColName; - ColLogin := TUCCadUserLoggedMSG(Source).ColLogin; - ColComputer := TUCCadUserLoggedMSG(Source).ColComputer; - ColData := TUCCadUserLoggedMSG(Source).ColData; - InputCaption := TUCCadUserLoggedMSG(Source).InputCaption; - InputText := TUCCadUserLoggedMSG(Source).InputText; - MsgSystem := TUCCadUserLoggedMSG(Source).MsgSystem - End - else - inherited; -end; - -constructor TUCCadUserLoggedMSG.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCCadUserLoggedMSG.Destroy; -begin - inherited; -end; - -end. - diff --git a/internal/2.31RC1/1/Source/UCObjSel_U.dfm b/internal/2.31RC1/1/Source/UCObjSel_U.dfm deleted file mode 100644 index 4da08b2..0000000 Binary files a/internal/2.31RC1/1/Source/UCObjSel_U.dfm and /dev/null differ diff --git a/internal/2.31RC1/1/Source/UCObjSel_U.pas b/internal/2.31RC1/1/Source/UCObjSel_U.pas deleted file mode 100644 index eff55e1..0000000 --- a/internal/2.31RC1/1/Source/UCObjSel_U.pas +++ /dev/null @@ -1,334 +0,0 @@ -unit UCObjSel_U; - -interface - -uses - {$IFDEF VER130} - {$ELSE} - Variants, - {$ENDIF} - ActnList, - Buttons, - Classes, - ComCtrls, - Controls, - DB, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Menus, - Messages, - StdCtrls, - SysUtils, - UCBase, - UcConsts_Language, - Windows; - -type - TQControl = class(TControl) - published - property Caption; - end; - - TUCObjSel = class(TForm) - ListaCompsDisponiveis: TListView; - ListaCompsSelecionados: TListView; - Panel1: TPanel; - lbForm: TLabel; - Image1: TImage; - lbTitle: TLabel; - lbCompDisp: TLabel; - lbCompSel: TLabel; - btsellall: TSpeedButton; - btsel: TSpeedButton; - btunsel: TSpeedButton; - btunselall: TSpeedButton; - BtOK: TBitBtn; - btCancel: TBitBtn; - lbGrupo: TLabel; - lbGroup: TLabel; - cbFilter: TComboBox; - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure FormShow(Sender: TObject); - procedure btsellallClick(Sender: TObject); - procedure btunselallClick(Sender: TObject); - procedure btselClick(Sender: TObject); - procedure btunselClick(Sender: TObject); - procedure ListaCompsDisponiveisDblClick(Sender: TObject); - procedure ListaCompsSelecionadosDblClick(Sender: TObject); - procedure btCancelClick(Sender: TObject); - procedure BtOKClick(Sender: TObject); - procedure FormActivate(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure cbFilterClick(Sender: TObject); - procedure cbFilterKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); - private - FListaBotoes: TStringList; - FListaLabelsEdits: TStringList; - procedure MakeDispItems; - public - FForm: TCustomForm; - FUserControl: TUserControl; - FInitialObjs: TStringList; - end; - -implementation - -{$R *.dfm} - -procedure TUCObjSel.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TUCObjSel.FormShow(Sender: TObject); -begin - lbForm.Left := lbTitle.Left + lbTitle.Width + 10; //added by fduenas to adjust window name - lbgroup.Left := lbGrupo.Left + lbGrupo.Width + 10; //added by fduenas to adjust window name - lbForm.Caption := FForm.Name; - FInitialObjs.Text := UpperCase(FInitialObjs.Text); - ListaCompsSelecionados.Items.Clear; - MakeDispItems; -end; - -procedure TUCObjSel.MakeDispItems; -var - Componente: TComponent; - Classe: String; - Contador: Integer; -begin -{ -All 0 -Buttons 1 -Fields 2 -Edits 3 -Labels 4 -MenuItems 5 -Actions 6 -} - ListaCompsDisponiveis.Items.Clear; - for Contador := 0 to Pred(FForm.ComponentCount) do - begin - Componente := FForm.Components[Contador]; - Classe := UpperCase(Componente.ClassName); - if (Componente is TControl) or (Componente is TMenuItem) or (Componente is TField) or (Componente is TAction) then - if (cbFilter.ItemIndex <= 0) or - ((cbFilter.ItemIndex = 1) and (Componente is TButtonControl){(FListaBotoes.IndexOf(Classe) > -1)}) or - ((cbFilter.ItemIndex = 2) and (Componente is TField)) or - ((cbFilter.ItemIndex = 3) and (Componente is TCustomEdit){(FListaLabelsEdits.IndexOf(Classe) > -1)}) or - ((cbFilter.ItemIndex = 4) and (Componente is TCustomLabel)) or - ((cbFilter.ItemIndex = 5) and (Componente is TMenuItem)) or - ((cbFilter.ItemIndex = 6) and (Componente is TCustomAction)) then - if FInitialObjs.IndexOf(UpperCase(Componente.Name)) = -1 then - with ListaCompsDisponiveis.Items.Add do - begin - Caption := Componente.ClassName; - SubItems.Add(Componente.Name); - if Componente is TMenuItem then - SubItems.Add(StringReplace(TMenuItem(Componente).Caption, '&', '', [rfReplaceAll])) - else - if Componente is TAction then - SubItems.Add(StringReplace(TAction(Componente).Caption, '&', '', [rfReplaceAll])) - else - if Componente is TField then - SubItems.Add(TField(Componente).DisplayName) - else - SubItems.Add(StringReplace(TQControl(FForm.Components[Contador]).Caption, '&', '', [rfReplaceAll])); - end; - end; -end; - -procedure TUCObjSel.btsellallClick(Sender: TObject); -var - Contador: Integer; -begin - for Contador := 0 to Pred(ListaCompsDisponiveis.Items.Count) do - begin - FInitialObjs.Add(ListaCompsDisponiveis.Items[Contador].SubItems[0]); - with ListaCompsSelecionados.Items.Add do - begin - Caption := ListaCompsDisponiveis.Items[Contador].SubItems[1]; - SubItems.Add(ListaCompsDisponiveis.Items[Contador].SubItems[0]); - SubItems.Add(ListaCompsDisponiveis.Items[Contador].Caption); - end; - end; - ListaCompsDisponiveis.Items.Clear; -end; - -procedure TUCObjSel.btunselallClick(Sender: TObject); -begin - ListaCompsSelecionados.Items.Clear; - FInitialObjs.Clear; - MakeDispItems; -end; - -procedure TUCObjSel.btselClick(Sender: TObject); -var - Contador: Integer; -begin - for Contador := 0 to ListaCompsDisponiveis.Items.Count - 1 do - if ListaCompsDisponiveis.Items.Item[Contador].Selected then - begin - FInitialObjs.Add(ListaCompsDisponiveis.Items[Contador].SubItems[0]); - with ListaCompsSelecionados.Items.Add do - begin - Caption := ListaCompsDisponiveis.Items[Contador].SubItems[1]; - SubItems.Add(ListaCompsDisponiveis.Items[Contador].SubItems[0]); - SubItems.Add(ListaCompsDisponiveis.Items[Contador].Caption); - end; - end; - - Contador := 0; - while Contador <= Pred(ListaCompsDisponiveis.Items.Count) do - if ListaCompsDisponiveis.Items[Contador].Selected then - ListaCompsDisponiveis.Items[Contador].Delete - else - Inc(Contador); -end; - -procedure TUCObjSel.btunselClick(Sender: TObject); -var - Contador: Integer; - Obj: TComponent; -begin - if ListaCompsSelecionados.SelCount = 0 then - Exit; - for Contador := 0 to Pred(ListaCompsSelecionados.Items.Count) do - if ListaCompsSelecionados.Items.Item[Contador].Selected then - begin - if FInitialObjs.IndexOf(ListaCompsSelecionados.Items[Contador].SubItems[0]) > -1 then - FInitialObjs.Delete(FInitialObjs.IndexOf(ListaCompsSelecionados.Items[Contador].SubItems[0])); - - if ListaCompsSelecionados.Items[Contador].SubItems.Count > 1 then - with ListaCompsDisponiveis.Items.Add do - begin - if ListaCompsSelecionados.Items[Contador].SubItems.Count > 1 then - Caption := ListaCompsSelecionados.Items[Contador].SubItems[1]; - SubItems.Add(ListaCompsSelecionados.Items[Contador].SubItems[0]); - - Obj := FForm.FindComponent(ListaCompsSelecionados.Items[Contador].SubItems[0]); - if Obj is TMenuItem then - SubItems.Add(TMenuItem(Obj).Caption) - else - if Obj is TAction then - SubItems.Add(TMenuItem(Obj).Caption) - else - if Obj is TField then - SubItems.Add(TField(Obj).DisplayName) - else - SubItems.Add(TQControl(Obj).Caption); - end; - end; - - Contador := 0; - while Contador <= Pred(ListaCompsSelecionados.Items.Count) do - if ListaCompsSelecionados.Items[Contador].Selected then - ListaCompsSelecionados.Items[Contador].Delete - else - Inc(Contador); -end; - -procedure TUCObjSel.ListaCompsDisponiveisDblClick(Sender: TObject); -begin - btsel.Click; -end; - -procedure TUCObjSel.ListaCompsSelecionadosDblClick(Sender: TObject); -begin - if ListaCompsSelecionados.Items.Count = 0 then - Exit; - if ListaCompsSelecionados.SelCount = 1 then - ListaCompsSelecionados.Selected.EditCaption; -end; - -procedure TUCObjSel.btCancelClick(Sender: TObject); -begin - Close; -end; - -procedure TUCObjSel.BtOKClick(Sender: TObject); -var - Contador: Integer; -begin - if FUserControl.ExtraRights.Count > 0 then - begin - Contador := 0; - while Contador <= Pred(FUserControl.ExtraRights.Count) do - if UpperCase(FUserControl.ExtraRights[Contador].FormName) = UpperCase(FForm.Name) then - FUserControl.ExtraRights.Delete(Contador) - else - Inc(Contador); - end; - - for Contador := 0 to Pred(ListaCompsSelecionados.Items.Count) do - with FUserControl.ExtraRights.Add do - begin - Caption := ListaCompsSelecionados.Items[Contador].Caption; - CompName := ListaCompsSelecionados.Items[Contador].SubItems[0]; - FormName := FForm.Name; - GroupName := lbGroup.Caption; - end; - Close; -end; - -procedure TUCObjSel.FormActivate(Sender: TObject); -var - Contador: Integer; -begin - for Contador := 0 to Pred(FUserControl.ExtraRights.Count) do - if UpperCase(FUserControl.ExtraRights[Contador].FormName) = UpperCase(FForm.Name) then - if FForm.FindComponent(FUserControl.ExtraRights[Contador].CompName) <> nil then - with ListaCompsSelecionados.Items.Add do - begin - Caption := FUserControl.ExtraRights[Contador].Caption; - SubItems.Add(FUserControl.ExtraRights[Contador].CompName); - if FForm.FindComponent(FUserControl.ExtraRights[Contador].CompName) <> nil then - SubItems.Add(FForm.FindComponent(FUserControl.ExtraRights[Contador].CompName).ClassName); - end; - - lbTitle.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_TitleLabel'); - lbGrupo.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_GroupLabel'); - lbCompDisp.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_CompDispLabel'); - lbCompSel.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_CompSelLabel'); - ListaCompsSelecionados.Columns[0].Caption := RetornaLingua( FUserControl.Language,'Const_Contr_DescCol'); - btCancel.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_BTCancel'); - BtOK.Caption := RetornaLingua( FUserControl.Language,'Const_Contr_BtOK'); - - //Lines Bellow added by fduenas - btSellAll.Hint := RetornaLingua( FUserControl.Language,'Const_Contr_BtSellAllHint'); - btSel.Hint := RetornaLingua( FUserControl.Language,'Const_Contr_BtSelHint'); - btUnSel.Hint := RetornaLingua( FUserControl.Language,'Const_Contr_BtUnSelHint'); - btUnSelAll.Hint := RetornaLingua( FUserControl.Language,'Const_Contr_BtUnSelAllHint'); - - lbForm.Left := lbTitle.Width + 66; -end; - -procedure TUCObjSel.FormCreate(Sender: TObject); -begin - cbFilter.ItemIndex := 0; - FListaBotoes := TStringList.Create; - FListaBotoes.CommaText := 'TButton,TSpeedButton,TBitBtn,TRxSpeedButton,' + - 'TRxSpinButton,TRxSwitch,TLMDButton,TLMDMMButton,TLMDShapeButton,' + - 'TLMD3DEffectButton,TLMDWndButtonShape,TJvHTButton,TJvBitBtn,TJvImgBtn,' + - 'TJvArrowButton,TJvTransparenftButton,TJvTransparentButton2,TJvSpeedButton'; - FListaBotoes.Text := UpperCase(FListaBotoes.Text); - FListaLabelsEdits := TStringList.Create; - FListaLabelsEdits.CommaText := 'TEdit,TLabel,TStaticText,TLabeledEdit,' + - 'TRxLabel,TComboEdit,TFileNamefEdit,TDirectoryEdit,TDateEdit,' + - 'TDateTimePicker,TRxCalcEdit,TCurrencyEdit,TRxSpinEdit'; - FListaLabelsEdits.Text := UpperCase(FListaLabelsEdits.Text); -end; - -procedure TUCObjSel.cbFilterClick(Sender: TObject); -begin - MakeDispItems; -end; - -procedure TUCObjSel.cbFilterKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); -begin - MakeDispItems; -end; - -end. - diff --git a/internal/2.31RC1/1/Source/UCReg.dcr b/internal/2.31RC1/1/Source/UCReg.dcr deleted file mode 100644 index 137f24a..0000000 Binary files a/internal/2.31RC1/1/Source/UCReg.dcr and /dev/null differ diff --git a/internal/2.31RC1/1/Source/UCReg.pas b/internal/2.31RC1/1/Source/UCReg.pas deleted file mode 100644 index c156ceb..0000000 --- a/internal/2.31RC1/1/Source/UCReg.pas +++ /dev/null @@ -1,348 +0,0 @@ -unit UCReg; - -interface - -{.$I 'UserControl.inc'} - -uses - Classes, - Controls, - DesignEditors, - DesignIntf, - ToolsAPI, - TypInfo, - UCBase; - -type - TUCComponentsVarProperty = class(TStringProperty) - function GetAttributes: TPropertyAttributes; override; - procedure Edit; override; - function GetValue: String; override; - end; - - - TUCControlsEditor = class(TComponentEditor) - procedure Edit; override; - procedure ExecuteVerb(Index: Integer); override; - function GetVerb(Index: Integer): String; override; - function GetVerbCount: Integer; override; - end; - - TUserControlEditor = class(TComponentEditor) - procedure Edit; override; - procedure ExecuteVerb(Index: Integer); override; - function GetVerb(Index: Integer): String; override; - function GetVerbCount: Integer; override; - end; - - TUCAboutVarProperty = class(TStringProperty) - function GetAttributes: TPropertyAttributes; override; - procedure Edit; override; - function GetValue: String; override; - end; - -procedure Register; -procedure ShowControlsEditor(Componente: TUCControls); -procedure ShowUserControlsEditor(Componente: TUserControl); - -implementation - -uses - Dialogs, - Forms, - SysUtils, - UCAbout, - UCIdle, - UCObjSel_U, - UCEditorForm_U, - ActnList, - ActnMan, - ActnMenus, - Menus, - StdCtrls, - UCSettings, - Variants, - UcMail; - -procedure Register; -begin - RegisterComponents('UC Main', - [TUserControl, - TUCSettings, - TUCControls, - TUCApplicationMessage, - TUCIdle, - TMailUserControl - ]); - - RegisterPropertyEditor(TypeInfo(TUCAboutVar), TUserControl, 'About', TUCAboutVarProperty); - RegisterPropertyEditor(TypeInfo(TUCComponentsVar), TUserControl, 'Components', TUCComponentsVarProperty); - RegisterComponentEditor(TUCcontrols, TUCControlsEditor); - RegisterComponentEditor(TUserControl, TUserControlEditor); -end; - -{ TUCComponentsVarProperty } -procedure TUCComponentsVarProperty.Edit; -begin - ShowControlsEditor(TUCControls(GetComponent(0))); -end; - -function TUCComponentsVarProperty.GetAttributes: TPropertyAttributes; -begin - Result := [paDialog, paReadOnly]; -end; - -function TUCComponentsVarProperty.GetValue: String; -begin - Result := 'Components...'; -end; - -{ TUCAboutVarProperty } - -procedure TUCAboutVarProperty.Edit; -begin - with TAboutForm.Create(nil) do - begin - ShowModal; - Free; - end; -end; - -function TUCAboutVarProperty.GetAttributes: TPropertyAttributes; -begin - Result := [paDialog, paReadOnly]; -end; - -function TUCAboutVarProperty.GetValue: String; -begin - Result := 'Versao ' + UCVersion; -end; - -procedure ShowUserControlsEditor(Componente: TUserControl); -var - Editor: IOTAEditor; - Modulo: IOTAModule; - FormEditor: IOTAFormEditor; - I: Integer; - Formulario: TUCEditorForm; - UserControl: TUserControl; - Controle_Action , - Controle_MainMenu , - Controle_ActionManager, - Controle_ActionMainMenuBar : String; - UserActionMenuItem: String; - UserProfileActionMenuItem: String; - LogControlActionMeuItem: String; - UserPasswordChangeActionMenuItem: String; - FormularioDono: TForm; -begin - UserControl := Componente; - FormularioDono := TForm(UserControl.Owner); - try - Formulario := TUCEditorForm.Create(nil, UserControl); - - if Formulario.ShowModal = mrOk then - begin - with UserControl do - begin - ApplicationID := Formulario.edtApplicationID.Text; - AutoStart := Formulario.ckAutoStart.Checked; - CheckValidationKey := Formulario.ckValidationKey.Checked; - EncryptKey := Formulario.spedtEncryptKey.Value; - TableRights.TableName := Formulario.edtTableRights.Text; - TableUsers.TableName := Formulario.edtTableUsers.Text; - NotAllowedItems.ActionVisible := Formulario.ckActionVisible.Checked; - NotAllowedItems.MenuVisible := Formulario.ckMenuVisible.Checked; - Criptografia := TUCCriptografia(Formulario.cbCriptografia.ItemIndex); - LoginMode := TUCLoginMode(Formulario.cbLoginMode.ItemIndex); - - if Formulario.cbActionList.ItemIndex >= 0 then - Controle_action := Formulario.cbActionList.Text; - - if Formulario.cbActionMainMenuBar.ItemIndex >= 0 then - Controle_ActionMainMenuBar := Formulario.cbActionMainMenuBar.Text; - - if Formulario.cbActionManager.ItemIndex >= 0 then - Controle_ActionManager := Formulario.cbActionManager.Text; - - if Formulario.cbMainMenu.ItemIndex >= 0 then - Controle_MainMenu := Formulario.cbMainMenu.Text; - - if Formulario.cbUserAction.ItemIndex >= 0 then - UserActionMenuItem := Formulario.cbUserAction.Text; - - if Formulario.cbUserMenuItem.ItemIndex >= 0 then - UserActionMenuItem := Formulario.cbUserMenuItem.Text; - - if Formulario.cbUserProfileAction.ItemIndex >= 0 then - UserProfileActionMenuItem := Formulario.cbUserProfileAction.Text; - if Formulario.cbUserProfileMenuItem.ItemIndex >= 0 then - UserProfileActionMenuItem := Formulario.cbUserProfileMenuItem.Text; - - if Formulario.cbLogControlAction.ItemIndex >= 0 then - LogControlActionMeuItem := Formulario.cbLogControlAction.Text; - if Formulario.cbLogControlMenuItem.ItemIndex >= 0 then - LogControlActionMeuItem := Formulario.cbLogControlMenuItem.Text; - - if Formulario.cbUserPasswordChangeAction.ItemIndex >= 0 then - UserPasswordChangeActionMenuItem := Formulario.cbUserPasswordChangeAction.Text; - if Formulario.cbUserPasswordChangeMenuItem.ItemIndex >= 0 then - UserPasswordChangeActionMenuItem := Formulario.cbUserPasswordChangeMenuItem.Text; - - - for I := 0 to FormularioDono.ComponentCount - 1 do - begin - if (FormularioDono.Components[I].Name = Controle_Action) and (Formulario.cbActionList.ItemIndex >= 0) then - ControlRight.ActionList := TActionList(FormularioDono.Components[I]); - - if (FormularioDono.Components[I].Name = Controle_ActionMainMenuBar ) and (Formulario.cbActionMainMenuBar.ItemIndex >= 0) then - ControlRight.ActionMainMenuBar := TActionMainMenuBar(UserControl.Owner.Components[I]); - - if (FormularioDono.Components[I].Name = Controle_ActionManager) and (Formulario.cbActionManager.ItemIndex >= 0) then - ControlRight.ActionManager := TActionManager(FormularioDono.Components[I]); - - if (FormularioDono.Components[I].Name = Controle_MainMenu) and (Formulario.cbMainMenu.ItemIndex >= 0) then - ControlRight.MainMenu := TMainMenu(FormularioDono.Components[I]); - - if (FormularioDono.Components[I].Name = UserActionMenuItem) and (Formulario.cbUserAction.ItemIndex >= 0) then - User.Action := TAction(FormularioDono.Components[I]); - if (FormularioDono.Components[I].Name = UserActionMenuItem) and (Formulario.cbUserMenuItem.ItemIndex >= 0) then - User.MenuItem := TMenuItem(FormularioDono.Components[I]); - if (FormularioDono.Components[I].Name = UserPasswordChangeActionMenuItem) and (Formulario.cbUserPasswordChangeAction.ItemIndex >= 0) then - UserPasswordChange.Action := TAction(FormularioDono.Components[I]); - if (FormularioDono.Components[I].Name = UserPasswordChangeActionMenuItem) and (Formulario.cbUserPasswordChangeMenuItem.ItemIndex >= 0) then - UserPasswordChange.MenuItem := TMenuItem(FormularioDono.Components[I]); - end; - - User.UsePrivilegedField := Formulario.ckUserUsePrivilegedField.Checked; - User.ProtectAdministrator := Formulario.ckUserProtectAdministrator.Checked; - UserProfile.Active := Formulario.ckUserProfileActive.Checked; - UserPasswordChange.ForcePassword := Formulario.ckUserPassowrdChangeForcePassword.Checked; - UserPasswordChange.MinPasswordLength := Formulario.spedtUserPasswordChangeMinPasswordLength.Value; - - LogControl.TableLog := Formulario.edtLogControlTableLog.Text; - LogControl.Active := Formulario.ckLogControlActive.Checked; - - Login.MaxLoginAttempts := Formulario.spedtMaxLoginAttempts.Value; - Login.GetLoginName := TUCGetLoginName(Formulario.cbGetLoginName.ItemIndex); - Login.InitialLogin.User := Formulario.edtInitialLoginUser.Text; - Login.InitialLogin.Password := Formulario.edtInitialLoginPassword.Text; - Login.InitialLogin.Email := Formulario.edtInitialLoginEmail.Text; - Login.InitialLogin.InitialRights := Formulario.mmInitialRights.Lines; - Login.AutoLogin.Active := Formulario.ckLoginAutologinActive.Checked; - Login.AutoLogin.User := Formulario.edtLoginAutoLoginUser.Text; - Login.AutoLogin.Password := Formulario.edtLoginAutoLoginPassword.Text; - Login.AutoLogin.MessageOnError := Formulario.ckLoginAutoLoginMessageOnError.Checked; - UserSettings.Login.TopImage := Formulario.imgTop.Picture; - UserSettings.Login.LeftImage := Formulario.imgLeft.Picture; - UserSettings.Login.BottomImage := Formulario.imgBottom.Picture; - end; - - Modulo := (BorlandIDEServices as IOTAModuleServices).CurrentModule; - for I := 0 to Modulo.GetModuleFileCount - 1 do - begin - Editor := Modulo.GetModuleFileEditor(I); - Editor.QueryInterface(IOTAFormEditor, FormEditor); - if FormEditor <> nil then - begin - FormEditor.MarkModified; - Break; - end; - end; - end; - finally - SysUtils.FreeAndNil(Formulario); - end; -end; - -procedure ShowControlsEditor(Componente: TUCControls); -var - FUCControl: TUCControls; - FEditor: IOTAEditor; - FModulo: IOTAModule; - FFormEditor: IOTAFormEditor; - I: Integer; -begin - FUCControl := Componente; - if not Assigned(FUCControl.UserControl) then - begin - MessageDlg('A propriedade UserControl tem que ser informada e o componente ' + #13 + #10 + 'tem que estar visível!', mtInformation, [mbOK], 0); - Exit; - end; - - with TUCObjSel.Create(nil) do - begin - FForm := TCustomForm(FUCControl.Owner); - FUserControl := FUCControl.UserControl; - FInitialObjs := TStringList.Create; - TUCControls(Componente).ListComponents(FForm.Name, FInitialObjs); - lbGroup.Caption := TUCControls(Componente).GroupName; - ShowModal; - Free; - end; - - FModulo := (BorlandIDEServices as IOTAModuleServices).FindFormModule(FUCControl.UserControl.Owner.Name); - if FModulo = nil then - begin - ShowMessage('Modulo ' + FUCControl.UserControl.Owner.Name + ' não encontrado!'); - Exit; - end - else - for I := 0 to FModulo.GetModuleFileCount - 1 do - begin - FEditor := FModulo.GetModuleFileEditor(I); - FEditor.QueryInterface(IOTAFormEditor, FFormEditor); - if FFormEditor <> nil then - begin - FFormEditor.MarkModified; - Break; - end; - end; -end; - -{TUCControlsEditor} - -procedure TUCControlsEditor.Edit; -begin - ShowControlsEditor(TUCControls(Component)); -end; - -procedure TUCControlsEditor.ExecuteVerb(Index: Integer); -begin - Edit; -end; - -function TUCControlsEditor.GetVerb(Index: Integer): String; -begin - Result := '&Selecionar Componentes...'; -end; - -function TUCControlsEditor.GetVerbCount: Integer; -begin - Result := 1; -end; - -{ TUserControlEditor } - -procedure TUserControlEditor.Edit; -begin - ShowUserControlsEditor(TUserControl(Component)); -end; - -procedure TUserControlEditor.ExecuteVerb(Index: Integer); -begin - Edit; -end; - -function TUserControlEditor.GetVerb(Index: Integer): String; -begin - Result := 'Configurar...'; -end; - -function TUserControlEditor.GetVerbCount: Integer; -begin - Result := 1; -end; - -end. - diff --git a/internal/2.31RC1/1/Source/UCSettings.pas b/internal/2.31RC1/1/Source/UCSettings.pas deleted file mode 100644 index bb9e447..0000000 --- a/internal/2.31RC1/1/Source/UCSettings.pas +++ /dev/null @@ -1,1425 +0,0 @@ -unit UCSettings; - -interface - -uses - Classes, - Forms, - UCMessages, - UcConsts_Language; - -type - TUCSettings = class(TComponent) - private - FAddProfileFormMSG: TUCAddProfileFormMSG; - FAddUserFormMSG: TUCAddUserFormMSG; - FCadUserFormMSG: TUCCadUserFormMSG; - FLogControlFormMSG: TUCLogControlFormMSG; - FLoginFormMSG: TUCLoginFormMSG; - FPermissFormMSG: TUCPermissFormMSG; - FProfileUserFormMSG: TUCProfileUserFormMSG; - FResetPassword: TUCResetPassword; - FTrocaSenhaFormMSG: TUCTrocaSenhaFormMSG; - FUserCommomMSG: TUCUserCommonMSG; - FAppMessagesMSG: TUCAppMessagesMSG; - FPosition: TPosition; - fLanguage: TUCLanguage; - fUsersLogged: TUCCadUserLoggedMSG; - fBancoDados: TUCTypeBancoDados; - procedure SetFAddProfileFormMSG(const Value: TUCAddProfileFormMSG); - procedure SetFAddUserFormMSG(const Value: TUCAddUserFormMSG); - procedure SetFCadUserFormMSG(const Value: TUCCadUserFormMSG); - procedure SetFFormLoginMsg(const Value: TUCLoginFormMSG); - procedure SetFLogControlFormMSG(const Value: TUCLogControlFormMSG); - procedure SetFPermissFormMSG(const Value: TUCPermissFormMSG); - procedure SetFProfileUserFormMSG(const Value: TUCProfileUserFormMSG); - procedure SetFResetPassword(const Value: TUCResetPassword); - procedure SetFTrocaSenhaFormMSG(const Value: TUCTrocaSenhaFormMSG); - procedure SetFUserCommonMSg(const Value: TUCUserCommonMSG); - procedure SetAppMessagesMSG(const Value: TUCAppMessagesMSG); - procedure SetfLanguage(const Value: TUCLanguage); - procedure SetfUsersLogged(const Value: TUCCadUserLoggedMSG); - procedure SetfBancoDados(const Value: TUCTypeBancoDados); - protected - public - Type_Int , - Type_Char , - Type_VarChar , - Type_Memo : String; - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property AppMessages: TUCAppMessagesMSG read FAppMessagesMSG write SetAppMessagesMSG; - property CommonMessages: TUCUserCommonMSG read FUserCommomMSG write SetFUserCommonMSg; - property Login: TUCLoginFormMSG read FLoginFormMSG write SetFFormLoginMsg; - property Log: TUCLogControlFormMSG read FLogControlFormMSG write SetFLogControlFormMSG; - property UsersForm: TUCCadUserFormMSG read FCadUserFormMSG write SetFCadUserFormMSG; - property AddChangeUser: TUCAddUserFormMSG read FAddUserFormMSG write SetFAddUserFormMSG; - property AddChangeProfile: TUCAddProfileFormMSG read FAddProfileFormMSG write SetFAddProfileFormMSG; - property UsersProfile: TUCProfileUserFormMSG read FProfileUserFormMSG write SetFProfileUserFormMSG; - property Rights: TUCPermissFormMSG read FPermissFormMSG write SetFPermissFormMSG; - property ChangePassword: TUCTrocaSenhaFormMSG read FTrocaSenhaFormMSG write SetFTrocaSenhaFormMSG; - property ResetPassword: TUCResetPassword read FResetPassword write SetFResetPassword; - Property BancoDados : TUCTypeBancoDados read fBancoDados write SetfBancoDados; - property WindowsPosition: TPosition read FPosition write FPosition default poMainFormCenter; - Property Language : TUCLanguage read fLanguage write SetfLanguage; - property UsersLogged : TUCCadUserLoggedMSG read fUsersLogged write SetfUsersLogged; - end; - -procedure IniSettings (DestSettings: TUCUserSettings); -procedure IniSettings2(DestSettings: TUCSettings); - -procedure AlterLanguage(DestSettings: TUCUserSettings); -procedure AlterLanguage2(DestSettings: TUCSettings); - -procedure RetornaSqlBancoDados( fBanco : TUCTypeBancoDados ; var Int, Char, VarChar, - Memo: String); - -implementation - -uses - Graphics, - SysUtils, - UCBase; -// UCConsts; - -{$IFDEF DELPHI9_UP} {$REGION 'Inicializacao'} {$ENDIF} - -procedure RetornaSqlBancoDados( fBanco : TUCTypeBancoDados ; var Int, Char, VarChar, - Memo: String); -begin - Int := 'INT'; - Char := 'CHAR'; - VarChar := 'VARCHAR'; - - Case fBanco of - Firebird : Memo := 'BLOB SUB_TYPE 1 SEGMENT SIZE 1024'; - Interbase : Memo := 'BLOB SUB_TYPE 1 SEGMENT SIZE 1024'; - MySql : Memo := 'MEDIUMBLOB'; - PARADOX : Memo := 'BLOB(1024,1)'; - Oracle : Memo := 'LONG RAW'; - SqlServer : Memo := 'NTEXT'; - PostgreSQL : Memo := 'TEXT'; - End; -end; - -procedure IniSettings(DestSettings: TUCUserSettings); -var - tmp: TBitmap; -begin - with DestSettings.CommonMessages do - begin - if BlankPassword = '' then - BlankPassword := RetornaLingua( ucPortuguesBr ,'Const_Men_SenhaDesabitada'); - if PasswordChanged = '' then - PasswordChanged := RetornaLingua( ucPortuguesBr ,'Const_Men_SenhaAlterada'); - if InitialMessage.Text = '' then - InitialMessage.Text := RetornaLingua( ucPortuguesBr ,'Const_Men_MsgInicial'); - if MaxLoginAttemptsError = '' then - MaxLoginAttemptsError := RetornaLingua( ucPortuguesBr ,'Const_Men_MaxTentativas'); - if InvalidLogin = '' then - InvalidLogin := RetornaLingua( ucPortuguesBr ,'Const_Men_LoginInvalido'); - if InactiveLogin = '' then - InactiveLogin := RetornaLingua( ucPortuguesBr ,'Const_Men_LoginInativo'); - - if AutoLogonError = '' then - AutoLogonError := RetornaLingua( ucPortuguesBr ,'Const_Men_AutoLogonError'); - if UsuarioExiste = '' then - UsuarioExiste := RetornaLingua( ucPortuguesBr ,'Const_Men_UsuarioExiste'); - if PasswordExpired = '' then - PasswordExpired := RetornaLingua( ucPortuguesBr ,'Const_Men_PasswordExpired'); - If ForcaTrocaSenha = '' then - ForcaTrocaSenha := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_ForcaTrocaSenha'); - end; - - with DestSettings.Login do - begin - if BtCancel = '' then - BtCancel := RetornaLingua( ucPortuguesBr ,'Const_Log_BtCancelar'); - if BtOK = '' then - BtOK := RetornaLingua( ucPortuguesBr ,'Const_Log_BtOK'); - if LabelPassword = '' then - LabelPassword := RetornaLingua( ucPortuguesBr ,'Const_Log_LabelSenha'); - if LabelUser = '' then - LabelUser := RetornaLingua( ucPortuguesBr ,'Const_Log_LabelUsuario'); - if WindowCaption = '' then - WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Log_WindowCaption'); - - if LabelTentativa = '' then - LabelTentativa := RetornaLingua( ucPortuguesBr ,'Const_Log_LabelTentativa'); - if LabelTentativas = '' then - LabelTentativas := RetornaLingua( ucPortuguesBr ,'Const_Log_LabelTentativas'); - - - try - Tmp := TBitmap.Create; - Tmp.LoadFromResourceName(HInstance, 'UCLOCKLOGIN'); - LeftImage.Assign(tmp); - finally - FreeAndNil(tmp); - end; - end; - - with DestSettings.UsersForm do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Cad_WindowCaption'); - if LabelDescription = '' then - LabelDescription := RetornaLingua( ucPortuguesBr ,'Const_Cad_LabelDescricao'); - if ColName = '' then - ColName := RetornaLingua( ucPortuguesBr ,'Const_Cad_ColunaNome'); - if ColLogin = '' then - ColLogin := RetornaLingua( ucPortuguesBr ,'Const_Cad_ColunaLogin'); - if ColEmail = '' then - ColEmail := RetornaLingua( ucPortuguesBr ,'Const_Cad_ColunaEmail'); - if BtAdd = '' then - BtAdd := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtAdicionar'); - if BtChange = '' then - BtChange := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtAlterar'); - if BtDelete = '' then - BtDelete := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtExcluir'); - if BtRights = '' then - BtRights := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtPermissoes'); - if BtPassword = '' then - BtPassword := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtSenha'); - if BtClose = '' then - BtClose := RetornaLingua( ucPortuguesBr ,'Const_Cad_BtFechar'); - if PromptDelete = '' then - PromptDelete := RetornaLingua( ucPortuguesBr ,'Const_Cad_ConfirmaExcluir'); - if PromptDelete_WindowCaption = '' then - PromptDelete_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Cad_ConfirmaDelete_WindowCaption'); //added by fduenas - end; - - with DestSettings.UsersProfile do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Prof_WindowCaption'); - if LabelDescription = '' then - LabelDescription := RetornaLingua( ucPortuguesBr ,'Const_Prof_LabelDescricao'); - if ColProfile = '' then - ColProfile := RetornaLingua( ucPortuguesBr ,'Const_Prof_ColunaNome'); - if BtAdd = '' then - BtAdd := RetornaLingua( ucPortuguesBr ,' Const_Prof_BtAdicionar'); - if BtChange = '' then - BtChange := RetornaLingua( ucPortuguesBr ,'Const_Prof_BtAlterar'); - if BtDelete = '' then - BtDelete := RetornaLingua( ucPortuguesBr ,'Const_Prof_BtExcluir'); - if BtRights = '' then - BtRights := RetornaLingua( ucPortuguesBr ,'Const_Prof_BtPermissoes'); - if BtClose = '' then - BtClose := RetornaLingua( ucPortuguesBr ,'Const_Prof_BtFechar'); - if PromptDelete = '' then - PromptDelete := RetornaLingua( ucPortuguesBr ,'Const_Prof_ConfirmaExcluir'); - if PromptDelete_WindowCaption = '' then - PromptDelete_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Prof_ConfirmaDelete_WindowCaption'); //added by fduenas - end; - - with DestSettings.AddChangeUser do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Inc_WindowCaption'); - if LabelAdd = '' then - LabelAdd := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelAdicionar'); - if LabelChange = '' then - LabelChange := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelAlterar'); - if LabelName = '' then - LabelName := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelNome'); - if LabelLogin = '' then - LabelLogin := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelLogin'); - if LabelEmail = '' then - LabelEmail := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelEmail'); - if LabelPerfil = '' then - LabelPerfil := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelPerfil'); - if CheckPrivileged = '' then - CheckPrivileged := RetornaLingua( ucPortuguesBr ,'Const_Inc_CheckPrivilegiado'); - - if BtSave = '' then - BtSave := RetornaLingua( ucPortuguesBr ,'Const_Inc_BtGravar'); - if BtCancel = '' then - BtCancel := RetornaLingua( ucPortuguesBr ,'Const_Inc_BtCancelar'); - - if CheckExpira = '' then - CheckExpira := RetornaLingua( ucPortuguesBr ,'Const_Inc_CheckEspira'); - If Day = '' then - Day := RetornaLingua( ucPortuguesBr ,'Const_Inc_Dia'); - If ExpiredIn = '' then - ExpiredIn := RetornaLingua( ucPortuguesBr ,'Const_Inc_ExpiraEm'); - - If LabelStatus = '' then - LabelStatus := RetornaLingua( ucPortuguesBr ,'Const_Inc_LabelStatus'); - - If StatusActive = '' then - StatusActive := RetornaLingua( ucPortuguesBr ,'Const_Inc_StatusActive'); - - If StatusDisabled = '' then - StatusDisabled := RetornaLingua( ucPortuguesBr ,'Const_Inc_StatusDisabled'); - end; - - with DestSettings.AddChangeProfile do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_PInc_WindowCaption'); - if LabelAdd = '' then - LabelAdd := RetornaLingua( ucPortuguesBr ,'Const_PInc_LabelAdicionar'); - if LabelChange = '' then - LabelChange := RetornaLingua( ucPortuguesBr ,'Const_PInc_LabelAlterar'); - if LabelName = '' then - LabelName := RetornaLingua( ucPortuguesBr ,'Const_PInc_LabelNome'); - if BtSave = '' then - BtSave := RetornaLingua( ucPortuguesBr ,'Const_PInc_BtGravar'); - if BtCancel = '' then - BtCancel := RetornaLingua( ucPortuguesBr ,'Const_PInc_BtCancelar'); - end; - - with DestSettings.Rights do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Perm_WindowCaption'); - if LabelUser = '' then - LabelUser := RetornaLingua( ucPortuguesBr ,'Const_Perm_LabelUsuario'); - if LabelProfile = '' then - LabelProfile := RetornaLingua( ucPortuguesBr ,'Const_Perm_LabelPerfil'); - if PageMenu = '' then - PageMenu := RetornaLingua( ucPortuguesBr ,'Const_Perm_PageMenu'); - if PageActions = '' then - PageActions := RetornaLingua( ucPortuguesBr ,'Const_Perm_PageActions'); - If PageControls = '' then - PageControls := RetornaLingua( ucPortuguesBr ,'Const_Perm_PageControls'); // by vicente barros leonel - if BtUnlock = '' then - BtUnlock := RetornaLingua( ucPortuguesBr ,'Const_Perm_BtLibera'); - if BtLock = '' then - BtLock := RetornaLingua( ucPortuguesBr ,'Const_Perm_BtBloqueia'); - if BtSave = '' then - BtSave := RetornaLingua( ucPortuguesBr ,'Const_Perm_BtGravar'); - if BtCancel = '' then - BtCancel := RetornaLingua( ucPortuguesBr ,'Const_Perm_BtCancelar'); - end; - - with DestSettings.ChangePassword do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Troc_WindowCaption'); - if LabelDescription = '' then - LabelDescription := RetornaLingua( ucPortuguesBr ,'Const_Troc_LabelDescricao'); - if LabelCurrentPassword = '' then - LabelCurrentPassword := RetornaLingua( ucPortuguesBr ,'Const_Troc_LabelSenhaAtual'); - if LabelNewPassword = '' then - LabelNewPassword := RetornaLingua( ucPortuguesBr ,'Const_Troc_LabelNovaSenha'); - if LabelConfirm = '' then - LabelConfirm := RetornaLingua( ucPortuguesBr ,'Const_Troc_LabelConfirma'); - if BtSave = '' then - BtSave := RetornaLingua( ucPortuguesBr ,'Const_Troc_BtGravar'); - if BtCancel = '' then - BtCancel := RetornaLingua( ucPortuguesBr ,'Const_Troc_BtCancelar'); - end; - - with DestSettings.CommonMessages.ChangePasswordError do - begin - if InvalidCurrentPassword = '' then - InvalidCurrentPassword := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_SenhaAtualInvalida'); - if NewPasswordError = '' then - NewPasswordError := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_ErroNovaSenha'); - if NewEqualCurrent = '' then - NewEqualCurrent := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_NovaIgualAtual'); - if PasswordRequired = '' then - PasswordRequired := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_SenhaObrigatoria'); - if MinPasswordLength = '' then - MinPasswordLength := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_SenhaMinima'); - if InvalidNewPassword = '' then - InvalidNewPassword := RetornaLingua( ucPortuguesBr ,'Const_ErrPass_SenhaInvalida'); - end; - - with DestSettings.ResetPassword do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_DefPass_WindowCaption'); - if LabelPassword = '' then - LabelPassword := RetornaLingua( ucPortuguesBr ,'Const_DefPass_LabelSenha'); - end; - - with DestSettings.Log do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_LogC_WindowCaption'); - if LabelDescription = '' then - LabelDescription := RetornaLingua( ucPortuguesBr ,'Const_LogC_LabelDescricao'); - if LabelUser = '' then - LabelUser := RetornaLingua( ucPortuguesBr ,'Const_LogC_LabelUsuario'); - if LabelDate = '' then - LabelDate := RetornaLingua( ucPortuguesBr ,'Const_LogC_LabelData'); - if LabelLevel = '' then - LabelLevel := RetornaLingua( ucPortuguesBr ,'Const_LogC_LabelNivel'); - if ColLevel = '' then - ColLevel := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaNivel'); - if ColAppID = '' then - ColAppID := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaAppID'); - if ColMessage = '' then - ColMessage := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaMensagem'); - if ColUser = '' then - ColUser := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaUsuario'); - if ColDate = '' then - ColDate := RetornaLingua( ucPortuguesBr ,'Const_LogC_ColunaData'); - if BtFilter = '' then - BtFilter := RetornaLingua( ucPortuguesBr ,'Const_LogC_BtFiltro'); - if BtDelete = '' then - BtDelete := RetornaLingua( ucPortuguesBr ,'Const_LogC_BtExcluir'); - if BtClose = '' then - BtClose := RetornaLingua( ucPortuguesBr ,'Const_LogC_BtFechar'); - if PromptDelete = '' then - PromptDelete := RetornaLingua( ucPortuguesBr ,'Const_LogC_ConfirmaExcluir'); - if PromptDelete_WindowCaption = '' then - PromptDelete_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_LogC_ConfirmaDelete_WindowCaption'); //added by fduenas - if OptionUserAll = '' then - OptionUserAll := RetornaLingua( ucPortuguesBr ,'Const_LogC_Todos'); //added by fduenas - if OptionLevelLow = '' then - OptionLevelLow := RetornaLingua( ucPortuguesBr ,'Const_LogC_Low'); //added by fduenas - if OptionLevelNormal = '' then - OptionLevelNormal := RetornaLingua( ucPortuguesBr ,'Const_LogC_Normal'); //added by fduenas - if OptionLevelHigh = '' then - OptionLevelHigh := RetornaLingua( ucPortuguesBr ,'Const_LogC_High'); //added by fduenas - if OptionLevelCritic = '' then - OptionLevelCritic := RetornaLingua( ucPortuguesBr ,'Const_LogC_Critic'); //added by fduenas - if DeletePerformed = '' then - DeletePerformed := RetornaLingua( ucPortuguesBr ,'Const_LogC_ExcluirEfectuada'); //added by fduenas - end; - - with DestSettings.AppMessages do - begin - if MsgsForm_BtNew = '' then - MsgsForm_BtNew := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtNew'); - if MsgsForm_BtReplay = '' then - MsgsForm_BtReplay := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtReplay'); - if MsgsForm_BtForward = '' then - MsgsForm_BtForward := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtForward'); - if MsgsForm_BtDelete = '' then - MsgsForm_BtDelete := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtDelete'); - if MsgsForm_BtClose = '' then - MsgsForm_BtDelete := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtClose'); //added by fduenas - if MsgsForm_WindowCaption = '' then - MsgsForm_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Msgs_WindowCaption'); - if MsgsForm_ColFrom = '' then - MsgsForm_ColFrom := RetornaLingua( ucPortuguesBr ,'Const_Msgs_ColFrom'); - if MsgsForm_ColSubject = '' then - MsgsForm_ColSubject := RetornaLingua( ucPortuguesBr ,'Const_Msgs_ColSubject'); - if MsgsForm_ColDate = '' then - MsgsForm_ColDate := RetornaLingua( ucPortuguesBr ,'Const_Msgs_ColDate'); - if MsgsForm_PromptDelete = '' then - MsgsForm_PromptDelete := RetornaLingua( ucPortuguesBr ,'Const_Msgs_PromptDelete'); - if MsgsForm_PromptDelete_WindowCaption = '' then - MsgsForm_PromptDelete_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Msgs_PromptDelete_WindowCaption'); - if MsgsForm_NoMessagesSelected = '' then - MsgsForm_NoMessagesSelected := RetornaLingua( ucPortuguesBr ,'Const_Msgs_NoMessagesSelected'); - if MsgsForm_NoMessagesSelected_WindowCaption = '' then - MsgsForm_NoMessagesSelected_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_Msgs_NoMessagesSelected_WindowCaption'); - if MsgRec_BtClose = '' then - MsgRec_BtClose := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_BtClose'); - if MsgRec_WindowCaption = '' then - MsgRec_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_WindowCaption'); - if MsgRec_Title = '' then - MsgRec_Title := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_Title'); - if MsgRec_LabelFrom = '' then - MsgRec_LabelFrom := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_LabelFrom'); - if MsgRec_LabelDate = '' then - MsgRec_LabelDate := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_LabelDate'); - if MsgRec_LabelSubject = '' then - MsgRec_LabelSubject := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_LabelSubject'); - if MsgRec_LabelMessage = '' then - MsgRec_LabelMessage := RetornaLingua( ucPortuguesBr ,'Const_MsgRec_LabelMessage'); - if MsgSend_BtSend = '' then - MsgSend_BtSend := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_BtSend'); - if MsgSend_BtCancel = '' then - MsgSend_BtCancel := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_BtCancel'); - if MsgSend_WindowCaption = '' then - MsgSend_WindowCaption := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_WindowCaption'); - if MsgSend_Title = '' then - MsgSend_Title := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_Title'); - if MsgSend_GroupTo = '' then - MsgSend_GroupTo := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_GroupTo'); - if MsgSend_RadioUser = '' then - MsgSend_RadioUser := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_RadioUser'); - if MsgSend_RadioAll = '' then - MsgSend_RadioAll := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_RadioAll'); - if MsgSend_GroupMessage = '' then - MsgSend_GroupMessage := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_GroupMessage'); - if MsgSend_LabelSubject = '' then - MsgSend_LabelSubject := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_LabelSubject'); //added by fduenas - if MsgSend_LabelMessageText = '' then - MsgSend_LabelMessageText := RetornaLingua( ucPortuguesBr ,'Const_MsgSend_LabelMessageText'); //added by fduenas - end; - - DestSettings.WindowsPosition := poMainFormCenter; - { mudar aqui - With DestSettings.TypeFieldsDB do - Begin - If Type_VarChar = '' then - Type_VarChar := 'VarChar'; - if Type_Char = '' then - Type_Char := 'Char'; - if Type_Int = '' then - Type_Int := 'Int'; - end; } - - - with DestSettings.UsersLogged do - Begin - If BtnMessage = '' then - BtnMessage := RetornaLingua( ucPortuguesBr ,'Const_UserLogged_BtnMsg' ); - if BtnRefresh = '' then - BtnRefresh := RetornaLingua( ucPortuguesBr ,'Const_UserLogged_Refresh'); - if Btnclose = '' then - BtnClose := RetornaLingua( ucPortuguesBr ,'Const_Msgs_BtClose'); - if LabelDescricao = '' then - LabelDescricao := RetornaLingua( ucPortuguesBr ,'Const_UserLogged_LabelDescricao'); - if LabelCaption = '' then - LabelCaption := RetornaLingua( ucPortuguesBr ,'Const_UserLogged_LabelCaption'); - if ColName = '' then - ColName := RetornaLingua( ucPortuguesBr ,'Const_Cad_ColunaNome'); - if colLogin = '' then - ColLogin := RetornaLingua( ucPortuguesBr ,'Const_Cad_ColunaLogin'); - if ColComputer = '' then - ColComputer := RetornaLingua( ucPortuguesBr ,'Const_CadColuna_Computer'); - if ColData = '' then - ColData := RetornaLingua( ucPortuguesBr ,'Const_CadColuna_Data'); - if InputCaption = '' then - InputCaption := RetornaLingua( ucPortuguesBr ,'Const_UserLogged_InputCaption'); - If InputText = '' then - InputText := RetornaLingua( ucPortuguesBr ,'Const_UserLogged_InputText'); - If MsgSystem = '' then - MsgSystem := RetornaLingua( ucPortuguesBr ,'Const_UserLogged_MsgSystem'); - End; - -end; - -procedure IniSettings2(DestSettings: TUCSettings); -var - tmp: TBitmap; -begin - with DestSettings.CommonMessages do - begin - if BlankPassword = '' then - BlankPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Men_SenhaDesabitada'); - if PasswordChanged = '' then - PasswordChanged := RetornaLingua( DestSettings.fLanguage , 'Const_Men_SenhaAlterada'); - if InitialMessage.Text = '' then - InitialMessage.Text := RetornaLingua( DestSettings.fLanguage , 'Const_Men_MsgInicial'); - if MaxLoginAttemptsError = '' then - MaxLoginAttemptsError := RetornaLingua( DestSettings.fLanguage , 'Const_Men_MaxTentativas'); - if InvalidLogin = '' then - InvalidLogin := RetornaLingua( DestSettings.fLanguage , 'Const_Men_LoginInvalido'); - if InactiveLogin = '' then - InactiveLogin := RetornaLingua( DestSettings.fLanguage ,'Const_Men_LoginInativo'); - if AutoLogonError = '' then - AutoLogonError := RetornaLingua( DestSettings.fLanguage , 'Const_Men_AutoLogonError'); - if UsuarioExiste = '' then - UsuarioExiste := RetornaLingua( DestSettings.fLanguage , 'Const_Men_UsuarioExiste'); - if PasswordExpired = '' then - PasswordExpired := RetornaLingua( DestSettings.fLanguage , 'Const_Men_PasswordExpired'); - If ForcaTrocaSenha = '' then - ForcaTrocaSenha := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_ForcaTrocaSenha'); - end; - - with DestSettings.Login do - begin - if BtCancel = '' then - BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_Log_BtCancelar'); - if BtOK = '' then - BtOK := RetornaLingua( DestSettings.fLanguage , 'Const_Log_BtOK'); - if LabelPassword = '' then - LabelPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Log_LabelSenha'); - if LabelUser = '' then - LabelUser := RetornaLingua( DestSettings.fLanguage , 'Const_Log_LabelUsuario'); - if WindowCaption = '' then - WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Log_WindowCaption'); - - if LabelTentativa = '' then - LabelTentativa := RetornaLingua( DestSettings.fLanguage , 'Const_Log_LabelTentativa'); - if LabelTentativas = '' then - LabelTentativas := RetornaLingua( DestSettings.fLanguage , 'Const_Log_LabelTentativas'); - - try - Tmp := TBitmap.Create; - Tmp.LoadFromResourceName(HInstance, 'UCLOCKLOGIN'); - LeftImage.Assign(tmp); - finally - FreeAndNil(tmp); - end; - end; - - with DestSettings.UsersForm do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_WindowCaption'); - if LabelDescription = '' then - LabelDescription := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_LabelDescricao'); - if ColName = '' then - ColName := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ColunaNome'); - if ColLogin = '' then - ColLogin := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ColunaLogin'); - if ColEmail = '' then - ColEmail := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ColunaEmail'); - if BtAdd = '' then - BtAdd := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtAdicionar'); - if BtChange = '' then - BtChange := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtAlterar'); - if BtDelete = '' then - BtDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtExcluir'); - if BtRights = '' then - BtRights := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtPermissoes'); - if BtPassword = '' then - BtPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtSenha'); - if BtClose = '' then - BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_BtFechar'); - if PromptDelete = '' then - PromptDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ConfirmaExcluir'); - if PromptDelete_WindowCaption = '' then - PromptDelete_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Cad_ConfirmaDelete_WindowCaption'); - end; - - with DestSettings.UsersProfile do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_WindowCaption'); - if LabelDescription = '' then - LabelDescription := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_LabelDescricao'); - if ColProfile = '' then - ColProfile := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_ColunaNome'); - if BtAdd = '' then - BtAdd := RetornaLingua( DestSettings.Language,'Const_Prof_BtAdicionar'); - if BtChange = '' then - BtChange := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_BtAlterar'); - if BtDelete = '' then - BtDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_BtExcluir'); - if BtRights = '' then - BtRights := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_BtPermissoes'); - if BtClose = '' then - BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_BtFechar'); - if PromptDelete = '' then - PromptDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_ConfirmaExcluir'); - if PromptDelete_WindowCaption = '' then - PromptDelete_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Prof_ConfirmaDelete_WindowCaption'); //added by fduenas - end; - - with DestSettings.AddChangeUser do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_WindowCaption'); - if LabelAdd = '' then - LabelAdd := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelAdicionar'); - if LabelChange = '' then - LabelChange := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelAlterar'); - if LabelName = '' then - LabelName := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelNome'); - if LabelLogin = '' then - LabelLogin := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelLogin'); - if LabelEmail = '' then - LabelEmail := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelEmail'); - if CheckPrivileged = '' then - CheckPrivileged := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_CheckPrivilegiado'); - if BtSave = '' then - BtSave := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_BtGravar'); - if BtCancel = '' then - BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_BtCancelar'); - if LabelPerfil = '' then - LabelPerfil := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_LabelPerfil'); - - if CheckExpira = '' then - CheckExpira := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_CheckEspira'); - If Day = '' then - Day := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_Dia'); - If ExpiredIn = '' then - ExpiredIn := RetornaLingua( DestSettings.fLanguage , 'Const_Inc_ExpiraEm'); - If LabelStatus = '' then - LabelStatus := RetornaLingua( DestSettings.fLanguage ,'Const_Inc_LabelStatus'); - If StatusActive = '' then - StatusActive := RetornaLingua( DestSettings.fLanguage ,'Const_Inc_StatusActive'); - - If StatusDisabled = '' then - StatusDisabled := RetornaLingua( DestSettings.fLanguage ,'Const_Inc_StatusDisabled'); - - end; - - with DestSettings.AddChangeProfile do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_WindowCaption'); - if LabelAdd = '' then - LabelAdd := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_LabelAdicionar'); - if LabelChange = '' then - LabelChange := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_LabelAlterar'); - if LabelName = '' then - LabelName := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_LabelNome'); - if BtSave = '' then - BtSave := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_BtGravar'); - if BtCancel = '' then - BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_PInc_BtCancelar'); - end; - - with DestSettings.Rights do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_WindowCaption'); - if LabelUser = '' then - LabelUser := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_LabelUsuario'); - if LabelProfile = '' then - LabelProfile := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_LabelPerfil'); - if PageMenu = '' then - PageMenu := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_PageMenu'); - if PageActions = '' then - PageActions := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_PageActions'); - If PageControls = '' then - PageControls := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_PageControls'); // by vicente barros leonel - if BtUnlock = '' then - BtUnlock := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_BtLibera'); - if BtLock = '' then - BtLock := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_BtBloqueia'); - if BtSave = '' then - BtSave := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_BtGravar'); - if BtCancel = '' then - BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_Perm_BtCancelar'); - end; - - with DestSettings.ChangePassword do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_WindowCaption'); - if LabelDescription = '' then - LabelDescription := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_LabelDescricao'); - if LabelCurrentPassword = '' then - LabelCurrentPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_LabelSenhaAtual'); - if LabelNewPassword = '' then - LabelNewPassword := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_LabelNovaSenha'); - if LabelConfirm = '' then - LabelConfirm := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_LabelConfirma'); - if BtSave = '' then - BtSave := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_BtGravar'); - if BtCancel = '' then - BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_Troc_BtCancelar'); - end; - - with DestSettings.CommonMessages.ChangePasswordError do - begin - if InvalidCurrentPassword = '' then - InvalidCurrentPassword := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_SenhaAtualInvalida'); - if NewPasswordError = '' then - NewPasswordError := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_ErroNovaSenha'); - if NewEqualCurrent = '' then - NewEqualCurrent := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_NovaIgualAtual'); - if PasswordRequired = '' then - PasswordRequired := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_SenhaObrigatoria'); - if MinPasswordLength = '' then - MinPasswordLength := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_SenhaMinima'); - if InvalidNewPassword = '' then - InvalidNewPassword := RetornaLingua( DestSettings.fLanguage , 'Const_ErrPass_SenhaInvalida'); - end; - - with DestSettings.ResetPassword do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_DefPass_WindowCaption'); - if LabelPassword = '' then - LabelPassword := RetornaLingua( DestSettings.fLanguage , 'Const_DefPass_LabelSenha'); - end; - - with DestSettings.Log do - begin - if WindowCaption = '' then - WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_WindowCaption'); - if LabelDescription = '' then - LabelDescription := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_LabelDescricao'); - if LabelUser = '' then - LabelUser := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_LabelUsuario'); - if LabelDate = '' then - LabelDate := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_LabelData'); - if LabelLevel = '' then - LabelLevel := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_LabelNivel'); - if ColLevel = '' then - ColLevel := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaNivel'); - if ColAppID = '' then - ColAppID := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaAppID'); - if ColMessage = '' then - ColMessage := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaMensagem'); - if ColUser = '' then - ColUser := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaUsuario'); - if ColDate = '' then - ColDate := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ColunaData'); - if BtFilter = '' then - BtFilter := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_BtFiltro'); - if BtDelete = '' then - BtDelete := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_BtExcluir'); - if BtClose = '' then - BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_BtFechar'); - if PromptDelete = '' then - PromptDelete := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ConfirmaExcluir'); - if PromptDelete_WindowCaption = '' then - PromptDelete_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ConfirmaDelete_WindowCaption'); //added by fduenas - if OptionUserAll = '' then - OptionUserAll := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_Todos'); //added by fduenas - if OptionLevelLow = '' then - OptionLevelLow := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_Low'); //added by fduenas - if OptionLevelNormal = '' then - OptionLevelNormal := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_Normal'); //added by fduenas - if OptionLevelHigh = '' then - OptionLevelHigh := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_High'); //added by fduenas - if OptionLevelCritic = '' then - OptionLevelCritic := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_Critic'); //added by fduenas - if DeletePerformed = '' then - DeletePerformed := RetornaLingua( DestSettings.fLanguage , 'Const_LogC_ExcluirEfectuada'); //added by fduenas - end; - - with DestSettings.AppMessages do - begin - if MsgsForm_BtNew = '' then - MsgsForm_BtNew := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtNew'); - if MsgsForm_BtReplay = '' then - MsgsForm_BtReplay := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtReplay'); - if MsgsForm_BtForward = '' then - MsgsForm_BtForward := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtForward'); - if MsgsForm_BtDelete = '' then - MsgsForm_BtDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtDelete'); - if MsgsForm_BtClose = '' then - MsgsForm_BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_BtClose'); //added by fduenas - if MsgsForm_WindowCaption = '' then - MsgsForm_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_WindowCaption'); - if MsgsForm_ColFrom = '' then - MsgsForm_ColFrom := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_ColFrom'); - if MsgsForm_ColSubject = '' then - MsgsForm_ColSubject := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_ColSubject'); - if MsgsForm_ColDate = '' then - MsgsForm_ColDate := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_ColDate'); - if MsgsForm_PromptDelete = '' then - MsgsForm_PromptDelete := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_PromptDelete'); - if MsgsForm_PromptDelete_WindowCaption = '' then - MsgsForm_PromptDelete_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_PromptDelete_WindowCaption'); //added by fduenas - if MsgsForm_NoMessagesSelected = '' then - MsgsForm_NoMessagesSelected := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_NoMessagesSelected'); //added by fduenas - if MsgsForm_NoMessagesSelected_WindowCaption = '' then - MsgsForm_NoMessagesSelected_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_Msgs_NoMessagesSelected_WindowCaption'); //added by fduenas - if MsgRec_BtClose = '' then - MsgRec_BtClose := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_BtClose'); - if MsgRec_WindowCaption = '' then - MsgRec_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_WindowCaption'); - if MsgRec_Title = '' then - MsgRec_Title := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_Title'); - if MsgRec_LabelFrom = '' then - MsgRec_LabelFrom := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_LabelFrom'); - if MsgRec_LabelDate = '' then - MsgRec_LabelDate := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_LabelDate'); - if MsgRec_LabelSubject = '' then - MsgRec_LabelSubject := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_LabelSubject'); - if MsgRec_LabelMessage = '' then - MsgRec_LabelMessage := RetornaLingua( DestSettings.fLanguage , 'Const_MsgRec_LabelMessage'); - if MsgSend_BtSend = '' then - MsgSend_BtSend := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_BtSend'); - if MsgSend_BtCancel = '' then - MsgSend_BtCancel := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_BtCancel'); - if MsgSend_WindowCaption = '' then - MsgSend_WindowCaption := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_WindowCaption'); - if MsgSend_Title = '' then - MsgSend_Title := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_Title'); - if MsgSend_GroupTo = '' then - MsgSend_GroupTo := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_GroupTo'); - if MsgSend_RadioUser = '' then - MsgSend_RadioUser := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_RadioUser'); - if MsgSend_RadioAll = '' then - MsgSend_RadioAll := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_RadioAll'); - if MsgSend_GroupMessage = '' then - MsgSend_GroupMessage := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_GroupMessage'); - if MsgSend_LabelSubject = '' then - MsgSend_LabelSubject := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_LabelSubject'); //added by fduenas - if MsgSend_LabelMessageText = '' then - MsgSend_LabelMessageText := RetornaLingua( DestSettings.fLanguage , 'Const_MsgSend_LabelMessageText'); //added by fduenas - end; - - DestSettings.WindowsPosition := poMainFormCenter; - - { With DestSettings.TypeFieldsDB do - Begin - If Type_VarChar = '' then - Type_VarChar := 'VarChar'; - if Type_Char = '' then - Type_Char := 'Char'; - if Type_Int = '' then - Type_Int := 'Int'; - end; mudar aqui } - - with DestSettings.UsersLogged do - Begin - If BtnMessage = '' then - BtnMessage := RetornaLingua( DestSettings.fLanguage ,'Const_UserLogged_BtnMsg' ); - if BtnRefresh = '' then - BtnRefresh := RetornaLingua( DestSettings.fLanguage ,'Const_UserLogged_Refresh'); - if Btnclose = '' then - BtnClose := RetornaLingua( DestSettings.fLanguage ,'Const_Msgs_BtClose'); - if LabelDescricao = '' then - LabelDescricao := RetornaLingua( DestSettings.fLanguage ,'Const_UserLogged_LabelDescricao'); - if LabelCaption = '' then - LabelCaption := RetornaLingua( DestSettings.fLanguage ,'Const_UserLogged_LabelCaption'); - if ColName = '' then - ColName := RetornaLingua( DestSettings.fLanguage ,'Const_Cad_ColunaNome'); - if colLogin = '' then - ColLogin := RetornaLingua( DestSettings.fLanguage ,'Const_Cad_ColunaLogin'); - if ColComputer = '' then - ColComputer := RetornaLingua( DestSettings.fLanguage ,'Const_CadColuna_Computer'); - if ColData = '' then - ColData := RetornaLingua( DestSettings.fLanguage ,'Const_CadColuna_Data'); - if InputCaption = '' then - InputCaption := RetornaLingua( DestSettings.fLanguage ,'Const_UserLogged_InputCaption'); - If InputText = '' then - InputText := RetornaLingua( DestSettings.fLanguage ,'Const_UserLogged_InputText'); - If MsgSystem = '' then - MsgSystem := RetornaLingua( DestSettings.fLanguage ,'Const_UserLogged_MsgSystem'); - End; -end; - -{-------------------------------------------------------------------------------} - -procedure AlterLanguage(DestSettings: TUCUserSettings); -begin - with DestSettings.CommonMessages do - begin - BlankPassword := RetornaLingua( DestSettings.Language,'Const_Men_SenhaDesabitada'); - PasswordChanged := RetornaLingua( DestSettings.Language,'Const_Men_SenhaAlterada'); - InitialMessage.Text := RetornaLingua( DestSettings.Language,'Const_Men_MsgInicial'); - MaxLoginAttemptsError := RetornaLingua( DestSettings.Language,'Const_Men_MaxTentativas'); - InvalidLogin := RetornaLingua( DestSettings.Language,'Const_Men_LoginInvalido'); - InactiveLogin := RetornaLingua( DestSettings.Language ,'Const_Men_LoginInativo'); - AutoLogonError := RetornaLingua( DestSettings.Language,'Const_Men_AutoLogonError'); - UsuarioExiste := RetornaLingua( DestSettings.Language,'Const_Men_UsuarioExiste'); - PasswordExpired := RetornaLingua( DestSettings.Language,'Const_Men_PasswordExpired'); - end; - - with DestSettings.Login do - begin - BtCancel := RetornaLingua( DestSettings.Language,'Const_Log_BtCancelar'); - BtOK := RetornaLingua( DestSettings.Language,'Const_Log_BtOK'); - LabelPassword := RetornaLingua( DestSettings.Language,'Const_Log_LabelSenha'); - LabelUser := RetornaLingua( DestSettings.Language,'Const_Log_LabelUsuario'); - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Log_WindowCaption'); - LabelTentativa := RetornaLingua( DestSettings.Language,'Const_Log_LabelTentativa'); - LabelTentativas := RetornaLingua( DestSettings.Language,'Const_Log_LabelTentativas'); - end; - - with DestSettings.UsersForm do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Cad_WindowCaption'); - LabelDescription := RetornaLingua( DestSettings.Language,'Const_Cad_LabelDescricao'); - ColName := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaNome'); - ColLogin := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaLogin'); - ColEmail := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaEmail'); - BtAdd := RetornaLingua( DestSettings.Language,'Const_Cad_BtAdicionar'); - BtChange := RetornaLingua( DestSettings.Language,'Const_Cad_BtAlterar'); - BtDelete := RetornaLingua( DestSettings.Language,'Const_Cad_BtExcluir'); - BtRights := RetornaLingua( DestSettings.Language,'Const_Cad_BtPermissoes'); - BtPassword := RetornaLingua( DestSettings.Language,'Const_Cad_BtSenha'); - BtClose := RetornaLingua( DestSettings.Language,'Const_Cad_BtFechar'); - PromptDelete := RetornaLingua( DestSettings.Language,'Const_Cad_ConfirmaExcluir'); - PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Cad_ConfirmaDelete_WindowCaption'); - end; - - with DestSettings.UsersProfile do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Prof_WindowCaption'); - LabelDescription := RetornaLingua( DestSettings.Language,'Const_Prof_LabelDescricao'); - ColProfile := RetornaLingua( DestSettings.Language,'Const_Prof_ColunaNome'); - BtAdd := RetornaLingua( DestSettings.Language,'Const_Prof_BtAdicionar'); - BtChange := RetornaLingua( DestSettings.Language,'Const_Prof_BtAlterar'); - BtDelete := RetornaLingua( DestSettings.Language,'Const_Prof_BtExcluir'); - BtRights := RetornaLingua( DestSettings.Language,'Const_Prof_BtPermissoes'); - BtClose := RetornaLingua( DestSettings.Language,'Const_Prof_BtFechar'); - PromptDelete := RetornaLingua( DestSettings.Language,'Const_Prof_ConfirmaExcluir'); - PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Prof_ConfirmaDelete_WindowCaption'); - end; - - with DestSettings.AddChangeUser do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Inc_WindowCaption'); - LabelAdd := RetornaLingua( DestSettings.Language,'Const_Inc_LabelAdicionar'); - LabelChange := RetornaLingua( DestSettings.Language,'Const_Inc_LabelAlterar'); - LabelName := RetornaLingua( DestSettings.Language,'Const_Inc_LabelNome'); - LabelLogin := RetornaLingua( DestSettings.Language,'Const_Inc_LabelLogin'); - LabelEmail := RetornaLingua( DestSettings.Language,'Const_Inc_LabelEmail'); - CheckPrivileged := RetornaLingua( DestSettings.Language,'Const_Inc_CheckPrivilegiado'); - BtSave := RetornaLingua( DestSettings.Language,'Const_Inc_BtGravar'); - BtCancel := RetornaLingua( DestSettings.Language,'Const_Inc_BtCancelar'); - LabelPerfil := RetornaLingua( DestSettings.Language,'Const_Inc_LabelPerfil'); - CheckExpira := RetornaLingua( DestSettings.Language,'Const_Inc_CheckEspira'); - Day := RetornaLingua( DestSettings.Language,'Const_Inc_Dia'); - ExpiredIn := RetornaLingua( DestSettings.Language,'Const_Inc_ExpiraEm'); - LabelStatus := RetornaLingua( DestSettings.Language ,'Const_Inc_LabelStatus'); - StatusActive := RetornaLingua( DestSettings.Language ,'Const_Inc_StatusActive'); - StatusDisabled := RetornaLingua( DestSettings.Language ,'Const_Inc_StatusDisabled'); - end; - - with DestSettings.AddChangeProfile do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_PInc_WindowCaption'); - LabelAdd := RetornaLingua( DestSettings.Language,'Const_PInc_LabelAdicionar'); - LabelChange := RetornaLingua( DestSettings.Language,'Const_PInc_LabelAlterar'); - LabelName := RetornaLingua( DestSettings.Language,'Const_PInc_LabelNome'); - BtSave := RetornaLingua( DestSettings.Language,'Const_PInc_BtGravar'); - BtCancel := RetornaLingua( DestSettings.Language,'Const_PInc_BtCancelar'); - end; - - with DestSettings.Rights do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Perm_WindowCaption'); - LabelUser := RetornaLingua( DestSettings.Language,'Const_Perm_LabelUsuario'); - LabelProfile := RetornaLingua( DestSettings.Language,'Const_Perm_LabelPerfil'); - PageMenu := RetornaLingua( DestSettings.Language,'Const_Perm_PageMenu'); - PageActions := RetornaLingua( DestSettings.Language,'Const_Perm_PageActions'); - PageControls := RetornaLingua( DestSettings.Language,'Const_Perm_PageControls'); - BtUnlock := RetornaLingua( DestSettings.Language,'Const_Perm_BtLibera'); - BtLock := RetornaLingua( DestSettings.Language,'Const_Perm_BtBloqueia'); - BtSave := RetornaLingua( DestSettings.Language,'Const_Perm_BtGravar'); - BtCancel := RetornaLingua( DestSettings.Language,'Const_Perm_BtCancelar'); - end; - - with DestSettings.ChangePassword do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Troc_WindowCaption'); - LabelDescription := RetornaLingua( DestSettings.Language,'Const_Troc_LabelDescricao'); - LabelCurrentPassword := RetornaLingua( DestSettings.Language,'Const_Troc_LabelSenhaAtual'); - LabelNewPassword := RetornaLingua( DestSettings.Language,'Const_Troc_LabelNovaSenha'); - LabelConfirm := RetornaLingua( DestSettings.Language,'Const_Troc_LabelConfirma'); - BtSave := RetornaLingua( DestSettings.Language,'Const_Troc_BtGravar'); - BtCancel := RetornaLingua( DestSettings.Language,'Const_Troc_BtCancelar'); - end; - - with DestSettings.CommonMessages.ChangePasswordError do - begin - InvalidCurrentPassword := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaAtualInvalida'); - NewPasswordError := RetornaLingua( DestSettings.Language,'Const_ErrPass_ErroNovaSenha'); - NewEqualCurrent := RetornaLingua( DestSettings.Language,'Const_ErrPass_NovaIgualAtual'); - PasswordRequired := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaObrigatoria'); - MinPasswordLength := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaMinima'); - InvalidNewPassword := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaInvalida'); - end; - - with DestSettings.ResetPassword do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_DefPass_WindowCaption'); - LabelPassword := RetornaLingua( DestSettings.Language,'Const_DefPass_LabelSenha'); - end; - - with DestSettings.Log do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_LogC_WindowCaption'); - LabelDescription := RetornaLingua( DestSettings.Language,'Const_LogC_LabelDescricao'); - LabelUser := RetornaLingua( DestSettings.Language,'Const_LogC_LabelUsuario'); - LabelDate := RetornaLingua( DestSettings.Language,'Const_LogC_LabelData'); - LabelLevel := RetornaLingua( DestSettings.Language,'Const_LogC_LabelNivel'); - ColLevel := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaNivel'); - ColAppID := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaAppID'); - ColMessage := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaMensagem'); - ColUser := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaUsuario'); - ColDate := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaData'); - BtFilter := RetornaLingua( DestSettings.Language,'Const_LogC_BtFiltro'); - BtDelete := RetornaLingua( DestSettings.Language,'Const_LogC_BtExcluir'); - BtClose := RetornaLingua( DestSettings.Language,'Const_LogC_BtFechar'); - PromptDelete := RetornaLingua( DestSettings.Language,'Const_LogC_ConfirmaExcluir'); - PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_LogC_ConfirmaDelete_WindowCaption'); - OptionUserAll := RetornaLingua( DestSettings.Language,'Const_LogC_Todos'); - OptionLevelLow := RetornaLingua( DestSettings.Language,'Const_LogC_Low'); - OptionLevelNormal := RetornaLingua( DestSettings.Language,'Const_LogC_Normal'); - OptionLevelHigh := RetornaLingua( DestSettings.Language,'Const_LogC_High'); - OptionLevelCritic := RetornaLingua( DestSettings.Language,'Const_LogC_Critic'); - DeletePerformed := RetornaLingua( DestSettings.Language,'Const_LogC_ExcluirEfectuada'); - end; - - with DestSettings.AppMessages do - begin - MsgsForm_BtNew := RetornaLingua( DestSettings.Language,'Const_Msgs_BtNew'); - MsgsForm_BtReplay := RetornaLingua( DestSettings.Language,'Const_Msgs_BtReplay'); - MsgsForm_BtForward := RetornaLingua( DestSettings.Language,'Const_Msgs_BtForward'); - MsgsForm_BtDelete := RetornaLingua( DestSettings.Language,'Const_Msgs_BtDelete'); - MsgsForm_BtClose := RetornaLingua( DestSettings.Language,'Const_Msgs_BtClose'); //added by fduenas - MsgsForm_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_WindowCaption'); - MsgsForm_ColFrom := RetornaLingua( DestSettings.Language,'Const_Msgs_ColFrom'); - MsgsForm_ColSubject := RetornaLingua( DestSettings.Language,'Const_Msgs_ColSubject'); - MsgsForm_ColDate := RetornaLingua( DestSettings.Language,'Const_Msgs_ColDate'); - MsgsForm_PromptDelete := RetornaLingua( DestSettings.Language,'Const_Msgs_PromptDelete'); - MsgsForm_PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_PromptDelete_WindowCaption'); //added by fduenas - MsgsForm_NoMessagesSelected := RetornaLingua( DestSettings.Language,'Const_Msgs_NoMessagesSelected'); //added by fduenas - MsgsForm_NoMessagesSelected_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_NoMessagesSelected_WindowCaption'); //added by fduenas - MsgRec_BtClose := RetornaLingua( DestSettings.Language,'Const_MsgRec_BtClose'); - MsgRec_WindowCaption := RetornaLingua( DestSettings.Language,'Const_MsgRec_WindowCaption'); - MsgRec_Title := RetornaLingua( DestSettings.Language,'Const_MsgRec_Title'); - MsgRec_LabelFrom := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelFrom'); - MsgRec_LabelDate := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelDate'); - MsgRec_LabelSubject := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelSubject'); - MsgRec_LabelMessage := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelMessage'); - MsgSend_BtSend := RetornaLingua( DestSettings.Language,'Const_MsgSend_BtSend'); - MsgSend_BtCancel := RetornaLingua( DestSettings.Language,'Const_MsgSend_BtCancel'); - MsgSend_WindowCaption := RetornaLingua( DestSettings.Language,'Const_MsgSend_WindowCaption'); - MsgSend_Title := RetornaLingua( DestSettings.Language,'Const_MsgSend_Title'); - MsgSend_GroupTo := RetornaLingua( DestSettings.Language,'Const_MsgSend_GroupTo'); - MsgSend_RadioUser := RetornaLingua( DestSettings.Language,'Const_MsgSend_RadioUser'); - MsgSend_RadioAll := RetornaLingua( DestSettings.Language,'Const_MsgSend_RadioAll'); - MsgSend_GroupMessage := RetornaLingua( DestSettings.Language,'Const_MsgSend_GroupMessage'); - MsgSend_LabelSubject := RetornaLingua( DestSettings.Language,'Const_MsgSend_LabelSubject'); //added by fduenas - MsgSend_LabelMessageText := RetornaLingua( DestSettings.Language,'Const_MsgSend_LabelMessageText'); //added by fduenas - end; - - DestSettings.WindowsPosition := poMainFormCenter; - - with DestSettings.UsersLogged do - Begin - BtnMessage := RetornaLingua( DestSettings.Language ,'Const_UserLogged_BtnMsg' ); - BtnRefresh := RetornaLingua( DestSettings.Language ,'Const_UserLogged_Refresh'); - BtnClose := RetornaLingua( DestSettings.Language ,'Const_Msgs_BtClose'); - LabelDescricao := RetornaLingua( DestSettings.Language ,'Const_UserLogged_LabelDescricao'); - LabelCaption := RetornaLingua( DestSettings.Language ,'Const_UserLogged_LabelCaption'); - ColName := RetornaLingua( DestSettings.Language ,'Const_Cad_ColunaNome'); - ColLogin := RetornaLingua( DestSettings.Language ,'Const_Cad_ColunaLogin'); - ColComputer := RetornaLingua( DestSettings.Language ,'Const_CadColuna_Computer'); - ColData := RetornaLingua( DestSettings.Language ,'Const_CadColuna_Data'); - InputCaption := RetornaLingua( DestSettings.Language ,'Const_UserLogged_InputCaption'); - InputText := RetornaLingua( DestSettings.Language ,'Const_UserLogged_InputText'); - MsgSystem := RetornaLingua( DestSettings.Language ,'Const_UserLogged_MsgSystem'); - End; -end; - -procedure AlterLanguage2(DestSettings: TUCSettings); -begin - with DestSettings.CommonMessages do - begin - BlankPassword := RetornaLingua( DestSettings.Language,'Const_Men_SenhaDesabitada'); - PasswordChanged := RetornaLingua( DestSettings.Language,'Const_Men_SenhaAlterada'); - InitialMessage.Text := RetornaLingua( DestSettings.Language,'Const_Men_MsgInicial'); - MaxLoginAttemptsError := RetornaLingua( DestSettings.Language,'Const_Men_MaxTentativas'); - InvalidLogin := RetornaLingua( DestSettings.Language,'Const_Men_LoginInvalido'); - InactiveLogin := RetornaLingua( DestSettings.fLanguage ,'Const_Men_LoginInativo'); - AutoLogonError := RetornaLingua( DestSettings.Language,'Const_Men_AutoLogonError'); - UsuarioExiste := RetornaLingua( DestSettings.Language,'Const_Men_UsuarioExiste'); - PasswordExpired := RetornaLingua( DestSettings.Language,'Const_Men_PasswordExpired'); - end; - - with DestSettings.Login do - begin - BtCancel := RetornaLingua( DestSettings.Language,'Const_Log_BtCancelar'); - BtOK := RetornaLingua( DestSettings.Language,'Const_Log_BtOK'); - LabelPassword := RetornaLingua( DestSettings.Language,'Const_Log_LabelSenha'); - LabelUser := RetornaLingua( DestSettings.Language,'Const_Log_LabelUsuario'); - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Log_WindowCaption'); - LabelTentativa := RetornaLingua( DestSettings.Language,'Const_Log_LabelTentativa'); - LabelTentativas := RetornaLingua( DestSettings.Language,'Const_Log_LabelTentativas'); - end; - - with DestSettings.UsersForm do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Cad_WindowCaption'); - LabelDescription := RetornaLingua( DestSettings.Language,'Const_Cad_LabelDescricao'); - ColName := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaNome'); - ColLogin := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaLogin'); - ColEmail := RetornaLingua( DestSettings.Language,'Const_Cad_ColunaEmail'); - BtAdd := RetornaLingua( DestSettings.Language,'Const_Cad_BtAdicionar'); - BtChange := RetornaLingua( DestSettings.Language,'Const_Cad_BtAlterar'); - BtDelete := RetornaLingua( DestSettings.Language,'Const_Cad_BtExcluir'); - BtRights := RetornaLingua( DestSettings.Language,'Const_Cad_BtPermissoes'); - BtPassword := RetornaLingua( DestSettings.Language,'Const_Cad_BtSenha'); - BtClose := RetornaLingua( DestSettings.Language,'Const_Cad_BtFechar'); - PromptDelete := RetornaLingua( DestSettings.Language,'Const_Cad_ConfirmaExcluir'); - PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Cad_ConfirmaDelete_WindowCaption'); - end; - - with DestSettings.UsersProfile do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Prof_WindowCaption'); - LabelDescription := RetornaLingua( DestSettings.Language,'Const_Prof_LabelDescricao'); - ColProfile := RetornaLingua( DestSettings.Language,'Const_Prof_ColunaNome'); - BtAdd := RetornaLingua( DestSettings.Language,'Const_Prof_BtAdicionar'); - BtChange := RetornaLingua( DestSettings.Language,'Const_Prof_BtAlterar'); - BtDelete := RetornaLingua( DestSettings.Language,'Const_Prof_BtExcluir'); - BtRights := RetornaLingua( DestSettings.Language,'Const_Prof_BtPermissoes'); - BtClose := RetornaLingua( DestSettings.Language,'Const_Prof_BtFechar'); - PromptDelete := RetornaLingua( DestSettings.Language,'Const_Prof_ConfirmaExcluir'); - PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Prof_ConfirmaDelete_WindowCaption'); - end; - - with DestSettings.AddChangeUser do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Inc_WindowCaption'); - LabelAdd := RetornaLingua( DestSettings.Language,'Const_Inc_LabelAdicionar'); - LabelChange := RetornaLingua( DestSettings.Language,'Const_Inc_LabelAlterar'); - LabelName := RetornaLingua( DestSettings.Language,'Const_Inc_LabelNome'); - LabelLogin := RetornaLingua( DestSettings.Language,'Const_Inc_LabelLogin'); - LabelEmail := RetornaLingua( DestSettings.Language,'Const_Inc_LabelEmail'); - CheckPrivileged := RetornaLingua( DestSettings.Language,'Const_Inc_CheckPrivilegiado'); - BtSave := RetornaLingua( DestSettings.Language,'Const_Inc_BtGravar'); - BtCancel := RetornaLingua( DestSettings.Language,'Const_Inc_BtCancelar'); - LabelPerfil := RetornaLingua( DestSettings.Language,'Const_Inc_LabelPerfil'); - CheckExpira := RetornaLingua( DestSettings.Language,'Const_Inc_CheckEspira'); - Day := RetornaLingua( DestSettings.Language,'Const_Inc_Dia'); - ExpiredIn := RetornaLingua( DestSettings.Language,'Const_Inc_ExpiraEm'); - LabelStatus := RetornaLingua( DestSettings.Language ,'Const_Inc_LabelStatus'); - StatusActive := RetornaLingua( DestSettings.Language ,'Const_Inc_StatusActive'); - StatusDisabled := RetornaLingua( DestSettings.Language ,'Const_Inc_StatusDisabled'); - end; - - with DestSettings.AddChangeProfile do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_PInc_WindowCaption'); - LabelAdd := RetornaLingua( DestSettings.Language,'Const_PInc_LabelAdicionar'); - LabelChange := RetornaLingua( DestSettings.Language,'Const_PInc_LabelAlterar'); - LabelName := RetornaLingua( DestSettings.Language,'Const_PInc_LabelNome'); - BtSave := RetornaLingua( DestSettings.Language,'Const_PInc_BtGravar'); - BtCancel := RetornaLingua( DestSettings.Language,'Const_PInc_BtCancelar'); - end; - - with DestSettings.Rights do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Perm_WindowCaption'); - LabelUser := RetornaLingua( DestSettings.Language,'Const_Perm_LabelUsuario'); - LabelProfile := RetornaLingua( DestSettings.Language,'Const_Perm_LabelPerfil'); - PageMenu := RetornaLingua( DestSettings.Language,'Const_Perm_PageMenu'); - PageActions := RetornaLingua( DestSettings.Language,'Const_Perm_PageActions'); - PageControls := RetornaLingua( DestSettings.Language,'Const_Perm_PageControls'); - BtUnlock := RetornaLingua( DestSettings.Language,'Const_Perm_BtLibera'); - BtLock := RetornaLingua( DestSettings.Language,'Const_Perm_BtBloqueia'); - BtSave := RetornaLingua( DestSettings.Language,'Const_Perm_BtGravar'); - BtCancel := RetornaLingua( DestSettings.Language,'Const_Perm_BtCancelar'); - end; - - with DestSettings.ChangePassword do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_Troc_WindowCaption'); - LabelDescription := RetornaLingua( DestSettings.Language,'Const_Troc_LabelDescricao'); - LabelCurrentPassword := RetornaLingua( DestSettings.Language,'Const_Troc_LabelSenhaAtual'); - LabelNewPassword := RetornaLingua( DestSettings.Language,'Const_Troc_LabelNovaSenha'); - LabelConfirm := RetornaLingua( DestSettings.Language,'Const_Troc_LabelConfirma'); - BtSave := RetornaLingua( DestSettings.Language,'Const_Troc_BtGravar'); - BtCancel := RetornaLingua( DestSettings.Language,'Const_Troc_BtCancelar'); - end; - - with DestSettings.CommonMessages.ChangePasswordError do - begin - InvalidCurrentPassword := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaAtualInvalida'); - NewPasswordError := RetornaLingua( DestSettings.Language,'Const_ErrPass_ErroNovaSenha'); - NewEqualCurrent := RetornaLingua( DestSettings.Language,'Const_ErrPass_NovaIgualAtual'); - PasswordRequired := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaObrigatoria'); - MinPasswordLength := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaMinima'); - InvalidNewPassword := RetornaLingua( DestSettings.Language,'Const_ErrPass_SenhaInvalida'); - end; - - with DestSettings.ResetPassword do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_DefPass_WindowCaption'); - LabelPassword := RetornaLingua( DestSettings.Language,'Const_DefPass_LabelSenha'); - end; - - with DestSettings.Log do - begin - WindowCaption := RetornaLingua( DestSettings.Language,'Const_LogC_WindowCaption'); - LabelDescription := RetornaLingua( DestSettings.Language,'Const_LogC_LabelDescricao'); - LabelUser := RetornaLingua( DestSettings.Language,'Const_LogC_LabelUsuario'); - LabelDate := RetornaLingua( DestSettings.Language,'Const_LogC_LabelData'); - LabelLevel := RetornaLingua( DestSettings.Language,'Const_LogC_LabelNivel'); - ColLevel := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaNivel'); - ColAppID := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaAppID'); - ColMessage := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaMensagem'); - ColUser := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaUsuario'); - ColDate := RetornaLingua( DestSettings.Language,'Const_LogC_ColunaData'); - BtFilter := RetornaLingua( DestSettings.Language,'Const_LogC_BtFiltro'); - BtDelete := RetornaLingua( DestSettings.Language,'Const_LogC_BtExcluir'); - BtClose := RetornaLingua( DestSettings.Language,'Const_LogC_BtFechar'); - PromptDelete := RetornaLingua( DestSettings.Language,'Const_LogC_ConfirmaExcluir'); - PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_LogC_ConfirmaDelete_WindowCaption'); - OptionUserAll := RetornaLingua( DestSettings.Language,'Const_LogC_Todos'); - OptionLevelLow := RetornaLingua( DestSettings.Language,'Const_LogC_Low'); - OptionLevelNormal := RetornaLingua( DestSettings.Language,'Const_LogC_Normal'); - OptionLevelHigh := RetornaLingua( DestSettings.Language,'Const_LogC_High'); - OptionLevelCritic := RetornaLingua( DestSettings.Language,'Const_LogC_Critic'); - DeletePerformed := RetornaLingua( DestSettings.Language,'Const_LogC_ExcluirEfectuada'); - end; - - with DestSettings.AppMessages do - begin - MsgsForm_BtNew := RetornaLingua( DestSettings.Language,'Const_Msgs_BtNew'); - MsgsForm_BtReplay := RetornaLingua( DestSettings.Language,'Const_Msgs_BtReplay'); - MsgsForm_BtForward := RetornaLingua( DestSettings.Language,'Const_Msgs_BtForward'); - MsgsForm_BtDelete := RetornaLingua( DestSettings.Language,'Const_Msgs_BtDelete'); - MsgsForm_BtClose := RetornaLingua( DestSettings.Language,'Const_Msgs_BtClose'); //added by fduenas - MsgsForm_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_WindowCaption'); - MsgsForm_ColFrom := RetornaLingua( DestSettings.Language,'Const_Msgs_ColFrom'); - MsgsForm_ColSubject := RetornaLingua( DestSettings.Language,'Const_Msgs_ColSubject'); - MsgsForm_ColDate := RetornaLingua( DestSettings.Language,'Const_Msgs_ColDate'); - MsgsForm_PromptDelete := RetornaLingua( DestSettings.Language,'Const_Msgs_PromptDelete'); - MsgsForm_PromptDelete_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_PromptDelete_WindowCaption'); //added by fduenas - MsgsForm_NoMessagesSelected := RetornaLingua( DestSettings.Language,'Const_Msgs_NoMessagesSelected'); //added by fduenas - MsgsForm_NoMessagesSelected_WindowCaption := RetornaLingua( DestSettings.Language,'Const_Msgs_NoMessagesSelected_WindowCaption'); //added by fduenas - MsgRec_BtClose := RetornaLingua( DestSettings.Language,'Const_MsgRec_BtClose'); - MsgRec_WindowCaption := RetornaLingua( DestSettings.Language,'Const_MsgRec_WindowCaption'); - MsgRec_Title := RetornaLingua( DestSettings.Language,'Const_MsgRec_Title'); - MsgRec_LabelFrom := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelFrom'); - MsgRec_LabelDate := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelDate'); - MsgRec_LabelSubject := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelSubject'); - MsgRec_LabelMessage := RetornaLingua( DestSettings.Language,'Const_MsgRec_LabelMessage'); - MsgSend_BtSend := RetornaLingua( DestSettings.Language,'Const_MsgSend_BtSend'); - MsgSend_BtCancel := RetornaLingua( DestSettings.Language,'Const_MsgSend_BtCancel'); - MsgSend_WindowCaption := RetornaLingua( DestSettings.Language,'Const_MsgSend_WindowCaption'); - MsgSend_Title := RetornaLingua( DestSettings.Language,'Const_MsgSend_Title'); - MsgSend_GroupTo := RetornaLingua( DestSettings.Language,'Const_MsgSend_GroupTo'); - MsgSend_RadioUser := RetornaLingua( DestSettings.Language,'Const_MsgSend_RadioUser'); - MsgSend_RadioAll := RetornaLingua( DestSettings.Language,'Const_MsgSend_RadioAll'); - MsgSend_GroupMessage := RetornaLingua( DestSettings.Language,'Const_MsgSend_GroupMessage'); - MsgSend_LabelSubject := RetornaLingua( DestSettings.Language,'Const_MsgSend_LabelSubject'); //added by fduenas - MsgSend_LabelMessageText := RetornaLingua( DestSettings.Language,'Const_MsgSend_LabelMessageText'); //added by fduenas - end; - - DestSettings.WindowsPosition := poMainFormCenter; - - - with DestSettings.UsersLogged do - Begin - BtnMessage := RetornaLingua( DestSettings.Language ,'Const_UserLogged_BtnMsg' ); - BtnRefresh := RetornaLingua( DestSettings.Language ,'Const_UserLogged_Refresh'); - BtnClose := RetornaLingua( DestSettings.Language ,'Const_Msgs_BtClose'); - LabelDescricao := RetornaLingua( DestSettings.Language ,'Const_UserLogged_LabelDescricao'); - LabelCaption := RetornaLingua( DestSettings.Language ,'Const_UserLogged_LabelCaption'); - ColName := RetornaLingua( DestSettings.Language ,'Const_Cad_ColunaNome'); - ColLogin := RetornaLingua( DestSettings.Language ,'Const_Cad_ColunaLogin'); - ColComputer := RetornaLingua( DestSettings.Language ,'Const_CadColuna_Computer'); - ColData := RetornaLingua( DestSettings.Language ,'Const_CadColuna_Data'); - InputCaption := RetornaLingua( DestSettings.Language ,'Const_UserLogged_InputCaption'); - InputText := RetornaLingua( DestSettings.Language ,'Const_UserLogged_InputText'); - MsgSystem := RetornaLingua( DestSettings.Language ,'Const_UserLogged_MsgSystem'); - End; - -end; - -{-------------------------------------------------------------------------------} - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -{$IFDEF DELPHI9_UP} {$REGION 'TUCSettings'} {$ENDIF} - -{ TUCSettings } - -procedure TUCSettings.Assign(Source: TPersistent); -begin - if Source is TUCUserSettings then - begin - Self.CommonMessages.Assign(TUCUserSettings(Source).CommonMessages); //modified by fduenas - Self.AppMessages.Assign(TUCUserSettings(Source).AppMessages); //modified by fduenas - Self.WindowsPosition := WindowsPosition; - end - else - inherited; -end; - -constructor TUCSettings.Create(AOwner: TComponent); -begin - inherited; - fLanguage := ucPortuguesBr; - FAppMessagesMSG := TUCAppMessagesMSG.Create(nil); - FLoginFormMSG := TUCLoginFormMSG.Create(nil); - FUserCommomMSG := TUCUserCommonMSG.Create(nil); - FCadUserFormMSG := TUCCadUserFormMSG.Create(nil); - FAddUserFormMSG := TUCAddUserFormMSG.Create(nil); - FAddProfileFormMSG := TUCAddProfileFormMSG.Create(nil); - FPermissFormMSG := TUCPermissFormMSG.Create(nil); - FProfileUserFormMSG := TUCProfileUserFormMSG.Create(nil); - FTrocaSenhaFormMSG := TUCTrocaSenhaFormMSG.Create(nil); - FResetPassword := TUCResetPassword.Create(nil); - FLogControlFormMSG := TUCLogControlFormMSG.Create(nil); - fBancoDados := FireBird; - RetornaSqlBancoDados( fBancoDados, Type_Int,Type_Char,Type_VarChar,Type_Memo ); - fUsersLogged := TUCCadUserLoggedMSG.Create(Nil); - if csDesigning in ComponentState then - IniSettings2(Self); -end; - -destructor TUCSettings.Destroy; -begin - //added by fduenas - FAppMessagesMSG.Free; - FLoginFormMSG.Free; - FUserCommomMSG.Free; - FCadUserFormMSG.Free; - FAddUserFormMSG.Free; - FAddProfileFormMSG.Free; - FPermissFormMSG.Free; - FProfileUserFormMSG.Free; - FTrocaSenhaFormMSG.Free; - FResetPassword.Free; - FLogControlFormMSG.Free; - fUsersLogged.Free; - inherited; -end; - -procedure TUCSettings.SetAppMessagesMSG(const Value: TUCAppMessagesMSG); -begin - FAppMessagesMSG := Value; -end; - -procedure TUCSettings.SetFAddProfileFormMSG(const Value: TUCAddProfileFormMSG); -begin - FAddProfileFormMSG := Value; -end; - -procedure TUCSettings.SetFAddUserFormMSG(const Value: TUCAddUserFormMSG); -begin - FAddUserFormMSG := Value; -end; - -procedure TUCSettings.SetfBancoDados(const Value: TUCTypeBancoDados); -begin - fBancoDados := Value; - RetornaSqlBancoDados( fBancoDados, Type_Int,Type_Char,Type_VarChar,Type_Memo ); -end; - -procedure TUCSettings.SetFCadUserFormMSG(const Value: TUCCadUserFormMSG); -begin - FCadUserFormMSG := Value; -end; - -procedure TUCSettings.SetFFormLoginMsg(const Value: TUCLoginFormMSG); -begin - FLoginFormMSG := Value; -end; - -procedure TUCSettings.SetfLanguage(const Value: TUCLanguage); -begin - fLanguage := Value; - AlterLanguage2(Self); -end; - -procedure TUCSettings.SetFLogControlFormMSG(const Value: TUCLogControlFormMSG); -begin - FLogControlFormMSG := Value; -end; - -procedure TUCSettings.SetFPermissFormMSG(const Value: TUCPermissFormMSG); -begin - FPermissFormMSG := Value; -end; - -procedure TUCSettings.SetFProfileUserFormMSG(const Value: TUCProfileUserFormMSG); -begin - FProfileUserFormMSG := Value; -end; - -procedure TUCSettings.SetFResetPassword(const Value: TUCResetPassword); -begin - FResetPassword := Value; -end; - -procedure TUCSettings.SetFTrocaSenhaFormMSG(const Value: TUCTrocaSenhaFormMSG); -begin - FTrocaSenhaFormMSG := Value; -end; - -procedure TUCSettings.SetFUserCommonMSg(const Value: TUCUserCommonMSG); -begin - FUserCommomMSG := Value; -end; - -procedure TUCSettings.SetfUsersLogged(const Value: TUCCadUserLoggedMSG); -begin - fUsersLogged := Value; -end; - -{$IFDEF DELPHI9_UP} {$ENDREGION} {$ENDIF} - -end. diff --git a/internal/2.31RC1/1/Source/UCXPSettings.pas b/internal/2.31RC1/1/Source/UCXPSettings.pas deleted file mode 100644 index 89ed10d..0000000 --- a/internal/2.31RC1/1/Source/UCXPSettings.pas +++ /dev/null @@ -1,446 +0,0 @@ -{ -Class UCXPSettings: -Based on XPMenu 3.1 for Delphi - -XPMenu for Delphi -Author: Khaled Shagrouni -URL: http://www.shagrouni.com/english/software/xpmenu.html -e-mail: khaled@shagrouni.com - -Version 3.1 - 22.02.2004 - - - -XPMenu is a Delphi component to mimic Office XP menu and toolbar style. -Copyright (C) 2001, 2003 Khaled Shagrouni. - -This component is FREEWARE with source code. I still hold the copyright, but -you can use it for whatever you like: freeware, shareware or commercial software. -If you have any ideas for improvement or bug reports, don't hesitate to e-mail -me (Please state the XPMenu version and OS information). - --------------------------------------------------------------------------------- -changes by QmD 30/11/2003 - qmd@usercontrol.com.br -* Add BitBtnColor / BitBtnSelectColor by QmD 30/11/2003 - qmd@usercontrol.com.br -* BitBtn Button multi-line corrected -* 29/03/2004 - XPmenu 2.21 incorporated in User Control Package. Class renamed to UCXPMenu to prevent conflicts (http://usercontrol.sourceforge.net) - -changes by fduenas 29/12/2004 - fduenas@outm.net, fduenas@flashmail.com -* XPMenu.pas 3.1 Ported to UCXPStyle.pas by Francisco Dueñas fduenas@outm.net. -* File UCXPMenu.pas renamed to UCXPStyle.pas -* Class UCXPSet renamed to UCXPSettings -* File UCXPSet.pas renamed to UCXPSettings.pas - -} -{$IFDEF VER130} -{$DEFINE VER5U} -{$ENDIF} - -{$IFDEF VER140} -{$DEFINE VER5U} -{$DEFINE VER6U} -{$ENDIF} - -{$IFDEF VER150} -{$DEFINE VER5U} -{$DEFINE VER6U} -{$DEFINE VER7U} -{$ENDIF} - -unit UCXPSettings; - -interface -uses - Windows, Messages, SysUtils, Classes, Graphics, Controls, ComCtrls, Forms, - Menus, Commctrl, ExtCtrls, StdCtrls, Buttons; - - type - TUCXPContainer = (xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel, - xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller); - TUCXPContainers = set of TUCXPContainer; - - TUCXPControl = (xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox, - xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox, - xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel, - xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey); - {xcStringGrid, xcDrawGrid, xcDBGrid)} - - TUCXPControls = set of TUCXPControl; - - TUCXPSettings = class(TPersistent) - private - {from UCXPStyle class} - FFont: TFont; - FColor: TColor; - FIconBackColor: TColor; - FMenuBarColor: TColor; - FCheckedColor: TColor; - FSeparatorColor: TColor; - FSelectBorderColor: TColor; - FSelectColor: TColor; - FDisabledColor: TColor; - FSelectFontColor: TColor; - FIconWidth: integer; - FDrawSelect: boolean; - FUseSystemColors: boolean; - FColorsChanged: boolean; // +jt - {END from UCXPStyle class} - - {from UCXPStyle class} - FOverrideOwnerDraw: boolean; - FGradient: boolean; - FFlatMenu: boolean; - FAutoDetect: boolean; - FUCXPContainers: TUCXPContainers; - FUCXPControls: TUCXPControls; - FGrayLevel: byte; - FDimLevel: byte; - FDrawMenuBar: boolean; - FUseDimColor: boolean; - {END from UCXPStyle class} - - FBitBtnColor: TColor; //qmd - - {from UCXPStyle class} - procedure SetFont(const Value: TFont); - procedure SetColor(const Value: TColor); - procedure SetIconBackColor(const Value: TColor); - procedure SetMenuBarColor(const Value: TColor); - procedure SetCheckedColor(const Value: TColor); - procedure SetDisabledColor(const Value: TColor); - procedure SetSelectColor(const Value: TColor); - procedure SetSelectBorderColor(const Value: TColor); - procedure SetSeparatorColor(const Value: TColor); - procedure SetSelectFontColor(const Value: TColor); - procedure SetIconWidth(const Value: integer); - procedure SetDrawSelect(const Value: boolean); - procedure SetUseSystemColors(const Value: boolean); - - procedure SetOverrideOwnerDraw(const Value: boolean); - procedure SetGradient(const Value: boolean); - procedure SetFlatMenu(const Value: boolean); - procedure SetDrawMenuBar(const Value: boolean); - procedure SetUseDimColor(const Value: boolean); - procedure SetAutoDetect(const Value: boolean); - procedure SetUCXPContainers(const Value: TUCXPContainers); - procedure SetUCXPControls(const Value: TUCXPControls); - {END from UCXPStyle class} - procedure SetBitBtnColor( const Value: TColor); - procedure SetColorsChanged(const Value: boolean); - - protected - public - constructor Create(AOwner: TComponent);// override; - procedure Assign(Source: TPersistent);override; - destructor Destroy; override; - published - { from UCXPStyle class} - property DimLevel: Byte read FDimLevel write FDimLevel; - property GrayLevel: Byte read FGrayLevel write FGrayLevel; - property Font: TFont read FFont write SetFont; - property Color: TColor read FColor write SetColor; - property DrawMenuBar: boolean read FDrawMenuBar write SetDrawMenuBar; - property IconBackColor: TColor read FIconBackColor write SetIconBackColor; - property MenuBarColor: TColor read FMenuBarColor write SetMenuBarColor; - property SelectColor: TColor read FSelectColor write SetSelectColor; - property SelectBorderColor: TColor read FSelectBorderColor - write SetSelectBorderColor; - property SelectFontColor: TColor read FSelectFontColor - write SetSelectFontColor; - property DisabledColor: TColor read FDisabledColor write SetDisabledColor; - property SeparatorColor: TColor read FSeparatorColor - write SetSeparatorColor; - property CheckedColor: TColor read FCheckedColor write SetCheckedColor; - property IconWidth: integer read FIconWidth write SetIconWidth; - property DrawSelect: boolean read FDrawSelect write SetDrawSelect; - property UseSystemColors: boolean read FUseSystemColors - write SetUseSystemColors; - property UseDimColor: boolean read FUseDimColor write SetUseDimColor; - property OverrideOwnerDraw: boolean read FOverrideOwnerDraw - write SetOverrideOwnerDraw; - property Gradient: boolean read FGradient write SetGradient; - property FlatMenu: boolean read FFlatMenu write SetFlatMenu; - property AutoDetect: boolean read FAutoDetect write SetAutoDetect; - - property XPContainers: TUCXPContainers read FUCXPContainers write SetUCXPContainers - default [xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel, - xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller]; - property XPControls :TUCXPControls read FUCXPControls write SetUCXPControls - default [xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox, - xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox, - xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel, - xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey]; - {xcStringGrid, xcDrawGrid, xcDBGrid];} - - { END from UCXPStyle class} - property BitBtnColor: TColor read FBitBtnColor write SetBitBtnColor; {qmd} - property ColorsChanged: boolean read FColorsChanged write SetColorsChanged; - - end; - -procedure GetSystemMenuFont(Font: TFont); - -implementation - - -{ TUCXPSettings } - -procedure TUCXPSettings.Assign(Source: TPersistent); -begin - if Source is TUCXPSettings then - begin - {Based on UCXPStyle.Create method} - Self.Font := TUCXPSettings(Source).Font; - Self.Color := TUCXPSettings(Source).Color; - Self.IconBackColor := TUCXPSettings(Source).IconBackColor; - Self.MenuBarColor := TUCXPSettings(Source).MenuBarColor; - Self.CheckedColor := TUCXPSettings(Source).CheckedColor; - Self.SeparatorColor := TUCXPSettings(Source).SeparatorColor; - Self.SelectBorderColor := TUCXPSettings(Source).SelectBorderColor; - Self.SelectColor := TUCXPSettings(Source).SelectColor; - Self.DisabledColor := TUCXPSettings(Source).DisabledColor; - Self.SelectFontColor := TUCXPSettings(Source).SelectFontColor; - Self.IconWidth := TUCXPSettings(Source).IconWidth; - Self.DrawSelect := TUCXPSettings(Source).DrawSelect; - Self.UseSystemColors := TUCXPSettings(Source).UseSystemColors; - - Self.OverrideOwnerDraw := TUCXPSettings(Source).OverrideOwnerDraw; - Self.Gradient := TUCXPSettings(Source).Gradient; - Self.FlatMenu := TUCXPSettings(Source).FlatMenu; - Self.AutoDetect := TUCXPSettings(Source).AutoDetect; - Self.XPContainers := TUCXPSettings(Source).XPContainers; - Self.XPControls := TUCXPSettings(Source).XPControls; - Self.GrayLevel := TUCXPSettings(Source).GrayLevel; - Self.DimLevel := TUCXPSettings(Source).DimLevel; - Self.DrawMenuBar := TUCXPSettings(Source).DrawMenuBar; - Self.UseDimColor := TUCXPSettings(Source).UseDimColor; - {END from UCXPStyle class} - - Self.BitBtnColor := TUCXPSettings(Source).BitBtnColor; //qmd - - - end else inherited; -end; - -constructor TUCXPSettings.Create(AOwner: TComponent); -begin - inherited Create;//(AOwner); -{ if csDesigning in ComponentState then - begin} - {FROM to UCXPSettings} - FFont := TFont.Create; - - {$IFDEF VER5U} - FFont.Assign(Screen.MenuFont); - {$ELSE} - GetSystemMenuFont(FFont); - {$ENDIF} - - FUseSystemColors := true; - - FColor := clBtnFace; - FIconBackColor := clBtnFace; - FSelectColor := clHighlight; - FSelectBorderColor := clHighlight; - FMenuBarColor := clBtnFace; - FDisabledColor := clInactiveCaption; - FSeparatorColor := clBtnFace; - FCheckedColor := clHighlight; - FSelectFontColor := FFont.Color; - FGrayLevel := 10; - FDimLevel := 30; - FIconWidth := 24; - FDrawSelect := true; - XPContainers := [xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel, - xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller]; - XPControls := [xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox, - xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox, - xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel, - xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey]; - {xcStringGrid, xcDrawGrid, xcDBGrid];} - - {END FROM to UCXPSettings} - FBitBtnColor := clBtnFace; -// end; - -end; - - -destructor TUCXPSettings.Destroy; -begin - FreeAndNil(FFont); - inherited; -end; - -{END from UCXPStyle} -procedure TUCXPSettings.SetFont(const Value: TFont); -begin - FFont.Assign(Value); - //Windows.DrawMenuBar(FForm.Handle); - -end; - -procedure TUCXPSettings.SetColor(const Value: TColor); -begin - FColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPSettings.SetIconBackColor(const Value: TColor); -begin - FIconBackColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPSettings.SetMenuBarColor(const Value: TColor); -begin - FMenuBarColor := Value; - FColorsChanged := true; // +jt - //Windows.DrawMenuBar(FForm.Handle); -end; - -procedure TUCXPSettings.SetCheckedColor(const Value: TColor); -begin - FCheckedColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPSettings.SetSeparatorColor(const Value: TColor); -begin - FSeparatorColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPSettings.SetSelectBorderColor(const Value: TColor); -begin - FSelectBorderColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPSettings.SetSelectColor(const Value: TColor); -begin - FSelectColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPSettings.SetDisabledColor(const Value: TColor); -begin - FDisabledColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPSettings.SetSelectFontColor(const Value: TColor); -begin - FSelectFontColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPSettings.SetIconWidth(const Value: integer); -begin - FIconWidth := Value; -end; - -procedure TUCXPSettings.SetDrawSelect(const Value: boolean); -begin - FDrawSelect := Value; -end; - -procedure TUCXPSettings.SetOverrideOwnerDraw(const Value: boolean); -begin - FOverrideOwnerDraw := Value; - { - if FActive then - Active := True; - } -end; - -procedure TUCXPSettings.SetUseSystemColors(const Value: boolean); -begin - FUseSystemColors := Value; - {Windows.DrawMenuBar(FForm.Handle);} -end; - -procedure TUCXPSettings.SetGradient(const Value: boolean); -begin - FGradient := Value; -end; - -procedure TUCXPSettings.SetFlatMenu(const Value: boolean); -begin - FFlatMenu := Value; -end; - -procedure TUCXPSettings.SetUCXPContainers(const Value: TUCXPContainers); -begin - if Value <> FUCXPContainers then - begin - {if FActive then - begin - FActive := false; - InitItems(FForm, false, true); - FActive := true; - FUCXPContainers := Value; - InitItems(FForm, true, true); - end;} - end; - FUCXPContainers := Value; - -end; - -procedure TUCXPSettings.SetUCXPControls(const Value: TUCXPControls); -begin - if Value <> FUCXPControls then - begin - { if FActive then - begin - FActive := false; - InitItems(FForm, false, true); - FActive := true; - FUCXPControls := Value; - InitItems(FForm, true, true); - end;} - end; - FUCXPControls := Value; - -end; - -procedure TUCXPSettings.SetDrawMenuBar(const Value: boolean); -begin - FDrawMenuBar := Value; -end; - -procedure TUCXPSettings.SetUseDimColor(const Value: boolean); -begin - FUseDimColor := Value; -end; - -procedure TUCXPSettings.SetAutoDetect(const Value: boolean); -begin - FAutoDetect := Value; -end; -{END from UCXPStyle} -procedure TUCXPSettings.SetBitBtnColor( const Value: TColor); -begin - FBitBtnColor := Value; -end; - -procedure TUCXPSettings.SetColorsChanged(const Value: boolean); -begin - FColorsChanged := Value; -end; - -//generic -procedure GetSystemMenuFont(Font: TFont); -var - FNonCLientMetrics: TNonCLientMetrics; -begin - FNonCLientMetrics.cbSize := Sizeof(TNonCLientMetrics); - if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @FNonCLientMetrics,0) then - begin - Font.Handle := CreateFontIndirect(FNonCLientMetrics.lfMenuFont); - Font.Color := clMenuText; - end; -end; - - -end. diff --git a/internal/2.31RC1/1/Source/UCXPStyle.pas b/internal/2.31RC1/1/Source/UCXPStyle.pas deleted file mode 100644 index 694f11b..0000000 --- a/internal/2.31RC1/1/Source/UCXPStyle.pas +++ /dev/null @@ -1,5183 +0,0 @@ -{ -Class UCXPStyle: -Based on XPMenu 3.1 for Delphi - - -XPMenu for Delphi -Author: Khaled Shagrouni -URL: http://www.shagrouni.com/english/software/xpmenu.html -e-mail: khaled@shagrouni.com - -Version 3.1 - 22.02.2004 - - - -XPMenu is a Delphi component to mimic Office XP menu and toolbar style. -Copyright (C) 2001, 2003 Khaled Shagrouni. - -This component is FREEWARE with source code. I still hold the copyright, but -you can use it for whatever you like: freeware, shareware or commercial software. -If you have any ideas for improvement or bug reports, don't hesitate to e-mail -me (Please state the XPMenu version and OS information). - --------------------------------------------------------------------------------- -changes by QmD 30/11/2003 - qmd@usercontrol.com.br -* Add BitBtnColor / BitBtnSelectColor by QmD 30/11/2003 - qmd@usercontrol.com.br -* BitBtn Button multi-line corrected -* 29/03/2004 - XPmenu 2.21 incorporated in User Control Package. Class renamed to UCXPMenu to prevent conflicts (http://usercontrol.sourceforge.net) - -changes by fduenas 29/12/2004 - fduenas@outm.net, fduenas@flashmail.com -* XPMenu.pas 3.1 Ported to UCXPStyle.pas by Francisco Dueñas fduenas@outm.net. -* File UCXPMenu.pas renamed to UCXPStyle.pas -* Class UCXPSet renamed to UCXPSettings -* File UCXPSet.pas renamed to UCXPSettings.pas -} - -{$IFDEF VER130} -{$DEFINE VER5U} -{$ENDIF} - -{$IFDEF VER140} -{$DEFINE VER5U} -{$DEFINE VER6U} -{$ENDIF} - -{$IFDEF VER150} -{$DEFINE VER5U} -{$DEFINE VER6U} -{$DEFINE VER7U} -{$ENDIF} - -unit UCXPStyle; - -interface - -uses - Windows, Messages, SysUtils, Classes, Graphics, Controls, ComCtrls, Forms, - Menus, Commctrl, ExtCtrls, StdCtrls, Buttons, UCXPSettings, UCBase, UCSettings; - -type - { moved to UCXPSettings.pas and renamed TXP* to TUCXP* - TXPContainer = (xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel, - xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller); - TXPContainers = set of TXPContainer; - - TXPControl = (xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox, - xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox, - xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel, - xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey); - {xcStringGrid, xcDrawGrid, xcDBGrid); - } - - - TUCAboutXpStyleVar=String[10]; - - TUCXPStyle = class; - - TControlSubClass = class(TComponent) //: "Fabian Jakubowski" - private - Control: TControl; - FBuilding: boolean; - FMouseInControl: boolean; - FLButtonBressed: boolean; - FBressed: boolean; - FIsKeyDown: boolean; - FIsFocused: boolean; - orgWindowProc: TWndMethod; - FXPStyle: TUCXPStyle; - FCtl3D: boolean; - FBorderStyle: TBorderStyle; - {FOnDrawCell: TDrawCellEvent;} - FDefaultDrawing: boolean; - FSelCol, FSelRow: integer; - FMsg: Cardinal; - procedure ControlSubClass(var Message: TMessage); - procedure PaintControlXP; - procedure PaintCombo; - procedure PaintDBLookupCombo; - procedure PaintEdit; - procedure PaintRichEdit; - procedure PaintCheckBox; - procedure PaintRadio; - procedure PaintButton; - procedure PaintBitButn; - procedure PaintUpDownButton; - procedure PaintSpeedButton; - procedure PaintPanel; - procedure PaintGroupBox; - procedure PaintNCWinControl; - procedure PaintProgressBar; - procedure PaintHotKey; - end; - - TUCXPStyle = class(TComponent) - private - FActive: boolean; - {Changes MMK FForm to TScrollingWinControl} - FForm: TScrollingWinControl; - - {moved to UCXPsettings - FFont: TFont; - FColor: TColor; - FIconBackColor: TColor; - FMenuBarColor: TColor; - FCheckedColor: TColor; - FSeparatorColor: TColor; - FSelectBorderColor: TColor; - FSelectColor: TColor; - FDisabledColor: TColor; - FSelectFontColor: TColor; - FIconWidth: integer; - FDrawSelect: boolean; - FUseSystemColors: boolean; - FColorsChanged: boolean; // +jt - } - - FFColor, FFIconBackColor, FFSelectColor, FFSelectBorderColor, - FFSelectFontColor, FCheckedAreaColor, FCheckedAreaSelectColor, - FFCheckedColor, FFMenuBarColor, FFDisabledColor, FFSeparatorColor, - FMenuBorderColor, FMenuShadowColor: TColor; - - Is16Bit: boolean; - { moved to UCXPSettings.pas - FOverrideOwnerDraw: boolean; - FGradient: boolean; - FFlatMenu: boolean; - FAutoDetect: boolean; - FUCXPContainers: TUCXPContainers; - FUCXPControls: TUCXPControls; - FGrayLevel: byte; - FDimLevel: byte; - FDrawMenuBar: boolean; - FUseDimColor: boolean; - } - - FDimParentColor, FDimParentColorSelect: integer; - - FAutoDetect: boolean; - // FUseParentClor: boolean; - - FSettingWindowRng: boolean; - FIsW2k: boolean; - FIsWXP: boolean; - FIsWNT: boolean; -// FTransparentColor: TColor; - // Do not allow the component to be used for subclassing - FDisableSubclassing: boolean; - - FUCSettings: TUCSettings; - FUCXPSettings: TUCXPSettings; - FUCAboutXpStyleVar: TUCAboutXpStyleVar; {+qmd} - - procedure SetDisableSubclassing(const Value: boolean); - - procedure SetActive(const Value: boolean); - - procedure SetForm(const Value: TScrollingWinControl); - { moved to UCXPSettings - procedure SetFont(const Value: TFont); - procedure SetColor(const Value: TColor); - procedure SetIconBackColor(const Value: TColor); - procedure SetMenuBarColor(const Value: TColor); - procedure SetCheckedColor(const Value: TColor); - procedure SetDisabledColor(const Value: TColor); - procedure SetSelectColor(const Value: TColor); - procedure SetSelectBorderColor(const Value: TColor); - procedure SetSeparatorColor(const Value: TColor); - procedure SetSelectFontColor(const Value: TColor); - procedure SetIconWidth(const Value: integer); - procedure SetDrawSelect(const Value: boolean); - procedure SetUseSystemColors(const Value: boolean); - procedure SetOverrideOwnerDraw(const Value: boolean); - procedure SetGradient(const Value: boolean); - procedure SetFlatMenu(const Value: boolean); - procedure SetUCXPContainers(const Value: TUCXPContainers); - procedure SetUCXPControls(const Value: TUCXPControls); - procedure SetDrawMenuBar(const Value: boolean); - procedure SetUseDimColor(const Value: boolean); - } - - procedure SetUCSettings(const Value: TUCSettings); {+qmd} - protected - procedure Loaded; override; //add by Cunha, liyang. - procedure InitItems(wForm: TWinControl; Enable, Update: boolean); - procedure InitItem(Comp: TComponent; Enable, Update: boolean); // Tom: "Thomas Knoblauch" 27.08 - procedure DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; - Selected: Boolean); - procedure MenueDrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; - Selected: Boolean); - {$IFDEF VER5U} - procedure ToolBarDrawButton(Sender: TToolBar; Button: TToolButton; State: TCustomDrawState; var DefaultDraw: Boolean); - {$ENDIF} - procedure ControlBarPaint(Sender: TObject; Control: TControl; - Canvas: TCanvas; var ARect: TRect; var Options: TBandPaintOptions); - - procedure SetGlobalColor(ACanvas: TCanvas); - procedure DrawTopMenuItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; - BckColor:Tcolor; IsRightToLeft: boolean); - procedure DrawCheckedItem(FMenuItem: TMenuItem; Selected, Enabled, - HasImgLstBitmap: boolean; ACanvas: TCanvas; CheckedRect: TRect); - procedure DrawTheText(Sender: TObject; txt, ShortCuttext: string; - ACanvas: TCanvas; TextRect: TRect; - Selected, Enabled, Default, TopMenu, IsRightToLeft: boolean; - var TxtFont: TFont; TextFormat: integer); - procedure DrawIcon(Sender: TObject; ACanvas: TCanvas; B: TBitmap; - IconRect: Trect; Hot, Selected, Enabled, Checked, FTopMenu, - IsRightToLeft: boolean); - - procedure MeasureItem(Sender: TObject; ACanvas: TCanvas; - var Width, Height: Integer); - - //function GetImageExtent(MenuItem: TMenuItem): TPoint; - function GetImageExtent(MenuItem: TMenuItem; FTopMenu: TMenu): TPoint; // +jt - function TopMenuFontColor(ACanvas: TCanvas; Color: TColor): TColor; - procedure DrawGradient(ACanvas: TCanvas; ARect: TRect; - IsRightToLeft: boolean); - - procedure DrawWindowBorder(hWnd: HWND; IsRightToLeft: boolean); - - procedure Notification(AComponent: TComponent; - AOperation: TOperation); override; - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure InitComponent(Comp: TComponent); // Tom: Added for usage by the main program ."Thomas Knoblauch" 27.08 - procedure ActivateMenuItem(MenuItem: TMenuItem; SubMenus: boolean); // +jt - property Form: TScrollingWinControl read FForm write SetForm;// +jt - property IsWXP: boolean read FIsWXP; - property IsW2k: boolean read FIsW2k; - property IsWNT: boolean read FIsWNT; -{ property TransparentColor: TColor read FTransparentColor write FTransparentColor;} published {moved to UCXPSettings - property DimLevel: Byte read FDimLevel write FDimLevel; - property GrayLevel: Byte read FGrayLevel write FGrayLevel; - property Font: TFont read FFont write SetFont; - property Color: TColor read FColor write SetColor; - property DrawMenuBar: boolean read FDrawMenuBar write SetDrawMenuBar; - property IconBackColor: TColor read FIconBackColor write SetIconBackColor; - property MenuBarColor: TColor read FMenuBarColor write SetMenuBarColor; - property SelectColor: TColor read FSelectColor write SetSelectColor; - property SelectBorderColor: TColor read FSelectBorderColor - write SetSelectBorderColor; - property SelectFontColor: TColor read FSelectFontColor - write SetSelectFontColor; - property DisabledColor: TColor read FDisabledColor write SetDisabledColor; - property SeparatorColor: TColor read FSeparatorColor - write SetSeparatorColor; - property CheckedColor: TColor read FCheckedColor write SetCheckedColor; - property IconWidth: integer read FIconWidth write SetIconWidth; - property DrawSelect: boolean read FDrawSelect write SetDrawSelect; - property UseSystemColors: boolean read FUseSystemColors - write SetUseSystemColors; - property UseDimColor: boolean read FUseDimColor write SetUseDimColor; - property OverrideOwnerDraw: boolean read FOverrideOwnerDraw - write SetOverrideOwnerDraw; - - property Gradient: boolean read FGradient write SetGradient; - property FlatMenu: boolean read FFlatMenu write SetFlatMenu; - property AutoDetect: boolean read FAutoDetect write SetAutoDetect; - - property XPContainers: TUCXPContainers read FUCXPContainers write SetUCXPContainers - default [xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel, - xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller]; - property XPControls :TUCXPControls read FUCXPControls write SetUCXPControls - default [xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox, - xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox, - xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel, - xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey]; - {xcStringGrid, xcDrawGrid, xcDBGrid]; - } - property About: TUCAboutXpStyleVar read FUCAboutXpStyleVar write FUCAboutXpStyleVar; - property Active: boolean read FActive write SetActive; - property DisableSubclassing: boolean read FDisableSubclassing write SetDisablesubclassing - default false; - property XPSettings : TUCXPSettings read FUCXPSettings write FUCXPSettings; - property UCSettings : TUCSettings read FUCSettings write SetUCSettings; - end; - - TUCXPStyleManager = class(TPersistent) - private - FXPStyleList: TList; - FPendingFormsList: TList; - FFormList: TList; - FActiveXPStyle: TUCXPStyle; - FDisableSubclassing: boolean; - - function MainWindowHook(var Message: TMessage): boolean; - procedure CollectForms; - procedure RemoveChildSubclassing(AForm: TCustomForm); - procedure SetDisableSubclassing(AValue: boolean); - function FindSubclassingXPStyle(Exclude: TUCXPStyle): TUCXPStyle; - - protected - procedure Notification(AComponent: TComponent; - AOperation: TOperation); - - public - constructor Create; - destructor Destroy; override; - procedure Add(AXPStyle: TUCXPStyle); - procedure Delete(AXPStyle: TUCXPStyle); - procedure UpdateActiveXPStyle(AXPStyle: TUCXPStyle); - procedure AddForm(AForm: TCustomForm); - procedure RemoveForm(AForm: TCustomForm); - function IsFormSubclassed(AForm: TCustomForm): boolean; - function IsComponentSubclassed(AComponent: TComponent): boolean; - - property ActiveXPStyle: TUCXPStyle read FActiveXPStyle; - property DisableSubclassing: boolean read FDisableSubclassing write SetDisableSubclassing - default false; - end; - -function GetShadeColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor; -function MergColor(Colors: Array of TColor): TColor; -function NewColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor; -procedure DimBitmap(ABitmap: TBitmap; Value: integer); - -procedure DrawArrow(ACanvas: TCanvas; X, Y: integer); overload; -procedure DrawArrow(ACanvas: TCanvas; X, Y, Orientation: integer); overload; -function GrayColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor; -function GetInverseColor(AColor: TColor): TColor; - -procedure GrayBitmap(ABitmap: TBitmap; Value: integer); -procedure DrawBitmapShadow(B: TBitmap; ACanvas: TCanvas; X, Y: integer; ShadowColor: TColor); -procedure DrawCheckMark(ACanvas: TCanvas; X, Y: integer); - -procedure GetSystemMenuFont(Font: TFont); -//procedure Register; - -const - WM_DRAWMENUBORDER = CN_NOTIFY + 101; // +jt - WM_DRAWMENUBORDER2 = CN_NOTIFY + 102; // +jt - -// Gloabal access to the UCXPStyleManager -var - UCXPStyleManager: TUCXPStyleManager; - -implementation - -{ moved to UCReg.pas -procedure Register; -begin - RegisterComponents('XP', [TUCXPStyle]); -end; -} -// Set up the global variable that represents the UCXPStyleManager -procedure InitControls; -begin - //added by fduenas - if (csDesigning in Application.ComponentState) then - exit; - - if (Not assigned(UCXPStyleManager)) or - (UCXPStyleManager = nil) then - UCXPStyleManager := TUCXPStyleManager.Create; -end; - -// Delete the global variable that represents the UCXPStyleManager -procedure DoneControls; -begin - FreeAndNil(UCXPStyleManager); - { - if (UCXPStyleManager <> nil) then - begin - UCXPStyleManager.Free; - UCXPStyleManager := nil; - end; - } -end; - -// Test if mouse cursor is in the given rect of the application's main form -function IsMouseInRect(TheForm: TScrollingWinControl; DestRect: TRect): boolean; -var - p: TPoint; - -begin - - if Assigned(TheForm) then - begin - p := Mouse.CursorPos; - p.x := p.x - TheForm.Left; - p.y := p.y - TheForm.Top; - - Dec(DestRect.Right); - Dec(DestRect.Bottom, 2); - Result := (p.x >= DestRect.Left) and (p.x <= DestRect.Right) and - (p.y >= DestRect.Top) and (p.y <= DestRect.Bottom); - end - else Result := false; -end; - -{ TUCXPStyle } - -constructor TUCXPStyle.Create(AOwner: TComponent); -var - OSVersionInfo: TOSVersionInfo; // +jt -begin - inherited Create(AOwner); - {moved to UCXPSettings - FFont := TFont.Create; - } - FDisableSubclassing := false; // enable XPStyle to be used for global subclassing - -{moved to UCXPSettings - {$IFDEF VER5U - FFont.Assign(Screen.MenuFont); - {$ELSE - GetSystemMenuFont(FFont); - {$ENDIF -} - - FForm := (Owner as TScrollingWinControl); - FUCXPSettings := TUCXPSettings.create(self); //added by fduenas - {moved to UCXPSettings - FUseSystemColors := true; - - FColor := clBtnFace; - FIconBackColor := clBtnFace; - FSelectColor := clHighlight; - FSelectBorderColor := clHighlight; - FMenuBarColor := clBtnFace; - FDisabledColor := clInactiveCaption; - FSeparatorColor := clBtnFace; - FCheckedColor := clHighlight; - FSelectFontColor := FFont.Color; - FGrayLevel := 10; - FDimLevel := 30; - FIconWidth := 24; - FDrawSelect := true; - UCXPContainers := [xccForm, xccFrame, xccToolbar, xccCoolbar, xccControlbar, xccPanel, - xccScrollBox, xccGroupBox, xccTabSheet, xccPageScroller]; - UCXPControls := [xcMainMenu, xcPopupMenu, xcToolbar, xcControlbar, xcCombo, xcListBox, - xcEdit, xcMaskEdit, xcMemo, xcRichEdit, xcMiscEdit, xcCheckBox, - xcRadioButton, xcButton, xcBitBtn, xcSpeedButton, xcUpDown, xcPanel, - xcGroupBox, xcTreeView, xcListView, xcProgressBar, xcHotKey]; - {xcStringGrid, xcDrawGrid, xcDBGrid]; - - } - if Assigned(FForm) then - SetGlobalColor(TForm(FForm).Canvas); - -// +jt -// FTransparentColor := clFuchsia; - FUCXPSettings.ColorsChanged := false; - OSVersionInfo.dwOSVersionInfoSize := sizeof(OSVersionInfo); - GetVersionEx(OSVersionInfo); - FIsWXP:=false; - FIsW2k:=false; - FIsWNT:=false; - if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then - begin - FIsWNT:=true; - if (OSVersionInfo.dwMajorVersion = 5) and (OSVersionInfo.dwMinorVersion = 0) then FIsW2k:=true; - if (OSVersionInfo.dwMajorVersion = 5) and (OSVersionInfo.dwMinorVersion = 1) then FIsWXP:=true; - end; // +jt - - {moved to initialization section - if not(csDesigning in ComponentState) then - InitControls - else - exit; - } - if FActive then - Self.Active := FActive; - - //if FForm.Handle <> 0 then - // Windows.DrawMenuBar(FForm.Handle); -end; - -destructor TUCXPStyle.Destroy; -begin - if Assigned(FForm) then //oleg oleg@vdv-s.ru Mon Oct 7 - InitItems(FForm, false, false); - -// Remove XPStyle from UCXPStyleManager - if Assigned(UCXPStyleManager) and not(csDesigning in ComponentState) then - begin - UCXPStyleManager.Delete(Self); - FForm.Update; - {moved to finalization section - if UCXPStyleManager.FXPStyleList.Count = 0 then - DoneControls; - } - end; - - //FFont.Free; moved to TCXPSettings - FreeAndNil(FUCXPSettings); {added by fduenas} - inherited Destroy; -end; - -//add by: -//liyang ,2002-07-19 -//Pedro Miguel Cunha - 02 Apr 2002 -procedure TUCXPStyle.Loaded; -begin - inherited Loaded; - -// Add the XPStyle to the UCXPStyleManager - if Assigned(UCXPStyleManager) and not(csDesigning in ComponentState) then - UCXPStyleManager.Add(Self); -end; - -{to check for new sub items} -procedure TUCXPStyle.ActivateMenuItem(MenuItem: TMenuItem; SubMenus: boolean); // +jt - - procedure Activate(MenuItem: TMenuItem); - begin - if (MenuItem.Tag <> 999) then - if addr(MenuItem.OnDrawItem) <> addr(TUCXPStyle.DrawItem) then - begin - if (not assigned(MenuItem.OnDrawItem)) or (FUCXPSettings.OverrideOwnerDraw) then - MenuItem.OnDrawItem := DrawItem; - if (not assigned(MenuItem.OnMeasureItem)) or (FUCXPSettings.OverrideOwnerDraw) then - MenuItem.OnMeasureItem := MeasureItem; - end - end; - -var - i{, j}: integer; -begin - - Activate(MenuItem); - if (SubMenus=true) then // +jt - begin - for i := 0 to MenuItem.Count -1 do - begin - ActivateMenuItem(MenuItem.Items[i],true); - end; - end; -end; - -procedure TUCXPStyle.InitItems(wForm: TWinControl; Enable, Update: boolean ); -var - i: integer; - Comp: TComponent; -begin - for i := 0 to wForm.ComponentCount - 1 do - begin - Comp := wForm.Components[i]; - InitItem(Comp, Enable, Update); // Tom: "Thomas Knoblauch" 27.08 - end; -end; - -procedure TUCXPStyle.InitComponent(Comp: TComponent); // Tom: for external (by the main program) use without parameters. "Thomas Knoblauch" 27.08 -begin - if FActive then InitItem(Comp, true, true); -end; - - - -// Tom: "Thomas Knoblauch" 27.08 -procedure TUCXPStyle.InitItem(Comp: TComponent; Enable, Update: boolean ); - procedure Activate(MenuItem: TMenuItem); - begin - if Enable then - begin - if (MenuItem.Tag <> 999) then - begin - if (not assigned(MenuItem.OnDrawItem)) or (FUCXPSettings.OverrideOwnerDraw) then - MenuItem.OnDrawItem := DrawItem; - if (not assigned(MenuItem.OnMeasureItem)) or (FUCXPSettings.OverrideOwnerDraw) then - MenuItem.OnMeasureItem := MeasureItem; - end; - end - else - begin - if addr(MenuItem.OnDrawItem) = addr(TUCXPStyle.DrawItem) then - MenuItem.OnDrawItem := nil; - if addr(MenuItem.OnMeasureItem) = addr(TUCXPStyle.MeasureItem) then - MenuItem.OnMeasureItem := nil; - end; - end; - - procedure ItrateMenu(MenuItem: TMenuItem); - var - i: integer; - begin - Activate(MenuItem); - for i := 0 to MenuItem.Count - 1 do - begin - ItrateMenu(MenuItem.Items[i]); - end; - end; - -var - x: integer; - s: string; - -begin - if (Comp is TMainMenu) and (xcMainMenu in FUCXPSettings.XPControls) and (TMainMenu(Comp).Tag <> 999)then - begin - for x := 0 to TMainMenu(Comp).Items.Count - 1 do - begin - TMainMenu(Comp).OwnerDraw := Enable; - //Activate(TMainMenu(Comp).Items[x]); - ItrateMenu(TMainMenu(Comp).Items[x]); - end; - // Selly way to force top menu in other forms to repaint - S := TMainMenu(Comp).Items[0].Caption; - TMainMenu(Comp).Items[0].Caption := ''; - TMainMenu(Comp).Items[0].Caption := S; - end; - - if (Comp is TPopupMenu) and (xcPopupMenu in FUCXPSettings.XPControls) then - begin - for x := 0 to TPopupMenu(Comp).Items.Count - 1 do - begin - TPopupMenu(Comp).OwnerDraw := Enable; - ItrateMenu(TPopupMenu(Comp).Items[x]); - - end; - end; - - {$IFDEF VER5U} - if (Comp is TToolBar) and (xcToolBar in FUCXPSettings.XPControls) then - if not (csDesigning in ComponentState) then - begin - if not TToolBar(Comp).Flat then - TToolBar(Comp).Flat := true; - - if Enable then - begin - for x := 0 to TToolBar(Comp).ButtonCount - 1 do - if (not assigned(TToolBar(Comp).OnCustomDrawButton)) - or (FUCXPSettings.OverrideOwnerDraw) then - begin - TToolBar(Comp).OnCustomDrawButton := - ToolBarDrawButton; - - end; - end - else - begin - if addr(TToolBar(Comp).OnCustomDrawButton) = - addr(TUCXPStyle.ToolBarDrawButton) then - TToolBar(Comp).OnCustomDrawButton := nil; - end; - if Update then - TToolBar(Comp).Invalidate; - end; - {$ENDIF} - - if (Comp is TControlBar) and (xcControlBar in FUCXPSettings.XPControls) then - if not (csDesigning in ComponentState) then - begin - if Enable then - begin - if (not assigned(TControlBar(Comp).OnBandPaint)) - or (FUCXPSettings.OverrideOwnerDraw) then - begin - TControlBar(Comp).OnBandPaint := ControlBarPaint; - end; - end - else - begin - if addr(TControlBar(Comp).OnBandPaint) = - addr(TUCXPStyle.ControlBarPaint) then - TControlBar(Comp).OnBandPaint := nil; - end; - if Update then - TControlBar(Comp).Invalidate; - end; - - if not (csDesigning in ComponentState) then - if {$IFDEF VER6U} - ((Comp is TCustomCombo) and (xcCombo in FUCXPSettings.XPControls)) or - ((Comp is TCustomLabeledEdit) and (xcEdit in FUCXPSettings.XPControls)) or - - {$ELSE} - ((Comp is TCustomComboBox) and (xcCombo in FUCXPSettings.XPControls)) or - {$ENDIF} - ((Comp is TEdit) and (xcEdit in FUCXPSettings.XPControls)) or - ((Comp.ClassName = 'TMaskEdit') and (xcMaskEdit in FUCXPSettings.XPControls)) or - ((Comp.ClassName = 'TDBEdit') and (xcMaskEdit in FUCXPSettings.XPControls)) or - ((Comp is TCustomMemo) and (xcMemo in FUCXPSettings.XPControls)) or - ((Comp is TCustomRichEdit) and (xcRichEdit in FUCXPSettings.XPControls)) or - ((Comp is TCustomCheckBox) and (xcCheckBox in FUCXPSettings.XPControls)) or - ((Comp is TRadioButton) and (xcRadioButton in FUCXPSettings.XPControls)) or - ((Comp.ClassName = 'TBitBtn') and (xcBitBtn in FUCXPSettings.XPControls)) or - ((Comp.ClassName = 'TButton') and (xcButton in FUCXPSettings.XPControls)) or - ((Comp.ClassName = 'TUpDown') and (xcUpDown in FUCXPSettings.XPControls)) or - ((Comp is TSpeedButton) and (xcSpeedButton in FUCXPSettings.XPControls)) or - ((Comp is TCustomPanel) and (xcPanel in FUCXPSettings.XPControls)) or - ((Comp.ClassName = 'TDBNavigator') and (xcButton in FUCXPSettings.XPControls)) or - ((Comp.ClassName = 'TDBLookupComboBox') and (xcButton in FUCXPSettings.XPControls)) or - ((Comp is TCustomGroupBox) and (xcGroupBox in FUCXPSettings.XPControls)) or - ((Comp is TCustomListBox) and (xcListBox in FUCXPSettings.XPControls)) or - ((Comp is TCustomTreeView) and (xcTreeView in FUCXPSettings.XPControls)) or - ((Comp is TCustomListView) and (xcListView in FUCXPSettings.XPControls)) or - ((Comp is TProgressBar) and (xcProgressBar in FUCXPSettings.XPControls)) or - ((Comp is TCustomHotKey) and (xcHotKey in FUCXPSettings.XPControls)) - then - if ((TControl(Comp).Parent is TToolbar) and (xccToolBar in FUCXPSettings.XPContainers))or - ((TControl(Comp).Parent is TCoolbar) and (xccCoolbar in FUCXPSettings.XPContainers)) or - ((TControl(Comp).Parent is TCustomPanel) and (xccPanel in FUCXPSettings.XPContainers)) or - ((TControl(Comp).Parent is TControlbar) and (xccControlbar in FUCXPSettings.XPContainers)) or - ((TControl(Comp).Parent is TScrollBox) and (xccScrollBox in FUCXPSettings.XPContainers)) or - ((TControl(Comp).Parent is TCustomGroupBox) and (xccGroupBox in FUCXPSettings.XPContainers)) or - ((TControl(Comp).Parent is TTabSheet) and (xccTabSheet in FUCXPSettings.XPContainers)) or - ((TControl(Comp).Parent is TTabControl) and (xccTabSheet in FUCXPSettings.XPContainers)) or - ((TControl(Comp).Parent.ClassName = 'TdxTabSheet') and (xccTabSheet in FUCXPSettings.XPContainers)) or //DeveloperExpress - ((TControl(Comp).Parent is TPageScroller) and (xccPageScroller in FUCXPSettings.XPContainers)) or - {$IFDEF VER5U} - ((TControl(Comp).Parent is TCustomFrame) and (xccFrame in FUCXPSettings.XPContainers)) or - {$ENDIF} - ((TControl(Comp).Parent.ClassName = 'TDBCtrlPanel') and (xccFrame in FUCXPSettings.XPContainers)) or - ((TControl(Comp).Parent is TCustomForm) and (xccForm in FUCXPSettings.XPContainers)) - - - then - begin - if (Enable) and (Comp.Tag <> 999) and (TControl(Comp).Parent.Tag <> 999) then - {skip if Control/Control.parent.tag = 999} - with TControlSubClass.Create(Self) do - begin - Control := TControl(Comp); - if Addr(Control.WindowProc) <> Addr(TControlSubClass.ControlSubClass) then - begin - orgWindowProc := Control.WindowProc; - Control.WindowProc := ControlSubClass; - end; - FXPStyle := self; - - if (Control is TCustomEdit) then - begin - FCtl3D := TEdit(Control).Ctl3D; - FBorderStyle := TRichEdit(Control).BorderStyle; - end; - if Control.ClassName = 'TDBLookupComboBox' then - begin - FCtl3D := TComboBox(Control).Ctl3D; - end; - if (Control is TCustomListBox) then - begin - FCtl3D := TListBox(Control).Ctl3D; - FBorderStyle := TListBox(Control).BorderStyle; - end; - if (Control is TCustomListView) then begin - FCtl3D := TListView(Control).Ctl3D; - FBorderStyle := TListView(Control).BorderStyle; - end; - if (Control is TCustomTreeView) then begin - FCtl3D := TTreeView(Control).Ctl3D; - FBorderStyle := TTreeView(Control).BorderStyle; - end; - - end; - - if Update then - begin - TControl(Comp).invalidate //in TControlSubClass.ControlSubClass - end; - - end; - - // Recursive call for possible containers. - - - // Do recursive call for RadioGroups - if (((Comp is TCustomRadioGroup)) and (xccGroupBox in FUCXPSettings.XPContainers)) then - self.InitItems(Comp as TWinControl, Enable, Update); - - - if {$IFDEF VER5U}((Comp is TCustomFrame) and (xccFrame in FUCXPSettings.XPContainers)) - or {$ENDIF}(Comp.ClassName = 'TDBNavigator') - or (Comp is TCustomForm) then //By Geir Wikran - self.InitItems(Comp as TWinControl, Enable, Update); - - -end; - -procedure TUCXPStyle.DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; - Selected: Boolean); -begin - try //"Steve Rice" - if FActive then - MenueDrawItem(Sender, ACanvas, ARect, Selected); - except - end; -end; - -function TUCXPStyle.GetImageExtent(MenuItem: TMenuItem; FTopMenu: TMenu): TPoint; -var - HasImgLstBitmap: boolean; - B: TBitmap; -begin - B := TBitmap.Create; - try - B.Width := 0; - B.Height := 0; - Result.x := 0; - Result.Y := 0; - HasImgLstBitmap := false; -// +jt - if Assigned(FTopMenu) then - begin - if FTopMenu.Images <> nil then - if MenuItem.ImageIndex <> -1 then - HasImgLstBitmap := true; - end; - if (MenuItem.Parent.GetParentMenu.Images <> nil) - {$IFDEF VER5U} - or (MenuItem.Parent.SubMenuImages <> nil) - {$ENDIF} - then - begin - if MenuItem.ImageIndex <> -1 then - HasImgLstBitmap := true - else - HasImgLstBitmap := false; - end; - - if HasImgLstBitmap then - begin - {$IFDEF VER5U} - if MenuItem.Parent.SubMenuImages <> nil then - MenuItem.Parent.SubMenuImages.GetBitmap(MenuItem.ImageIndex, B) - else - {$ENDIF} - MenuItem.Parent.GetParentMenu.Images.GetBitmap(MenuItem.ImageIndex, B) - end - else - if MenuItem.Bitmap.Width > 0 then - B.Assign(TBitmap(MenuItem.Bitmap)); - - Result.x := B.Width; - Result.Y := B.Height; - - if not Assigned(FTopMenu) then // +jt - if Result.x < FUCXPSettings.IconWidth then - Result.x := FUCXPSettings.IconWidth; - finally - B.Free; - end; -end; - -procedure TUCXPStyle.MeasureItem(Sender: TObject; ACanvas: TCanvas; - var Width, Height: Integer); -var - s: string; - W, H: integer; - P: TPoint; - IsLine: boolean; - FTopMenu: boolean; // +jt - FMenu: TMenu; // +jt - i: integer; // +jt -begin - - FTopMenu:=false; //+jt - if FActive then - begin - S := TMenuItem(Sender).Caption; - - if S = '-' then IsLine := true else IsLine := false; - if IsLine then - S := ''; - - if Trim(ShortCutToText(TMenuItem(Sender).ShortCut)) <> '' then - S := S + ShortCutToText(TMenuItem(Sender).ShortCut) + 'WWW'; - - ACanvas.Font.Assign(FUCXPSettings.Font); - W := ACanvas.TextWidth(s); - Inc(W, 5); - if pos('&', s) > 0 then - W := W - ACanvas.TextWidth('&'); - -// +jt - FMenu := TMenuItem(Sender).Parent.GetParentMenu; - if FMenu is TMainMenu then - begin - for i := 0 to TMenuItem(Sender).GetParentMenu.Items.Count - 1 do - if TMenuItem(Sender).GetParentMenu.Items[i] = TMenuItem(Sender) then - begin - FTopMenu := True; - break; - end - end; - if not FTopMenu then FMenu := nil; - if(not FTopMenu) and (TMenuItem(Sender).Count>0) then Inc(W,6); // +jt -// +jt - - P := GetImageExtent(TMenuItem(Sender), FMenu); // +jt - W := W + P.x ; - - - if Width < W then - Width := W; - - if IsLine then - Height := 4 - else - begin - H := ACanvas.TextHeight(s) + Round(ACanvas.TextHeight(s) * 0.75); - if P.y + 6 > H then - H := P.y + 6; - - if Height < H then - Height := H; - end; - end; - -end; - -procedure TUCXPStyle.MenueDrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; - Selected: Boolean); -var - txt: string; - B: TBitmap; - IconRect, TextRect, CheckedRect: TRect; - FillRect: TRect; // +jt - i, X1, X2: integer; - TextFormat: integer; - HasImgLstBitmap: boolean; - HasBitmap: boolean; - FMenuItem: TMenuItem; - FMenu: TMenu; - FTopMenu: boolean; - IsLine: boolean; - ImgListHandle: HImageList; {Commctrl.pas} - ImgIndex: integer; - hWndM: HWND; - hDcM: HDC; - DrawTopMenuBorder: boolean; - msg: TMSG; // +jt - buff: TBitmap; // +jt - OrigRect: TRect; // +jt - OrigCanvas: TCanvas; // +jt - FFontSettings: TFont; -begin - - - OrigCanvas:= nil; - - FTopMenu := false; - FMenuItem := TMenuItem(Sender); - -// +jt - B := TBitmap.Create; - buff := TBitmap.Create; - try - origrect:= ARect; - Dec(origrect.Left,4); - origcanvas:=ACanvas; - ARect.Right:=(ARect.Right-ARect.Left)+4; - ARect.Bottom:=ARect.Bottom-ARect.Top; - ARect.Left:=4; - ARect.Top:=0; - buff.Width := ARect.Right; - buff.Height := ARect.Bottom; - ACanvas:=buff.Canvas; // +jt - //SetGlobalColor(ACanvas); - - if FMenuItem.Caption = '-' then IsLine := true else IsLine := false; - - FMenu := FMenuItem.Parent.GetParentMenu; - - if FMenu is TMainMenu then - for i := 0 to FMenuItem.GetParentMenu.Items.Count - 1 do - if FMenuItem.GetParentMenu.Items[i] = FMenuItem then - begin - FTopMenu := True; - // +jt - ARect.Left:=0; - Inc(origrect.Left,4); - Dec(ARect.Right,4); - buff.Width:=ARect.Right; - Dec(ARect.Bottom,1); // +jt - break; - end; - if(FUCXPSettings.ColorsChanged) then SetGlobalColor(ACanvas); // +jt - - ACanvas.Font.Assign(FUCXPSettings.Font); - - Inc(ARect.Bottom, 1); - TextRect := ARect; - txt := ' ' + FMenuItem.Caption; - -// B := TBitmap.Create; //Leslie Cutting lesnes@absamail.co.za Jul 8 2003 - HasBitmap := false; - HasImgLstBitmap := false; - - - if (FMenuItem.Parent.GetParentMenu.Images <> nil) - {$IFDEF VER5U} - or (FMenuItem.Parent.SubMenuImages <> nil) - {$ENDIF} - then - begin - if FMenuItem.ImageIndex <> -1 then - HasImgLstBitmap := true - else - HasImgLstBitmap := false; - end; - - if FMenuItem.Bitmap.Width > 0 then - HasBitmap := true; - - //------- - if HasBitmap then - begin - B.Width := FMenuItem.Bitmap.Width; - B.Height := FMenuItem.Bitmap.Height; - // +jt - //B.Canvas.Brush.Color := FTransparentColor; // ACanvas.Brush.Color; - B.Canvas.Brush.Color := B.Canvas.Pixels[0, B.Height - 1];//"Todd Asher" - B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height)); - FMenuItem.Bitmap.Transparent := true; - FMenuItem.Bitmap.TransparentMode := tmAuto; - B.Canvas.Draw(0,0,FMenuItem.Bitmap); // +jt - end; - - - if HasImgLstBitmap then - begin - {$IFDEF VER5U} - if FMenuItem.Parent.SubMenuImages <> nil then - begin - ImgListHandle := FMenuItem.Parent.SubMenuImages.Handle; - ImgIndex := FMenuItem.ImageIndex; - - B.Width := FMenuItem.Parent.SubMenuImages.Width; - B.Height := FMenuItem.Parent.SubMenuImages.Height; - // B.Canvas.Brush.Color := FTransparentColor; // ACanvas.Brush.Color; // +jt - B.Canvas.Brush.Color := B.Canvas.Pixels[0, B.Height - 1];//"Todd Asher" - B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height)); - ImageList_DrawEx(ImgListHandle, ImgIndex, - B.Canvas.Handle, 0, 0, 0, 0, clNone, clNone, ILD_Transparent); - - end - else - {$ENDIF} - if FMenuItem.Parent.GetParentMenu.Images <> nil then - begin - ImgListHandle := FMenuItem.Parent.GetParentMenu.Images.Handle; - ImgIndex := FMenuItem.ImageIndex; - - B.Width := FMenuItem.Parent.GetParentMenu.Images.Width; - B.Height := FMenuItem.Parent.GetParentMenu.Images.Height; - //B.Canvas.Brush.Color := FTransparentColor; //ACanvas.Pixels[2,2]; // +jt - B.Canvas.Brush.Color := B.Canvas.Pixels[0, B.Height - 1];//"Todd Asher" - B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height)); - ImageList_DrawEx(ImgListHandle, ImgIndex, - B.Canvas.Handle, 0, 0, 0, 0, clNone, clNone, ILD_Transparent); - - end; - - end; - - //----- - - if FMenu.IsRightToLeft then - begin - X1 := ARect.Right - FUCXPSettings.IconWidth; - X2 := ARect.Right; - end - else - begin - X1 := ARect.Left; - X2 := ARect.Left + FUCXPSettings.IconWidth; - end; - IconRect := Rect(X1, ARect.Top, X2, ARect.Bottom); - - - if HasImgLstBitmap or HasBitmap then - begin - CheckedRect := IconRect; - Inc(CheckedRect.Left, 1); - Inc(CheckedRect.Top, 2); - Dec(CheckedRect.Right, 3); - Dec(CheckedRect.Bottom, 2); - end - else - begin - CheckedRect.Left := IconRect.Left + - (IConRect.Right - IconRect.Left - 10) div 2; - CheckedRect.Top := IconRect.Top + - (IConRect.Bottom - IconRect.Top - 10) div 2; - CheckedRect.Right := CheckedRect.Left + 10; - CheckedRect.Bottom := CheckedRect.Top + 10; - end; - - if B.Width > FUCXPSettings.IconWidth then - if FMenu.IsRightToLeft then - CheckedRect.Left := CheckedRect.Right - B.Width - else - CheckedRect.Right := CheckedRect.Left + B.Width; - - if FTopMenu then Dec(CheckedRect.Top, 1); - - - if FMenu.IsRightToLeft then - begin - X1 := ARect.Left; - if not FTopMenu then - Dec(X2, FUCXPSettings.IconWidth) - else - Dec(X2, 4); - if (ARect.Right - B.Width) < X2 then - X2 := ARect.Right - B.Width - 8; - end - else - begin - X1 := ARect.Left ; - if not FTopMenu then - Inc(X1, FUCXPSettings.IconWidth) - else - Inc(X1, 4); - - if (ARect.Left + B.Width) > X1 then - X1 := ARect.Left + B.Width + 4; - X2 := ARect.Right; - end; - - TextRect := Rect(X1, ARect.Top, X2, ARect.Bottom); - // +jt - FillRect := ARect; - Dec(FillRect.Left,4); // +jt - - if FTopMenu then - begin - if not (HasImgLstBitmap or HasBitmap) then - begin - TextRect := ARect; - end - else - begin - if FMenu.IsRightToLeft then - TextRect.Right := TextRect.Right + 5 - else - TextRect.Left := TextRect.Left - 5; - end - - end; - - if FTopMenu then - begin - if FUCXPSettings.DrawMenuBar then - FFMenuBarColor := FUCXPSettings.MenuBarColor; - ACanvas.brush.color := FFMenuBarColor; - ACanvas.Pen.Color := FFMenuBarColor; - // Inc(ARect.Bottom, 2); - ACanvas.FillRect(ARect); - - //-- - if FUCXPSettings.DrawMenuBar then - begin - if FMenuItem.GetParentMenu.Items[FMenuItem.GetParentMenu.Items.Count-1] = - FMenuItem then - begin - if FMenu.IsRightToLeft then - ACanvas.Rectangle(3, ARect.Top, ARect.Right, ARect.Bottom) - else - ACanvas.Rectangle(ARect.Left, ARect.Top, TScrollingWinControl(FMenu.Owner).ClientWidth+5{FForm.ClientWidth+5}, - ARect.Bottom); - end - else - if FMenu.IsRightToLeft then - ACanvas.Rectangle(ARect.Left, ARect.Top, ARect.Right+7, ARect.Bottom); - end; - //-- - end - else - begin - if (Is16Bit and FUCXPSettings.Gradient) then - begin - inc(ARect.Right,2); //needed for RightToLeft - DrawGradient(ACanvas, ARect, FMenu.IsRightToLeft); - Dec(ARect.Right,2); - - end - else - begin - ACanvas.brush.color := FFColor; - ACanvas.FillRect(FillRect); // +jt - ACanvas.brush.color := FFIconBackColor; - ACanvas.FillRect(IconRect); - end; - - - //------------ - end; - - - if FMenuItem.Enabled then - ACanvas.Font.Color := FUCXPSettings.Font.Color - else - ACanvas.Font.Color := FUCXPSettings.DisabledColor; - - DrawTopMenuBorder := false; - if Selected and FUCXPSettings.DrawSelect then - begin - ACanvas.brush.Style := bsSolid; - if FTopMenu then - begin - DrawTopMenuItem(FMenuItem, ACanvas, ARect, FUCXPSettings.MenuBarColor, FMenu.IsRightToLeft); - end - else - if FMenuItem.Enabled then - begin - Inc(ARect.Top, 1); - Dec(ARect.Bottom, 1); - if FUCXPSettings.FlatMenu then - Dec(ARect.Right, 1); - ACanvas.brush.color := FFSelectColor; - ACanvas.FillRect(ARect); - ACanvas.Pen.color := FFSelectBorderColor; - ACanvas.Brush.Style := bsClear; - ACanvas.RoundRect(Arect.Left, Arect.top, Arect.Right, Arect.Bottom, 0, 0); - Dec(ARect.Top, 1); - Inc(ARect.Bottom, 1); - if FUCXPSettings.FlatMenu then - Inc(ARect.Right, 1); - end; - DrawTopMenuBorder := true; - end - - // Draw the menubar in XP Style when hovering over an main menu item - else - begin - //if FMenuItem.Enabled and FTopMenu and IsMouseInRect( TScrollingWinControl(FMenu.Owner), ARect) then - if FMenuItem.Enabled and FTopMenu and IsWNT and - IsMouseInRect( TScrollingWinControl(FMenu.Owner), origrect) then // +jt - begin - ACanvas.brush.Style := bsSolid; - ACanvas.brush.color := FFSelectColor; - DrawTopMenuBorder := true; - ACanvas.Pen.color := FFSelectBorderColor; - ACanvas.Rectangle(ARect.Left, ARect.Top, ARect.Right - 7, ARect.Bottom); - end; - end; - - - if (FMenuItem.Checked) or (FMenuItem.RadioItem ) then //x - DrawCheckedItem(FMenuItem, Selected, FMenuItem.Enabled, HasImgLstBitmap or HasBitmap, - ACanvas, CheckedRect); - - if (B <> nil) and (B.Width > 0) then // X - DrawIcon(FMenuItem, ACanvas, B, IconRect, - Selected or DrawTopMenuBorder, False, FMenuItem.Enabled, FMenuItem.Checked, - FTopMenu, FMenu.IsRightToLeft); - - - - if not IsLine then - begin - - if FMenu.IsRightToLeft then - begin - TextFormat := DT_RIGHT + DT_RTLREADING; - Dec(TextRect.Right, 3); - end - else - begin - TextFormat := 0; - Inc(TextRect.Left, 3); - end; - TextRect.Top := TextRect.Top + - ((TextRect.Bottom - TextRect.Top) - ACanvas.TextHeight('W')) div 2; - FFontSettings := FUCXPSettings.Font; - DrawTheText(FMenuItem, txt, ShortCutToText(FMenuItem.ShortCut), - ACanvas, TextRect, - Selected, FMenuItem.Enabled, FMenuItem.Default, - FTopMenu, FMenu.IsRightToLeft, FFontSettings, TextFormat); - FUCXPSettings.Font := FFontSettings; - end - else - begin - if FMenu.IsRightToLeft then - begin - X1 := TextRect.Left; - X2 := TextRect.Right - 7; - end - else - begin - X1 := TextRect.Left + 7; - X2 := TextRect.Right; - end; - - ACanvas.Pen.Color := FFSeparatorColor; - ACanvas.MoveTo(X1, - TextRect.Top + - Round((TextRect.Bottom - TextRect.Top) / 2)); - ACanvas.LineTo(X2, - TextRect.Top + - Round((TextRect.Bottom - TextRect.Top) / 2)) - end; - - // +jt - BitBlt(origcanvas.Handle,origrect.Left,origrect.Top,buff.Width,buff.Height,ACanvas.Handle,0,0,SRCCOPY); - finally - B.free; - buff.free; - ACanvas := OrigCanvas; - ARect:=origrect; - end; // +jt - if not (csDesigning in ComponentState) then - begin - if (FUCXPSettings.FlatMenu) and (not FTopMenu) then - begin - hDcM := ACanvas.Handle; - hWndM := WindowFromDC(hDcM); -// +jt - if (hWndM=0) and (Application.Handle<>0) then - begin - if not PeekMessage(msg,Application.Handle,WM_DRAWMENUBORDER,WM_DRAWMENUBORDER2,PM_NOREMOVE) then - PostMessage(Application.Handle,WM_DRAWMENUBORDER,0,Integer(FMenuItem)); - end - else - if hWndM <> FForm.Handle then - begin - if not PeekMessage(msg,Application.Handle,WM_DRAWMENUBORDER,WM_DRAWMENUBORDER2,PM_NOREMOVE) then - PostMessage(Application.Handle,WM_DRAWMENUBORDER2,integer(FMenu.IsRightToLeft),Integer(hWndM)); - end; - end; - end; - -//----- - -end; - -{$IFDEF VER5U} -procedure TUCXPStyle.ToolBarDrawButton(Sender: TToolBar; - Button: TToolButton; State: TCustomDrawState; var DefaultDraw: Boolean); - -var - ACanvas: TCanvas; - - ARect, HoldRect: TRect; - B: TBitmap; - HasBitmap: boolean; - {Sylvain ...} - HasHotBitMap : Boolean; - HasDisBitMap : Boolean; - ImglstHand : THandle; - CanDraw : Boolean; - {... Sylvain} - BitmapWidth: integer; - TextFormat: integer; - XButton: TToolButton; - HasBorder: boolean; - HasBkg: boolean; - IsTransparent: boolean; - FBSelectColor: TColor; - FFontSettings: TFont; {fduenas} - procedure DrawBorder; - var - BRect, WRect: TRect; - procedure DrawRect; - begin - ACanvas.Pen.color := FFSelectBorderColor; - ACanvas.MoveTo(WRect.Left, WRect.Top); - ACanvas.LineTo(WRect.Right, WRect.Top); - ACanvas.LineTo(WRect.Right, WRect.Bottom); - ACanvas.LineTo(WRect.Left, WRect.Bottom); - ACanvas.LineTo(WRect.Left, WRect.Top); - end; - - begin - BRect := HoldRect; - Dec(BRect.Bottom, 1); - Inc(BRect.Top, 1); - Dec(BRect.Right, 1); - - WRect := BRect; - if Button.Style = tbsDropDown then - begin - Dec(WRect.Right, 13); - DrawRect; - - WRect := BRect; - Inc(WRect.Left, WRect.Right - WRect.Left - 13); - DrawRect; - end - else - begin - - DrawRect; - end; - end; - -begin - - B := nil; - - {Added By Sylvain ...} - HasHotBitmap := (Sender.HotImages <> nil) and - (Button.ImageIndex <> -1) and - (Button.ImageIndex <= Sender.HotImages.Count - 1); - - - HasDisBitmap := (Sender.DisabledImages <> nil) and - (Button.ImageIndex <> -1) and - (Button.ImageIndex <= Sender.DisabledImages.Count - 1); - {...Sylvain} - - HasBitmap := (Sender.Images <> nil) and - (Button.ImageIndex <> -1) and - (Button.ImageIndex <= Sender.Images.Count - 1); - - - IsTransparent := Sender.Transparent; - - ACanvas := Sender.Canvas; - - //SetGlobalColor(ACanvas); - if (FUCXPSettings.ColorsChanged) then SetGlobalColor(ACanvas); // +jt - - if (Is16Bit) and (not FUCXPSettings.UseSystemColors) then - FBSelectColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 68) - else - FBSelectColor := FFSelectColor; - - - HoldRect := Button.BoundsRect; - - ARect := HoldRect; - - if Is16Bit then - ACanvas.brush.color := NewColor(ACanvas, Sender.Color, 16) - else - ACanvas.brush.color := Sender.Color; - - if not IsTransparent then - ACanvas.FillRect(ARect); - - HasBorder := false; - HasBkg := false; - - if (cdsHot in State) then - begin - if (cdsChecked in State) or (Button.Down) or (cdsSelected in State) then - ACanvas.Brush.Color := FCheckedAreaSelectColor - else - ACanvas.brush.color := FBSelectColor; - HasBorder := true; - HasBkg := true; - end; - - if ((cdsChecked in State) and not (cdsHot in State)) then - begin - ACanvas.Brush.Color := FCheckedAreaColor; - HasBorder := true; - HasBkg := true; - end; - - if (cdsIndeterminate in State) and not (cdsHot in State) then - begin - ACanvas.Brush.Color := FBSelectColor; - HasBkg := true; - end; - - - if (Button.MenuItem <> nil) and (State = []) then - begin - ACanvas.brush.color := Sender.Color; - if not IsTransparent then - HasBkg := true; - end; - - - Inc(ARect.Top, 1); - - - - if HasBkg then - ACanvas.FillRect(ARect); - - if HasBorder then - DrawBorder; - - - if ((Button.MenuItem <> nil) or (Button.DropdownMenu <> nil)) - and (cdsSelected in State) then - begin - DrawTopMenuItem(Button, ACanvas, ARect, Sender.Color ,false); - DefaultDraw := false; - end; - - ARect := HoldRect; - DefaultDraw := false; - - - if Button.Style = tbsDropDown then - begin - ACanvas.Pen.Color := clBlack; - DrawArrow(ACanvas, (ARect.Right - 14) + ((14 - 5) div 2), - ARect.Top + ((ARect.Bottom - ARect.Top - 3) div 2) + 1); - end; - - BitmapWidth := 0; -{ Rem by Sylvain ... - if HasBitmap then - begin -... Sylvain} - try - B := TBitmap.Create; - CanDraw := False; - ImglstHand:=0; - if (cdsHot in State) AND HasHotBitmap then - begin - B.Width := Sender.HotImages.Width; - B.Height := Sender.HotImages.Height; - ImglstHand := Sender.HotImages.Handle; - CanDraw := True; - end - else if (cdsDisabled in State) and HasDisBitmap then - begin - B.Width := Sender.DisabledImages.Width; - B.Height := Sender.DisabledImages.Height; - ImglstHand := Sender.DisabledImages.Handle; - CanDraw := True; - end - else if HasBitMap then - begin - B.Width := Sender.Images.Width; - B.Height := Sender.Images.Height; - ImglstHand := Sender.Images.Handle; - CanDraw := True; - end; - if CanDraw then - begin {CanDraw} - // B.Canvas.Brush.Color := TransparentColor; // ACanvas.Brush.Color; // +jt - B.Canvas.Brush.Color := B.Canvas.Pixels[0, B.Height - 1];//"Todd Asher" - B.Canvas.FillRect(Rect(0, 0, B.Width, B.Height)); - ImageList_DrawEx(ImglstHand, Button.ImageIndex, - B.Canvas.Handle, 0, 0, 0, 0, clNone, clNone, ILD_Transparent); - - BitmapWidth := b.Width; - - if Button.Style = tbsDropDown then - Dec(ARect.Right, 12); - - - if TToolBar(Button.Parent).List then - begin - - if Button.BiDiMode = bdRightToLeft then - begin - Dec(ARect.Right, 3); - ARect.Left := ARect.Right - BitmapWidth; - - end - else - begin - Inc(ARect.Left, 3); - ARect.Right := ARect.Left + BitmapWidth - end - - - end - else - ARect.Left := Round(ARect.Left + (ARect.Right - ARect.Left - B.Width)/2); - - inc(ARect.Top, 2); - ARect.Bottom := ARect.Top + B.Height + 6; - - DrawIcon(Button, ACanvas, B, ARect, (cdsHot in State), - (cdsSelected in State), Button.Enabled, (cdsChecked in State), false, - false); - - end; {CanDraw} - finally - B.Free; - end; - ARect := HoldRect; - DefaultDraw := false; -{rem by sylvain ... - end; -...Sylvain} -//----------- - - if Sender.ShowCaptions then - begin - - if Button.Style = tbsDropDown then - Dec(ARect.Right, 12); - - - if not TToolBar(Button.Parent).List then - begin - TextFormat := DT_Center; - - ARect.Top := ARect.Bottom - ACanvas.TextHeight(Button.Caption) - 6; - end - else - begin - TextFormat := DT_VCENTER; - if Button.BiDiMode = bdRightToLeft then - begin - TextFormat := TextFormat + DT_Right; - Dec(ARect.Right, BitmapWidth + 7); - end - else - begin - if BitmapWidth > 0 then //"Dan Downs" - if Sender.List then //Michaël Moreno - Inc(ARect.Left, BitmapWidth + 6) - else - Inc(ARect.Left, BitmapWidth); - end - - end; - - if (Button.MenuItem <> nil) then - begin - TextFormat := DT_Center; - //Inc(ARect.Left, 1); - end; - - if Button.BiDiMode = bdRightToLeft then - TextFormat := TextFormat + DT_RTLREADING; - - if Button.Down and not Button.Enabled then //"felix" 23/5 - InflateRect(ARect, -1, -1); - - {alexs alexs75@hotbox.ru} - ARect.Top := ARect.Top + ((ARect.Bottom - ARect.Top) - ACanvas.TextHeight('W')) div 2; - FFontSettings := FUCXPSettings.Font; - DrawTheText(Button, Button.Caption, '', - ACanvas, ARect, - (cdsSelected in State), Button.Enabled, false, - (Button.MenuItem <> nil), - (Button.BidiMode = bdRightToLeft), FFontSettings, TextFormat); - FUCXPSettings.Font := FFontSettings; - ARect := HoldRect; - DefaultDraw := false; - end; - - - if Button.Index > 0 then - begin - XButton := {TToolBar(Button.Parent)}Sender.Buttons[Button.Index - 1]; - if (XButton.Style = tbsDivider) or (XButton.Style = tbsSeparator) then - begin - ARect := XButton.BoundsRect; - if Is16Bit then - ACanvas.brush.color := NewColor(ACanvas, Sender.Color, 16) - else - ACanvas.brush.color := Sender.Color; - - if not IsTransparent then - ACanvas.FillRect(ARect); - // if (XButton.Style = tbsDivider) then // Can't get it. - if XButton.Tag > 0 then - begin - Inc(ARect.Top, 2); - Dec(ARect.Bottom, 1); - - ACanvas.Pen.color := GetShadeColor(ACanvas,Sender.Color,30); - ARect.Left := ARect.Left + (ARect.Right - ARect.Left) div 2; - ACanvas.MoveTo(ARect.Left, ARect.Top); - ACanvas.LineTo(ARect.Left, ARect.Bottom); - - end; - ARect := Button.BoundsRect; - DefaultDraw := false; - end; - - end; - - {if Button.MenuItem <> nil then - if (xcMainMenu in UCXPControls) then - ActivateMenuItem(Button.MenuItem);} -end; -{$ENDIF} - -// Controlbar Paint. Added by Michiel van Oudheusden (27 sep 2001) -// Paints the bands of a controlbar like the office XP style -procedure TUCXPStyle.ControlBarPaint(Sender: TObject; Control: TControl; - Canvas: TCanvas; var ARect: TRect; var Options: TBandPaintOptions); -var - i: Integer; - intInc: integer; -begin - - if(FUCXPSettings.ColorsChanged) then SetGlobalColor(Canvas); // +jt - // No frame and grabber drawing. We do it ourselfes - Options := []; - - // First background - - if Is16Bit then - Canvas.brush.color := NewColor(Canvas, TControlBar(Sender).Color , 6) - else - Canvas.brush.color := TControlBar(Sender).Color; - - Canvas.FillRect(ARect); - - intInc := 30; - for i := (ARect.Top + 5) to (ARect.Bottom - 5)do - begin - Canvas.Pen.Color := GetShadeColor(Canvas, TControlBar(Sender).Color, intInc); - if i mod 2 = 0 then - begin - Canvas.MoveTo(ARect.Left + 3, i); - Canvas.LineTo(ARect.Left + 6, i); - Inc(intInc, 7); - end; - end; - -end; - -procedure TUCXPStyle.SetGlobalColor(ACanvas: TCanvas); -begin -//----- - FUCXPSettings.ColorsChanged:=false; // +jt - - if GetDeviceCaps(ACanvas.Handle, BITSPIXEL) < 16 then - Is16Bit := false - else - Is16Bit := true; - - - FDimParentColor := 16; - FDimParentColorSelect := 40; - - FFColor := FUCXPSettings.Color; - FFIconBackColor := FUCXPSettings.IconBackColor; - - if Is16Bit then - begin - if FUCXPSettings.UseDimColor then - begin - FFSelectColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 68); - FCheckedAreaColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 80); - FCheckedAreaSelectColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 50); - end - else - begin - FFSelectColor := FUCXPSettings.SelectColor; - FCheckedAreaColor := FUCXPSettings.SelectColor; - FCheckedAreaSelectColor := FUCXPSettings.SelectColor; - end; - - FMenuBorderColor := GetShadeColor(ACanvas, clBtnFace, 90); - FMenuShadowColor := GetShadeColor(ACanvas, clBtnFace, 76); - end - else - begin - FFSelectColor := FUCXPSettings.SelectColor; - FCheckedAreaColor := clWhite; - FCheckedAreaSelectColor := clSilver; - FMenuBorderColor := clBtnShadow; - FMenuShadowColor := clBtnShadow; - end; - - FFSelectBorderColor := FUCXPSettings.SelectBorderColor; - FFSelectFontColor := FUCXPSettings.SelectFontColor; - FFMenuBarColor := FUCXPSettings.MenuBarColor; - FFDisabledColor := FUCXPSettings.DisabledColor; - FFCheckedColor := FUCXPSettings.CheckedColor; - FFSeparatorColor := FUCXPSettings.SeparatorColor; - - - - if FUCXPSettings.UseSystemColors then - begin -// GetSystemMenuFont(FUCXPSettings.Font); - FFSelectFontColor := FUCXPSettings.Font.Color; - if not Is16Bit then - begin - FFColor := clWhite; - FFIconBackColor := clBtnFace; - FFSelectColor := clWhite; - FFSelectBorderColor := clHighlight; - FFMenuBarColor := FFIconBackColor; - FFDisabledColor := clBtnShadow; - FFCheckedColor := clHighlight; - FFSeparatorColor := clBtnShadow; - FCheckedAreaColor := clWhite; - FCheckedAreaSelectColor := clWhite; - - end - else - begin - FFColor := NewColor(ACanvas, clBtnFace, 86); - FFIconBackColor := NewColor(ACanvas, clBtnFace, 16); - FFSelectColor := NewColor(ACanvas, clHighlight, 68); - FFSelectBorderColor := clHighlight; - FFMenuBarColor := clBtnFace; - - FFDisabledColor := NewColor(ACanvas, clBtnShadow, 10); - FFSeparatorColor := NewColor(ACanvas, clBtnShadow, 25); - FFCheckedColor := clHighlight; - FCheckedAreaColor := NewColor(ACanvas, clHighlight, 80); - FCheckedAreaSelectColor := NewColor(ACanvas, clHighlight, 50); - - end; - end; - -end; - -procedure TUCXPStyle.DrawTopMenuItem(Sender: TObject; ACanvas: TCanvas; - ARect: TRect; BckColor:Tcolor; IsRightToLeft: boolean); -var - X1, X2: integer; - DefColor, HoldColor: TColor; -begin - X1 := ARect.Left; - X2 := ARect.Right; - - - ACanvas.brush.Style := bsSolid; - ACanvas.brush.color := FFSelectColor; - - ACanvas.FillRect(ARect); - ACanvas.Pen.Color := FFSelectBorderColor; - - if (not IsRightToLeft) and (Is16Bit) and (Sender is TMenuItem) then - begin - ACanvas.MoveTo(X1, ARect.Bottom - 1); - ACanvas.LineTo(X1, ARect.Top); - ACanvas.LineTo(X2 - 8, ARect.Top); - ACanvas.LineTo(X2 - 8, ARect.Bottom); -// ACanvas.LineTo(X1, ARect.Bottom); - - DefColor := FFMenuBarColor; - - - HoldColor := GetShadeColor(ACanvas, DefColor, 10); - ACanvas.Brush.Style := bsSolid; - ACanvas.Brush.Color := HoldColor; - ACanvas.Pen.Color := HoldColor; - - ACanvas.FillRect(Rect(X2 - 7, ARect.Top, X2, ARect.Bottom)); - - HoldColor := GetShadeColor(ACanvas, DefColor, 30); - ACanvas.Brush.Color := HoldColor; - ACanvas.Pen.Color := HoldColor; - ACanvas.FillRect(Rect(X2 - 7, ARect.Top + 3, X2 - 2, ARect.Bottom)); - - HoldColor := GetShadeColor(ACanvas, DefColor, 40 + 20); - ACanvas.Brush.Color := HoldColor; - ACanvas.Pen.Color := HoldColor; - ACanvas.FillRect(Rect(X2 - 7, ARect.Top + 5, X2 - 3, ARect.Bottom)); - - HoldColor := GetShadeColor(ACanvas, DefColor, 60 + 40); - ACanvas.Brush.Color := HoldColor; - ACanvas.Pen.Color := HoldColor; - ACanvas.FillRect(Rect(X2 - 7, ARect.Top + 6, X2 - 5, ARect.Bottom)); - - //--- - - ACanvas.Pen.Color := DefColor; - ACanvas.MoveTo(X2 - 5, ARect.Top + 1); - ACanvas.LineTo(X2 - 1, ARect.Top + 1); - ACanvas.LineTo(X2 - 1, ARect.Top + 6); - - ACanvas.MoveTo(X2 - 3, ARect.Top + 2); - ACanvas.LineTo(X2 - 2, ARect.Top + 2); - ACanvas.LineTo(X2 - 2, ARect.Top + 3); - ACanvas.LineTo(X2 - 3, ARect.Top + 3); - - - - ACanvas.Pen.Color := GetShadeColor(ACanvas, DefColor, 10); - ACanvas.MoveTo(X2 - 6, ARect.Top + 3); - ACanvas.LineTo(X2 - 3, ARect.Top + 3); - ACanvas.LineTo(X2 - 3, ARect.Top + 6); - ACanvas.LineTo(X2 - 4, ARect.Top + 6); - ACanvas.LineTo(X2 - 4, ARect.Top + 3); - - ACanvas.Pen.Color := GetShadeColor(ACanvas, DefColor, 30); - ACanvas.MoveTo(X2 - 5, ARect.Top + 5); - ACanvas.LineTo(X2 - 4, ARect.Top + 5); - ACanvas.LineTo(X2 - 4, ARect.Top + 9); - - ACanvas.Pen.Color := GetShadeColor(ACanvas, DefColor, 40); - ACanvas.MoveTo(X2 - 6, ARect.Top + 5); - ACanvas.LineTo(X2 - 6, ARect.Top + 7); - - end - else - begin - - ACanvas.Pen.Color := FFSelectBorderColor; - ACanvas.Brush.Color := GetShadeColor(ACanvas, BckColor, 70); - - ACanvas.MoveTo(X1, ARect.Bottom - 1); - ACanvas.LineTo(X1, ARect.Top); - ACanvas.LineTo(X2 - 3, ARect.Top); - ACanvas.LineTo(X2 - 3, ARect.Bottom); - - - ACanvas.Pen.Color := ACanvas.Brush.Color; - ACanvas.FillRect(Rect(X2 - 2, ARect.Top + 2, X2, ARect.Bottom)); - - ACanvas.Brush.Color := BckColor; - ACanvas.FillRect(Rect(X2 - 2, ARect.Top , X2, ARect.Top + 2)); - - - end; - -end; - - -procedure TUCXPStyle.DrawCheckedItem(FMenuItem: TMenuItem; Selected, Enabled, - HasImgLstBitmap: boolean; ACanvas: TCanvas; CheckedRect: TRect); -var - X1, X2: integer; -begin - if FMenuItem.RadioItem then - begin - if FMenuItem.Checked then - begin - if Enabled then - begin - ACanvas.Pen.color := FFSelectBorderColor; - if selected then - ACanvas.Brush.Color := FCheckedAreaSelectColor - else - ACanvas.Brush.Color := FCheckedAreaColor; - end - else - ACanvas.Pen.color := FFDisabledColor; - - ACanvas.Brush.Style := bsSolid; - if HasImgLstBitmap then - begin - ACanvas.RoundRect(CheckedRect.Left, CheckedRect.Top, - CheckedRect.Right, CheckedRect.Bottom, - 6, 6); - end - else - begin - ACanvas.Ellipse(CheckedRect.Left, CheckedRect.Top, - CheckedRect.Right, CheckedRect.Bottom); -// +jt - InflateRect(CheckedRect, -2, -2); - ACanvas.Brush.color := ACanvas.Pen.Color; - ACanvas.Ellipse(CheckedRect.Left, CheckedRect.Top, - CheckedRect.Right, CheckedRect.Bottom); // +jt - end; - end; - end - else - begin - if (FMenuItem.Checked) then - if (not HasImgLstBitmap) then - begin - if Enabled then - begin - ACanvas.Pen.color := FFCheckedColor; - if selected then - ACanvas.Brush.Color := FCheckedAreaSelectColor - else - ACanvas.Brush.Color := FCheckedAreaColor; ; - end - else - ACanvas.Pen.color := FFDisabledColor; - - ACanvas.Brush.Style := bsSolid; - ACanvas.Rectangle(CheckedRect.Left, CheckedRect.Top, - CheckedRect.Right, CheckedRect.Bottom); - if Enabled then - ACanvas.Pen.color := clBlack - else - ACanvas.Pen.color := FFDisabledColor; - x1 := CheckedRect.Left + 1; - x2 := CheckedRect.Top + 5; - ACanvas.MoveTo(x1, x2); - - x1 := CheckedRect.Left + 4; - x2 := CheckedRect.Bottom - 2; - ACanvas.LineTo(x1, x2); - //-- - x1 := CheckedRect.Left + 2; - x2 := CheckedRect.Top + 5; - ACanvas.MoveTo(x1, x2); - - x1 := CheckedRect.Left + 4; - x2 := CheckedRect.Bottom - 3; - ACanvas.LineTo(x1, x2); - //-- - x1 := CheckedRect.Left + 2; - x2 := CheckedRect.Top + 4; - ACanvas.MoveTo(x1, x2); - - x1 := CheckedRect.Left + 5; - x2 := CheckedRect.Bottom - 3; - ACanvas.LineTo(x1, x2); - //----------------- - - x1 := CheckedRect.Left + 4; - x2 := CheckedRect.Bottom - 3; - ACanvas.MoveTo(x1, x2); - - x1 := CheckedRect.Right + 2; - x2 := CheckedRect.Top - 1; - ACanvas.LineTo(x1, x2); - //-- - x1 := CheckedRect.Left + 4; - x2 := CheckedRect.Bottom - 2; - ACanvas.MoveTo(x1, x2); - - x1 := CheckedRect.Right - 2; - x2 := CheckedRect.Top + 3; - ACanvas.LineTo(x1, x2); - - end - else - begin - - - if Enabled then - begin - ACanvas.Pen.color := FFSelectBorderColor; - if selected then - ACanvas.Brush.Color := FCheckedAreaSelectColor - else - ACanvas.Brush.Color := FCheckedAreaColor; ; - end - else - ACanvas.Pen.color := FFDisabledColor; - - ACanvas.Brush.Style := bsSolid; - ACanvas.Rectangle(CheckedRect.Left, CheckedRect.Top, - CheckedRect.Right, CheckedRect.Bottom); - end; - end; - -end; - -procedure TUCXPStyle.DrawTheText(Sender: TObject; txt, ShortCuttext: string; - ACanvas: TCanvas; TextRect: TRect; - Selected, Enabled, Default, TopMenu, IsRightToLeft: boolean; - var TxtFont: TFont; TextFormat: integer); -var - DefColor: TColor; - B: TBitmap; - BRect: TRect; -begin - TextFormat := TextFormat + DT_EXPANDTABS; - DefColor := TxtFont.Color; - - ACanvas.Font.Assign (TxtFont); - - if Selected then - DefColor := FFSelectFontColor; - - If not Enabled then - begin - DefColor := FFDisabledColor; - - if (Sender is TToolButton) then - begin - TextRect.Top := TextRect.Top + - ((TextRect.Bottom - TextRect.Top) - ACanvas.TextHeight('W')) div 2; - B := TBitmap.Create; - try - B.Width := TextRect.Right - TextRect.Left; - B.Height := TextRect.Bottom - TextRect.Top; - BRect := Rect(0,0,B.Width, B.Height); - - - B.Canvas.Brush.Color := ACanvas.Brush.Color; - B.Canvas.FillRect (BRect); - // B.Canvas.Font := FUCXPSettings.Font; //felix added for resolving font problems in Win98 - //27.08 - B.Canvas.Font.color := DefColor; - - DrawtextEx(B.Canvas.Handle, - PChar(txt), - Length(txt), - BRect, TextFormat + DT_VCENTER, nil); - ACanvas.CopyRect(TextRect, B.Canvas, BRect); - finally - B.Free; - end; - exit; - end; - - end; - - if (TopMenu and Selected) then - if FUCXPSettings.UseSystemColors then - DefColor := TopMenuFontColor(ACanvas, FFIconBackColor); - - ACanvas.Font.color := DefColor; // will not affect Buttons - - SetBkMode(ACanvas.Handle, TRANSPARENT); - - - if Default and Enabled then - begin - - Inc(TextRect.Left, 1); - ACanvas.Font.color := GetShadeColor(ACanvas, - ACanvas.Pixels[TextRect.Left, TextRect.Top], 30); - DrawtextEx(ACanvas.Handle, - PChar(txt), - Length(txt), - TextRect, TextFormat, nil); - Dec(TextRect.Left, 1); - - - Inc(TextRect.Top, 2); - Inc(TextRect.Left, 1); - Inc(TextRect.Right, 1); - - - ACanvas.Font.color := GetShadeColor(ACanvas, - ACanvas.Pixels[TextRect.Left, TextRect.Top], 30); - DrawtextEx(ACanvas.Handle, - PChar(txt), - Length(txt), - TextRect, TextFormat, nil); - - - Dec(TextRect.Top, 1); - Dec(TextRect.Left, 1); - Dec(TextRect.Right, 1); - - ACanvas.Font.color := GetShadeColor(ACanvas, - ACanvas.Pixels[TextRect.Left, TextRect.Top], 40); - DrawtextEx(ACanvas.Handle, - PChar(txt), - Length(txt), - TextRect, TextFormat, nil); - - - Inc(TextRect.Left, 1); - Inc(TextRect.Right, 1); - - ACanvas.Font.color := GetShadeColor(ACanvas, - ACanvas.Pixels[TextRect.Left, TextRect.Top], 60); - DrawtextEx(ACanvas.Handle, - PChar(txt), - Length(txt), - TextRect, TextFormat, nil); - - Dec(TextRect.Left, 1); - Dec(TextRect.Right, 1); - Dec(TextRect.Top, 1); - - ACanvas.Font.color := DefColor; - end; - - DrawtextEx(ACanvas.Handle, - PChar(txt), - Length(txt), - TextRect, TextFormat, nil); - - - txt := ShortCutText + ' '; - { - if not Is16Bit then - ACanvas.Font.color := DefColor - else - ACanvas.Font.color := GetShadeColor(ACanvas, DefColor, -40); - } - - - if IsRightToLeft then - begin - Inc(TextRect.Left, 10); - TextFormat := DT_LEFT - end - else - begin - Dec(TextRect.Right, 10); - TextFormat := DT_RIGHT; - end; - - - DrawtextEx(ACanvas.Handle, - PChar(txt), - Length(txt), - TextRect, TextFormat, nil); - -end; - -procedure TUCXPStyle.DrawIcon(Sender: TObject; ACanvas: TCanvas; B: TBitmap; - IconRect: Trect; Hot, Selected, Enabled, Checked, FTopMenu, - IsRightToLeft: boolean); -var - DefColor: TColor; - X, Y: integer; -begin - - if (B <> nil) and (B.Width > 0) then - begin - X := IconRect.Left; - Y := IconRect.Top + 1; - - if (Sender is TMenuItem) then - begin - inc(Y, 2); - if FUCXPSettings.IconWidth > B.Width then - X := X + ((FUCXPSettings.IconWidth - B.Width) div 2) - 1 - else - begin - if IsRightToLeft then - X := IconRect.Right - b.Width - 2 - else - X := IconRect.Left + 2; - end; - end; - - if FTopMenu then - begin - if IsRightToLeft then - X := IconRect.Right - b.Width - 5 - else - X := IconRect.Left + 1; - end; - - if (Hot) and (FTopMenu) and (Enabled) then - if not Selected then - begin - dec(X, 1); - dec(Y, 2); - end; - - if (Hot) and (not FTopMenu) and (Enabled) and (not Checked) then - if not Selected then - begin - dec(X, 1); - dec(Y, 1); - end; - - if (not Hot) and (Enabled) and (not Checked) then - if Is16Bit then - DimBitmap(B, FUCXPSettings.DimLevel{30}); - - - if not Enabled then - begin - GrayBitmap(B, FUCXPSettings.GrayLevel ); - DimBitmap(B, 40); - end; - - if (Hot) and (Enabled) and (not Checked) then - begin - if (Is16Bit) and (not FUCXPSettings.UseSystemColors) and (Sender is TToolButton) then - DefColor := NewColor(ACanvas, FUCXPSettings.SelectColor, 68) - else - DefColor := FFSelectColor; - - DefColor := GetShadeColor(ACanvas, DefColor, 50); - DrawBitmapShadow(B, ACanvas, X + 2, Y + 2, DefColor); - end; - - B.Transparent := true; - ACanvas.Draw(X, Y, B); - end; - -end; - - -function TUCXPStyle.TopMenuFontColor(ACanvas: TCanvas; Color: TColor): TColor; -var - r, g, b, avg: integer; -begin - - Color := ColorToRGB(Color); - r := Color and $000000FF; - g := (Color and $0000FF00) shr 8; - b := (Color and $00FF0000) shr 16; - - Avg := (r + b) div 2; - - if (Avg > 150) or (g > 200) then - Result := FUCXPSettings.Font.Color - else - Result := NewColor(ACanvas, Color, 90); - -end; - -procedure TUCXPStyle.SetDisableSubclassing(const Value: boolean); -begin - if Value = FDisableSubclassing then Exit; - FDisableSubClassing := Value; - if UCXPStyleManager.ActiveXPStyle = Self then - UCXPStyleManager.UpdateActiveXPStyle(Self) - else - if (UCXPStyleManager.ActiveXPStyle = nil) and not(FDisableSubclassing) then - UCXPStyleManager.UpdateActiveXPStyle(nil); -end; - - -procedure TUCXPStyle.SetActive(const Value: boolean); -begin - //if Value = FActive then exit; - - FActive := Value; - if FActive then - InitItems(FForm, true, true) - else - InitItems(FForm, false, true); - - if FForm.Handle <> 0 then - Windows.DrawMenuBar(FForm.Handle); -end; - -procedure TUCXPStyle.SetForm(const Value: TScrollingWinControl); -var - Hold: boolean; -begin - if Value <> FForm then - begin - Hold := Active; - Active := false; - FForm := Value; - if Hold then - Active := True; - end; -end; - -{moved to UCXPSettings - -procedure TUCXPStyle.SetFont(const Value: TFont); -begin - FFont.Assign(Value); - Windows.DrawMenuBar(FForm.Handle); - -end; - -procedure TUCXPStyle.SetColor(const Value: TColor); -begin - FColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPStyle.SetIconBackColor(const Value: TColor); -begin - FIconBackColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPStyle.SetMenuBarColor(const Value: TColor); -begin - FMenuBarColor := Value; - FColorsChanged := true; // +jt - Windows.DrawMenuBar(FForm.Handle); -end; - -procedure TUCXPStyle.SetCheckedColor(const Value: TColor); -begin - FCheckedColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPStyle.SetSeparatorColor(const Value: TColor); -begin - FSeparatorColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPStyle.SetSelectBorderColor(const Value: TColor); -begin - FSelectBorderColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPStyle.SetSelectColor(const Value: TColor); -begin - FSelectColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPStyle.SetDisabledColor(const Value: TColor); -begin - FDisabledColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPStyle.SetSelectFontColor(const Value: TColor); -begin - FSelectFontColor := Value; - FColorsChanged := true; // +jt -end; - -procedure TUCXPStyle.SetIconWidth(const Value: integer); -begin - FIconWidth := Value; -end; - -procedure TUCXPStyle.SetDrawSelect(const Value: boolean); -begin - FDrawSelect := Value; -end; - - - -procedure TUCXPStyle.SetOverrideOwnerDraw(const Value: boolean); -begin - FOverrideOwnerDraw := Value; - if FActive then - Active := True; -end; - - -procedure TUCXPStyle.SetUseSystemColors(const Value: boolean); -begin - FUseSystemColors := Value; - Windows.DrawMenuBar(FForm.Handle); -end; - -procedure TUCXPStyle.SetGradient(const Value: boolean); -begin - FGradient := Value; -end; - -procedure TUCXPStyle.SetFlatMenu(const Value: boolean); -begin - FFlatMenu := Value; -end; - -procedure TUCXPStyle.SetUCXPContainers(const Value: TUCXPContainers); -begin - if Value <> FXPContainers then - begin - if FActive then - begin - FActive := false; - InitItems(FForm, false, true); - FActive := true; - FXPContainers := Value; - InitItems(FForm, true, true); - end; - end; - FXPContainers := Value; - -end; - -procedure TUCXPStyle.SetUCXPControls(const Value: TUCXPControls); -begin - if Value <> FXPControls then - begin - if FActive then - begin - FActive := false; - InitItems(FForm, false, true); - FActive := true; - FXPControls := Value; - InitItems(FForm, true, true); - end; - end; - FXPControls := Value; - -end; - -procedure TUCXPStyle.SetDrawMenuBar(const Value: boolean); -begin - FDrawMenuBar := Value; -end; - -procedure TUCXPStyle.SetUseDimColor(const Value: boolean); -begin - FUseDimColor := Value; -end; -}{END moved to UCXPSettings} - -procedure GetSystemMenuFont(Font: TFont); -var - FNonCLientMetrics: TNonCLientMetrics; -begin - FNonCLientMetrics.cbSize := Sizeof(TNonCLientMetrics); - if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @FNonCLientMetrics,0) then - begin - Font.Handle := CreateFontIndirect(FNonCLientMetrics.lfMenuFont); - Font.Color := clMenuText; - end; -end; - -procedure TUCXPStyle.SetUCSettings(const Value: TUCSettings); -begin - FUCSettings := Value; - if Value <> nil then Value.FreeNotification(self); //changed by fduenas -end; - -procedure TUCXPStyle.DrawGradient(ACanvas: TCanvas; ARect: TRect; - IsRightToLeft: boolean); -var - i: integer; - v: integer; - FRect: TRect; -begin - - fRect := ARect; - V := 0; - if IsRightToLeft then - begin - fRect.Left := fRect.Right - 1; - for i := ARect.Right Downto ARect.Left do - begin - if (fRect.Left < ARect.Right) - and (fRect.Left > ARect.Right - FUCXPSettings.IconWidth + 5) then - inc(v, 3) - else - inc(v, 1); - - if v > 96 then v := 96; - ACanvas.Brush.Color := NewColor(ACanvas, FFIconBackColor, v); - ACanvas.FillRect(fRect); - - fRect.Left := fRect.Left - 1; - fRect.Right := fRect.Left - 1; - end; - end - else - begin - fRect.Right := fRect.Left + 1; - for i := ARect.Left to ARect.Right do - begin - if (fRect.Left > ARect.Left) - and (fRect.Left < ARect.Left + FUCXPSettings.IconWidth + 5) then - inc(v, 3) - else - inc(v, 1); - - if v > 96 then v := 96; - ACanvas.Brush.Color := NewColor(ACanvas, FFIconBackColor, v); - ACanvas.FillRect(fRect); - - fRect.Left := fRect.Left + 1; - fRect.Right := fRect.Left + 1; - end; - end; -end; - -function MenuWindowProc(hwnd: HWND; uMsg: integer; WParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; -var - oldproc: integer; - r: TRect; - pt: TPoint; begin - if(uMsg=WM_ERASEBKGND) then - begin - Result:=1; - exit; -end; - if((uMsg=WM_SHOWWINDOW) and (not Boolean(WParam))) or (uMsg=WM_CLOSE) or (uMsg=WM_DESTROY) then - begin - SetWindowRgn(hwnd, 0,false); - oldproc:=GetWindowLong(hWnd,GWL_USERDATA); - SetWindowLong(hWnd,GWL_WNDPROC,oldproc); - SetWindowLong(hWnd,GWL_USERDATA,0); - Result:=CallWindowProc(Pointer(oldproc), hwnd, uMsg, wParam, lParam); - GetWindowRect(hWnd, r); - pt.x:=r.Right+2; - pt.y:=r.Top+2; - hWnd :=WindowFromPoint(pt); - if GetWindowLong(hWnd,GWL_WNDPROC)<>integer(@MenuWindowProc) then - begin - pt.x:=r.Right+2; - pt.y:=r.Bottom-2; - hWnd :=WindowFromPoint(pt); - if GetWindowLong(hWnd,GWL_WNDPROC)<>integer(@MenuWindowProc) then exit; - end; - InvalidateRect(hwnd,nil,false); - end - else Result:=CallWindowProc(Pointer(GetWindowLong(hWnd,GWL_USERDATA)), hwnd, uMsg, wParam, lParam); end; -procedure TUCXPStyle.DrawWindowBorder(hWnd: HWND; IsRightToLeft: boolean); -var - WRect: TRect; - dCanvas: TCanvas; - wDC: HDC; // +jt - - regiontype: integer; // +jt - r1,r2,wr,region: HRGN; // +jt - rgnr: TRect; // +jt -begin - - - if (hWnd <= 0) or (FSettingWindowRng) then - begin - exit; - end; -// +jt - wDC := GetWindowDC(hWnd); //GetDesktopWindow - if wDC=0 then exit; // +jt - FSettingWindowRng :=true; // +jt - dCanvas := TCanvas.Create; - try - dCanvas.Handle := wDC; // +jt - GetWindowRect(hWnd, WRect); - // +jt - WRect.Right := WRect.Right-WRect.Left; - WRect.Bottom := WRect.Bottom-WRect.Top; - WRect.Top:=0; - WRect.Left:=0; - if GetWindowLong(hWnd,GWL_WNDPROC)<>integer(@MenuWindowProc) then - begin - SetWindowLong(hWnd,GWL_USERDATA,GetWindowLong(hWnd,GWL_WNDPROC)); - SetWindowLong(hWnd,GWL_WNDPROC,integer(@MenuWindowProc)); - end; - if not IsWXP then - begin - wr:= CreateRectRgn(0,0,0,0); - regiontype := GetWindowRgn(hWnd, wr); - GetRgnBox(wr,rgnr); - DeleteObject(wr); - if (regionType = ERROR) or (abs(rgnr.Right-WRect.Right)>5) or (abs(rgnr.Bottom-WRect.Bottom)>5) then - begin - region:= CreateRectRgn(0,0,0,0); - r1:=CreateRectRgn(WRect.Left,WRect.Top,WRect.Right-2,WRect.Bottom-2); - r2:=CreateRectRgn(WRect.Left+2,WRect.Top+2,WRect.Right,WRect.Bottom); - CombineRgn(region,r1,r2,RGN_OR); - DeleteObject(r1); - DeleteObject(r2); - SetWindowRgn(hWnd,region,true); - end; - // +jt - Dec(WRect.Right, 2); - Dec(WRect.Bottom, 2); - end; // +jt - dCanvas.Brush.Style := bsClear; - dCanvas.Pen.Color := FMenuBorderColor; - dCanvas.Rectangle(WRect.Left, WRect.Top, WRect.Right, WRect.Bottom); - if IsRightToLeft then - begin - dCanvas.Pen.Color := FFIconBackColor; - dCanvas.MoveTo(WRect.Right - 3, WRect.Top + 2); - dCanvas.LineTo(WRect.Right - 2, WRect.Bottom - 1); - end - else - begin - dCanvas.Pen.Color := FFIconBackColor; - dCanvas.Rectangle(WRect.Left + 1, WRect.Top + 2, - WRect.Left + 3, WRect.Bottom - 1); - end; -// +jt - StretchBlt(dCanvas.Handle,WRect.Left + 1,WRect.Top + 1,WRect.Right - WRect.Left-1,2, - dCanvas.Handle,WRect.Left + 1,WRect.Top + 3,WRect.Right - WRect.Left-1,1,SRCCOPY); - if IsWXP then - begin - StretchBlt(dCanvas.Handle,WRect.Left + 1,WRect.Bottom - 3,WRect.Right - WRect.Left-1,2, - dCanvas.Handle,WRect.Left + 1,WRect.Top + 3,WRect.Right - WRect.Left-1,1, SRCCOPY); - dCanvas.Pen.Color := FFColor; - dCanvas.Rectangle(WRect.Right - 3, WRect.Top+1, WRect.Right - 1, - WRect.Bottom-1); - end; // +jt - Inc(WRect.Right, 2); - Inc(WRect.Bottom, 2); - if not IsWXP then // +jt - begin // +jt - dCanvas.Pen.Color := FMenuShadowColor; - dCanvas.Rectangle(WRect.Left + 2, WRect.Bottom, WRect.Right, WRect.Bottom - 2); - dCanvas.Rectangle(WRect.Right - 2, WRect.Bottom, WRect.Right, WRect.Top + 2); - end; // +jt - - finally - ReleaseDC(hWnd, wDC); // +jt - dCanvas.Free; - FSettingWindowRng :=false; - end; -end; - -procedure TUCXPStyle.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - //added by fduenas - inherited Notification(AComponent, AOperation); //changed by fduenas - if AOperation = opRemove then - If AComponent = FUCSettings then - FUCSettings := nil; - - if not Assigned(UCXPStyleManager) then Exit; -// Pass the notification information to the UCXPStyleManager - if not(csDesigning in ComponentState) then - UCXPStyleManager.Notification(AComponent, AOperation); - - if not FActive then exit; - if not FAutoDetect then exit; - if (AOperation = opInsert) and - ((AComponent is TMenuItem) or (AComponent is TToolButton) or - (AComponent is TControlBar)) then - begin - if not (csDesigning in ComponentState) then - InitItem(AComponent, true, true); // Tom: This will process this new component - end; - -end; - - -function GetShadeColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor; -var - r, g, b: integer; - -begin - clr := ColorToRGB(clr); - r := Clr and $000000FF; - g := (Clr and $0000FF00) shr 8; - b := (Clr and $00FF0000) shr 16; - - r := (r - value); - if r < 0 then r := 0; - if r > 255 then r := 255; - - g := (g - value) + 2; - if g < 0 then g := 0; - if g > 255 then g := 255; - - b := (b - value); - if b < 0 then b := 0; - if b > 255 then b := 255; - - //Result := Windows.GetNearestColor(ACanvas.Handle, RGB(r, g, b)); - Result := RGB(r, g, b); -end; - -function MergColor(Colors: Array of TColor): TColor; -var - r, g, b, i: integer; - clr: TColor; -begin - r := 0; g:= 0; b:= 0; - - for i := 0 to High(Colors) do - begin - - clr := ColorToRGB(Colors[i]); - r := r + (Clr and $000000FF) div High(Colors); - g := g + ((Clr and $0000FF00) shr 8) div High(Colors); - b := b + ((Clr and $00FF0000) shr 16) div High(Colors); - end; - - Result := RGB(r, g, b); - -end; -function NewColor(ACanvas: TCanvas; clr: TColor; Value: integer): TColor; -var - r, g, b: integer; - -begin - if Value > 100 then Value := 100; - clr := ColorToRGB(clr); - r := Clr and $000000FF; - g := (Clr and $0000FF00) shr 8; - b := (Clr and $00FF0000) shr 16; - - - r := r + Round((255 - r) * (value / 100)); - g := g + Round((255 - g) * (value / 100)); - b := b + Round((255 - b) * (value / 100)); - - //Result := Windows.GetNearestColor(ACanvas.Handle, RGB(r, g, b)); - Result := RGB(r, g, b); - -end; - -function GetInverseColor(AColor: TColor): TColor; -begin - Result := ColorToRGB(AColor) xor $FFFFFF; -end; - -function GrayColor(ACanvas: TCanvas; Clr: TColor; Value: integer): TColor; -var - r, g, b, avg: integer; - -begin - - clr := ColorToRGB(clr); - r := Clr and $000000FF; - g := (Clr and $0000FF00) shr 8; - b := (Clr and $00FF0000) shr 16; - - Avg := (r + g + b) div 3; - Avg := Avg + Value; - - if Avg > 240 then Avg := 240; - //if ACanvas <> nil then - // Result := Windows.GetNearestColor (ACanvas.Handle,RGB(Avg, avg, avg)); - Result := RGB(Avg, avg, avg); -end; - -procedure GrayBitmap(ABitmap: TBitmap; Value: integer); -var - x, y: integer; - LastColor1, LastColor2, Color: TColor; -begin - LastColor1 := 0; - LastColor2 := 0; - - for y := 0 to ABitmap.Height do - for x := 0 to ABitmap.Width do - begin - Color := ABitmap.Canvas.Pixels[x, y]; - if Color = LastColor1 then - ABitmap.Canvas.Pixels[x, y] := LastColor2 - else - begin - LastColor2 := GrayColor(ABitmap.Canvas , Color, Value); - ABitmap.Canvas.Pixels[x, y] := LastColor2; - LastColor1 := Color; - end; - end; -end; -{Modified by felix@unidreamtech.com} -{ -procedure GrayBitmap(ABitmap: TBitmap; Value: integer); -var - Pixel: PRGBTriple; - w, h: Integer; - x, y: Integer; - avg: integer; -begin - ABitmap.PixelFormat := pf24Bit; - w := ABitmap.Width; - h := ABitmap.Height; - for y := 0 to h - 1 do - begin - Pixel := ABitmap.ScanLine[y]; - for x := 0 to w - 1 do - begin - avg := ((Pixel^.rgbtRed + Pixel^.rgbtGreen + Pixel^.rgbtBlue) div 3) - + Value; - if avg > 240 then avg := 240; - Pixel^.rgbtRed := avg; - Pixel^.rgbtGreen := avg; - Pixel^.rgbtBlue := avg; - Inc(Pixel); - end; - end; -end; -} - -procedure DimBitmap(ABitmap: TBitmap; Value: integer); -var - x, y: integer; - LastColor1, LastColor2, Color: TColor; begin - if Value > 100 then Value := 100; - LastColor1 := -1; - LastColor2 := -1; - for y := 0 to ABitmap.Height - 1 do - for x := 0 to ABitmap.Width - 1 do - begin - Color := ABitmap.Canvas.Pixels[x, y]; - if Color = LastColor1 then - ABitmap.Canvas.Pixels[x, y] := LastColor2 - else - begin - LastColor2 := NewColor(ABitmap.Canvas, Color, Value); - ABitmap.Canvas.Pixels[x, y] := LastColor2; - LastColor1 := Color; - end; - end; end; - -// LIne 2647 -{Modified by felix@unidreamtech.com} -{works fine for 24 bit color -procedure DimBitmap(ABitmap: TBitmap; Value: integer); -var - Pixel: PRGBTriple; - w, h: Integer; - x, y, c1, c2: Integer; -begin - ABitmap.PixelFormat := pf24Bit; - w := ABitmap.Width; - h := ABitmap.Height; - - c1 := Value * 255; - c2 := 100 - Value; - for y := 0 to h - 1 do - begin - Pixel := ABitmap.ScanLine[y]; - for x := 0 to w - 1 do - begin - Pixel^.rgbtRed := ((c2 * Pixel^.rgbtRed) + c1) div 100; - Pixel^.rgbtGreen := ((c2 * Pixel^.rgbtGreen) + c1) div 100; - Pixel^.rgbtBlue := ((c2 * Pixel^.rgbtBlue) + c1) div 100; - Inc(Pixel); - end; - end; -end; -} -procedure DrawArrow(ACanvas: TCanvas; X, Y: integer); begin - ACanvas.MoveTo(X, Y); - ACanvas.LineTo(X + 5, Y); - - ACanvas.MoveTo(X + 1, Y + 1); - ACanvas.LineTo(X + 4, Y); - - ACanvas.MoveTo(X + 2, Y + 2); - ACanvas.LineTo(X + 3, Y); - -end; - -procedure DrawArrow(ACanvas: TCanvas; X, Y, Orientation: integer); -begin - case Orientation of - 0: - begin - - ACanvas.MoveTo(X, Y); - ACanvas.LineTo(X, Y-1); - - ACanvas.MoveTo(X + 1, Y + 1); - ACanvas.LineTo(X + 4, Y + 4); - - ACanvas.MoveTo(X, Y + 1); - ACanvas.LineTo(X + 3, Y + 4); - - ACanvas.MoveTo(X, Y + 2); - ACanvas.LineTo(X + 2, Y + 4); - - - ACanvas.MoveTo(X - 1, Y + 1); - ACanvas.LineTo(X - 4, Y + 4); - - ACanvas.MoveTo(X, Y + 2); - ACanvas.LineTo(X - 3, Y + 4); - - ACanvas.MoveTo(X, Y + 1); - ACanvas.LineTo(X - 2, Y + 4); - - end; - 1: - begin - ACanvas.MoveTo(X, Y+3); - ACanvas.LineTo(X, Y+4); - - ACanvas.MoveTo(X + 1, Y + 2); - ACanvas.LineTo(X + 4, Y - 1); - - ACanvas.MoveTo(X, Y + 2); - ACanvas.LineTo(X + 3, Y - 1); - - ACanvas.MoveTo(X, Y + 1); - ACanvas.LineTo(X + 2, Y + 0); - - - - ACanvas.MoveTo(X - 1, Y + 2); - ACanvas.LineTo(X - 4, Y - 1); - - ACanvas.MoveTo(X, Y + 2); - ACanvas.LineTo(X - 3, Y - 1); - - ACanvas.MoveTo(X, Y + 1); - ACanvas.LineTo(X - 2, Y + 0); - - - end; - end; -end; -procedure DrawBitmapShadow(B: TBitmap; ACanvas: TCanvas; X, Y: integer; - ShadowColor: TColor); var - BX, BY: integer; - TransparentColor: TColor; begin - TransparentColor := B.Canvas.Pixels[0, B.Height - 1]; - for BY := 0 to B.Height - 1 do - for BX := 0 to B.Width - 1 do - begin - if B.Canvas.Pixels[BX, BY] <> TransparentColor then - ACanvas.Pixels[X + BX, Y + BY] := ShadowColor; - end; end; - -procedure DrawCheckMark(ACanvas: TCanvas; X, Y: integer); -begin - Inc(X, 2); - Dec(Y, 3); - ACanvas.MoveTo(X , Y - 2); - ACanvas.LineTo(X + 2, Y ); - ACanvas.LineTo(X + 7, Y - 5); - - ACanvas.MoveTo(X , Y - 3); - ACanvas.LineTo(X + 2, Y - 1); - ACanvas.LineTo(X + 7, Y - 6); - - ACanvas.MoveTo(X , Y - 4); - ACanvas.LineTo(X + 2, Y - 2); - ACanvas.LineTo(X + 7, Y - 7); -end; - { TCustomComboSubClass } -//By Heath Provost (Nov 20, 2001) -// ComboBox Subclass WndProc. -// Message processing to allow control to repond to -// messages needed to paint using Office XP style. -procedure TControlSubClass.ControlSubClass(var Message: TMessage); - -begin - //Call original WindowProc FIRST. We are trying to emulate inheritance, so - //original WindowProc must handle all messages before we do. - - - if ((Message.Msg = WM_PAINT) and ((Control is TGraphicControl))) or - ((Control.ClassName = 'TDBLookupComboBox') and (Message.Msg = WM_NCPAINT)) then - Message.Result := 1 - else - //: "Marcus Paulo Tavares" - orgWindowProc(Message); - - if (FXPStyle <> nil) and (not FXPStyle.FActive) then - begin - try - Message.Result := 1; - if Control <> nil then - begin - Control.WindowProc := orgWindowProc; - if Control is TCustomEdit then - TEdit(Control).Ctl3D := FCtl3D; - if Control is TCustomRichEdit then - TRichEdit(Control).BorderStyle := FBorderStyle; - if Control.ClassName = 'TDBLookupComboBox' then - TComboBox(Control).Ctl3D := FCtl3D; - if Control is TCustomListBox then - TListBox(Control).BorderStyle := FBorderStyle; - if Control is TCustomListView then - TListView(Control).BorderStyle := FBorderStyle; - if Control is TCustomTreeView then - TTreeView(Control).BorderStyle := FBorderStyle; - Control := nil; - Free; - end; - exit; - except - exit; - end; - end; - - FMsg := Message.Msg; - case Message.Msg of - - - EM_GETMODIFY, // For edit - CM_INVALIDATE: - begin - FBuilding := true - end; - - CM_PARENTCOLORCHANGED: - begin - PaintControlXP; - end; - - WM_DESTROY: - begin - if not FBuilding then - begin - try - if Control <> nil then - begin - Control.WindowProc := orgWindowProc; - FBuilding := false; - Free; - end; - except - end; - //FBuilding := false; - end; - Exit; - end; - - WM_PAINT: - begin - FBuilding := false; - PaintControlXP; - end; - - CM_MOUSEENTER: - if TControl(Control).Enabled then - begin -// if FmouseInControl then exit; - FmouseInControl := true; - if Control is TGraphicControl then - begin - Control.Repaint; - exit; - end; - PaintControlXP; - - - {if Control is TGraphicControl then - begin - if not FMouseInControl and Control.Enabled - and (GetCapture = 0) then - begin - FMouseInControl := True; - Control.Repaint; - end; - end - else - begin - FmouseInControl := true; - PaintControlXP; - end;} - - - end; - CM_MOUSELEAVE: - if TControl(Control).Enabled then - begin - FmouseInControl := false; - if Control is TGraphicControl then - begin - Control.Invalidate; - exit; - end; - PaintControlXP; - - - {if Control is TGraphicControl then - begin - if FMouseInControl and Control.Enabled then - begin - FMouseInControl := False; - Control.Invalidate; - end; - end - else - begin - FmouseInControl := false; - PaintControlXP; - end;} - end; - - WM_MOUSEMOVE: - begin - if TControl(Control).Enabled and (Control.ClassName = 'TUpDown') then - PaintControlXP; - end; - WM_LBUTTONDOWN: - begin - FLButtonBressed := true; - PaintControlXP; - end; - - WM_LBUTTONUP: - begin - FLButtonBressed := false; - if Control is TGraphicControl then - begin - Control.Repaint; - exit; - end; - PaintControlXP; - end; - - WM_KEYDOWN: - if Message.WParam = VK_SPACE then - begin - FBressed := true; - if not FIsKeyDown then - PaintControlXP; - FIsKeyDown := true; - end; - - WM_KEYUP: - if Message.WParam = VK_SPACE then - begin - FBressed := false; - FIsKeyDown := false; - PaintControlXP; - end; - - WM_SETFOCUS: - begin - FmouseInControl := true; - PaintControlXP; - end; - WM_KILLFOCUS: - begin - FmouseInControl := false; - PaintControlXP; - end; - CM_FOCUSCHANGED: //?? - PaintControlXP; - - CM_EXIT: - begin - FmouseInControl := false; - PaintControlXP; - end; - - BM_SETCHECK: - begin - FmouseInControl := false; - PaintControlXP; - end; - BM_GETCHECK: - begin - FmouseInControl := false; - PaintControlXP; - end; - CM_ENABLEDCHANGED: - begin - if (Message.WParam = 0) then FmouseInControl := false;//Dirk Bottcher - PaintControlXP; - end; - - CM_TEXTCHANGED: - begin - PaintControlXP; - end; - - - CM_CTL3DCHANGED, CM_PARENTCTL3DCHANGED: - begin - FBuilding := true; - end; - WM_LBUTTONDBLCLK: //for button, check - begin - if (Control is TButton) or - (Control is TSpeedButton) or - (Control is TCheckBox) then - Control.Perform(WM_LBUTTONDOWN, Message.WParam , Longint(Message.LParam)); - end; - {CN_DRAWITEM,} BM_SETSTATE: - begin - PaintControlXP; // button - end; - WM_WINDOWPOSCHANGED, CN_PARENTNOTIFY: // Moving From parent to other - begin - FBuilding := true - end; - WM_NCPAINT: - begin - if (Control is TCustomListBox) or (Control is TCustomTreeView) or - (Control is TCustomListBox) - then - PaintNCWinControl; - end; - end; - -end; - -// changes added by Heath Provost (Nov 20, 2001) -{ TCustomComboSubClass } -// paints an overlay over the control to make it mimic -// Office XP style. - -procedure TControlSubClass.PaintControlXP; -begin - - If Control is TWinControl then - FIsFocused := TWinControl(Control).Focused - else - FIsFocused := false; - {$IFDEF VER6U} - if (Control is TCustomCombo) then - PaintCombo; - {$ELSE} - if (Control is TCustomComboBox) then - PaintCombo; - {$ENDIF} - if Control.ClassName = 'TDBLookupComboBox' then - PaintDBLookupCombo; - - if Control is TCustomRichEdit then - PaintRichEdit - else - if Control is TCustomEdit then - PaintEdit; - - if Control is TCustomCheckBox then - PaintCheckBox; - if Control is TRadioButton then - PaintRadio; - - if Control is TBitBtn then - PaintBitButn - else - if Control is TButton then - PaintButton; - - if Control is TUpDown then - PaintUpDownButton; - - if Control is TSpeedButton then - if Control.Visible then - PaintSpeedButton; - - if Control is TCustomPanel then - PaintPanel; - - if Control is TCustomGroupBox then - PaintGroupBox; - - if (Control is TCustomListBox) or (Control is TCustomTreeView) or - (Control is TCustomListView) - then - PaintNCWinControl; - - if Control is TProgressBar then - PaintProgressBar; - - if Control is TCustomHotKey then - PaintHotKey; -{ - if Control is TDrawGrid then - PaintGrid; -} -end; - -procedure TControlSubClass.PaintCombo; -var - C: TControlCanvas; - R: TRect; - SelectColor, BorderColor, ArrowColor: TColor; - X: integer; -begin - - C := TControlCanvas.Create; - try - C.Control := Control; - -// FXPStyle.SetGlobalColor(C); - if Control.Enabled then ArrowColor := clBlack else ArrowColor := clWhite; - - - if (FmouseinControl) then - begin - borderColor := FXPStyle.FFSelectBorderColor; - SelectColor := FXPStyle.FFSelectColor; - end - else - begin - borderColor := TComboBox(Control).Color; - if Control.Tag = 1000 then - SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor) - else - selectColor := clBtnFace; - end; - - if (not FmouseinControl) and (FIsFocused) then - begin - borderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60); - SelectColor := FXPStyle.FCheckedAreaColor; - end; - - R := Control.ClientRect; - - C.Brush.Color := Control.Parent.Brush.Color; - C.FrameRect(R); - InflateRect(R, -1, -1); - - C.Pen.Color := C.Brush.Color; - C.MoveTo(R.Left, R.Top); - C.LineTo(R.Right, R.Top); - - InflateRect(R, 0, -1); - - if ( FmouseinControl or FIsFocused) then - InflateRect(R, 1, 1); - - C.Brush.Color := TComboBox(Control).Color;; - C.FrameRect(R); - - Inc(R.Bottom,1); - C.Brush.Color := BorderColor; - C.FrameRect(R); - - {$IFDEF VER6U} - if TCustomCombo(Control).DroppedDown then - {$ELSE} - if TCustomComboBox(Control).DroppedDown then - {$ENDIF} - begin - BorderColor := FXPStyle.FFSelectBorderColor; - ArrowColor := clWhite; - SelectColor := FXPStyle.FCheckedAreaSelectColor ; - end; - - if TComboBox(Control).style <> csSimple then - begin - - InflateRect(R, -1, -1); - - if Control.BiDiMode = bdRightToLeft then - R.Right := R.Left + GetSystemMetrics(SM_CXHTHUMB) + 1 - else - R.Left := R.Right - GetSystemMetrics(SM_CXHTHUMB) - 1; - - if ( FmouseinControl or FIsFocused) then - begin - if Control.BiDiMode = bdRightToLeft then - Inc(R.Right, 2) - else - Dec(R.Left, 1); - end; - - C.Brush.Color := SelectColor; - C.FillRect(R); - - if Control.BiDiMode = bdRightToLeft then - R.Left := R.Right - 5 - else - R.Right := R.Left + 5; - - C.Brush.Color := TComboBox(Control).Color; - C.FillRect(R); - - C.Pen.Color := BorderColor; - - if Control.BiDiMode = bdRightToLeft then - begin - C.Moveto(R.Left, R.Top); - C.LineTo(R.Left, R.Bottom); - end - else - begin - C.Moveto(R.Right, R.Top); - C.LineTo(R.Right, R.Bottom); - end; - C.Pen.Color := arrowColor; - - R := Control.ClientRect; - - if Control.BiDiMode = bdRightToLeft then - X := R.Left + 5 - else - X := R.Right - 10; - - C.Moveto(X + 0, R.Top + 10); - C.LineTo(X + 5, R.Top + 10); - C.Moveto(X + 1, R.Top + 11); - C.LineTo(X + 4, R.Top + 11); - C.Moveto(X + 2, R.Top + 12); - C.LineTo(X + 3, R.Top + 12); - end; - finally - C.Free; - end; - -end; - -procedure TControlSubClass.PaintDBLookupCombo; -var - C: TControlCanvas; - R: TRect; - FrameColor, SelectColor, BorderColor, ArrowColor: TColor; - X: integer; - DC: HDC; - -begin - C := TControlCanvas.Create; - DC := GetWindowDC(TWinControl(Control).Handle); - try - C.Control := Control; - C.Handle := DC; - if TComboBox(Control).Ctl3D then - begin - FBuilding := true; - TComboBox(Control).Ctl3D := false; - end; - - //FXPStyle.SetGlobalColor(C); - if Control.Enabled then ArrowColor := clBlack else ArrowColor := clWhite; - - - if (FmouseinControl) then - begin - FrameColor := FXPStyle.FFSelectBorderColor; - borderColor := FXPStyle.FFSelectBorderColor; - SelectColor := FXPStyle.FFSelectColor; - end - else - begin - FrameColor := GetShadeColor(C, Control.Parent.Brush.Color, 60); - borderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60); - selectColor := clBtnFace; - end; - if (not FmouseinControl) and (FIsFocused) then - begin - FrameColor := GetShadeColor(C, Control.Parent.Brush.Color, 60); - borderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60); - SelectColor := FXPStyle.FCheckedAreaColor; - end; - - - R := Rect(0, 0, Control.Width, Control.Height); - C.Brush.Color := TComboBox(Control).Color; - C.Brush.Color := FrameColor; - C.FrameRect(R); - - - R := Control.ClientRect; - - // Move the thumb one pixel to the right and one pixel down - OffsetRect(R, 1, 1); - - - C.Brush.Color := TComboBox(Control).Color; - C.FrameRect(R); - - {$IFDEF VER6U} - if TCustomCombo(Control).DroppedDown then - {$ELSE} - if TCustomComboBox(Control).DroppedDown then - {$ENDIF} - begin - BorderColor := FXPStyle.FFSelectBorderColor; - ArrowColor := clWhite; - SelectColor := FXPStyle.FCheckedAreaSelectColor ; - end; - - if TComboBox(Control).style <> csSimple then - begin - - InflateRect(R, -1, -1); - - if Control.BiDiMode = bdRightToLeft then - R.Right := R.Left + GetSystemMetrics(SM_CXHTHUMB) + 1 - else - R.Left := R.Right - GetSystemMetrics(SM_CXHTHUMB) - 1; - - if ( FmouseinControl or FIsFocused) then - begin - if Control.BiDiMode = bdRightToLeft then - Inc(R.Right, 1) - else - Dec(R.Left, 1); - end; - - - C.Brush.Color := SelectColor; - C.FillRect(R); - C.Brush.Color := BorderColor; - C.FrameRect(R); - - if Control.BiDiMode = bdRightToLeft then - R.Left := R.Right - 5 - else - R.Right := R.Left + 5; - - C.Brush.Color := TComboBox(Control).Color; - C.FillRect(R); - - C.Pen.Color := BorderColor; - - if Control.BiDiMode = bdRightToLeft then - begin - C.Moveto(R.Left, R.Top); - C.LineTo(R.Left, R.Bottom); - end - else - begin - C.Moveto(R.Right, R.Top); - C.LineTo(R.Right, R.Bottom); - end; - C.Pen.Color := arrowColor; - - R := Control.ClientRect; - - if Control.BiDiMode = bdRightToLeft then - X := R.Left + 5 - else - X := R.Right - 9; // Changed by Uwe Runkel, uwe@runkel.info - // Changed value from 10 to 9 because the thumb has - // moved one pixel to the right - - C.Moveto(X + 0, R.Top + 8); - C.LineTo(X + 5, R.Top + 8); - C.Moveto(X + 1, R.Top + 9); - C.LineTo(X + 4, R.Top + 9); - C.Moveto(X + 2, R.Top + 10); - C.LineTo(X + 3, R.Top + 10); - end; - finally - C.Free; - ReleaseDC(TWinControl(Control).Handle, DC); - end; - -end; - -procedure TControlSubClass.PaintEdit; -var - C: TControlCanvas; - R: TRect; - BorderColor: TColor; -begin - - C := TControlCanvas.Create; - try - C.Control := Control; - - //FXPStyle.SetGlobalColor(C); - - if TEdit(Control).Ctl3D <> false then - begin - FBuilding := true; - TEdit(Control).Ctl3D := false; - end; - - if (FmouseinControl) or (FIsFocused) then - borderColor := NewColor(C, FXPStyle.FFSelectBorderColor, 60) - else - borderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60); - - - if FBorderStyle = bsNone then - begin - if (FmouseinControl) and (not FIsFocused) then - //borderColor := NewColor(C, Control.Parent.Brush.Color, 60) - borderColor := NewColor(C, MergColor([TEdit(Control).Color,Control.Parent.Brush.Color]), 40) - - else - borderColor := TEdit(Control).Color; - end; - - - R := Control.ClientRect; - - C.Pen.Color := BorderColor; - C.Brush.Style := bsClear; - - C.Rectangle(R.Left, R.Top, R.Right, R.Bottom); - finally - C.Free; - end; -end; - -procedure TControlSubClass.PaintRichEdit; -var - C: TControlCanvas; - R: TRect; - BorderColor: TColor; -begin - - C := TControlCanvas.Create; - try - C.Control := Control.Parent; - - R := Control.BoundsRect; - InflateRect(R, 1, 1); - - if FBorderStyle = bsSingle then - begin - FBuilding := true; - TRichEdit(Control).BorderStyle := bsNone; - if TRichEdit(Control).BorderWidth < 2 then - TRichEdit(Control).BorderWidth := 2; - end; - - if (FmouseinControl) or (FIsFocused) then - borderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60) - - - else - begin - if FBorderStyle = bsSingle then - borderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60) - else - borderColor := Control.Parent.Brush.Color; - end; - - Frame3D(C, R, borderColor, borderColor, 1); - - finally - C.Free; - end; - -end; - -procedure TControlSubClass.PaintCheckBox; -var - C: TControlCanvas; - R: TRect; - SelectColor, BorderColor: TColor; -begin - - C := TControlCanvas.Create; - try - C.Control := Control; - - if FMouseInControl then - begin - SelectColor := FXPStyle.FFSelectColor; - BorderColor := FXPStyle.FFSelectBorderColor; - end - else - begin - SelectColor := clWindow; - BorderColor := clBtnShadow; - end; - - if (FIsFocused) then - begin - SelectColor := FXPStyle.FFSelectColor; - BorderColor := FXPStyle.FFSelectBorderColor; - end; - if (FBressed) or (FLButtonBressed ) then - SelectColor := FXPStyle.FCheckedAreaSelectColor ; - - if TCheckBox(Control).State = cbGrayed then - SelectColor := clSilver ; - R := Control.ClientRect; - InflateRect(R, 0, -3); - R.Top := R.Top + ((R.Bottom - R.Top - GetSystemMetrics(SM_CXHTHUMB)) div 2); - R.Bottom := R.Top + GetSystemMetrics(SM_CXHTHUMB); - - if ((Control.BiDiMode = bdRightToLeft) and - (TCheckBox(Control).Alignment = taRightJustify)) or - ((Control.BiDiMode = bdLeftToRight) and - (TCheckBox(Control).Alignment = taLeftJustify)) - then - R.Left := R.Right - GetSystemMetrics(SM_CXHTHUMB) + 1 - else - if ((Control.BiDiMode = bdLeftToRight) and - (TCheckBox(Control).Alignment = taRightJustify)) or - ((Control.BiDiMode = bdRightToLeft) and - (TCheckBox(Control).Alignment = taLeftJustify)) then - R.Right := R.Left + GetSystemMetrics(SM_CXHTHUMB) - 1; - - - - C.Brush.Color := TCheckBox(Control).Color; - C.FillRect(R); - InflateRect(R, -2, -2); - C.Brush.Color := SelectColor; - C.Pen.Color := BorderColor; - C.Rectangle(R.Left, R.Top, R.Right, R.Bottom); - - if (TCheckBox(Control).Checked) or - (TCheckBox(Control).State = cbGrayed) then - begin - if Control.Enabled then - begin - if (FBressed) or (FLButtonBressed ) then - C.Pen.color := clWindow - else - begin - if TCheckBox(Control).State = cbGrayed then - C.Pen.color := clGray - else - C.Pen.color := clHighlight; - end; - end - else - C.Pen.color := FXPStyle.FFDisabledColor; - - DrawCheckMark(C, R.Left, R.Bottom ) - end; - - finally - C.Free; - end; - - -end; - -procedure TControlSubClass.PaintRadio; -var - C: TControlCanvas; - R: TRect; - SelectColor, BorderColor: TColor; -begin - - C := TControlCanvas.Create; - try - C.Control := Control; - - if FMouseInControl then - begin - SelectColor := FXPStyle.FFSelectColor; - BorderColor := FXPStyle.FFSelectBorderColor;; - end - else - begin - SelectColor := clWindow; - BorderColor := clBtnShadow; - end; - if (FIsFocused) then - SelectColor := FXPStyle.FFSelectColor; - - R := Control.ClientRect; - InflateRect(R, 0, -4); - - R.Top := R.Top + ((R.Bottom - R.Top - GetSystemMetrics(SM_CXHTHUMB)) div 2); - R.Bottom := R.Top + GetSystemMetrics(SM_CXHTHUMB)-1; - - - if ((Control.BiDiMode = bdRightToLeft) and - (TCheckBox(Control).Alignment = taRightJustify)) or - ((Control.BiDiMode = bdLeftToRight) and - (TCheckBox(Control).Alignment = taLeftJustify)) - then - R.Left := R.Right - GetSystemMetrics(SM_CXHTHUMB) + 1 - else - if ((Control.BiDiMode = bdLeftToRight) and - (TCheckBox(Control).Alignment = taRightJustify)) or - ((Control.BiDiMode = bdRightToLeft) and - (TCheckBox(Control).Alignment = taLeftJustify)) then - R.Right := R.Left + GetSystemMetrics(SM_CXHTHUMB) - 1; - - C.Brush.Color := TCheckBox(Control).Color; - C.FillRect(R); - - - InflateRect(R, -2, -2); - C.Brush.Color := SelectColor; - C.Pen.Color := BorderColor; - - - C.Ellipse(R.Left, R.Top, R.Right, R.Bottom); - if TRadioButton(Control).Checked then - begin - InflateRect(R, -2, -2); - - if Control.Enabled then - C.Brush.Color := clHighlight - else - C.Brush.color := FXPStyle.FFDisabledColor; - - C.Pen.Color := C.Brush.Color; - C.Ellipse(R.Left, R.Top, R.Right, R.Bottom); - end; - finally - C.Free; - end; - - -end; - -procedure TControlSubClass.PaintButton; -var - C: TControlCanvas; - R: TRect; - SelectColor, BorderColor: TColor; - Txt: string; - TextRect: TRect; - TxtFont: TFont; - - CWidth, CHeight, TWidth, THeight: integer; - TextFormat: integer; - -begin - - C := TControlCanvas.Create; - try - C.Control := Control; - - if (FMouseInControl) then - begin - if Control.Tag = 1000 then // UseParentColor - SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColorSelect) - else - SelectColor := NewColor(C, clBtnFace, FXPStyle.FDimParentColorSelect); - - BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60); - end - else - begin - if Control.Tag = 1000 then - SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor) - else - SelectColor := FXPStyle.FFIconBackColor; - BorderColor := clBtnShadow; - end; - - - if (not FmouseinControl) and (FIsFocused) then - begin - BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60); - end; - - TextFormat := DT_CENTER + DT_VCENTER; - R := Control.ClientRect; - - CWidth := (R.Right - R.Left); - CHeight := (R.Bottom - R.Top); - - C.Brush.Color := Control.Parent.Brush.Color; - C.FillRect(R); - - C.Brush.Color := SelectColor; - - C.Pen.Color := NewColor(C, BorderColor, 30); - C.RoundRect(R.Left, R.Top, R.Right, R.Bottom, 4, 4); - - if TControl(Control).Enabled then - if FBressed or (FLButtonBressed and FmouseinControl) {or FBressed} then - begin - C.Pen.Color := GetShadeColor(C, BorderColor, 50); - C.MoveTo(R.Left , R.Bottom - 2); - C.LineTo(R.Left , R.Top + 1); - C.LineTo(R.Left + 1, R.Top ); - C.LineTo(R.Right - 1 , R.Top ); - end - else - begin - C.Pen.Color := GetShadeColor(C, BorderColor, 50); - C.MoveTo(R.Right - 1, R.Top + 1); - C.LineTo(R.Right - 1, R.Bottom - 2); - C.LineTo(R.Right - 2, R.Bottom - 1); - C.LineTo(R.Left , R.Bottom - 1); - end; - - Txt := TButton(Control).Caption; - - TextRect := R; - - TxtFont := TButton(Control).Font; - C.Font.Assign (TxtFont); - - - if TButton(Control).IsRightToLeft then - TextFormat := TextFormat + DT_RTLREADING; - -//--- //"Holger Lembke" - - if (Txt <> '') then - begin - FillChar(TextRect, SizeOf(TextRect),0); - DrawText(C.Handle, - PChar(Txt), Length(Txt), - TextRect, - DT_CALCRECT + control.DrawTextBiDiModeFlags(0)); - TWidth := TextRect.Right; - THeight := TextRect.Bottom; - end - else - begin - TWidth := 0; - THeight := 0; - end; - -//--- - TextRect.Left := (CWidth - (TWidth)) div 2; - TextRect.Right := TextRect.Left + TWidth; - TextRect.Top := (CHeight - (THeight)) div 2; - TextRect.Bottom := TextRect.Top + THeight; - - - FXPStyle.DrawTheText(Control, - Txt, '', C, - TextRect, false, - TControl(Control).Enabled, - TButton(Control).Default, - false, - TControl(Control).IsRightToLeft, - TxtFont, - TextFormat); - - finally - C.Free; - end; - -end; - -procedure TControlSubClass.PaintSpeedButton; -var - C: TControlCanvas; - R: TRect; - SelectColor, BorderColor: TColor; - Txt: string; - TextRect, IconRect: TRect; - TxtFont: TFont; - B, BF: TBitmap; - CWidth, CHeight, BWidth, BHeight, TWidth, THeight, Space, - NumGlyphs, Offset: integer; - TextFormat: integer; - FDown, FFlat, FTransparent: boolean; - FLayout: TButtonLayout; - P: TPoint; -begin - - C := TControlCanvas.Create; - try - C.Control := Control; - - FDown := TSpeedButton(Control).Down; - FFlat := TSpeedButton(Control).Flat; - FTransparent := TSpeedButton(Control).Transparent; - NumGlyphs := TSpeedButton(Control).NumGlyphs; - -//---------- - if FFlat then - if FMouseInControl then - begin - p := Mouse.CursorPos; - P := Control.ScreenToClient(P); - R := Control.ClientRect; - FMouseInControl := (p.x >= R.Left) and (p.x <= R.Right) and - (p.y >= R.Top) and (p.y <= R.Bottom); - end; - -//---------- - if (FMouseInControl) then - begin - if Control.Tag = 1000 then // UseParentColor - begin - SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColorSelect); - if FFlat then - SelectColor := FXPStyle.FFSelectColor ; - end - else - begin - SelectColor := NewColor(C, clBtnFace, FXPStyle.FDimParentColorSelect); - if FFlat then - SelectColor := FXPStyle.FFSelectColor ; - end; - BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60); - end - else - begin - if Control.Tag = 1000 then - SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor) - else - SelectColor := FXPStyle.FFIconBackColor; - if FFlat then - SelectColor := TControl(Control).Parent.Brush.Color; - - if (Control.ClassName = 'TNavButton') and FFlat then - begin - SelectColor := TControl(Control).Parent.Brush.Color; - end; - BorderColor := clBtnShadow; - end; - - - if FDown then - begin - SelectColor := FXPStyle.FCheckedAreaColor; - BorderColor := FXPStyle.FFSelectBorderColor; - end; - - if FDown and FMouseInControl then - begin - SelectColor := FXPStyle.FCheckedAreaSelectColor; - BorderColor := FXPStyle.FFSelectBorderColor; - end; - - if not TControl(Control).Enabled then - BorderColor := clBtnShadow; - - - TextFormat := + DT_CENTER + DT_VCENTER;; - R := Control.ClientRect; - - CWidth := (R.Right - R.Left); - CHeight := (R.Bottom - R.Top); - - - if (FDown or FMouseInControl) and FTransparent then - begin - BF := TBitmap.Create; - try - BF.Width := R.Right - R.Left; - BF.Height := R.Bottom - R.Top; - - if FFlat then - begin - if GetDeviceCaps(C.Handle, BITSPIXEL) > 16 then - BF.Canvas.Brush.Color := NewColor(C, FXPStyle.FFSelectColor, 20) - else - BF.Canvas.Brush.Color := SelectColor; - end - else - begin - if GetDeviceCaps(C.Handle, BITSPIXEL) > 16 then - BF.Canvas.Brush.Color := NewColor(C, SelectColor, 5) - else - BF.Canvas.Brush.Color := SelectColor; - end; - BF.Canvas.FillRect (R); - BitBlt(C.handle, - R.Left, - R.Top, - R.Right - R.left, - R.Bottom - R.top, - BF.Canvas.Handle, - 0, - 0, - SRCAND); - finally - BF.Free; - end; - end; - - - - - C.Brush.Color := SelectColor; - if not FTransparent then - c.FillRect (R); - - if Control.ClassName = 'TNavButton' then - begin - c.FillRect (R); - end; - C.Pen.Color := NewColor(C, BorderColor, 30); - - if (FFlat) and (not FTransparent) and (not FDown) and (not FMouseInControl) then - C.Pen.Color := C.Brush.Color; - - if FTransparent then - C.Brush.Style := bsClear; - if ((FTransparent) and (FMouseInControl)) or - ((FTransparent) and (FDown)) or - ((not FTransparent )) or - ((not FFlat)) - then - begin - C.Rectangle(R.Left, R.Top, R.Right, R.Bottom); - end; - - if TControl(Control).Enabled then - begin - if (FFlat) then - begin - if (FLButtonBressed ) or (FDown) then - begin - C.Pen.Color := BorderColor; - C.Rectangle(R.Left, R.Top, R.Right, R.Bottom); - C.Pen.Color := GetShadeColor(C, BorderColor, 50); - - C.MoveTo(R.Left , R.Bottom - 1); - C.LineTo(R.Left , R.Top ); - C.LineTo(R.Right , R.Top ); - end - else - if (FMouseInControl) then - begin - C.Pen.Color := FXPStyle.FFSelectBorderColor; - C.Rectangle(R.Left, R.Top, R.Right, R.Bottom); - end; - end; - - if (not FFlat) then - if (FLButtonBressed ) or (FDown) then - begin - C.Pen.Color := GetShadeColor(C, BorderColor, 50); - C.MoveTo(R.Left , R.Bottom - 1); - C.LineTo(R.Left , R.Top ); - C.LineTo(R.Right , R.Top ); - end - else - begin - C.Pen.Color := GetShadeColor(C, BorderColor, 50); - C.MoveTo(R.Right - 1, R.Top ); - C.LineTo(R.Right - 1, R.Bottom - 1); - C.LineTo(R.Left , R.Bottom - 1); - end; - end; - Txt := TSpeedButton(Control).Caption; - - TextRect := R; - - TxtFont := TSpeedButton(Control).Font; - C.Font.Assign (TxtFont); - - TWidth := C.TextWidth(Txt); - //THeight := C.TextHeight(Txt); - TextRect.Left := (CWidth - TWidth) div 2; - - - if TControl(Control).IsRightToLeft then - TextFormat := TextFormat + DT_RTLREADING; - -//--- //"Holger Lembke" - - if (Txt <> '') then - begin - FillChar(TextRect, sizeof(TextRect),0); - DrawText(C.Handle, - PChar(Txt), Length(Txt), - TextRect, - DT_CALCRECT + control.DrawTextBiDiModeFlags(0)); - TWidth := TextRect.Right; - THeight := TextRect.Bottom; - end - else - begin - TWidth := 0; - THeight := 0; - end; - -//--- - - if (TSpeedButton(Control).Glyph <> nil) then - begin - B := TBitmap.Create; - BWidth := TSpeedButton(Control).Glyph.Width div - TSpeedButton(Control).NumGlyphs; - - BHeight := TSpeedButton(Control).Glyph.Height; - - B.Width := BWidth; - B.Height := BHeight; - if Length(TSpeedButton(Control).Caption) > 0 then - Space := TSpeedButton(Control).Spacing - else - Space := 0; - - IconRect := Rect(R.Left , R.Top, R.Left+BWidth, R.Top + BHeight); - - - // Suggested by : "Holger Lembke" - Offset := 1; - if (not Control.Enabled) and (NumGlyphs > 1) then - Offset := 2; - if (FLButtonBressed) and (NumGlyphs > 2) then - Offset := 3; - if (FDown) and (NumGlyphs > 3) then - Offset := 4; - - - B.Canvas.CopyRect (Rect(0, 0, BWidth, BHeight), - TSpeedButton(Control).Glyph.Canvas, - Rect((BWidth * Offset) - BWidth, 0, BWidth * Offset, BHeight)); - - - FLayout := TSpeedButton(Control).Layout; - if Control.IsRightToLeft then - begin - if FLayout = blGlyphLeft then - FLayout := blGlyphRight - else - if FLayout = blGlyphRight then FLayout := blGlyphLeft; - end; - case FLayout of - blGlyphLeft: - begin - IconRect.Left := (CWidth - (BWidth + Space + TWidth)) div 2; - IconRect.Right := IconRect.Left + BWidth; - IconRect.Top := ((CHeight - (BHeight)) div 2) - 1; - IconRect.Bottom := IconRect.Top + BHeight; - - TextRect.Left := IconRect.Right + Space; - TextRect.Right := TextRect.Left + TWidth; - TextRect.Top := (CHeight - (THeight)) div 2; - TextRect.Bottom := TextRect.Top + THeight; - - end; - blGlyphRight: - begin - IconRect.Right := (CWidth + (BWidth + Space + TWidth)) div 2; - IconRect.Left := IconRect.Right - BWidth; - IconRect.Top := (CHeight - (BHeight)) div 2; - IconRect.Bottom := IconRect.Top + BHeight; - - TextRect.Right := IconRect.Left - Space; - TextRect.Left := TextRect.Right - TWidth; - TextRect.Top := (CHeight - (THeight)) div 2; - TextRect.Bottom := TextRect.Top + THeight; - - end; - blGlyphTop: - begin - IconRect.Left := (CWidth - BWidth) div 2; - IconRect.Right := IconRect.Left + BWidth; - IconRect.Top := (CHeight - (BHeight + Space + THeight)) div 2; - IconRect.Bottom := IconRect.Top + BHeight; - - TextRect.Left := (CWidth - (TWidth)) div 2; - TextRect.Right := TextRect.Left + TWidth; - TextRect.Top := IconRect.Bottom + Space; - TextRect.Bottom := TextRect.Top + THeight; - - end; - blGlyphBottom: - begin - IconRect.Left := (CWidth - BWidth) div 2; - IconRect.Right := IconRect.Left + BWidth; - IconRect.Bottom := (CHeight + (BHeight + Space + THeight)) div 2; - IconRect.Top := IconRect.Bottom - BHeight; - - TextRect.Left := (CWidth - (TWidth)) div 2; - TextRect.Right := TextRect.Left + TWidth; - TextRect.Bottom := IconRect.Top - Space; - TextRect.Top := TextRect.Bottom - THeight; - - end; - - end; - - FXPStyle.DrawIcon(Control, C , B, IconRect, - FMouseinControl, - FIsFocused, - TControl(Control).Enabled, - FDown or FLButtonBressed, - false, - TControl(Control).IsRightToLeft); - - B.Free; - end; - - FXPStyle.DrawTheText(Control, - Txt, '', C, - TextRect, false, - TControl(Control).Enabled, - false, - false, - TControl(Control).IsRightToLeft, - TxtFont, - TextFormat); - finally - C.Free; - end; - -end; - -procedure TControlSubClass.PaintBitButn; -var - C: TControlCanvas; - R: TRect; - SelectColor, BorderColor: TColor; - Txt: string; - TextRect, IconRect: TRect; - TxtFont: TFont; - B: TBitmap; - CWidth, CHeight, BWidth, BHeight, TWidth, THeight, Space: integer; - TextFormat: integer; -begin - - C := TControlCanvas.Create; - try - C.Control := Control; - - if (FMouseInControl or FBressed) then - begin - if (Control.Tag and 1000) = 1000 then - SelectColor := NewColor(C, - TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColorSelect) - else - SelectColor := NewColor(C, clBtnFace, FXPStyle.FDimParentColorSelect); - BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60); - end - else - begin - if (Control.Tag and 1000) = 1000 then - SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor) - else - SelectColor := FXPStyle.FFIconBackColor; - BorderColor := clBtnShadow; - end; - - if (not FmouseinControl) and (FIsFocused) then - begin - BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor,60); - end; - - if (Control.Tag and 1001) = 1001 then - begin - BorderColor := SelectColor; - end; - - - TextFormat := + DT_CENTER + DT_VCENTER; - - R := Control.ClientRect; - - CWidth := (R.Right - R.Left); - CHeight := (R.Bottom - R.Top); - - - C.Brush.Color := Control.Parent.Brush.Color; - C.FillRect(R); - - C.Brush.Color := SelectColor; - - - C.Pen.Color := NewColor(C, BorderColor, 30); - c.RoundRect(R.Left, R.Top, R.Right, R.Bottom, 4, 4); - - if (Control.Tag and 1001) <> 1001 then - begin - if TControl(Control).Enabled then - if (FLButtonBressed and FmouseinControl) or (FBressed) then - begin - C.Pen.Color := GetShadeColor(C, BorderColor, 50); - C.MoveTo(R.Left , R.Bottom - 2); - C.LineTo(R.Left , R.Top + 1); - C.LineTo(R.Left + 1, R.Top ); - C.LineTo(R.Right - 1 , R.Top ); - end - else - begin - C.Pen.Color := GetShadeColor(C, BorderColor, 50); - C.MoveTo(R.Right - 1, R.Top + 1); - C.LineTo(R.Right - 1, R.Bottom - 2); - C.LineTo(R.Right - 2, R.Bottom - 1); - C.LineTo(R.Left , R.Bottom - 1); - end; - end; - Txt := TBitBtn(Control).Caption; - - TextRect := R; - - TxtFont := TBitBtn(Control).Font; - C.Font.Assign (TxtFont); - - TWidth := C.TextWidth(Txt); - - TextRect.Left := (CWidth - TWidth) div 2; - - -//--- //"Holger Lembke" - - if (Txt <> '') then - begin - FillChar(TextRect, sizeof(TextRect),0); - DrawText(C.Handle, - PChar(Txt), Length(Txt), - TextRect, - DT_CALCRECT + control.DrawTextBiDiModeFlags(0)); - TWidth := TextRect.Right; - THeight := TextRect.Bottom; - end - else - begin - TWidth := 0; - THeight := 0; - end; - -//--- - if TBitBtn(Control).IsRightToLeft then - TextFormat := TextFormat + DT_RTLREADING; - - - if (TBitBtn(Control).Glyph <> nil) then - begin - B := TBitmap.Create; - BWidth := TBitBtn(Control).Glyph.Width div - TBitBtn(Control).NumGlyphs; - - BHeight := TBitBtn(Control).Glyph.Height; - - B.Width := BWidth; - B.Height := BHeight; - Space := TBitBtn(Control).Spacing; - if (Trim(TBitBtn(Control).Caption) = '') then Space := 0; //"Holger Lembke" - IconRect := Rect(R.Left , R.Top, R.Left+BWidth, R.Top + BHeight); - - B.Canvas.CopyRect (Rect(0, 0, BWidth, BHeight), - TBitBtn(Control).Glyph.Canvas, - Rect(0, 0, BWidth, BHeight)); - - case TBitBtn(Control).Layout of - blGlyphLeft: - begin - IconRect.Left := (CWidth - (BWidth + Space + TWidth)) div 2; - IconRect.Right := IconRect.Left + BWidth; - IconRect.Top := (CHeight - (BHeight)) div 2; - IconRect.Bottom := IconRect.Top + BHeight; - - TextRect.Left := IconRect.Right + Space; - TextRect.Right := TextRect.Left + TWidth; - - TextRect.Top := (CHeight - (THeight)) div 2; - TextRect.Bottom := TextRect.Top + THeight; - end; - blGlyphRight: - begin - IconRect.Right := (CWidth + (BWidth + Space + TWidth)) div 2; - IconRect.Left := IconRect.Right - BWidth; - IconRect.Top := (CHeight - (BHeight)) div 2; - IconRect.Bottom := IconRect.Top + BHeight; - - TextRect.Right := IconRect.Left - Space; - TextRect.Left := TextRect.Right - TWidth; - TextRect.Top := (CHeight - (THeight)) div 2; - TextRect.Bottom := TextRect.Top + THeight; - end; - blGlyphTop: - begin - IconRect.Left := (CWidth - BWidth) div 2; - IconRect.Right := IconRect.Left + BWidth; - IconRect.Top := (CHeight - (BHeight + Space + THeight)) div 2; - IconRect.Bottom := IconRect.Top + BHeight; - - TextRect.Left := (CWidth - (TWidth)) div 2; - TextRect.Right := TextRect.Left + TWidth; - TextRect.Top := IconRect.Bottom + Space; - TextRect.Bottom := TextRect.Top + THeight; - - end; - blGlyphBottom: - begin - IconRect.Left := (CWidth - BWidth) div 2; - IconRect.Right := IconRect.Left + BWidth; - IconRect.Bottom := (CHeight + (BHeight + Space + THeight)) div 2; - IconRect.Top := IconRect.Bottom - BHeight; - - TextRect.Left := (CWidth - (TWidth)) div 2; - TextRect.Right := TextRect.Left + TWidth; - TextRect.Bottom := IconRect.Top - Space; - TextRect.Top := TextRect.Bottom - THeight; - - end; - end; - - FXPStyle.DrawIcon(Control, C , B, IconRect, - FMouseinControl, - FIsFocused, - TControl(Control).Enabled, - false, - false, - TControl(Control).IsRightToLeft); - - B.Free; - end; - - if (Control.Tag and 1002) = 1002 then - begin - if TBitBtn(Control).IsRightToLeft then - TextFormat := + DT_RIGHT + DT_VCENTER - else - TextFormat := + DT_LEFT + DT_VCENTER; - TextRect := R; - InflateRect(TextRect, -4,-2); - end; - - FXPStyle.DrawTheText(Control, - Txt, '', C, - TextRect, false, - TControl(Control).Enabled, - TBitBtn(Control).Default, - false, - TControl(Control).IsRightToLeft, - TxtFont, - TextFormat); - - finally - C.Free; - end; -end; - -procedure TControlSubClass.PaintUpDownButton; -var - C: TControlCanvas; - R: TRect; - SelectColor, BorderColor, ArrowColor: TColor; - P: TPoint; - H: integer; - - procedure DrawUpDownButton(ARect: TRect; Arrow: integer; Active: boolean); - begin - if Control.Enabled then ArrowColor := clBlack else ArrowColor := clWhite; - if Active then - begin - if FLButtonBressed then - begin - BorderColor := FXPStyle.FFSelectBorderColor; - SelectColor := FXPStyle.FCheckedAreaSelectColor ; - ArrowColor := clWhite; - end - else begin - BorderColor := FXPStyle.FFSelectBorderColor; - SelectColor := NewColor(C, FXPStyle.FFSelectColor, 60);//FXPStyle.FFSelectColor; - end; - end - else begin - if Control.Tag = 1000 then - SelectColor := NewColor(C, TControl(Control).Parent.Brush.Color, FXPStyle.FDimParentColor) - else - SelectColor := NewColor(C, FXPStyle.FFSelectColor, FXPStyle.FDimParentColor);//clBtnFace; - BorderColor := NewColor(C, TControl(Control).Parent.Brush.Color, 80);//SelectColor; - end; - - C.Pen.Color := BorderColor; - C.Brush.Color := SelectColor; - C.Font.Color := ArrowColor; - - if C.Pixels[ARect.Left, ARect.Top] <> ColorToRGB(BorderColor) then begin - C.Rectangle(ARect.Left, ARect.Top, ARect.Right, ARect.Bottom); - C.Pen.Color := ArrowColor; - DrawArrow(C, ARect.Left + ((ARect.Right - ARect.Left) div 2), - ARect.Top + ((ARect.Bottom - ARect.Top) div 2) -2, Arrow); - end; - end; - -begin - C := TControlCanvas.Create; - try - C.Control := Control; - R := Control.ClientRect; - - H := (R.Bottom - R.Top) div 2; - P := Control.ScreenToClient(Mouse.CursorPos); - DrawUpDownButton(Rect(R.Left, R.Top, R.Right, R.Top + H), 0, - TControl(Control).Enabled and FMouseInControl and (P.Y < H)); - DrawUpDownButton(Rect(R.Left, R.Bottom - H, R.Right, R.Bottom), 1, - TControl(Control).Enabled and FMouseInControl and not(P.Y < H)); - finally - C.Free; - end; -end; - -procedure TControlSubClass.PaintGroupBox; -var - C: TControlCanvas; - R, RText: TRect; - ShadowColor, LightColor: TColor; - TextHeight, TextWidth: integer; - Text: string; -begin - - if FMsg <> WM_PAINT then exit; - C := TControlCanvas.Create; - try - C.Control := Control; - - R := Control.ClientRect; - C.Font.Assign (TGroupBox(Control).Font); - C.Font.Height := TGroupBox(Control).Font.Height; - Text := TGroupBox(Control).Caption; - - TextHeight := C.TextHeight(Text); - TextWidth := C.TextWidth(Text); - if Length(Text) = 0 then - TextHeight := C.TextHeight(' '); - ShadowColor := GetShadeColor(C, TGroupBox(Control).color, 60); - LightColor := NewColor(C, TGroupBox(Control).color, 60); - - InflateRect(R,-1, -1); - Inc(R.Top, (TextHeight)-1); - C.Brush.Style := bsClear; - C.Pen.Color := TGroupBox(Control).Color; // Control Color; - C.Rectangle (R.Left, R.Top, R.Right, R.Bottom); - - - //----Draw the outer Frame - R := Control.ClientRect; - Inc(R.Top, (TextHeight div 2)-1); - C.Pen.Color := TGroupBox(Control).Color; - C.MoveTo(R.Left + 1, R.Top); // Repeat - C.LineTo(R.Left + 1, R.Bottom); - if TGroupBox(Control).Ctl3D then - Frame3D(C, R, LightColor, ShadowColor, 1) - else - Frame3D(C, R, ShadowColor, ShadowColor, 1); - - - // Fill Upper part (outside frame) - R := Control.ClientRect; - R.Bottom := R.Top + (TextHeight div 2) + 1; - C.Brush.Style := bsSolid; - C.Brush.Color := Control.Parent.Brush.Color; // Parent Color; - C.Pen.Color := C.Brush.Color; - C.FillRect(R); - - - if Control.IsRightToLeft then - begin - C.TextFlags := ETO_RTLREADING; - RText.Right := R.Right - 9; - RText.Left := RText.Right - TextWidth; - end - else - begin - RText.Left := R.Left + 9; - RText.Right := RText.Left + TextWidth; - end; - - RText.Top := R.Top ; - RText.Bottom := R.Top + TextHeight; - - //(inside frame) - InflateRect(R, -1, 0); - R.Top := R.Bottom; - R.Bottom := R.Top + (TextHeight div 2) + 1; - C.Brush.Style := bsSolid; - R.Left := RText.Left; - R.Right := RText.Right; - C.Brush.Color := TGroupBox(Control).Color; // Control Color; - C.Pen.Color := C.Brush.Color; - C.FillRect(R); - - R.Right := Control.ClientRect.Right; - - C.MoveTo(R.Right-2, R.Top); - C.LineTo(R.Right-2, RText.Bottom); - - C.Brush.Style := bsClear; - if Control.IsRightToLeft then - C.TextFlags := ETO_RTLREADING; - - C.TextRect (RText, RText.Left, RText.Top, Text); - - // Draw Upper Line - R := Control.ClientRect; - Inc(R.Top, (TextHeight div 2) + 1); - if TGroupBox(Control).Ctl3D then - C.Pen.Color := LightColor - else - C.Pen.Color := ShadowColor; - C.MoveTo(R.Left, R.Top); - C.LineTo(RText.Left, R.Top); - - C.MoveTo(RText.Right, R.Top); - C.LineTo(R.Right -1, R.Top); - - finally - C.Free; - end; -end; - -procedure TControlSubClass.PaintPanel; -var - C: TControlCanvas; - R: TRect; - ShadowColor, LightColor: TColor; -begin - if FMsg <> WM_PAINT then exit; - C := TControlCanvas.Create; - try - C.Control := Control; - - R := Control.ClientRect; - ShadowColor := GetShadeColor(C, TPanel(Control).color, 60); - LightColor := NewColor(C, TPanel(Control).color, 60); - if TPanel(Control).BevelOuter <> bvNone then - begin - if TPanel(Control).BevelOuter = bvLowered then - Frame3D(C, R, ShadowColor, LightColor, TPanel(Control).BevelWidth) - else - Frame3D(C, R, LightColor, ShadowColor, TPanel(Control).BevelWidth); - end; - - if TPanel(Control).BevelInner <> bvNone then - begin - InflateRect(R, -TPanel(Control).BorderWidth, -TPanel(Control).BorderWidth); - - if TPanel(Control).BevelInner = bvLowered then - Frame3D(C, R, ShadowColor, LightColor, TPanel(Control).BevelWidth) - else - Frame3D(C, R, LightColor, ShadowColor, TPanel(Control).BevelWidth); - end; - finally - C.Free; - end; - -end; - -type - TCastWinControl = class(TWinControl); - -procedure TControlSubClass.PaintNCWinControl; -var - DC: HDC; - C: TControlCanvas; - R: TRect; - BorderColor: TColor; - -begin - C := TControlCanvas.Create; - DC := GetWindowDC(TWinControl(Control).Handle); - try - C.Control := Control; - C.Handle := DC; - - FXPStyle.SetGlobalColor(C); - - if (FMouseInControl) or (FIsFocused) then - begin - if FBorderStyle = bsSingle then - BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor, 60) - else - BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor, 80); - end - else - begin - if FBorderStyle = bsSingle then - borderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60) - else - borderColor := Control.Parent.Brush.Color; - end; - - if TCastWinControl(Control).Ctl3D <> false then - begin - FBuilding := true; - TCastWinControl(Control).Ctl3D := false; - end; - - C.Pen.Color := BorderColor; - C.Brush.Style := bsClear; - - R := Rect(0, 0, Control.Width, Control.Height); - C.Rectangle(R.Left, R.Top, R.Right, R.Bottom); - finally - C.Free; - ReleaseDC(TWinControl(Control).Handle, DC); - end; -end; - -procedure TControlSubClass.PaintProgressBar; -var - DC: HDC; - C: TControlCanvas; - R: TRect; - BorderColor: TColor; - -begin - C := TControlCanvas.Create; - DC := GetWindowDC(TWinControl(Control).Handle); - try - C.Control := Control; - C.Handle := DC; - - if (FMouseInControl) then - BorderColor := FXPStyle.FFSelectBorderColor - else - BorderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60); - - C.Pen.Color := BorderColor; - C.Brush.Style := bsClear; - - R := Rect(0, 0, Control.Width, Control.Height); - C.Rectangle(R.Left, R.Top, R.Right, R.Bottom); - finally - C.Free; - ReleaseDC(TWinControl(Control).Handle, DC); - end; -end; - -procedure TControlSubClass.PaintHotKey; -var - DC: HDC; - C: TControlCanvas; - R: TRect; - BorderColor: TColor; - -begin - C := TControlCanvas.Create; - DC := GetWindowDC(TWinControl(Control).Handle); - try - C.Control := Control; - C.Handle := DC; - - FXPStyle.SetGlobalColor(C); - - if (FMouseInControl) or (FIsFocused) then - BorderColor := NewColor(C, FXPStyle.FFSelectBorderColor, 60) - else - BorderColor := GetShadeColor(C, Control.Parent.Brush.Color, 60); - - C.Pen.Color := BorderColor; - C.Brush.Style := bsClear; - - R := Rect(0, 0, Control.Width, Control.Height); - C.Rectangle(R.Left, R.Top, R.Right, R.Bottom); - InflateRect(R, -1, -1); - C.Pen.Color := clWindow; - C.Rectangle(R.Left, R.Top, R.Right, R.Bottom); - - finally - C.Free; - ReleaseDC(TWinControl(Control).Handle, DC); - end; -end; - -// UCXPStyleManager -// -// Uwe Runkel, uwe@runkel.info -// -// Enable FXPStyle to be used globally (all windows in the application use XPStyle). -// Hence you don't need more than one instance in an application. However it is also -// possible to have more than one instance. But only one instance is used for subclassing. -// If this instance is destroyed the manager looks if there is another instance which is -// allowed to subclass. - -constructor TUCXPStyleManager.Create; -begin - inherited Create; - FXPStyleList := TList.Create; // list of XPStyle components in the application - FFormList := TList.Create; // list of subclassed forms - FPendingFormsList := TList.Create; // list of forms inserted but not subclassed yet - FDisableSubclassing := false; // This disables the UCXPStyleManager - FActiveXPStyle := nil; // Currently for subclassing used XPStyle - // if this is nil no subclassing is done. - {the If condition was added because sometimes it freezes delphi when - more than two windows with the UCXPStyle component are opened and the closed} - - if not (csDesigning in Application.ComponentState) then - Application.HookMainWindow(MainWindowHook); -end; - -destructor TUCXPStyleManager.Destroy; -begin -{Bret Goldsmith bretg@yahoo.com} -{alexs } - {the If condition was added because sometimes it freezes delphi when - more than two windows with the UCXPStyle component are opened and the closed} - if not (csDesigning in Application.ComponentState) then - Application.UnhookMainWindow(MainWindowHook); - - FPendingFormsList.Free; - FXPStyleList.Free; - FFormList.Free; - inherited; -end; - -// A component has been inserted or removed, if it is a form and subclassing is -// allowed then subclass it, so this form doesn't need a XPStyle component as well -procedure TUCXPStyleManager.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - if (FActiveXPStyle = nil) or FDisableSubclassing then Exit; - case AOperation of - opInsert: - // At this place we cannot subclass the control because it did not yet get its - // initial window procedure. - // So we add it to an intermediate list and subclass it at a later moment. - if (AComponent is TCustomForm) and (FPendingFormsList.IndexOf(AComponent) < 0) then - FPendingFormsList.Add(AComponent); - opRemove: - if (AComponent is TWinControl) then - begin - if AComponent is TCustomForm then begin - // Remove the destroyed form from any form list if it is still there. - FPendingFormsList.Remove(AComponent); - FFormList.Remove(AComponent); - end; - end; - end; -end; - -// Add some XPStyle to the manager -procedure TUCXPStyleManager.Add(AXPStyle: TUCXPStyle); -begin - FXPStyleList.Add(AXPStyle); - FFormList.Add(AXPStyle.Form); - if (FActiveXPStyle = nil) and AXPStyle.Active and not(AXPStyle.DisableSubclassing) and - not(FDisableSubclassing) then - begin - FActiveXPStyle := AXPStyle; - CollectForms; - end; -end; - -// Remove some XPStyle from the manager -procedure TUCXPStyleManager.Delete(AXPStyle: TUCXPStyle); -begin - if AXPStyle = FActiveXPStyle then - UpdateActiveXPStyle(AXPStyle); - FXPStyleList.Remove(AXPStyle); -end; - -// Select a new ActiveXPStyle (except the one given in the parameter) -procedure TUCXPStyleManager.UpdateActiveXPStyle(AXPStyle: TUCXPStyle); -var - Cnt : integer; - XPM : TUCXPStyle; - Item: TControlSubClass; - Comp: TControlSubClass; - -begin - XPM := FindSubclassingXPStyle(AXPStyle); - if XPM = nil then - begin - FPendingFormsList.Clear; - if not Assigned(Application.MainForm) then Exit; - for Cnt := 0 to FFormList.Count - 1 do - if (AXPStyle = nil) or (FFormList[Cnt] <> AXPStyle.Form) then - RemoveChildSubclassing(TCustomForm(FFormList[Cnt])); - FFormList.Clear; - FActiveXPStyle := XPM; - end - else begin - if FActiveXPStyle = nil then - begin - FActiveXPStyle := XPM; - CollectForms; - end - else begin - for Cnt := 0 to FActiveXPStyle.ComponentCount - 1 do - if (FActiveXPStyle.Components[Cnt] is TControlSubClass) then - begin - Comp := FActiveXPStyle.Components[Cnt] as TControlSubClass; - if (AXPStyle <> nil) and not(AXPStyle.Form.ContainsControl(Comp.Control)) then - begin - Item := TControlSubClass.Create(XPM); - Item.Control := Comp.Control; - Item.orgWindowProc := Comp.orgWindowProc; - Item.Control.WindowProc := Item.ControlSubClass; - Item.FXPStyle := XPM; - Item.FCtl3D := Comp.FCtl3D; - Item.FBorderStyle := Comp.FBorderStyle; - {Item.FOnDrawCell := Comp.FOnDrawCell;} - Item.FDefaultDrawing := Comp.FDefaultDrawing; - Item.FSelCol := Comp.FSelCol; - Item.FSelRow := Comp.FSelRow; - end; - end; - FActiveXPStyle := XPM; - end; - end; -end; - -// Find an XPStyle which can be used for subclassing -function TUCXPStyleManager.FindSubclassingXPStyle(Exclude: TUCXPStyle): TUCXPStyle; -var - XPM: TUCXPStyle; - Cnt: integer; - -begin - Result := nil; - if (FXPStyleList.Count = 0) or FDisableSubclassing then Exit; - Cnt := 0; - repeat - XPM := TUCXPStyle(FXPStyleList[Cnt]); - if XPM.Active and not(XPM.DisableSubclassing) and (XPM <> Exclude) - then Result := XPM; - inc(Cnt); - until (Result <> nil) or (Cnt = FXPStyleList.Count); -end; - -// Listens to messages sent to the application and looks if a window is inserted. -function TUCXPStyleManager.MainWindowHook(var Message: TMessage): boolean; -var - i: integer; - NewForm: TCustomForm; - - FMenuItem: TMenuItem; // +jt - FMenu: TMenu; // +jt - r: TRECT; // +jt - pt: TPOINT; // +jt - hWndM: HWND; // +j -begin - Result := false; - // +ahuser// ahuser: "Andreas Hausladen" - if UCXPStyleManager = nil then // prevent AVs on termination - Exit; - // +ahuser - if Message.Msg = WM_DRAWMENUBORDER then - begin - FMenuItem:=TMenuItem(Message.LParam); - if Assigned(FMenuItem) then - begin - GetMenuItemRect(0,FMenuItem.Parent.Handle,FMenuItem.MenuIndex,r); - FMenu := FMenuItem.Parent.GetParentMenu; - pt.x:=r.Left+(r.Right-r.Left) div 2; - pt.y:=r.Top+(r.Bottom-r.Top) div 2; - hWndM :=WindowFromPoint(pt); - if (hWndM <> 0) and Assigned(FActiveXPStyle) then //Rappido 2003 09 13 - FActiveXPStyle.DrawWindowBorder(hWndM, FMenu.IsRightToLeft); - end; - end; - - if Message.Msg = WM_DRAWMENUBORDER2 then - begin - hWndM := HWND(Message.LParam); - if (hWndM <> 0) and Assigned(FActiveXPStyle) then //Rappido 2003 09 13 - FActiveXPStyle.DrawWindowBorder(hWndM, boolean(Message.WParam)); - end; - - if (Assigned(FPendingFormsList)) and (FPendingFormsList <> nil) then - try - if (FPendingFormsList.Count > 0) then - begin - for i := 0 to FPendingFormsList.Count - 1 do begin - NewForm := TCustomForm(FPendingFormsList[i]); - if FFormList.IndexOf(NewForm) < 0 then begin - FFormList.Add(NewForm); - if not(FDisableSubclassing) then - FActiveXPStyle.InitItems(NewForm, true, true); - end; - end; - FPendingFormsList.Clear; - end; - except - end; - - -end; - -// Collect all forms of the application and subclass them -procedure TUCXPStyleManager.CollectForms; -var - FCnt, CCnt: integer; - HasXPStyle : boolean; - -begin - if not FDisableSubclassing then - for FCnt := 0 to Screen.FormCount - 1 do - if (FFormList.IndexOf(Screen.Forms[FCnt]) < 0) and (Screen.Forms[FCnt].Tag <> 999) then - begin - HasXPStyle := false; - for CCnt := 0 to Screen.Forms[FCnt].ComponentCount - 1 do - HasXPStyle := HasXPStyle or (Screen.Forms[FCnt].Components[CCnt] is TUCXPStyle); - if not(HasXPStyle) then - FPendingFormsList.Add(Screen.Forms[FCnt]); - end; -end; - -// Remove subclassing from the original components -procedure TUCXPStyleManager.RemoveChildSubclassing(AForm: TCustomForm); -var - Cnt : integer; - Comp : TComponent; - Control: TControl; - -begin -//exit; - for Cnt := FActiveXPStyle.ComponentCount - 1 downto 0 do begin - Comp := FActiveXPStyle.Components[Cnt]; - if (Comp is TControlSubClass) then begin - Control := TControlSubClass(Comp).Control; - if AForm.ContainsControl(Control) then begin - try - Control.WindowProc := TControlSubClass(Comp).orgWindowProc; - if Control is TCustomEdit then begin - TEdit(Control).Ctl3D := TControlSubClass(Comp).FCtl3D; - TEdit(Control).BorderStyle := TControlSubClass(Comp).FBorderStyle; - end; - if Control.ClassName = 'TDBLookupComboBox' then - TComboBox(Control).Ctl3D := TControlSubClass(Comp).FCtl3D; - if Control is TCustomListBox then begin - TListBox(Control).Ctl3D := TControlSubClass(Comp).FCtl3D; - TListBox(Control).BorderStyle := TControlSubClass(Comp).FBorderStyle; - end; - if Control is TCustomListView then begin - TListView(Control).Ctl3D := TControlSubClass(Comp).FCtl3D; - TListView(Control).BorderStyle := TControlSubClass(Comp).FBorderStyle; - end; - if Control is TCustomTreeView then begin - TTreeView(Control).Ctl3D := TControlSubClass(Comp).FCtl3D; - TTreeView(Control).BorderStyle := TControlSubClass(Comp).FBorderStyle; - end; - except - end; - end; - end; - end; -end; - -// Add a form manually to the current XPStyle -procedure TUCXPStyleManager.AddForm(AForm: TCustomForm); -begin - if FPendingFormsList.IndexOf(AForm) < 0 then - FPendingFormsList.Add(AForm); -end; - -// Remove a form manually from the current XPStyle -procedure TUCXPStyleManager.RemoveForm(AForm: TCustomForm); -begin - if FPendingFormsList.IndexOf(AForm) >= 0 then - FPendingFormsList.Remove(AForm); - if FFormList.IndexOf(AForm) >= 0 then - FFormList.Remove(AForm); -end; - -// Disable/Enable subclassing by the manager -procedure TUCXPStyleManager.SetDisableSubclassing(AValue: boolean); -begin - if FDisableSubclassing = AValue then Exit; - FDisableSubclassing := AValue; - UpdateActiveXPStyle(nil); -end; - -// Check if a Form is subclassed -function TUCXPStyleManager.IsFormSubclassed(AForm: TCustomForm): boolean; -begin - Result := ((FFormList <> nil) and (FFormList.IndexOf(AForm) >= 0)) or - ((FPendingFormsList <> nil) and (FPendingFormsList.IndexOf(AForm) >= 0)); -end; - -// Check if a Component is subclassed -function TUCXPStyleManager.IsComponentSubclassed(AComponent: TComponent): boolean; -var - Cnt: integer; - -begin - Result := false; - with FActiveXPStyle do - for Cnt := 0 to ComponentCount - 1 do - if Components[Cnt] is TControlSubClass then - if TControlSubClass(Components[Cnt]).Control = TControl(AComponent) then - begin - Result := True; - Break; // ahuser - end; -end; -initialization - InitControls; - //else - // exit; -finalization - DoneControls; -end. - diff --git a/internal/2.31RC1/1/Source/UcConsts_Language.pas b/internal/2.31RC1/1/Source/UcConsts_Language.pas deleted file mode 100644 index c66c247..0000000 --- a/internal/2.31RC1/1/Source/UcConsts_Language.pas +++ /dev/null @@ -1,971 +0,0 @@ -unit UcConsts_Language; - -interface - -Uses SysUtils; - -Type TUCLanguage = ( ucPortuguesBr, ucEnglish, ucSpanish, ucFrench ); - -Const MaxArray = 227; - -Const UC_PTBR : Array [0..MaxArray,0..1] of string = ( - ('Const_Contr_TitleLabel','Seleção de Componentes do Form. :'), - ('Const_Contr_GroupLabel','Grupo :') , - ('Const_Contr_CompDispLabel','Componentes Disponíveis :'), - ('Const_Contr_CompSelLabel','Componentes Selecionados :'), - ('Const_Contr_BtOK','&OK'), - ('Const_Contr_BTCancel','&Cancelar'), - ('Const_Contr_DescCol','Descrição'), - ('Const_Contr_BtSellAllHint','Selecionar Todos'), - ('Const_Contr_BtSelHint','Selecionar'), - ('Const_Contr_BtUnSelHint','Desmarcar'), - ('Const_Contr_BtUnSelAllHint','Desmarcar Todos'), - ('Const_Msgs_BtNew','&Nova Mensagem'), - ('Const_Msgs_BtReplay','&Responder'), - ('Const_Msgs_BtForward','E&ncaminhar'), - ('Const_Msgs_BtDelete','&Excluir'), - ('Const_Msgs_BtClose','&Fechar'), - ('Const_Msgs_WindowCaption','Mensagens do Sistema'), - ('Const_Msgs_ColFrom','Remetente'), - ('Const_Msgs_ColSubject','Assunto'), - ('Const_Msgs_ColDate','Data'), - ('Const_Msgs_PromptDelete','Confirma excluir as mensagens selecionadas ?'), - ('Const_Msgs_PromptDelete_WindowCaption','Apagar mensagens'), - ('Const_Msgs_NoMessagesSelected','Não existem mensagens selecionadas'), - ('Const_Msgs_NoMessagesSelected_WindowCaption','Informação'), - ('Const_MsgRec_BtClose','&Fechar'), - ('Const_MsgRec_WindowCaption','Mensagem'), - ('Const_MsgRec_Title','Mensagem Recebida'), - ('Const_MsgRec_LabelFrom','De :'), - ('Const_MsgRec_LabelDate','Data'), - ('Const_MsgRec_LabelSubject','Assunto'), - ('Const_MsgRec_LabelMessage','Mensagem'), - ('Const_MsgSend_BtSend','&Enviar'), - ('Const_MsgSend_BtCancel','&Cancelar'), - ('Const_MsgSend_WindowCaption','Mensagem'), - ('Const_MsgSend_Title','Enviar Nova Mensagem'), - ('Const_MsgSend_GroupTo','Para'), - ('Const_MsgSend_RadioUser','Usuário :'), - ('Const_MsgSend_RadioAll','Todos'), - ('Const_MsgSend_GroupMessage','Mensagem'), - ('Const_MsgSend_LabelSubject','Assunto'), - ('Const_MsgSend_LabelMessageText','Texto da mensagem'), - ('MsgExceptConnection','Não informado o Connection, Transaction ou Database do componente %s'), - ('MsgExceptTransaction','Não informado o Transaction do componente %s'), - ('MsgExceptDatabase','Não informado o Database do componente %s'), - ('MsgExceptPropriedade','Favor informar a propriedade %s'), - ('MsgExceptUserMngMenu','Informe na propriedade UsersForm.MenuItem ou UsersForm.Action o Item responsável pelo controle de usuários'), - ('MsgExceptUserProfile','Informe na propriedade UsersProfile.MenuItem ou UsersProfile.Action o Item responsável pelo controle de Perfil de usuários'), - ('MsgExceptChagePassMenu','Informe na propriedade ChangePasswordForm.MenuItem or .Action o Item que permite ao usuário alterar sua senha'), - ('MsgExceptAppID','Na propriedade ApplicationID informe um nome para identificar a aplicação na tabela de permissões'), - ('MsgExceptUsersTable','Na propriedade TableUsers informe o nome da tabela que será criada para armazenar os dados dos usuários'), - ('MsgExceptRightsTable','Na propriedade TableRights informe o nome da tabela que será criada para armazenar as permissões dos usuários'), - ('MsgExceptConnector','Propriedade DataConnector não definida!'), - ('Const_Men_AutoLogonError','Falha de Auto Logon!' + #13 + #10 + 'Informe um usuário e senha válidos.'), - ('Const_Men_SenhaDesabitada','Retirada senha do Login %s'), - ('Const_Men_SenhaAlterada','Senha alterada com sucesso!'), - ('Const_Men_MsgInicial','ATENÇÃO Login Inicial:' + #13 + #10 + #13 + #10 + 'Usuário : :user' + #13 + #10 + 'Senha : :password' + #13 + #10 + #13 + #10 + 'Defina as permissões para este usuário.'), - ('Const_Men_MaxTentativas','%d Tentativas de login inválido. Por motivos de segurança o ' + #13 + #10 + 'sistema será fechado.'), - ('Const_Men_LoginInvalido','Usuário ou Senha inválidos!'), - ('Const_Men_UsuarioExiste','O Usuário "%s" já está cadastrado no sistema !!'), - ('Const_Men_PasswordExpired','Atenção, sua senha expirou, favor troca-la'), - ('Const_Log_BtCancelar','&Cancelar'), - ('Const_Log_BtOK','&OK'), - ('Const_Log_LabelSenha','Senha :'), - ('Const_Log_LabelUsuario','Usuário :'), - ('Const_Log_WindowCaption','Login'), - ('Const_Log_LbEsqueciSenha','Esqueci a senha'), - ('Const_Log_MsgMailSend','A senha foi enviada para o seu email.'), - ('Const_Log_LabelTentativa','Tentativa : '), - ('Const_Log_LabelTentativas','Máximo de Tentativas : '), - ('Const_LogC_WindowCaption','Segurança'), - ('Const_LogC_LabelDescricao','Log do Sistema'), - ('Const_LogC_LabelUsuario','Usuário :'), - ('Const_LogC_LabelData','Data :'), - ('Const_LogC_LabelNivel','Nível mínimo :'), - ('Const_LogC_ColunaAppID','AppID'), - ('Const_LogC_ColunaNivel','Nível'), - ('Const_LogC_ColunaMensagem','Mensagem'), - ('Const_LogC_ColunaUsuario','Usuário'), - ('Const_LogC_ColunaData','Data'), - ('Const_LogC_BtFiltro','&Aplicar Filtro'), - ('Const_LogC_BtExcluir','&Excluir Log'), - ('Const_LogC_BtFechar','&Fechar'), - ('Const_LogC_ConfirmaExcluir','Confirma excluir todos os registros de log selecionados ?'), - ('Const_LogC_ConfirmaDelete_WindowCaption','Confirma exclusão'), - ('Const_LogC_Todos','Todos'), - ('Const_LogC_Low','Baixo'), - ('Const_LogC_Normal','Normal'), - ('Const_LogC_High','Alto'), - ('Const_LogC_Critic','Crítico'), - ('Const_LogC_ExcluirEfectuada','Exclusão de log´s do sistema : Usuário = "%s" | Data = %s a %s | Nível <= %s'), - ('Const_Cad_WindowCaption','Segurança'), - ('Const_Cad_LabelDescricao','Cadastro de Usuários'), - ('Const_Cad_ColunaNome','Nome'), - ('Const_Cad_ColunaLogin','Login'), - ('Const_Cad_ColunaEmail','Email'), - ('Const_Cad_BtAdicionar','&Adicionar'), - ('Const_Cad_BtAlterar','A<erar'), - ('Const_Cad_BtExcluir','&Excluir'), - ('Const_Cad_BtPermissoes','A&cessos'), - ('Const_Cad_BtSenha','&Senha'), - ('Const_Cad_BtFechar','&Fechar'), - ('Const_Cad_ConfirmaExcluir','Confirma excluir o usuário "%s" ?'), - ('Const_Cad_ConfirmaDelete_WindowCaption','Excluir usuário'), - ('Const_Prof_WindowCaption','Segurança'), - ('Const_Prof_LabelDescricao','Perfil de Usuários'), - ('Const_Prof_ColunaNome','Perfil'), - ('Const_Prof_BtAdicionar','&Adicionar'), - ('Const_Prof_BtAlterar','A<erar'), - ('Const_Prof_BtExcluir','&Excluir'), - ('Const_Prof_BtPermissoes','A&cessos'), - ('Const_Prof_BtSenha','&Senha'), - ('Const_Prof_BtFechar','&Fechar'), - ('Const_Prof_ConfirmaExcluir','Existem usuários com o perfil "%s". Confirma excluir?'), - ('Const_Prof_ConfirmaDelete_WindowCaption','Delete profile'), - ('Const_Inc_WindowCaption','Cadastro de Usuários'), - ('Const_Inc_LabelAdicionar','Adicionar Usuário'), - ('Const_Inc_LabelAlterar','Alterar Usuário'), - ('Const_Inc_LabelNome','Nome :'), - ('Const_Inc_LabelLogin','Login :'), - ('Const_Inc_LabelEmail','Email :'), - ('Const_Inc_LabelPerfil','Perfil :'), - ('Const_Inc_CheckPrivilegiado','Usuário privilegiado'), - ('Const_Inc_BtGravar','&Gravar'), - ('Const_Inc_BtCancelar','Cancelar'), - ('Const_Inc_CheckEspira','Senha do usuário não expira'), - ('Const_Inc_Dia','Dias'), - ('Const_Inc_ExpiraEm','Expira em'), - ('Const_PInc_WindowCaption','Perfil de Usuários'), - ('Const_PInc_LabelAdicionar','Adicionar Perfil'), - ('Const_PInc_LabelAlterar','Alterar Perfil'), - ('Const_PInc_LabelNome','Descrição :'), - ('Const_PInc_BtGravar','&Gravar'), - ('Const_PInc_BtCancelar','Cancelar'), - ('Const_Perm_WindowCaption','Segurança'), - ('Const_Perm_LabelUsuario','Permissões do Usuário :'), - ('Const_Perm_LabelPerfil','Permissões do Perfil :'), - ('Const_Perm_PageMenu','Itens do Menu'), - ('Const_Perm_PageActions','Ações'), - ('Const_Perm_PageControls','Controles'), - ('Const_Perm_BtLibera','&Liberar'), - ('Const_Perm_BtBloqueia','&Bloquear'), - ('Const_Perm_BtGravar','&Gravar'), - ('Const_Perm_BtCancelar','&Cancelar'), - ('Const_Troc_WindowCaption','Segurança'), - ('Const_Troc_LabelDescricao','Trocar Senha'), - ('Const_Troc_LabelSenhaAtual','Senha Atual :'), - ('Const_Troc_LabelNovaSenha','Nova Senha :'), - ('Const_Troc_LabelConfirma','Confirmação :'), - ('Const_Troc_BtGravar','&Gravar'), - ('Const_Troc_BtCancelar','Cancelar'), - ('Const_ErrPass_SenhaAtualInvalida','Senha Atual não confere!'), - ('Const_ErrPass_ErroNovaSenha','Os campos: Nova Senha e Confirmação devem ser iguais.'), - ('Const_ErrPass_NovaIgualAtual','Nova senha igual a senha atual'), - ('Const_ErrPass_SenhaObrigatoria','A Senha é obrigatória'), - ('Const_ErrPass_SenhaMinima','A senha deve conter no mínimo %d caracteres'), - ('Const_ErrPass_SenhaInvalida','Proibido utilizar senhas obvias!'), - ('Const_ErrPass_ForcaTrocaSenha','Mudança de senha obrigatória'), - ('Const_DefPass_WindowCaption','Definir senha do usuário : "%s"'), - ('Const_DefPass_LabelSenha','Senha :'), - ('Const_TableUsers_FieldUserID','UCIdUser'), - ('Const_TableUsers_FieldUserName','UCUserName'), - ('Const_TableUsers_FieldLogin','UCLogin'), - ('Const_TableUsers_FieldPassword','UCPassword'), - ('Const_TableUsers_FieldEmail','UCEmail'), - ('Const_TableUsers_FieldPrivileged','UCPrivileged'), - ('Const_TableUsers_FieldTypeRec','UCTypeRec'), - ('Const_TableUsers_FieldProfile','UCProfile'), - ('Const_TableUsers_FieldKey','UCKey'), - ('Const_TableUsers_TableName','UCTabUsers'), - ('Const_TableUsers_FieldDateExpired','UCPASSEXPIRED'), - ('Const_TableUser_FieldUserExpired','UCUserExpired'), - ('Const_TableUser_FieldUserDaysSun','UCUserDaysSun'), - ('Const_TableUser_FieldUserInative','UCInative'), - ('Const_TableRights_FieldUserID','UCIdUser'), - ('Const_TableRights_FieldModule','UCModule'), - ('Const_TableRights_FieldComponentName','UCCompName'), - ('Const_TableRights_FieldFormName','UCFormName'), - ('Const_TableRights_FieldKey','UCKey'), - ('Const_TableRights_TableName','UCTabRights'), - ('Const_TableUsersLogged_FieldLogonID','UCIdLogon'), - ('Const_TableUsersLogged_FieldUserID','UCIdUser'), - ('Const_TableUsersLogged_FieldApplicationID','UCApplicationId'), - ('Const_TableUsersLogged_FieldMachineName','UCMachineName'), - ('Const_TableUsersLogged_FieldData','UCData'), - ('Const_TableUsersLogged_TableName','UCTabUsersLogged'), - ('Const_Evento_Insert','Inserido'), - ('Const_Evento_Delete','Apagado'), - ('Const_Evento_Edit','Editado'), - ('Const_Evento_NewRecord','Novo registro'), - ('Const_Hist_All','Todos'), - ('Const_Msg_LimpHistorico','Excluir todo o conteúdo do histórico ?'), - ('Const_Msg_MensConfirma','Confirmação'), - ('Const_Msg_LogEmptyHistory','Usuário %s apagou todo o histórico as %s'), - ('Const_LabelDescricao','Histórico de tabelas'), - ('Const_LabelUser','Usuário'), - ('Const_LabelForm','Formulário'), - ('Const_LabelEvento','Evento'), - ('Const_LabelTabela','Tabela'), - ('Const_LabelDataEvento','Data'), - ('Const_LabelHoraEvento','Hora'), - ('Const_Msg_NewRecord','%s inseriu um novo registro'), - ('Const_Hist_TableName','UCTABHistory'), - ('Const_Hist_FieldApplicationID','ApplicationID'), - ('Const_Hist_FieldUserID','UserID'), - ('Const_Hist_FieldEventDate','EventDate'), - ('Const_Hist_FieldEventTime','EventTime'), - ('Const_Hist_FieldForm','Form'), - ('Const_Hist_FieldCaptionForm','FormCaption'), - ('Const_Hist_FieldEvent','Event'), - ('Const_Hist_FieldObs','Obs'), - ('Const_Hist_FieldTableName','tName'), - ('Const_Hist_MsgExceptPropr','Favor informar a propriedade %s'), - ('Const_Hist_BtnFiltro','&Aplicar Filtro'), - ('Const_Hist_BtnExcluir','&Excluir Histórico'), - ('Const_Hist_BtnFechar','&Fechar'), - - ('Const_UserLogged_BtnMsg','&Mensagem'), - ('Const_UserLogged_Refresh','&Atualizar'), - ('Const_UserLogged_LabelDescricao','Usuários Logados'), - ('Const_UserLogged_LabelCaption','Usuários Logados no sistema'), - ('Const_CadColuna_Computer','Computador'), - ('Const_CadColuna_Data','Data'), - ('Const_UserLogged_InputCaption','Mensagem'), - ('Const_UserLogged_InputText','Digite sua mensagem'), - ('Const_UserLogged_MsgSystem','Mensagem do sistema'), - ('Const_Men_LoginInativo','Atenção, seu login esta inativo'), - ('Const_Inc_LabelStatus','Status'), - ('Const_Inc_StatusActive','Ativo'), - ('Const_Inc_StatusDisabled','Inativo') - ); - -{------------------------------------------------------------------------------ } - -Const UC_ENGLISH : Array [0..MaxArray,0..1] of string = ( - ('Const_Contr_TitleLabel','Team of Components of the Form. :'), - ('Const_Contr_GroupLabel','Group:'), - ('Const_Contr_CompDispLabel','Available components:'), - ('Const_Contr_CompSelLabel','Selected components:'), - ('Const_Contr_BtOK','&OK'), - ('Const_Contr_BTCancel','&Cancel'), - ('Const_Contr_DescCol','Description'), - ('Const_Contr_BtSellAllHint','Select All'), - ('Const_Contr_BtSelHint','Select'), - ('Const_Contr_BtUnSelHint','Unselect'), - ('Const_Contr_BtUnSelAllHint','Unselect All'), - ('Const_Msgs_BtNew','&New Message'), - ('Const_Msgs_BtReplay','&Replay'), - ('Const_Msgs_BtForward','F&orward'), - ('Const_Msgs_BtDelete','&Delete'), - ('Const_Msgs_BtClose','&Close'), - ('Const_Msgs_WindowCaption','Messages of the System'), - ('Const_Msgs_ColFrom','From'), - ('Const_Msgs_ColSubject','Subject'), - ('Const_Msgs_ColDate','Date'), - ('Const_Msgs_PromptDelete','It confirms exclusion of the selected messages?'), - ('Const_Msgs_PromptDelete_WindowCaption','Delete messages'), - ('Const_Msgs_NoMessagesSelected','No Messages selected'), - ('Const_Msgs_NoMessagesSelected_WindowCaption','Information'), - ('Const_MsgRec_BtClose','&Close'), - ('Const_MsgRec_WindowCaption','Message'), - ('Const_MsgRec_Title','Received message'), - ('Const_MsgRec_LabelFrom','From:'), - ('Const_MsgRec_LabelDate','Date'), - ('Const_MsgRec_LabelSubject','Subject'), - ('Const_MsgRec_LabelMessage','Message'), - ('Const_MsgSend_BtSend','&Send'), - ('Const_MsgSend_BtCancel','&Cancel'), - ('Const_MsgSend_WindowCaption','Message'), - ('Const_MsgSend_Title','Send New Message'), - ('Const_MsgSend_GroupTo','To'), - ('Const_MsgSend_RadioUser','User:'), - ('Const_MsgSend_RadioAll','All'), - ('Const_MsgSend_GroupMessage','Message'), - ('Const_MsgSend_LabelSubject','Subject'), - ('Const_MsgSend_LabelMessageText','Message text'), - ('MsgExceptConnection','Done not informed the Connection, Transaction or Database component %s'), - ('MsgExceptTransaction','Done not informed the Transaction component %s'), - ('MsgExceptDatabase','Done not informed the Database do component %s'), - ('MsgExceptPropriedade','Inform the property %s'), - ('MsgExceptUserMngMenu','Inform in the property UsersForm.MenuItem or UsersForm.Action the item responsible for the users control'), - ('MsgExceptUserProfile','Inform in the property UsersProfile.MenuItem or UsersProfile.Action the Item responsible for the control of users Profile '), - ('MsgExceptChagePassMenu','Inform in the property ChangePasswordForm.MenuItem or .Action the Item that allows to a user to alter his password'), - ('MsgExceptAppID','In the property "ApplicationID" inform a name to identify the application in the chart of permissions'), - ('MsgExceptUsersTable','In the property "TableUsers" inform the name of the chart that will be created to store the data of the users '), - ('MsgExceptRightsTable','In the property "TableRights" inform the name of the chart that will be created to store the permissions of the users '), - ('MsgExceptConnector','The property DataConnector not defined!'), - ('Const_Men_AutoLogonError','Fault of Car Logon !' + #13 + #10 + 'Inform a valid user and password.'), - ('Const_Men_SenhaDesabitada','Retired password of the Login %s'), - ('Const_Men_SenhaAlterada','Password altered with success!'), - ('Const_Men_MsgInicial','ATTENTION, Inicial Login :' + #13 + #10 + #13 + #10 + 'User: :user' + #13 + #10 + 'Password : :password '+ #13 + #10 + #13 + #10 + 'Define the permissions for this user.'), - ('Const_Men_MaxTentativas','%d Attempts of login invalid. By reasons of security the system will be closed.'), - ('Const_Men_LoginInvalido','User invalids or password !'), - ('Const_Men_UsuarioExiste','The User "%s" is already set up in the system !!'), - ('Const_Men_PasswordExpired','Attention, his sign died, favor exchanges it '), - ('Const_Log_BtCancelar','&Cancel'), - ('Const_Log_BtOK','&OK'), - ('Const_Log_LabelSenha','Password :'), - ('Const_Log_LabelUsuario','User :'), - ('Const_Log_WindowCaption','Login'), - ('Const_Log_LbEsqueciSenha','I forgot the password'), - ('Const_Log_MsgMailSend','The password was sent for his email .'), - ('Const_Log_LabelTentativa','Attempt : '), - ('Const_Log_LabelTentativas','Max of Attempts: '), - ('Const_LogC_WindowCaption','Security'), - ('Const_LogC_LabelDescricao','Log of system'), - ('Const_LogC_LabelUsuario','User :'), - ('Const_LogC_LabelData','Date :'), - ('Const_LogC_LabelNivel','Least level:'), - ('Const_LogC_ColunaAppID','AppID'), - ('Const_LogC_ColunaNivel','Level '), - ('Const_LogC_ColunaMensagem','Message'), - ('Const_LogC_ColunaUsuario','User'), - ('Const_LogC_ColunaData','Date'), - ('Const_LogC_BtFiltro','&Apply Filter'), - ('Const_LogC_BtExcluir','&Erase Log'), - ('Const_LogC_BtFechar','&Close'), - ('Const_LogC_ConfirmaExcluir','It confirms to exclude all the registers of log selected ?'), - ('Const_LogC_ConfirmaDelete_WindowCaption','Delete confirmation'), - ('Const_LogC_Todos','All'), - ('Const_LogC_Low','Low'), - ('Const_LogC_Normal','Normal'), - ('Const_LogC_High','High'), - ('Const_LogC_Critic','Critic'), - ('Const_LogC_ExcluirEfectuada','Deletion of system log done: User = "%s" | Date = %s a %s | Level <= %s'), - ('Const_Cad_WindowCaption','Security'), - ('Const_Cad_LabelDescricao','Users register '), - ('Const_Cad_ColunaNome','Name'), - ('Const_Cad_ColunaLogin','Login'), - ('Const_Cad_ColunaEmail','Email'), - ('Const_Cad_BtAdicionar','&Add'), - ('Const_Cad_BtAlterar','A<er'), - ('Const_Cad_BtExcluir','&Erase'), - ('Const_Cad_BtPermissoes','A&ccesses'), - ('Const_Cad_BtSenha','&Password'), - ('Const_Cad_BtFechar','&Close'), - ('Const_Cad_ConfirmaExcluir','Confirm erase the user "%s" ?'), - ('Const_Cad_ConfirmaDelete_WindowCaption','Delete user'), - ('Const_Prof_WindowCaption','Security'), - ('Const_Prof_LabelDescricao','Users profile '), - ('Const_Prof_ColunaNome','Profile'), - ('Const_Prof_BtAdicionar','&Add'), - ('Const_Prof_BtAlterar','A<er'), - ('Const_Prof_BtExcluir','&Delete'), - ('Const_Prof_BtPermissoes','A&ccesses'), - ('Const_Prof_BtSenha','&Password'), - ('Const_Prof_BtFechar','&Close'), - ('Const_Prof_ConfirmaExcluir','There are users with the profile "%s". Confirm erase ?'), - ('Const_Prof_ConfirmaDelete_WindowCaption','Delete profile'), - ('Const_Inc_WindowCaption','Users register '), - ('Const_Inc_LabelAdicionar','Add User'), - ('Const_Inc_LabelAlterar','Change User'), - ('Const_Inc_LabelNome','Name :'), - ('Const_Inc_LabelLogin','Login :'), - ('Const_Inc_LabelEmail','Email :'), - ('Const_Inc_LabelPerfil','Profile :'), - ('Const_Inc_CheckPrivilegiado','Privileged user '), - ('Const_Inc_BtGravar','&Save'), - ('Const_Inc_BtCancelar','Cancel'), - ('Const_Inc_CheckEspira','Password do not expired'), - ('Const_Inc_Dia','Day'), - ('Const_Inc_ExpiraEm','Expired in'), - ('Const_PInc_WindowCaption','Profile the Users'), - ('Const_PInc_LabelAdicionar','Add Profile'), - ('Const_PInc_LabelAlterar','Change Profile '), - ('Const_PInc_LabelNome','Description :'), - ('Const_PInc_BtGravar','&Save'), - ('Const_PInc_BtCancelar','Cancel'), - ('Const_Perm_WindowCaption','Security'), - ('Const_Perm_LabelUsuario','Permissions of the User :'), - ('Const_Perm_LabelPerfil','Permissions of the Profile :'), - ('Const_Perm_PageMenu','Items of the Menu'), - ('Const_Perm_PageActions','Actions'), - ('Const_Perm_PageControls','Controls'), - ('Const_Perm_BtLibera','&Release'), - ('Const_Perm_BtBloqueia','&Block'), - ('Const_Perm_BtGravar','&Save'), - ('Const_Perm_BtCancelar','&Cancel'), - ('Const_Troc_WindowCaption','Security'), - ('Const_Troc_LabelDescricao','Change Password'), - ('Const_Troc_LabelSenhaAtual','Password :'), - ('Const_Troc_LabelNovaSenha','New Password :'), - ('Const_Troc_LabelConfirma','Confirmation :'), - ('Const_Troc_BtGravar','&Save'), - ('Const_Troc_BtCancelar','Cancel'), - ('Const_ErrPass_SenhaAtualInvalida','Current password does not tally!'), - ('Const_ErrPass_ErroNovaSenha','The Field: New Password and Confirmation must be the same.'), - ('Const_ErrPass_NovaIgualAtual','New equal password to current password '), - ('Const_ErrPass_SenhaObrigatoria','The password is compulsory '), - ('Const_ErrPass_SenhaMinima','The password must contain at least %d characters '), - ('Const_ErrPass_SenhaInvalida','When to use password was prohibited you obviate !'), - ('Const_ErrPass_ForcaTrocaSenha','Compulsory change password'), - ('Const_DefPass_WindowCaption','Define Password of the user : "%s"'), - ('Const_DefPass_LabelSenha','Password :'), - ('Const_TableUsers_FieldUserID','UCIdUser'), - ('Const_TableUsers_FieldUserName','UCUserName'), - ('Const_TableUsers_FieldLogin','UCLogin'), - ('Const_TableUsers_FieldPassword','UCPassword'), - ('Const_TableUsers_FieldEmail','UCEmail'), - ('Const_TableUsers_FieldPrivileged','UCPrivileged'), - ('Const_TableUsers_FieldTypeRec','UCTypeRec'), - ('Const_TableUsers_FieldProfile','UCProfile'), - ('Const_TableUsers_FieldKey','UCKey'), - ('Const_TableUsers_TableName','UCTabUsers'), - ('Const_TableUsers_FieldDateExpired','UCPassExpired'), - ('Const_TableUser_FieldUserExpired','UCUserExpired'), - ('Const_TableUser_FieldUserDaysSun','UCUserDaysSun'), - ('Const_TableUser_FieldUserInative','UCInative'), - ('Const_TableRights_FieldUserID','UCIdUser'), - ('Const_TableRights_FieldModule','UCModule'), - ('Const_TableRights_FieldComponentName','UCCompName'), - ('Const_TableRights_FieldFormName','UCFormName'), - ('Const_TableRights_FieldKey','UCKey'), - ('Const_TableRights_TableName','UCTabRights'), - ('Const_TableUsersLogged_FieldLogonID','UCIdLogon'), - ('Const_TableUsersLogged_FieldUserID','UCIdUser'), - ('Const_TableUsersLogged_FieldApplicationID','UCApplicationId'), - ('Const_TableUsersLogged_FieldMachineName','UCMachineName'), - ('Const_TableUsersLogged_FieldData','UCData'), - ('Const_TableUsersLogged_TableName','UCTabUsersLogged'), - ('Const_Evento_Insert','Insert'), - ('Const_Evento_Delete','Delete'), - ('Const_Evento_Edit','Edit'), - ('Const_Evento_NewRecord','New record'), - ('Const_Hist_All','All'), - ('Const_Msg_LimpHistorico','Clean table history ?'), - ('Const_Msg_MensConfirma','Confirm'), - ('Const_Msg_LogEmptyHistory','User %s erase table history in %s'), - ('Const_LabelDescricao','History of Tables'), - ('Const_LabelUser','User'), - ('Const_LabelForm','Form'), - ('Const_LabelEvento','Event'), - ('Const_LabelTabela','Table'), - ('Const_LabelDataEvento','Date'), - ('Const_LabelHoraEvento','Time'), - ('Const_Msg_NewRecord','%s insert new record'), - - ('Const_Hist_TableName','UCTABHistory'), - ('Const_Hist_FieldApplicationID','ApplicationID'), - ('Const_Hist_FieldUserID','UserID'), - ('Const_Hist_FieldEventDate','EventDate'), - ('Const_Hist_FieldEventTime','EventTime'), - ('Const_Hist_FieldForm','Form'), - ('Const_Hist_FieldCaptionForm','FormCaption'), - ('Const_Hist_FieldEvent','Event'), - ('Const_Hist_FieldObs','Obs'), - ('Const_Hist_FieldTableName','tName'), - ('Const_Hist_MsgExceptPropr','Inform the property %s'), - ('Const_Hist_BtnFiltro','&Apply Filter'), - ('Const_Hist_BtnExcluir','&Erase History'), - ('Const_Hist_BtnFechar','&Close'), - - ('Const_UserLogged_BtnMsg','&Message'), - ('Const_UserLogged_Refresh','&Refresh'), - ('Const_UserLogged_LabelDescricao','Active users'), - ('Const_UserLogged_LabelCaption','Active users in the System'), - ('Const_CadColuna_Computer','Computer'), - ('Const_CadColuna_Data','Date'), - ('Const_UserLogged_InputCaption','Message'), - ('Const_UserLogged_InputText','Input your message'), - ('Const_UserLogged_MsgSystem','Message of system'), - ('Const_Men_LoginInativo','Inactive login'), - ('Const_Inc_LabelStatus','Status'), - ('Const_Inc_StatusActive','Active'), - ('Const_Inc_StatusDisabled','Disabled') - - ); - -{------------------------------------------------------------------------------ } - -Const UC_SPANISH : Array [0..MaxArray,0..1] of string = ( - ('Const_Contr_TitleLabel','Seleccionar Componentes del Formulario:'), - ('Const_Contr_GroupLabel','Grupo:'), - ('Const_Contr_CompDispLabel','Componentes Disponibles:'), - ('Const_Contr_CompSelLabel','Componentes Seleccionados:'), - ('Const_Contr_BtOK','&Aceptar'), - ('Const_Contr_BTCancel','&Cancelar'), - ('Const_Contr_DescCol','Descripción'), - ('Const_Contr_BtSellAllHint','Seleccionar Todo'), - ('Const_Contr_BtSelHint','Seleccionar'), - ('Const_Contr_BtUnSelHint','Deseleccionar'), - ('Const_Contr_BtUnSelAllHint','Deseleccionar Todo'), - ('Const_Msgs_BtNew','&Nuevo Mensaje'), - ('Const_Msgs_BtReplay','&Responder'), - ('Const_Msgs_BtForward','&Reenviar'), - ('Const_Msgs_BtDelete','&Borrar'), - ('Const_Msgs_BtClose','&Cerrar'), - ('Const_Msgs_WindowCaption','Mensajes de Sistema'), - ('Const_Msgs_ColFrom','Remitente'), - ('Const_Msgs_ColSubject','Asunto'), - ('Const_Msgs_ColDate','Fecha'), - ('Const_Msgs_PromptDelete','¿Está seguro de eliminar los mensajes seleccionados?'), - ('Const_Msgs_PromptDelete_WindowCaption','Eliminar mensajes'), - ('Const_Msgs_NoMessagesSelected','!Ningún mensaje seleccionado¡'), - ('Const_Msgs_NoMessagesSelected_WindowCaption','Información'), - ('Const_MsgRec_BtClose','&Cerrar'), - ('Const_MsgRec_WindowCaption','Mensaje'), - ('Const_MsgRec_Title','Mensaje Recibido'), - ('Const_MsgRec_LabelFrom','De:'), - ('Const_MsgRec_LabelDate','Fecha'), - ('Const_MsgRec_LabelSubject','Asunto'), - ('Const_MsgRec_LabelMessage','Mensaje'), - ('Const_MsgSend_BtSend','&Enviar'), - ('Const_MsgSend_BtCancel','&Cancelar'), - ('Const_MsgSend_WindowCaption','Mensaje'), - ('Const_MsgSend_Title','Enviar Nuevo Mensaje'), - ('Const_MsgSend_GroupTo','Para:'), - ('Const_MsgSend_RadioUser','Usuario:'), - ('Const_MsgSend_RadioAll','Todos'), - ('Const_MsgSend_GroupMessage','Mensaje'), - ('Const_MsgSend_LabelSubject','Asunto'), - ('Const_MsgSend_LabelMessageText','Texto del mensaje'), - ('MsgExceptConnection','¡Valor No Válido para la propiedad Connection del componente %s!'), - ('MsgExceptTransaction','¡Valor No Válido para la propiedad Transaction del componente %s!'), - ('MsgExceptDatabase','¡Valor No Válido para la propiedad Database del componente %s!'), - ('MsgExceptPropriedade','Favor informar a propriedade %s'), - ('MsgExceptUserMngMenu','Ingrese en la propiedad UsersForm.MenuItem o UsersForm.Action la opción del menu para abrir el Control de Usuarios'), - ('MsgExceptUserProfile','Ingrese en la propiedad UsersProfile.MenuItem o UsersProfile.Action la opción del menu para abrir el Perfil de Usuarios'), - ('MsgExceptChagePassMenu','Ingrese en la propiedad ChangePasswordForm.MenuItem o .Action la opción del menú que permite al usuario cambiar su Contraseña'), - ('MsgExceptAppID','La propiedad ApplicationID requiere el nombre válido de una tabla para el registro de los Permisos de Usuario'), - ('MsgExceptUsersTable','La propiedad UserTable requiere el nombre válido de una tabla para registrar/seleccionar los datos de los usuarios'), - ('MsgExceptRightsTable','La propiead RightTable requiere el nombre válido de una tabla para registrar/seleccionar los permisos de los usuarios'), - ('MsgExceptConnector','Propriedade DataConnector não definida!'), - ('Const_Men_AutoLogonError','Error de Ingreso Automático!'+#13+#10+ 'Especifique un Usuario y Contraseña Válidos.'), - ('Const_Men_SenhaDesabitada','Contraseña vacía para el Usuario %s'), - ('Const_Men_SenhaAlterada','¡Se ha cambiado la Contraseña con éxito!'), - ('Const_Men_MsgInicial','ATENCION! Conección Inicial:'+#13+#10+#13+#10+'Usuario : :user'+#13+#10+'Contraseña : :password'+#13+#10+#13+#10+'Defina permisos para este usuario'), - ('Const_Men_MaxTentativas','%d Intentos de conección inválidos !'), - ('Const_Men_LoginInvalido','Usuario y/o Contraseña Incorrectos!'), - ('Const_Men_UsuarioExiste','O Usuário "%s" já está cadastrado no sistema !!'), - ('Const_Men_PasswordExpired','Atenção, sua senha expirou, favor troca-la'), - ('Const_Log_BtCancelar','&Cancelar'), - ('Const_Log_BtOK','Aceptar'), - ('Const_Log_LabelSenha','Contraseña:'), - ('Const_Log_LabelUsuario','Usuario: '), - ('Const_Log_WindowCaption','Conección'), - ('Const_Log_LbEsqueciSenha','Olvidé mi Contraseña'), - ('Const_Log_MsgMailSend','La contraseña fue enviada a su correo.'), - ('Const_Log_LabelTentativa','Tentativa : '), - ('Const_Log_LabelTentativas','Máximo de Tentativas : '), - ('Const_LogC_WindowCaption','Seguridad'), - ('Const_LogC_LabelDescricao','Visor de Eventos'), - ('Const_LogC_LabelUsuario','Usuario:'), - ('Const_LogC_ColunaAppID','AppID'), - ('Const_LogC_LabelData','Fecha:'), - ('Const_LogC_LabelNivel','Nivel Mínimo: '), - ('Const_LogC_ColunaNivel','Nivel'), - ('Const_LogC_ColunaMensagem','Mensaje'), - ('Const_LogC_ColunaUsuario','Usuario'), - ('Const_LogC_ColunaData','Fecha'), - ('Const_LogC_BtFiltro','&Aplicar Filtro'), - ('Const_LogC_BtExcluir','&Borrar Bitácora'), - ('Const_LogC_BtFechar','&Cerrar'), - ('Const_LogC_ConfirmaExcluir','¿Está seguro de Eliminar todos todos los registros de Bitácora seleccionados?'), - ('Const_LogC_ConfirmaDelete_WindowCaption','Confirmación'), - ('Const_LogC_Todos','Todos'), - ('Const_LogC_Low','Bajo'), - ('Const_LogC_Normal','Normal'), - ('Const_LogC_High','Alto'), - ('Const_LogC_Critic','Crítico'), - ('Const_LogC_ExcluirEfectuada','Borrado de registros de bitácora realizado: Usuario = "%s" | Fecha = %s a %s | Nivel <= %s'), - ('Const_Cad_WindowCaption','Seguridad'), - ('Const_Cad_LabelDescricao','Administración de Usuarios'), - ('Const_Cad_ColunaNome','Nombre'), - ('Const_Cad_ColunaLogin','Usuario'), - ('Const_Cad_ColunaEmail','Correo'), - ('Const_Cad_BtAdicionar','&Nuevo'), - ('Const_Cad_BtAlterar','&Editar'), - ('Const_Cad_BtExcluir','E&liminar'), - ('Const_Cad_BtPermissoes','&Accesos'), - ('Const_Cad_BtSenha','C&ontraseña'), - ('Const_Cad_BtFechar','&Cerrar'), - ('Const_Cad_ConfirmaExcluir','¿Está seguro de Eliminar al Usuario "%s"?'), - ('Const_Cad_ConfirmaDelete_WindowCaption','Eliminar usuario'), - ('Const_Prof_WindowCaption','Seguridad'), - ('Const_Prof_LabelDescricao','Perfil de Usuario'), - ('Const_Prof_ColunaNome','Perfil'), - ('Const_Prof_BtAdicionar','&Nuevo'), - ('Const_Prof_BtAlterar','&Editar'), - ('Const_Prof_BtExcluir','E&liminar'), - ('Const_Prof_BtPermissoes','&Accesos'), - ('Const_Prof_BtSenha','C&ontraseña'), - ('Const_Prof_BtFechar','&Cerrar'), - ('Const_Prof_ConfirmaExcluir','Existe(n) usuario(s) con el Perfil "%s". ¿Está seguro de eliminar el perfil?'), - ('Const_Prof_ConfirmaDelete_WindowCaption','Eliminar perfil'), - ('Const_Inc_WindowCaption','Administración de Usuarios'), - ('Const_Inc_LabelAdicionar','Nuevo Usuario'), - ('Const_Inc_LabelAlterar','Editar Usuario'), - ('Const_Inc_LabelNome','Nombre:'), - ('Const_Inc_LabelLogin','Usuario: '), - ('Const_Inc_LabelEmail','Correo: '), - ('Const_Inc_LabelPerfil','Perfil: '), - ('Const_Inc_CheckPrivilegiado','Usuario Privilegiado'), - ('Const_Inc_BtGravar','&Guardar'), - ('Const_Inc_BtCancelar','Cancelar'), - ('Const_Inc_CheckEspira','Senha do usuário não expira'), - ('Const_Inc_Dia','Dias'), - ('Const_Inc_ExpiraEm','Expira em'), - ('Const_PInc_WindowCaption','Perfiles de Usuarios'), - ('Const_PInc_LabelAdicionar','Nuevo Perfil'), - ('Const_PInc_LabelAlterar','Editar Perfil'), - ('Const_PInc_LabelNome','Descripción: '), - ('Const_PInc_BtGravar','&Guardar'), - ('Const_PInc_BtCancelar','Cancelar'), - ('Const_Perm_WindowCaption','Seguridad'), - ('Const_Perm_LabelUsuario','Permisos de Usuario : '), - ('Const_Perm_LabelPerfil','Permisos del Perfil : '), - ('Const_Perm_PageMenu','Elementos del Menú'), - ('Const_Perm_PageActions','Acciones'), - ('Const_Perm_PageControls','Controles'), - ('Const_Perm_BtLibera','&Permitir'), - ('Const_Perm_BtBloqueia','&Bloquear'), - ('Const_Perm_BtGravar','&Guardar'), - ('Const_Perm_BtCancelar','&Cancelar'), - ('Const_Troc_WindowCaption','Seguridad'), - ('Const_Troc_LabelDescricao','Cambiar Contraseña'), - ('Const_Troc_LabelSenhaAtual','Contraseña Actual:'), - ('Const_Troc_LabelNovaSenha','Nueva Contraseña:'), - ('Const_Troc_LabelConfirma','Confirme Contraseña:'), - ('Const_Troc_BtGravar','&Guardar'), - ('Const_Troc_BtCancelar','Cancelar'), - ('Const_ErrPass_SenhaAtualInvalida','¡Contraseña Actual Incorrecta!'), - ('Const_ErrPass_ErroNovaSenha','Los campos Contraseña Nueva y Confirme Contraseña deben ser iguales'), - ('Const_ErrPass_NovaIgualAtual','Nueva Contraseña y Contraseña Actual deben ser diferentes'), - ('Const_ErrPass_SenhaObrigatoria','¡La Contraseña es obligatoria!'), - ('Const_ErrPass_SenhaMinima','La Contraseña debe tener un mínimo de %d caracteres'), - ('Const_ErrPass_SenhaInvalida','¡Prohibido utilizar contraseñas NO Seguras!'), - ('Const_ErrPass_ForcaTrocaSenha','Mudança de senha obrigatória'), - ('Const_DefPass_WindowCaption','Ingrese Contraseña de Usuario: "%s"'), - ('Const_DefPass_LabelSenha','Contraseña: '), - ('Const_TableUsers_FieldUserID','UCIdUser'), - ('Const_TableUsers_FieldUserName','UCUserName'), - ('Const_TableUsers_FieldLogin','UCLogin'), - ('Const_TableUsers_FieldPassword','UCPassword'), - ('Const_TableUsers_FieldEmail','UCEmail'), - ('Const_TableUsers_FieldPrivileged','UCPrivileged'), - ('Const_TableUsers_FieldTypeRec','UCTypeRec'), - ('Const_TableUsers_FieldProfile','UCProfile'), - ('Const_TableUsers_FieldKey','UCKey'), - ('Const_TableUsers_TableName','UCTabUsers'), - ('Const_TableUsers_FieldDateExpired','UCPASSEXPIRED'), - ('Const_TableUser_FieldUserExpired','UCUserExpired'), - ('Const_TableUser_FieldUserDaysSun','UCUserDaysSun'), - ('Const_TableUser_FieldUserInative','UCInative'), - ('Const_TableRights_FieldUserID','UCIdUser'), - ('Const_TableRights_FieldModule','UCModule'), - ('Const_TableRights_FieldComponentName','UCCompName'), - ('Const_TableRights_FieldFormName','UCFormName'), - ('Const_TableRights_FieldKey','UCKey'), - ('Const_TableRights_TableName','UCTabRights'), - ('Const_TableUsersLogged_FieldLogonID','UCIdLogon'), - ('Const_TableUsersLogged_FieldUserID','UCIdUser'), - ('Const_TableUsersLogged_FieldApplicationID','UCApplicationId'), - ('Const_TableUsersLogged_FieldMachineName','UCMachineName'), - ('Const_TableUsersLogged_FieldData','UCData'), - ('Const_TableUsersLogged_TableName','UCTabUsersLogged'), - ('Const_Evento_Insert','Nuevo'), - ('Const_Evento_Delete','Eliminar'), - ('Const_Evento_Edit','Editar'), - ('Const_Evento_NewRecord','Nuevo registro'), - ('Const_Hist_All','Todos'), - ('Const_Msg_LimpHistorico','Excluir el contenido entero del histórico ?'), - ('Const_Msg_MensConfirma','Confirme'), - ('Const_Msg_LogEmptyHistory','El usuario %s borra la historia de mesa en %s '), - ('Const_LabelDescricao','Histórico de tabelas'), - ('Const_LabelUser','Usuario'), - ('Const_LabelForm','Formulário'), - ('Const_LabelEvento','Evento'), - ('Const_LabelTabela','Tabela'), - ('Const_LabelDataEvento','Data'), - ('Const_LabelHoraEvento','Hora'), - ('Const_Msg_NewRecord','%s Inserte el nuevo registro'), - ('Const_Hist_TableName','UCTABHistory'), - ('Const_Hist_FieldApplicationID','ApplicationID'), - ('Const_Hist_FieldUserID','UserID'), - ('Const_Hist_FieldEventDate','EventDate'), - ('Const_Hist_FieldEventTime','EventTime'), - ('Const_Hist_FieldForm','Form'), - ('Const_Hist_FieldCaptionForm','FormCaption'), - ('Const_Hist_FieldEvent','Event'), - ('Const_Hist_FieldObs','Obs'), - ('Const_Hist_FieldTableName','tName'), - ('Const_Hist_MsgExceptPropr','Por favor informe la propiedad %s'), - ('Const_Hist_BtnFiltro','&Aplicar Filtro'), - ('Const_Hist_BtnExcluir','&Borrar Histórico'), - ('Const_Hist_BtnFechar','&Cerrar'), - - ('Const_UserLogged_BtnMsg','&Mensaje'), - ('Const_UserLogged_Refresh','&Restaure'), - ('Const_UserLogged_LabelDescricao','Usuarios activos'), - ('Const_UserLogged_LabelCaption','Usuarios activos en el sistema'), - ('Const_CadColuna_Computer','Computadora'), - ('Const_CadColuna_Data','Data'), - ('Const_UserLogged_InputCaption','Mensaje'), - ('Const_UserLogged_InputText','Entre su mensaje'), - ('Const_UserLogged_MsgSystem','Mensaje del sistema'), - ('Const_Men_LoginInativo','Atenção, seu login esta inativo'), - ('Const_Inc_LabelStatus','Status'), - ('Const_Inc_StatusActive','Ativo'), - ('Const_Inc_StatusDisabled','Inativo') - - ); - -{------------------------------------------------------------------------------ } - -Const UC_FRENCH : Array [0..MaxArray,0..1] of string = ( - ('Const_Contr_TitleLabel','L''équipe de Composantes de la Forme :'), - ('Const_Contr_GroupLabel','Groupe :'), - ('Const_Contr_CompDispLabel','Composantes disponibles :'), - ('Const_Contr_CompSelLabel','Composantes choisies:'), - ('Const_Contr_BtOK','&OK'), - ('Const_Contr_BTCancel','&Annuler'), - ('Const_Contr_DescCol','Description'),//nao - ('Const_Contr_BtSellAllHint','Choisissez Tous'), - ('Const_Contr_BtSelHint','Choisir'), - ('Const_Contr_BtUnSelHint','No Choisir'), - ('Const_Contr_BtUnSelAllHint','Non choisissez Tous'), - ('Const_Msgs_BtNew','&Nouveau Message'), - ('Const_Msgs_BtReplay','&Rejeu'), - ('Const_Msgs_BtForward','Env&oyer'), - ('Const_Msgs_BtDelete','&Effacer'), - ('Const_Msgs_BtClose','&Près'), - ('Const_Msgs_WindowCaption','Messages du Système'), - ('Const_Msgs_ColFrom','De'), - ('Const_Msgs_ColSubject','Sujet'), - ('Const_Msgs_ColDate','Date'), //nao - ('Const_Msgs_PromptDelete','Il confirme l''exclusion des messages choisis ?'), - ('Const_Msgs_PromptDelete_WindowCaption','Effacez des messages'), - ('Const_Msgs_NoMessagesSelected','Aucun Message choisi'), - ('Const_Msgs_NoMessagesSelected_WindowCaption','Renseignements'), - ('Const_MsgRec_BtClose','&Près'), - ('Const_MsgRec_WindowCaption','Message'), - ('Const_MsgRec_Title','Message reçu'), - ('Const_MsgRec_LabelFrom','De:'), - ('Const_MsgRec_LabelDate','Date'), - ('Const_MsgRec_LabelSubject','Sujet'), - ('Const_MsgRec_LabelMessage','Message'), - ('Const_MsgSend_BtSend','&Envoyer'), - ('Const_MsgSend_BtCancel','&Annuler'), - ('Const_MsgSend_WindowCaption','Message'), - ('Const_MsgSend_Title','Envoyez le Nouveau Message'), - ('Const_MsgSend_GroupTo','À'), - ('Const_MsgSend_RadioUser','Utilisateur:'), - ('Const_MsgSend_RadioAll','Tous'), - ('Const_MsgSend_GroupMessage','Message'), - ('Const_MsgSend_LabelSubject','Sujet'), - ('Const_MsgSend_LabelMessageText','Texte de message'), - ('MsgExceptConnection','Fait non informé la Connexion, la Transaction ou la composante de Base de données %s'), - ('MsgExceptTransaction','Fait non informé la composante Transactionnelle %s'), - ('MsgExceptDatabase','Fait non informé la Base de données font la composante %s'), - ('MsgExceptPropriedade','Informez la propriété %s'), - ('MsgExceptUserMngMenu','Informez la propriété UsersForm.MenuItem ou UsersForm.Action l''article responsable du contrôle d''utilisateurs '), - ('MsgExceptUserProfile','Informez la propriété UsersProfile.MenuItem ou UsersProfile.Action l''Article responsable du contrôle de Profil d''utilisateurs'), - ('MsgExceptChagePassMenu','Informez la propriété ChangePasswordForm.MenuItem ou .Action l''Article qui permet à un utilisateur de changer son mot de passe'), - ('MsgExceptAppID','Dans la propriété "ApplicationID" informent un nom pour identifier l''application dans le graphique de permissions'), - ('MsgExceptUsersTable','Dans la propriété "TableUsers" informent le nom du graphique qui sera créé pour conserver les données des utilisateurs'), - ('MsgExceptRightsTable','Dans la propriété "TableRights" informent le nom du graphique qui sera créé pour conserver les permissions des utilisateurs'), - ('MsgExceptConnector','La propriété "DataConnector" non défini!'), - ('Const_Men_AutoLogonError','Faute de Début de transaction Automobile!' + #13 + #10 + 'Informez un utilisateur valide et un mot de passe.'), - ('Const_Men_SenhaDesabitada','Mot de passe retraité de l''Ouverture de session %s'), - ('Const_Men_SenhaAlterada','Le mot de passe changeait avec le succès!'), - ('Const_Men_MsgInicial','ATTENTION, Ouverture de session d''Inicial :' + #13 + #10 + #13 + #10 + 'Utilisateur : :user + '#13 + #10 + 'Mot de passe : :password ' + #13 + #10 + #13 + #10 + 'Définissez les permissions pour cet utilisateur.'), - ('Const_Men_MaxTentativas','%d Essais d''infirme d''ouverture de session. Par les raisons de sécurité le système sera fermé.'), - ('Const_Men_LoginInvalido','L''utilisateur devient infirme ou le mot de passe!'), - ('Const_Men_UsuarioExiste','L''Utilisateur "%s" est déjà remis sur pied dans le système !!'), - ('Const_Men_PasswordExpired','L''attention, son signe est mort, la faveur l''échange '), - ('Const_Log_BtCancelar','&Annuler'), - ('Const_Log_BtOK','&OK'), - ('Const_Log_LabelSenha','Passe :'), - ('Const_Log_LabelUsuario','Utilisateur :'), - ('Const_Log_WindowCaption','Ouverture de session'), - ('Const_Log_LbEsqueciSenha','J''ai oublié le mot de passe'), - ('Const_Log_MsgMailSend','le mot de passe a été envoyé pour son courrier électronique .'), - ('Const_Log_LabelTentativa','Essais : '), - ('Const_Log_LabelTentativas','Max d''Essais : '), - ('Const_LogC_WindowCaption','sécurité'), - ('Const_LogC_LabelDescricao','Rondin de système'), - ('Const_LogC_LabelUsuario','Utilisateur :'), - ('Const_LogC_LabelData','Date :'), - ('Const_LogC_LabelNivel','La moindre partie de niveau:'), - ('Const_LogC_ColunaAppID','AppID'), - ('Const_LogC_ColunaNivel','Niveau '), - ('Const_LogC_ColunaMensagem','Message'), - ('Const_LogC_ColunaUsuario','Utilisateur'), - ('Const_LogC_ColunaData','Date'), - ('Const_LogC_BtFiltro','&Appliquez le Filtre'), - ('Const_LogC_BtExcluir','&Effacez le Rondin'), - ('Const_LogC_BtFechar','&Près'), - ('Const_LogC_ConfirmaExcluir','Il confirme pour exclure tous les registres de rondin choisi?'), - ('Const_LogC_ConfirmaDelete_WindowCaption','Effacez la confirmation '), - ('Const_LogC_Todos','Tous'), - ('Const_LogC_Low','Bas'), - ('Const_LogC_Normal','Normal'), - ('Const_LogC_High','Haut'), - ('Const_LogC_Critic','Critique'), - ('Const_LogC_ExcluirEfectuada','L''effacement de rondin de système fait : Utilisateur = "%s" | Date = %s a %s | Niveau <= %s'), - ('Const_Cad_WindowCaption','Sécurité'), - ('Const_Cad_LabelDescricao','Les utilisateurs s''inscrivent'), - ('Const_Cad_ColunaNome','Nom'), - ('Const_Cad_ColunaLogin','Utilisateur'), - ('Const_Cad_ColunaEmail','Courrier Électronique'), - ('Const_Cad_BtAdicionar','&Ajouter'), - ('Const_Cad_BtAlterar','Ch&anger'), - ('Const_Cad_BtExcluir','&Effacer'), - ('Const_Cad_BtPermissoes','A&pproches'), - ('Const_Cad_BtSenha','&Passe'), - ('Const_Cad_BtFechar','&Près' ), - ('Const_Cad_ConfirmaExcluir','Confirmez effacent l''utilisateur "%s" ?'), - ('Const_Cad_ConfirmaDelete_WindowCaption','Effacez l''utilisateur '), - ('Const_Prof_WindowCaption','Sécurité'), - ('Const_Prof_LabelDescricao','Les utilisateurs dressent le portrait'), - ('Const_Prof_ColunaNome','Profile'), - ('Const_Prof_BtAdicionar','&Ajouter'), - ('Const_Prof_BtAlterar','&Ajouter'), - ('Const_Prof_BtExcluir','&Effacer'), - ('Const_Prof_BtPermissoes','A&pproches'), - ('Const_Prof_BtSenha','&Passe'), - ('Const_Prof_BtFechar','&Près'), - ('Const_Prof_ConfirmaExcluir','Il y a des utilisateurs avec le profil "%s". Confirmez effacent ?'), - ('Const_Prof_ConfirmaDelete_WindowCaption','Effacez le profil'), - ('Const_Inc_WindowCaption','Les utilisateurs s''inscrivent '), - ('Const_Inc_LabelAdicionar','Ajouter utilisateurs'), - ('Const_Inc_LabelAlterar','Changer utilisateurs'), - ('Const_Inc_LabelNome','Nom :'), - ('Const_Inc_LabelLogin','Login :'), - ('Const_Inc_LabelEmail','Courrier Électronique :'), - ('Const_Inc_LabelPerfil','Profil :'), - ('Const_Inc_CheckPrivilegiado','Utilisateur privilégié'), - ('Const_Inc_BtGravar','&Sauver'), - ('Const_Inc_BtCancelar','Annuler'), - ('Const_Inc_CheckEspira','Le mot de passe ne fait pas expiré'), - ('Const_Inc_Dia','Jour'), - ('Const_Inc_ExpiraEm','Expiré dans'), - ('Const_PInc_WindowCaption','Dressez le portrait des Utilisateurs'), - ('Const_PInc_LabelAdicionar','Ajouter Profil'), - ('Const_PInc_LabelAlterar','Ajouter Profil '), - ('Const_PInc_LabelNome','Description :'), - ('Const_PInc_BtGravar','&Sauver'), - ('Const_PInc_BtCancelar','Annuler'), - ('Const_Perm_WindowCaption','Sécurité'), - ('Const_Perm_LabelUsuario','Permissions de l''Utilisateur :'), - ('Const_Perm_LabelPerfil','Permissions de l'' Profil :'), - ('Const_Perm_PageMenu','Articles du Menu'), - ('Const_Perm_PageActions','Actions'), - ('Const_Perm_PageControls','Controls'), - ('Const_Perm_BtLibera','&Libération'), - ('Const_Perm_BtBloqueia','&Bloc'), - ('Const_Perm_BtGravar','&Sauver'), - ('Const_Perm_BtCancelar','&Annuler'), - ('Const_Troc_WindowCaption','Sécurité'), - ('Const_Troc_LabelDescricao','Mot de passe de Changement '), - ('Const_Troc_LabelSenhaAtual','Passe :'), - ('Const_Troc_LabelNovaSenha','Nouveau Mot de passe :'), - ('Const_Troc_LabelConfirma','Confirmation :'), - ('Const_Troc_BtGravar','&Sauver'), - ('Const_Troc_BtCancelar','Annuler'), - ('Const_ErrPass_SenhaAtualInvalida','Le mot de passe actuel ne correspond pas !'), - ('Const_ErrPass_ErroNovaSenha','Le Champ : le Nouveau Mot de passe et la Confirmation doivent être le même.'), - ('Const_ErrPass_NovaIgualAtual','Nouveau mot de passe égal au mot de passe actuel'), - ('Const_ErrPass_SenhaObrigatoria','Le mot de passe est obligatoire'), - ('Const_ErrPass_SenhaMinima','Le mot de passe doit contenir au moins %d des caractères '), - ('Const_ErrPass_SenhaInvalida','Quand utiliser le mot de passe a été interdit vous obviez !'), - ('Const_ErrPass_ForcaTrocaSenha','Mot de passe de changement obligatoire'), - ('Const_DefPass_WindowCaption','Définissez le Mot de passe de l''utilisateur : "%s"'), - ('Const_DefPass_LabelSenha','Passe :'), - ('Const_TableUsers_FieldUserID','UCIdUser'), - ('Const_TableUsers_FieldUserName','UCUserName'), - ('Const_TableUsers_FieldLogin','UCLogin'), - ('Const_TableUsers_FieldPassword','UCPassword'), - ('Const_TableUsers_FieldEmail','UCEmail'), - ('Const_TableUsers_FieldPrivileged','UCPrivileged'), - ('Const_TableUsers_FieldTypeRec','UCTypeRec'), - ('Const_TableUsers_FieldProfile','UCProfile'), - ('Const_TableUsers_FieldKey','UCKey'), - ('Const_TableUsers_TableName','UCTabUsers'), - ('Const_TableUsers_FieldDateExpired','UCPassExpired'), - ('Const_TableUser_FieldUserExpired','UCUserExpired'), - ('Const_TableUser_FieldUserDaysSun','UCUserDaysSun'), - ('Const_TableUser_FieldUserInative','UCInative'), - ('Const_TableRights_FieldUserID','UCIdUser'), - ('Const_TableRights_FieldModule','UCModule'), - ('Const_TableRights_FieldComponentName','UCCompName'), - ('Const_TableRights_FieldFormName','UCFormName'), - ('Const_TableRights_FieldKey','UCKey'), - ('Const_TableRights_TableName','UCTabRights'), - ('Const_TableUsersLogged_FieldLogonID','UCIdLogon'), - ('Const_TableUsersLogged_FieldUserID','UCIdUser'), - ('Const_TableUsersLogged_FieldApplicationID','UCApplicationId'), - ('Const_TableUsersLogged_FieldMachineName','UCMachineName'), - ('Const_TableUsersLogged_FieldData','UCData'), - ('Const_TableUsersLogged_TableName','UCTabUsersLogged'), - ('Const_Evento_Insert','Insertion'), - ('Const_Evento_Delete','Effacer'), - ('Const_Evento_Edit','Réviser'), - ('Const_Evento_NewRecord','Nouveau record '), - ('Const_Hist_All','Tous'), - ('Const_Msg_LimpHistorico','Histoire de table propre?'), - ('Const_Msg_MensConfirma','Confirmer'), - ('Const_Msg_LogEmptyHistory','L''utilisateur %s efface l''histoire de table dans %s '), - ('Const_LabelDescricao','Histoire de Tables'), - ('Const_LabelUser','Utilisateur'), - ('Const_LabelForm','Forme'), - ('Const_LabelEvento','Événement'), - ('Const_LabelTabela','Table'), - ('Const_LabelDataEvento','Date'), - ('Const_LabelHoraEvento','Temps'), - ('Const_Msg_NewRecord','%s insérez le nouveau record'), - ('Const_Hist_TableName','UCTABHistory'), - ('Const_Hist_FieldApplicationID','ApplicationID'), - ('Const_Hist_FieldUserID','UserID'), - ('Const_Hist_FieldEventDate','EventDate'), - ('Const_Hist_FieldEventTime','EventTime'), - ('Const_Hist_FieldForm','Form'), - ('Const_Hist_FieldCaptionForm','FormCaption'), - ('Const_Hist_FieldEvent','Event'), - ('Const_Hist_FieldObs','Obs'), - ('Const_Hist_FieldTableName','tName'), - ('Const_Hist_MsgExceptPropr','Informez la propriété %s'), - ('Const_Hist_BtnFiltro','&Appliquez le Filtre'), - ('Const_Hist_BtnExcluir','&Effacez l''Histoire'), - ('Const_Hist_BtnFechar','&Près'), - - ('Const_UserLogged_BtnMsg','&Régénérez'), - ('Const_UserLogged_Refresh','&Refresh'), - ('Const_UserLogged_LabelDescricao','Utilisateurs actifs'), - ('Const_UserLogged_LabelCaption','Utilisateurs actifs dans le système'), - ('Const_CadColuna_Computer','Ordinateur'), - ('Const_CadColuna_Data','Date'), - ('Const_UserLogged_InputCaption','Message'), - ('Const_UserLogged_InputText','Entrez votre message'), - ('Const_UserLogged_MsgSystem','Message de système'), - ('Const_Men_LoginInativo','Atenção, seu login esta inativo'), - ('Const_Inc_LabelStatus','Status'), - ('Const_Inc_StatusActive','Ativo'), - ('Const_Inc_StatusDisabled','Inativo') - ); - - - Function RetornaLingua( Lingua : TUCLanguage; Prop : String ) : String; - -implementation - -Function RetornaLingua( Lingua : TUCLanguage; Prop : String ) : String; -Var I : Integer; -Begin - Result := ''; - For I := 0 to MaxArray do - Begin - Case Lingua of - ucPortuguesBr : If UpperCase( UC_PTBR[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_PTBR[ I , 1 ]; - ucEnglish : If UpperCase( UC_ENGLISH[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_ENGLISH[ I , 1 ]; - ucSpanish : if UpperCase( UC_SPANISH[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_SPANISH[ I , 1 ]; - ucFrench : if UpperCase( UC_FRENCH[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_FRENCH[ I , 1 ]; - else - If UpperCase( UC_PTBR[ I , 0 ] ) = UpperCase( Prop ) then Result := UC_PTBR[ I , 1 ]; - End; - End; -End; - -end. - diff --git a/internal/2.31RC1/1/Source/UserControl.inc b/internal/2.31RC1/1/Source/UserControl.inc deleted file mode 100644 index bedb276..0000000 --- a/internal/2.31RC1/1/Source/UserControl.inc +++ /dev/null @@ -1,192 +0,0 @@ -{------------------------------------------------------------------------------} -{ VERXXX to DELPHIX } -{------------------------------------------------------------------------------} - -{$IFDEF VER110} - {$DEFINE DELPHI3} -{$ENDIF} - -{$IFDEF VER120} - {$DEFINE DELPHI4} -{$ENDIF} - -{$IFDEF VER130} - {$DEFINE DELPHI5} -{$ENDIF} - -{$IFDEF VER140} - {$DEFINE DELPHI6} -{$ENDIF} - -{$IFDEF VER150} - {$DEFINE DELPHI7} -{$ENDIF} - -{$IFDEF VER160} - {$DEFINE DELPHI8} -{$ENDIF} - -{$IFDEF VER170} - {$DEFINE DELPHI9} -{$ENDIF} - -{$IFDEF VER180} - {$DEFINE DELPHI10} -{$ENDIF} - -{$IFDEF VER190} - {$DEFINE DELPHI11} -{$ENDIF} - -{$IFDEF VER200} - {$DEFINE DELPHI12} -{$ENDIF} - -{------------------------------------------------------------------------------} -{ DELPHIX_UP from DELPHIX mappings } -{------------------------------------------------------------------------------} - -{$IFDEF DELPHI12} - {$DEFINE DELPHI12_UP} - {$DEFINE DELPHI11_UP} - {$DEFINE DELPHI10_UP} - {$DEFINE DELPHI9_UP} - {$DEFINE DELPHI8_UP} - {$DEFINE DELPHI7_UP} - {$DEFINE DELPHI6_UP} - {$DEFINE DELPHI5_UP} - {$DEFINE DELPHI4_UP} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI11} - {$DEFINE DELPHI11_UP} - {$DEFINE DELPHI10_UP} - {$DEFINE DELPHI9_UP} - {$DEFINE DELPHI8_UP} - {$DEFINE DELPHI7_UP} - {$DEFINE DELPHI6_UP} - {$DEFINE DELPHI5_UP} - {$DEFINE DELPHI4_UP} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI10} - {$DEFINE DELPHI10_UP} - {$DEFINE DELPHI9_UP} - {$DEFINE DELPHI8_UP} - {$DEFINE DELPHI7_UP} - {$DEFINE DELPHI6_UP} - {$DEFINE DELPHI5_UP} - {$DEFINE DELPHI4_UP} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI9} - {$DEFINE DELPHI9_UP} - {$DEFINE DELPHI8_UP} - {$DEFINE DELPHI7_UP} - {$DEFINE DELPHI6_UP} - {$DEFINE DELPHI5_UP} - {$DEFINE DELPHI4_UP} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI8} - {$DEFINE DELPHI8_UP} - {$DEFINE DELPHI7_UP} - {$DEFINE DELPHI6_UP} - {$DEFINE DELPHI5_UP} - {$DEFINE DELPHI4_UP} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI7} - {$DEFINE DELPHI7_UP} - {$DEFINE DELPHI6_UP} - {$DEFINE DELPHI5_UP} - {$DEFINE DELPHI4_UP} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI6} - {$DEFINE DELPHI6_UP} - {$DEFINE DELPHI5_UP} - {$DEFINE DELPHI4_UP} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI5} - {$DEFINE DELPHI5_UP} - {$DEFINE DELPHI4_UP} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI4} - {$DEFINE DELPHI4_UP} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI3} - {$DEFINE DELPHI3_UP} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI2} - {$DEFINE DELPHI2_UP} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -{$IFDEF DELPHI1} - {$DEFINE DELPHI1_UP} -{$ENDIF} - -(* - - Definições de funcionamento - -*) - -{$IFDEF DELPHI7_UP} - {$WARN UNSAFE_TYPE OFF} - {$WARN UNSAFE_CODE OFF} - {$WARN UNSAFE_CAST OFF} - {$WARN SYMBOL_DEPRECATED OFF} - {$WARN SYMBOL_LIBRARY OFF} - {$WARN SYMBOL_PLATFORM OFF} - {$WARN UNIT_LIBRARY OFF} - {$WARN UNIT_PLATFORM OFF} - {$WARN UNIT_DEPRECATED OFF} - {$WARN CONSTRUCTING_ABSTRACT OFF} - {$WARN IMPLICIT_IMPORT OFF} - - {$DEFINE UCACTMANAGER} -{$ENDIF} - -{$IFDEF DELPHI9_UP} - {$WARN SYMBOL_EXPERIMENTAL OFF} - {$WARN UNIT_EXPERIMENTAL OFF} -{$ENDIF} - -(* - Definições do Usuario -*) diff --git a/internal/2.31RC1/1/Source/UserPermis_U.dfm b/internal/2.31RC1/1/Source/UserPermis_U.dfm deleted file mode 100644 index 5640f06..0000000 --- a/internal/2.31RC1/1/Source/UserPermis_U.dfm +++ /dev/null @@ -1,636 +0,0 @@ -object UserPermis: TUserPermis - Left = 255 - Top = 154 - BorderStyle = bsDialog - Caption = 'Seguran'#231'a' - ClientHeight = 522 - ClientWidth = 542 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - OnDestroy = FormDestroy - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 542 - Height = 35 - Align = alTop - BevelOuter = bvNone - Color = clWhite - TabOrder = 0 - object LbDescricao: TLabel - Left = 44 - Top = 12 - Width = 205 - Height = 18 - Caption = 'Permiss'#245'es do Usu'#225'rio:' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Verdana' - Font.Style = [fsBold] - ParentFont = False - end - object Image1: TImage - Left = 8 - Top = 4 - Width = 28 - Height = 28 - AutoSize = True - Picture.Data = { - 07544269746D6170760C0000424D760C00000000000036000000280000001C00 - 00001C0000000100200000000000400C00000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FEFEFE00F9F9F900F1F1F100EAEA - EA00E3E3E300E0E0E000DEDEDE00DFDFDF00E1E1E100E4E4E400E8E8E800ECEC - EC00F0F0F000F5F5F500FAFAFA00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F6F6F600C5C7 - C5008E9F91006E8A70005E815C00527B4F004E7C4A004B7C48004A7C47004B7B - 48004C7C4A004E7B4C0050795000557854005B7A5C00677F6A007C897E00A2A2 - A200D4D4D400FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00F2F4F30074967100487638004E7C35004E8334004B893300488E - 31004592300044962F0043972F0043982F0043972F004494300047903100498C - 32004C863400507F35004E7A360047703900526C5200A9A9A900FAFAFA00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0094B3910058743900537B - 36004E8334004A8A33004690310043962F00409B2E003E9F2D003DA12D003DA1 - 2D003DA02D003F9D2E0042992F0045933000488D32004C863400517F35005577 - 3700567039005A725A00E6E6E600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00688D5B0055783700508035004B8833004790310043982F003F9E - 2D003BA42C0039A82B0037AB2A0037AB2A0038AA2B003AA62C003DA12D00419B - 2E0045943000498C32004D843400527C36005773380054724D00DEDEDE00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E875100527C36004D84 - 3400488D320044962F003F9E2E003BA52C0037AC2A0034B1290032B4280032B5 - 280033B3280035AE290039A82B003DA12D00419A2F00469131004B8933005080 - 35005577370056775100E4E4E400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00729A6800507F35004B88330046913100419A2E003CA32C0037AB - 2A0033B328002FB927002DBE25002CBF25002EBC260031B6270035AF29003AA7 - 2B003F9E2D0044953000498C32004E833400537A37006F8C6E00F2F2F200FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5C6A700508136004A8A - 3300449330003F9D2E003AA62B0035AF290030B827002BBF250035B237002BBB - 2B0029C324002DBC260033B4280037AB2A003DA12D0042982F00478F31004D85 - 34004A7B3600B0BCB200FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00F6FAF70058904D00498B3200449530003E9E2D0039A82B0034B2 - 28002EBB26004BA34E00DEE0DF00DDEADF0044BB47002BC0250031B6270036AD - 2A003CA32C00419A2F00479031004C86340072997100F1F1F100FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D4E4D6004A8E - 3D00449530003E9E2D0039A82B0034B129002FA92C00A4B0A700E5E6E600E8E9 - E900CFDED20035B3340031B6270036AC2A003CA32C0041992F00468F31005E95 - 5B00E5E7E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00D2E4D4004E984500409C2E003AA52C0035AE - 2900518B5400989B9F00798A96006B7F8C00757E85005B7F5D002D9E240038A9 - 2A003DA12D0040952F0070A46F00E9ECEA00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00EDF4EF007BB57B003A9D2E00319131004F7C93004992C5004A98CF004897 - CE004592C800437DA400235437002C7F22004B9B4500AECAB000F9F9F900FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BDD3C7004C90 - AF0052A0D60052A0D500519FD4004F9DD3004C9AD1004997CE00438CBF004363 - 6700C1C2C100FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00F5F6F70072ABD00056A4D90056A4D90056A4D90055A3D80054A2 - D70052A0D5004F9DD3004B99D000468DC000727D8400E7E7E700FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2C4DC005AA6DB005BA8 - DC005BA8DC005BA8DC005AA7DB0058A5DA0056A4D90053A1D600509ED4004B9A - D0004C7FA500ADADAD00FDFDFD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00E9EEF4005FA7D7005EABDF005FACE0005FACE0005FACE0005EABDF005CA9 - DD005AA7DB0057A4D90054A2D700509ED4004A95CA0076828B00F0F0F000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ADCDE20060ACE00061AEE20063B0 - E30063B0E30063B0E30061AEE2005FACE0005DAADE005AA7DC0056A4D90053A1 - D600B7A293006947310069473100694731006947310069473100694731006947 - 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF007EB5DA0063B0E30065B2E50067B4E70068B4E70067B4E60065B2E50063B0 - E30060ADE1005DAADE0059A7DB0055A3D800B7A29300FFFFFF00FCFDFF005476 - FF00E4E9FF00FFFFFF00FFFFFF0069473100FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FAFBFC0064AAD80066B3E60069B5E8006BB7 - E9006CB8EA006BB7E90069B5E80066B3E60062AFE3005FACE0005BA8DC0057A5 - DA00B7A29300FFFFFF00B4C3FF000033FF002450FF00FCFDFF00FFFFFF006947 - 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EDF2 - F50062A9D9005696BF00538EB5005E9FC9006BB4E3006EBAEC006CB8EA0069B5 - E70064B1E40060ADE1005DAADE0059A6DB00B7A29300FFFFFF004066FF000C3D - FF000033FF009CB0FF00FFFFFF0069473100FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00F1F5F9004F8FB9004385AF004485AE003F79 - 9D003E708F004B7FA00062A5D10069B5E60066B3E60062AFE2005EABDF0059A7 - DB00B7A293008CA3FF000033FF00708DFF006483FF001846FF00F0F3FF006947 - 3100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF005490B8004D94C1004F96C3005097C3004E95C200488BB5003D7192004375 - 95005B9FCD0061AEE1005DAADE004C8FBC00B7A2930088A0FF001C49FF00E4E9 - FF00F0F3FF00204DFF006080FF0069473100FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0084B1CD00569ECB0058A0CE0059A1 - CE00579FCC00539BC8004E95C2004689B300386A8A00447B9F004786B0003C7F - A900B7A29300FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF000C3DFF006080 - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00C3D8E5005EA5D30061AAD80062ABD9005FA8D6005BA3D100559DCA004E95 - C200478DB9003D7DA6003C7FAA003D82AD00B7A29300B7A29300B7A29300B7A2 - 9300B7A29300B7A293009CB0FF001443FF006080FF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCFDFE0079B1D5006AB4E2006AB5 - E30067B1DF0062ABD9005BA3D000539AC7004B91BE004388B4003D82AD003C81 - AC0062849A00ECECEC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0 - FF00345DFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00DDE9F00075B9E40073BEED006EB9E80067B1DF005FA7D500569E - CB004D94C100458BB7003D82AE005584A200D8DBDD00FEFEFE00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CB0FF00486DFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D8E7F1007FBF - E80072BDEC0069B3E20061A9D70058A0CD004F96C2004689B5006994B000DCDF - E300FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF009CB0FF007893FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00F4F7FA00B2D0E30085B8D80070A9CE0071A6 - C70087AFC900C3D1DB00FAFAFA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00} - end - object lbUser: TLabel - Left = 257 - Top = 12 - Width = 54 - Height = 18 - Caption = 'Admin' - Font.Charset = ANSI_CHARSET - Font.Color = clBlue - Font.Height = -16 - Font.Name = 'Verdana' - Font.Style = [fsBold] - ParentFont = False - end - end - object Panel3: TPanel - Left = 445 - Top = 35 - Width = 97 - Height = 487 - Align = alRight - BevelOuter = bvNone - TabOrder = 1 - object BtLibera: TBitBtn - Left = 8 - Top = 80 - Width = 81 - Height = 25 - Caption = '&Liberar' - TabOrder = 0 - OnClick = BtLiberaClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4 - C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8 - D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D49FBFD0 - 0060900060900060900060900060900060900060900060900060900060900060 - 909FBFD0C8D0D4C8D0D4C8D0D4C2C8CB8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D - 8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8DC2C8CBC8D0D4C8D0D4C8D0D40090C8 - 98D8F80090C80090C80090C80090C80090C80090C80090C80090C80090C80090 - C8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7B6B6B6B5B5B5B5B5B5B5B5B5B5 - B5B5B5B5B5B6B6B6B5B5B5B5B5B5B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD7ACEF774CCF66EC9F55494A840404045879B4EBBF146B7EF42B5EF0090 - C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E1E1E1E0E0E0DDDDDDB1B1B166 - 6666A7A7A7D5D5D5D3D3D3D2D2D2B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD83D2F87DD0F777CDF671CAF540404063C5F45AC1F352BDF14AB9F00090 - C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E3E3E3E2E2E2E0E0E0DFDFDF66 - 6666DBDBDBD8D8D8D7D7D7D4D4D4B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD89D5F983D2F87DD0F740404040404040404063C5F45AC1F352BDF10090 - C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E5E5E5E3E3E3E2E2E267676766 - 6666666666DCDCDCD9D9D9D6D6D6B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD8FD8FA89D5F983D2F862AABE40404062AABE6BC8F563C5F45AC1F30090 - C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E7E7E7E5E5E5E3E3E3C2C2C266 - 6666C2C2C2DDDDDDDCDCDCD9D9D9B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD95DBFB8FD8FA89D5F983D2F87DD0F777CDF671CAF56BC8F563C5F40090 - C8006090C8D0D4C8D0D4C8D0D4B6B6B6F5F5F5E9E9E9E7E7E7E5E5E5E3E3E3E2 - E2E2E0E0E0DFDFDFDDDDDDDCDCDCB5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8 - 98D8F8D7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFD98D8 - F8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7F6F6F6F6F6F6F6F6F6F6F6F6F6 - F6F6F6F6F6F6F6F6F6F6F6F5F5F5E7E7E78D8D8DC8D0D4C8D0D4C8D0D49FBFD0 - 028DC70090C80090C80090C80090C80090C80090C80090C80090C80090C80090 - C89FBFD0C8D0D4C8D0D4C8D0D4C2C8CBB4B4B4B6B6B6B6B6B6B6B6B6B5B5B5B5 - B5B5B5B5B5B6B6B6B6B6B6B5B5B5B5B5B5C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8 - D0D4C8D0D4B6B6B6DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D40090C8006090006090C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B6B6B68D8D8D8D8D8DC8D0D4C8 - D0D4C8D0D4B6B6B6DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D40090C8D7EFFD0060909FBFD0C8D0D49FBFD00090C860C8F8006090C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F6F6F68D8D8DC2C8CBC8 - D0D4C2C8CBB5B5B5DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D47FB1CDD7EFFD98D8F800609000609000609098D8F860C8F8367EA3C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BDC2C4F5F5F5E7E7E78D8D8D8E - 8E8E8D8D8DE7E7E7DDDDDD9EA0A1C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D49FBFD07FB1CDD7EFFDD7EFFDD7EFFDD7EFFD4DB9EC367EA39FBFD0C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4F6F6F6F6F6F6F6 - F6F6F6F6F6D3D3D39EA0A1C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D4C8D0D49FBFD07FB1CD0090C80090C80090C87FB1CD9FBFD0C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4B5B5B5B5 - B5B5B5B5B5BDC2C4C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4} - NumGlyphs = 2 - end - object BtBloqueia: TBitBtn - Left = 8 - Top = 133 - Width = 81 - Height = 25 - Caption = '&Bloquear' - TabOrder = 1 - OnClick = BtBloqueiaClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4 - C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8 - D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D49FBFD0 - 0060900060900060900060900060900060900060900060900060900060900060 - 909FBFD0C8D0D4C8D0D4C8D0D4C2C8CB8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D - 8D8D8D8D8D8E8E8E8D8D8D8D8D8D8D8D8DC2C8CBC8D0D4C8D0D4C8D0D40090C8 - 98D8F80090C80090C80090C80090C80090C80090C80090C80090C80090C80090 - C8006090C8D0D4C8D0D4C8D0D4B6B6B6E7E7E7B5B5B5B6B6B6B5B5B5B5B5B5B5 - B5B5B6B6B6B5B5B5B5B5B5B6B6B6B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD7ACEF774CCF66EC9F55494A840404045879B4EBBF146B7EF42B5EF0090 - C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E1E1E1E0E0E0DDDDDDB1B1B166 - 6666A7A7A7D5D5D5D3D3D3D2D2D2B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD83D2F87DD0F777CDF671CAF540404063C5F45AC1F352BDF14AB9F00090 - C8006090C8D0D4C8D0D4C8D0D4B6B6B6F6F6F6E3E3E3E2E2E2E0E0E0DFDFDF66 - 6666DCDCDCD9D9D9D7D7D7D4D4D4B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD89D5F983D2F87DD0F740404040404040404063C5F45AC1F352BDF10090 - C8006090C8D0D4C8D0D4C8D0D4B5B5B5F5F5F5E5E5E5E3E3E3E2E2E266666666 - 6666666666DCDCDCD8D8D8D6D6D6B5B5B58D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD8FD8FA89D5F983D2F862AABE40404062AABE6BC8F563C5F45AC1F30090 - C8006090C8D0D4C8D0D4C8D0D4B6B6B6F6F6F6E7E7E7E6E6E6E3E3E3C2C2C267 - 6767C2C2C2DDDDDDDBDBDBD9D9D9B6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8 - D7EFFD95DBFB8FD8FA89D5F983D2F87DD0F777CDF671CAF56BC8F563C5F40090 - C8006090C8D0D4C8D0D4C8D0D4B5B5B5F6F6F6E9E9E9E7E7E7E6E6E6E3E3E3E2 - E2E2E0E0E0DFDFDFDDDDDDDBDBDBB6B6B68D8D8DC8D0D4C8D0D4C8D0D40090C8 - 98D8F8D7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFDD7EFFD98D8 - F8006090C8D0D4C8D0D4C8D0D4B5B5B5E7E7E7F6F6F6F6F6F6F6F6F6F6F6F6F6 - F6F6F6F6F6F6F6F6F6F6F6F6F6F6E7E7E78D8D8DC8D0D4C8D0D4C8D0D49FBFD0 - 0090C80090C80090C80090C80090C80090C80090C80090C80090C80090C80090 - C89FBFD0C8D0D4C8D0D4C8D0D4C2C8CBB5B5B5B6B6B6B6B6B6B5B5B5B6B6B6B5 - B5B5B6B6B6B6B6B6B5B5B5B5B5B5B6B6B6C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D40090C8D7EFFD006090C8D0D4C8D0D4C8D0D40090C860C8F8006090C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F5F5F58D8D8DC8D0D4C8 - D0D4C8D0D4B5B5B5DDDDDD8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D40090C8D7EFFD0060909FBFD0C8D0D49FBFD00090C860C8F8006090C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B5B5B5F6F6F68D8D8DC2C8CBC8 - D0D4C2C8CBB5B5B5DEDEDE8D8D8DC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D47FB1CDD7EFFD98D8F800609000609000609060C8F860C8F8367EA3C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BDC2C4F6F6F6E7E7E78D8D8D8D - 8D8D8D8D8DDEDEDEDDDDDD9EA0A1C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D49FBFD07FB1CDD7EFFDD7EFFDD7EFFDD7EFFD60C8F8367EA39FBFD0C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4F6F6F6F6F6F6F6 - F6F6F6F6F6DDDDDD9EA0A1C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D4C8D0D49FBFD07FB1CD0090C80090C80090C87FB1CD9FBFD0C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C2C8CBBDC2C4B5B5B5B5 - B5B5B6B6B6BDC2C4C2C8CBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8 - D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4} - NumGlyphs = 2 - end - object BtGrava: TBitBtn - Left = 8 - Top = 186 - Width = 81 - Height = 25 - Caption = '&Gravar' - TabOrder = 2 - OnClick = BtGravaClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - 6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D422F6D42 - 2F6D422F6D422F6D422FFF00FFFF00FF69696969696969696969696969696969 - 6969696969696969696969696969696969696969696969696969FF00FFCE726F - D19792CB8E8A715A48C0B2ABC4BCB8CAC1BCCAC1BCCAC1BCCAC1BC8C76679443 - 409443409443406D422FFF00FF9A9A9AB4B4B4AEAEAE7D7D7DC6C6C6CECECED2 - D2D2D2D2D2D2D2D2D2D2D2969696707070707070707070696969FF00FFCE726F - D79F9BD19792715A482E1F185F5046FFFFFFFFFFFFFFFFFFF0E4DE8C76679747 - 449443409443406D422FFF00FF9A9A9ABBBBBBB5B5B57C7C7C434343747474FF - FFFFFFFFFFFFFFFFECECEC969696747474707070707070696969FF00FFCE726F - DDA8A3D79F9B715A480A0A0A36241BFFFFFFF7F1EEF0E4DEE1CABD8C76679E50 - 4D9747449443406D422FFF00FF9A9A9AC1C1C1BBBBBB7D7D7D2A2A2A4A4A4AFF - FFFFF6F6F6ECECECD8D8D89595957C7C7C757575707070696969FF00FFCE726F - E3B0ABDDA8A3715A48715A48715A48715A48715A48715A48715A48715A48A459 - 569E504D9747446D422FFF00FF9A9A9AC8C8C8C1C1C17D7D7D7D7D7D7D7D7D7C - 7C7C7D7D7D7D7D7D7D7D7D7D7D7D8383837C7C7C747474696969FF00FFCE726F - EDBDB8E7B5B0E0ACA7DAA49FD49B97CB8E8AC58682BF7E79B97571B26B68AB62 - 5FA459569E504D6D422FFF00FF9A9A9AD2D2D2CCCCCCC4C4C4BEBEBEB8B8B8AE - AEAEA8A8A8A1A1A19A9A9A9292928B8B8B8484847B7B7B696969FF00FFCE726F - F0C1BCEDBDB8E7B5B0E0ACA7DAA49FD49B97CE938EC88A86C2827EBC7975B26B - 68AB625FA459566D422FFF00FF9A9A9AD4D4D4D2D2D2CBCBCBC4C4C4BFBFBFB8 - B8B8B1B1B1ABABABA5A5A59D9D9D9292928B8B8B848484696969FF00FFCE726F - F0C1BCF0C1BCC8635CC8635CC8635CC8635CC8635CC8635CC8635CC8635CC863 - 5CB5706CAE67636D422FFF00FF9A9A9AD4D4D4D5D5D58E8E8E8E8E8E8E8E8E8E - 8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E8E9696968E8E8E696969FF00FFCE726F - F0C1BCC8635CFAF5F3F6EEEAF2E7E2EEE2DAEBDCD3E7D6CBE4D0C4E1CABDE1CA - BDC8635CB5706C6D422FFF00FF9A9A9AD4D4D48E8E8EF8F8F8F3F3F3EEEEEEEA - EAEAE6E6E6E1E1E1DDDDDDD8D8D8D8D8D88E8E8E969696676767FF00FFCE726F - F0C1BCC8635CFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3C8E2CD - C0C8635CBC79756D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFAFAFAF6F6F6F1 - F1F1ECECECE7E7E7E3E3E3DFDFDFDADADA8E8E8E9D9D9D696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9CFE6D3 - C8C8635CC2827E6D422FFF00FF9A9A9AD4D4D48D8D8DFFFFFFFFFFFFFBFBFBF6 - F6F6F0F0F0ECECECE7E7E7E3E3E3DFDFDF8E8E8EA5A5A5696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDFD6E9D9 - CFC8635CC88A866D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFB - FBFBF5F5F5F1F1F1ECECECE8E8E8E3E3E38E8E8EABABAB696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4DEECDF - D6C8635CD197926D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFBFBFBF6F6F6F1F1F1ECECECE7E7E78E8E8EB5B5B5696969FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EAE6F0E4 - DEC8635C0A0A0A6D422FFF00FF9A9A9AD4D4D48E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFBFBFBF6F6F6F1F1F1ECECEC8E8E8E2A2A2A676767FF00FFCE726F - F0C1BCC8635CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF8F7F8F1EEF4EA - E6C8635CC88A866D422FFF00FF9A9A9AD5D5D58E8E8EFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFBFBFBF5F5F5F1F1F18E8E8EABABAB696969FF00FFCE726F - CE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE726FCE72 - 6FCE726FCE726FCE726FFF00FF9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A - 9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A} - NumGlyphs = 2 - end - object BtCancel: TBitBtn - Left = 8 - Top = 240 - Width = 81 - Height = 25 - Caption = '&Cancelar' - TabOrder = 3 - OnClick = BtCancelClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - end - end - object PC: TPageControl - Left = 0 - Top = 35 - Width = 445 - Height = 487 - ActivePage = PageMenu - Align = alClient - Style = tsFlatButtons - TabOrder = 2 - object PageMenu: TTabSheet - Caption = 'Itens do Menu' - object TreeMenu: TTreeView - Left = 0 - Top = 0 - Width = 437 - Height = 456 - Align = alClient - Ctl3D = True - Images = ImageList1 - Indent = 19 - ParentCtl3D = False - ReadOnly = True - RightClickSelect = True - TabOrder = 0 - OnClick = TreeMenuClick - OnCollapsing = TreeMenuCollapsing - OnExpanding = TreeMenuCollapsing - OnKeyPress = TreeMenuKeyPress - OnMouseUp = TreeMenuMouseUp - end - end - object PageAction: TTabSheet - Caption = 'A'#231#245'es' - ImageIndex = 1 - object TreeAction: TTreeView - Left = 0 - Top = 0 - Width = 437 - Height = 456 - Align = alClient - Ctl3D = True - Images = ImageList1 - Indent = 19 - ParentCtl3D = False - ReadOnly = True - RightClickSelect = True - TabOrder = 0 - OnClick = TreeActionClick - OnCollapsing = TreeMenuCollapsing - OnExpanding = TreeMenuCollapsing - OnKeyPress = TreeMenuKeyPress - end - end - object PageControls: TTabSheet - Caption = 'Controles' - ImageIndex = 2 - object TreeControls: TTreeView - Left = 0 - Top = 0 - Width = 437 - Height = 456 - Align = alClient - Ctl3D = True - Images = ImageList1 - Indent = 19 - ParentCtl3D = False - ReadOnly = True - RightClickSelect = True - TabOrder = 0 - OnClick = TreeControlsClick - OnCollapsing = TreeMenuCollapsing - OnExpanding = TreeMenuCollapsing - OnKeyPress = TreeMenuKeyPress - end - end - end - object ImageList1: TImageList - Left = 360 - Top = 8 - Bitmap = { - 494C010103000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000001000000001002000000000000010 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400C6DEC600C6DE - C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE - C600C6DEC6000000000000000000000000000000000084848400C6DEC600C6DE - C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE - C600C6DEC6000000000000000000000000000000000084848400C6DEC600C6DE - C600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DEC600C6DE - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC6000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC600000000000000000000000000000000008484840084848400C6C6 - C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6 - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC6000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC600000000000000000000000000000000008484840084848400C6C6 - C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6 - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC6000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC600000000000000000000000000000000008484840084848400C6C6 - C600C6C6C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6 - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC6000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC600000000000000000000000000000000008484840084848400C6C6 - C6008484840084848400848484008484840084848400C6C6C600C6C6C600C6C6 - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC6000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC600000000000000000000000000000000008484840084848400C6C6 - C6008484840084848400C6C6C600848484008484840084848400C6C6C600C6C6 - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC6000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC600000000000000000000000000000000008484840084848400C6C6 - C60084848400C6C6C600C6C6C600C6C6C600848484008484840084848400C6C6 - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC6000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC600000000000000000000000000000000008484840084848400C6C6 - C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484840084848400C6C6 - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC6000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC600000000000000000000000000000000008484840084848400C6C6 - C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6 - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC6000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C6DEC600000000000000000000000000000000008484840084848400C6C6 - C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6 - C600C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484008484 - 8400848484008484840084848400848484008484840084848400848484008484 - 8400C6DEC6000000000000000000000000000000000084848400848484008484 - 8400848484008484840084848400848484008484840084848400848484008484 - 8400C6DEC6000000000000000000000000000000000084848400848484008484 - 8400848484008484840084848400848484008484840084848400848484008484 - 8400C6DEC6000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084848400848484008484 - 8400848484008484840084848400848484008484840084848400848484008484 - 8400848484000000000000000000000000000000000084848400848484008484 - 8400848484008484840084848400848484008484840084848400848484008484 - 8400848484000000000000000000000000000000000084848400848484008484 - 8400848484008484840084848400848484008484840084848400848484008484 - 8400848484000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000424D3E000000000000003E000000 - 2800000040000000100000000100010000000000800000000000000000000000 - 000000000000000000000000FFFFFF00FFFFFFFFFFFF0000FFFFFFFFFFFF0000 - FFFFFFFFFFFF000080078007800700009FF79FF7800700009FF79DF780070000 - 9FF798F7800700009FF79077800700009FF79237800700009FF7971780070000 - 9FF79F97800700009FF79FD7800700009FF79FF7800700008007800780070000 - 8007800780070000FFFFFFFFFFFF000000000000000000000000000000000000 - 000000000000} - end -end diff --git a/internal/2.31RC1/1/Source/UserPermis_U.pas b/internal/2.31RC1/1/Source/UserPermis_U.pas deleted file mode 100644 index 1ebdea4..0000000 --- a/internal/2.31RC1/1/Source/UserPermis_U.pas +++ /dev/null @@ -1,750 +0,0 @@ -unit UserPermis_U; - -interface - -{$I 'UserControl.inc'} - -uses - UCBase, - {.$IFDEF UCACTMANAGER} - ActnMan, - ActnMenus, - {.$ENDIF} - {.$IFDEF DELPHI5_UP} - Variants, - {.$ENDIF} - Buttons, - Classes, - ComCtrls, - Controls, - DB, - ExtCtrls, - Forms, - Graphics, - ImgList, - Menus, - StdCtrls; - -type - PTreeMenu = ^TTreeMenu; - - TTreeMenu = record - Selecionado: Integer; - MenuName: String; - end; - - PTreeAction = ^TTreeAction; - - TTreeAction = record - Grupo: Boolean; - Selecionado: Integer; - MenuName: String; - end; - - PTreeControl = ^TTreeControl; - - TTreeControl = record - Grupo: Boolean; - Selecionado: Integer; - CompName: String; - FormName: String; - end; - - TUserPermis = class(TForm) - Panel1: TPanel; - LbDescricao: TLabel; - Image1: TImage; - Panel3: TPanel; - BtLibera: TBitBtn; - BtBloqueia: TBitBtn; - BtGrava: TBitBtn; - lbUser: TLabel; - ImageList1: TImageList; - BtCancel: TBitBtn; - PC: TPageControl; - PageMenu: TTabSheet; - PageAction: TTabSheet; - TreeMenu: TTreeView; - TreeAction: TTreeView; - PageControls: TTabSheet; - TreeControls: TTreeView; - procedure BtGravaClick(Sender: TObject); - procedure TreeMenuClick(Sender: TObject); - procedure BtCancelClick(Sender: TObject); - procedure BtLiberaClick(Sender: TObject); - procedure BtBloqueiaClick(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure TreeActionClick(Sender: TObject); - procedure TreeControlsClick(Sender: TObject); - procedure TreeMenuCollapsing(Sender: TObject; Node: TTreeNode; var AllowCollapse: Boolean); - procedure TreeMenuKeyPress(Sender: TObject; var Key: char); - procedure TreeMenuMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); - procedure FormDestroy(Sender: TObject); - private - FMenu: TMenu; - FActions: TObject; - FChangingTree: Boolean; - FTempMPointer: PTreeMenu; - FTempAPointer: PTreeAction; - FTempCPointer: PTreeControl; - FExtraRights: TUCExtraRights; - FTempLista: TStringList; - FListaAction: array of PTreeAction; - FListaMenu: array of PTreeMenu; - FListaControl: array of PTreeControl; - {.$IFDEF UCACTMANAGER} - FActionMainMenuBar: TActionMainMenuBar; - procedure TrataItem(IT: TActionClientItem; node: TTreeNode); overload; - {.$ENDIF} - procedure TrataItem(IT: TMenuItem; node: TTreeNode); overload; - procedure TreeMenuItem(marca: Boolean); - procedure Atualiza(Selec: Boolean); - procedure TreeActionItem(marca: Boolean); - procedure UnCheckChild(node: TTreeNode); - procedure TreeControlItem(marca: Boolean); - procedure CarregaTreeviews; - public - FTempIdUser: Integer; - FUserControl: TUserControl; - DSPermiss: TDataset; - DSPermissEX: TDataset; - DSPerfil: TDataset; - DSPerfilEX: TDataset; - end; - -var - UserPermis: TUserPermis; - -implementation - -uses - ActnList, - Messages, - SysUtils, - Windows; - -{$R *.dfm} - -procedure TUserPermis.BtGravaClick(Sender: TObject); -var - Contador: Integer; -begin - with fUserControl.TableRights do - begin - fUserControl.DataConnector.UCExecSQL('Delete from ' + TableName + ' Where ' + FieldUserID + ' = ' + IntToStr(FTempIdUser) + ' and ' + FieldModule + ' = ' + QuotedStr(fUserControl.ApplicationID)); - fUserControl.DataConnector.UCExecSQL('Delete from ' + TableName + 'EX Where ' + FieldUserID + ' = ' + IntToStr(FTempIdUser) + ' and ' + FieldModule + ' = ' + QuotedStr(fUserControl.ApplicationID)); - end; - - for Contador := 0 to TreeMenu.Items.Count - 1 do - if PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado = 1 then - fUserControl.AddRight(FTempIdUser, PTreeMenu(TreeMenu.Items[Contador].Data).MenuName); - - for Contador := 0 to TreeAction.Items.Count - 1 do - if PTreeAction(TreeAction.Items[Contador].Data).Selecionado = 1 then - fUserControl.AddRight(FTempIdUser, PTreeAction(TreeAction.Items[Contador].Data).MenuName); - - //Extra Rights - for Contador := 0 to Pred(TreeControls.Items.Count) do - if PTreeControl(TreeControls.Items[Contador].Data).Selecionado = 1 then - fUserControl.AddRightEX(FTempIdUser, fUserControl.ApplicationID, PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName); - - Close; -end; - -procedure TUserPermis.TrataItem(IT: TMenuItem; node: TTreeNode); -var - contador: Integer; - TempNode: TTreeNode; -begin - for contador := 0 to IT.Count - 1 do - if IT.Items[Contador].Caption <> '-' then - if IT.Items[Contador].Count > 0 then - begin - New(FTempMPointer); - SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06 - FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06 - FTempMPointer.Selecionado := 0; - FTempMPointer.MenuName := IT.Items[Contador].Name; - TempNode := TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer); - TrataItem(IT.Items[Contador], TempNode); - end - else - begin - New(FTempMPointer); - SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06 - FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06 - FTempMPointer.Selecionado := 0; - FTempMPointer.MenuName := IT.Items[Contador].Name; - TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer); - end; -end; - -{.$IFDEF UCACTMANAGER} -procedure TUserPermis.TrataItem(IT: TActionClientItem; node: TTreeNode); -var - contador: Integer; - TempNode: TTreeNode; -begin - for contador := 0 to IT.Items.Count - 1 do - if IT.Items[Contador].Caption <> '-' then - if IT.Items[Contador].Items.Count > 0 then - begin - New(FTempMPointer); - SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06 - FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06 - FTempMPointer.Selecionado := 0; - FTempMPointer.MenuName := #1 + 'G' + IT.Items[Contador].Caption; - TempNode := TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer); - TrataItem(IT.Items[Contador], TempNode); - end - else - begin - New(FTempMPointer); - SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06 - FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06 - FTempMPointer.Selecionado := 0; - FTempMPointer.MenuName := IT.Items[Contador].Action.Name; - TreeMenu.Items.AddChildObject(node, StringReplace(IT.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer); - end; -end; - -{.$ENDIF} - -procedure TUserPermis.CarregaTreeviews; -var - Contador: Integer; - TempNode: TTreeNode; - Temp: String; - Temp2: String; - Desc: String; -begin - FChangingTree := False; - PC.ActivePage := PageMenu; - -{ Self.FMenu := fUserControl.ControlRight.MainMenu; - Self.FActionMainMenuBar := fUserControl.ControlRight.ActionMainMenuBar; - if Assigned(fUserControl.ControlRight.ActionList) then - Self.FActions := fUserControl.ControlRight.ActionList - else - Self.FActions := fUserControl.ControlRight.ActionManager; } - - Self.FMenu := fUsercontrol.ControlRight.MainMenu; - Self.FActionMainMenuBar := fUsercontrol.ControlRight.ActionMainMenuBar; - if Assigned(fUsercontrol.ControlRight.ActionList) then - Self.FActions := fUsercontrol.ControlRight.ActionList - else - Self.FActions := fUsercontrol.ControlRight.ActionManager; - Self.FExtraRights := fUsercontrol.ExtraRights; - - (*if (not Assigned(FMenu)) and (not Assigned(fUserControl.ControlRight.ActionList)) - {.$IFDEF UCACTMANAGER} and (not Assigned(fUserControl.ControlRight.ActionManager)) and - (not Assigned(fUserControl.ControlRight.ActionMainMenuBar)) - {.$ENDIF} then - begin - if (Assigned(FMenu)) - {.$IFDEF UCACTMANAGER} and (not Assigned(fUserControl.ControlRight.ActionMainMenuBar)) - {.$ENDIF} then*) - - //TempNode := nil; - if Assigned(FMenu) then - begin - TreeMenu.Items.Clear; - for Contador := 0 to FMenu.Items.Count - 1 do - if FMenu.Items[Contador].Count > 0 then - begin - New(FTempMPointer); - SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06 - FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06 - FTempMPointer.Selecionado := 0; - FTempMPointer.MenuName := FMenu.Items[Contador].Name; - TempNode := TreeMenu.Items.AddObject(nil, StringReplace(FMenu.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer); - TrataItem(FMenu.Items[Contador], TempNode); - end - else - if FMenu.Items[Contador].Caption <> '-' then - begin - New(FTempMPointer); - SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06 - FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06 - FTempMPointer.Selecionado := 0; - FTempMPointer.MenuName := FMenu.Items[Contador].Name; - TreeMenu.Items.AddObject(nil, StringReplace(FMenu.Items[Contador].Caption, '&', '', [rfReplaceAll]), FTempMPointer); - end; - TreeMenu.FullExpand; - TreeMenu.Perform(WM_VSCROLL, SB_TOP, 0); - end; - - {.$IFDEF UCACTMANAGER} - //TempNode := nil; - if Assigned(FActionMainMenuBar) then - begin - TreeMenu.Items.Clear; - for Contador := 0 to FActionMainMenuBar.ActionClient.Items.Count - 1 do - begin - Temp := IntToStr(Contador); - if FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Items.Count > 0 then - begin - New(FTempMPointer); - SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06 - FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06 - FTempMPointer.Selecionado := 0; - FTempMPointer.MenuName := #1 + 'G' + FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Caption; - TempNode := TreeMenu.Items.AddObject(nil, StringReplace(FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Caption, '&', '', [rfReplaceAll]), FTempMPointer); - TrataItem(FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)], TempNode); - end - else - begin - New(FTempMPointer); - SetLength(FListaMenu, Length(FListaMenu) + 1); //Adicionado por Luiz 18/01/06 - FListaMenu[High(FListaMenu)] := FTempMPointer; //Adicionado por Luiz 18/01/06 - FTempMPointer.Selecionado := 0; - FTempMPointer.MenuName := FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Action.Name; - TreeMenu.Items.AddObject(nil, StringReplace(FActionMainMenuBar.ActionClient.Items[StrToInt(Temp)].Action.Name, '&', '', [rfReplaceAll]), FTempMPointer); - end; - TreeMenu.FullExpand; - TreeMenu.Perform(WM_VSCROLL, SB_TOP, 0); - end; - end; - {.$ENDIF} - -(*if (Assigned(fUserControl.ControlRight.ActionList)) - {.$IFDEF UCACTMANAGER} or (Assigned(fUserControl.ControlRight.ActionManager)) - {.$ENDIF} then*) - - TempNode := nil; - if Assigned(FActions) then - begin - TreeAction.Items.Clear; - if Assigned(FTempLista) then - FreeAndNil(FTempLista); - FTempLista := TStringList.Create; - for Contador := 0 to TActionList(FActions).ActionCount - 1 do - FTempLista.Append(TActionList(FActions).Actions[contador].Category + #1 + TActionList(FActions).Actions[contador].Name + #2 + TAction(TActionList(FActions).Actions[contador]).Caption); - FTempLista.Sort; - Temp := #1; - for Contador := 0 to FTempLista.Count - 1 do - begin - if Temp <> Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1) then - begin - New(FTempAPointer); - SetLength(FListaAction, Length(FListaAction) + 1); //Adicionado por Luiz 18/01/06 - FListaAction[High(FListaAction)] := FTempAPointer; //Adicionado por Luiz 18/01/06 - FTempAPointer.Grupo := True; - FTempAPointer.Selecionado := 0; - FTempAPointer.MenuName := 'Grupo'; - TempNode := TreeAction.Items.AddObject(nil, StringReplace(Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1), '&', '', [rfReplaceAll]), FTempAPointer); - TempNode.ImageIndex := 2; - TempNode.SelectedIndex := 2; - Temp := Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1); - end; - Temp2 := FTempLista[Contador]; - Delete(Temp2, 1, pos(#1, Temp2)); - New(FTempAPointer); - SetLength(FListaAction, Length(FListaAction) + 1); //Adicionado por Luiz 18/01/06 - FListaAction[High(FListaAction)] := FTempAPointer; //Adicionado por Luiz 18/01/06 - FTempAPointer.Grupo := False; - FTempAPointer.Selecionado := 0; - FTempAPointer.MenuName := Copy(Temp2, 1, Pos(#2, Temp2) - 1); - Delete(Temp2, 1, pos(#2, Temp2)); - TreeAction.Items.AddChildObject(TempNode, StringReplace(Temp2, '&', '', [rfReplaceAll]), FTempAPointer); - end; - TreeAction.FullExpand; - TreeAction.Perform(WM_VSCROLL, SB_TOP, 0); - end; - - //ExtraRights - TempNode := nil; - if Self.FExtraRights.Count > 0 then - begin - TreeControls.Items.Clear; - if Assigned(FTempLista) then - FreeAndNil(FTempLista); - FTempLista := TStringList.Create; - for Contador := 0 to Pred(FExtraRights.Count) do - FTempLista.Append(FExtraRights[Contador].GroupName + #1 + FExtraRights[Contador].Caption + #2 + FExtraRights[Contador].FormName + #3 + FExtraRights[Contador].CompName); - FTempLista.Sort; - Temp := #1; - for Contador := 0 to Pred(FTempLista.Count) do - begin - if Temp <> Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1) then - begin - New(FTempCPointer); - SetLength(FListaControl, Length(FListaControl) + 1); //Adicionado por Luiz 18/01/06 - FListaControl[High(FListaControl)] := FTempCPointer; //Adicionado por Luiz 18/01/06 - FTempCPointer.Grupo := True; - FTempCPointer.Selecionado := 0; - FTempCPointer.FormName := 'Grupo'; - FTempCPointer.CompName := 'Grupo'; - TempNode := TreeControls.Items.AddObject(nil, Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1), FTempCPointer); - TempNode.ImageIndex := 2; - TempNode.SelectedIndex := 2; - Temp := Copy(FTempLista[Contador], 1, Pos(#1, FTempLista[Contador]) - 1); - end; - Temp2 := FTempLista[Contador]; - Delete(Temp2, 1, pos(#1, Temp2)); - New(FTempCPointer); - SetLength(FListaControl, Length(FListaControl) + 1); //Adicionado por Luiz 18/01/06 - FListaControl[High(FListaControl)] := FTempCPointer; //Adicionado por Luiz 18/01/06 - FTempCPointer.Grupo := False; - FTempCPointer.Selecionado := 0; - Desc := Copy(Temp2, 1, Pos(#2, Temp2) - 1); // descricao do objeto - Delete(Temp2, 1, pos(#2, Temp2)); - - FTempCPointer.FormName := Copy(Temp2, 1, Pos(#3, Temp2) - 1); - Delete(Temp2, 1, pos(#3, Temp2)); - FTempCPointer.CompName := Temp2; - TreeControls.Items.AddChildObject(TempNode, Desc, FTempCPointer); - FTempCPointer := nil; - end; - TreeControls.FullExpand; - TreeControls.Perform(WM_VSCROLL, SB_TOP, 0); - end; - - PageMenu.TabVisible := Assigned(FMenu); - - PageAction.TabVisible := Assigned(FActions); - - PageControls.TabVisible := (Assigned(FExtraRights) and (FExtraRights.Count > 0)); -end; - -procedure TUserPermis.UnCheckChild(node: TTreeNode); -var - child: TTreeNode; -begin - PTreemenu(node.Data).Selecionado := 0; - node.ImageIndex := 0; - node.SelectedIndex := 0; - child := node.GetFirstChild; - repeat - if child.HasChildren then - UnCheckChild(child) - else - begin - PTreemenu(child.Data).Selecionado := 0; - child.ImageIndex := 0; - child.SelectedIndex := 0; - end; - child := node.GetNextChild(child); - until child = nil; -end; - -procedure TUserPermis.TreeMenuItem(Marca: Boolean); -var - AbsIdx: Integer; -begin - if Marca then - if PTreemenu(TreeMenu.Selected.Data).Selecionado < 2 then - begin - if PTreemenu(TreeMenu.Selected.Data).Selecionado = 0 then //marcar - begin - AbsIdx := TreeMenu.Selected.AbsoluteIndex; - while AbsIdx > -1 do - begin - PTreemenu(TreeMenu.Items.Item[AbsIdx].Data).Selecionado := 1; - TreeMenu.Items.Item[AbsIdx].ImageIndex := 1; - TreeMenu.Items.Item[AbsIdx].SelectedIndex := 1; - if TreeMenu.Items.Item[AbsIdx].Parent <> nil then - begin - AbsIdx := TreeMenu.Items.Item[AbsIdx].Parent.AbsoluteIndex; - if PTreemenu(TreeMenu.Items.Item[AbsIdx].Data).Selecionado = 2 then - AbsIdx := -1; - end - else - AbsIdx := -1; - end; - end - else - if TreeMenu.Selected.HasChildren then - UnCheckChild(TreeMenu.Selected) - else - begin - PTreemenu(TreeMenu.Selected.Data).Selecionado := 0; - TreeMenu.Selected.ImageIndex := 0; - TreeMenu.Selected.SelectedIndex := 0; - end; //desmarcar - TreeMenu.Repaint; - end; -end; - -procedure TUserPermis.TreeActionItem(marca: Boolean); -begin - if not Assigned(FActions) then - Exit; - if PTreeAction(TreeAction.Selected.Data).Grupo then - Exit; - if Marca then - begin - if PTreeAction(TreeAction.Selected.Data).Selecionado < 2 then - if PTreeAction(TreeAction.Selected.Data).Selecionado = 0 then - PTreeAction(TreeAction.Selected.Data).Selecionado := 1 - else - PTreeAction(TreeAction.Selected.Data).Selecionado := 0; - TreeAction.Selected.ImageIndex := PTreeAction(TreeAction.Selected.Data).Selecionado; - TreeAction.Selected.SelectedIndex := PTreeAction(TreeAction.Selected.Data).Selecionado; - end; - TreeAction.Repaint; -end; - -procedure TUserPermis.TreeControlItem(marca: Boolean); -begin - if PTreeControl(TreeControls.Selected.Data).Grupo then - Exit; - if Marca then - begin - if PTreeControl(TreeControls.Selected.Data).Selecionado < 2 then - if PTreeControl(TreeControls.Selected.Data).Selecionado = 0 then - PTreeControl(TreeControls.Selected.Data).Selecionado := 1 - else - PTreeControl(TreeControls.Selected.Data).Selecionado := 0; - TreeControls.Selected.ImageIndex := PTreeControl(TreeControls.Selected.Data).Selecionado; - TreeControls.Selected.SelectedIndex := PTreeAction(TreeControls.Selected.Data).Selecionado; - end; - TreeControls.Repaint; -end; - -procedure TUserPermis.TreeMenuClick(Sender: TObject); -begin - if not FChangingTree then - TreeMenuItem(True); -end; - -procedure TUserPermis.BtCancelClick(Sender: TObject); -begin - Close; -end; - -procedure TUserPermis.BtLiberaClick(Sender: TObject); -begin - Atualiza(True); -end; - -procedure TUserPermis.Atualiza(Selec: Boolean); -var - Contador: Integer; - Temp: Integer; -begin - if Selec then - Temp := 1 - else - Temp := 0; - - if PC.ActivePage = PageMenu then - begin - for Contador := 0 to TreeMenu.Items.Count - 1 do - if PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado < 2 then - begin - PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado := Temp; - TreeMenu.Items[Contador].ImageIndex := Temp; - TreeMenu.Items[Contador].SelectedIndex := Temp; - end; - TreeMenu.Repaint; - end - else - if PC.ActivePage = PageAction then - begin - for Contador := 0 to TreeAction.Items.Count - 1 do - if not PTreeAction(TreeAction.Items[Contador].Data).Grupo then - if PTreeAction(TreeAction.Items[Contador].Data).Selecionado < 2 then - begin - PTreeAction(TreeAction.Items[Contador].Data).Selecionado := Temp; - TreeAction.Items[Contador].ImageIndex := Temp; - TreeAction.Items[Contador].SelectedIndex := Temp; - end; - TreeAction.Repaint; - end - else - begin // tabContols - for Contador := 0 to TreeControls.Items.Count - 1 do - if not PTreeControl(TreeControls.Items[Contador].Data).Grupo then - if PTreeControl(TreeControls.Items[Contador].Data).Selecionado < 2 then - begin - PTreeControl(TreeControls.Items[Contador].Data).Selecionado := Temp; - TreeControls.Items[Contador].ImageIndex := Temp; - TreeControls.Items[Contador].SelectedIndex := Temp; - end; - TreeControls.Repaint; - end; -end; - - -procedure TUserPermis.BtBloqueiaClick(Sender: TObject); -begin - Atualiza(False); -end; - -procedure TUserPermis.FormShow(Sender: TObject); -var - Contador: Integer; - Selec: Integer; -begin - // Adcionado por Luiz - SetLength(FListaAction, 0); - SetLength(FListaMenu, 0); - SetLength(FListaControl, 0); - - //carrega itens do menu, actions e controles - CarregaTreeviews; - - // Exibe Permissoes do Usuario - for Contador := 0 to TreeAction.Items.Count - 1 do - begin - DSPermiss.First; - if DSPermiss.Locate('ObjName', PTreeAction(TreeAction.Items[Contador].Data).MenuName, []) then - Selec := 1 - else - Selec := 0; - - PTreeAction(TreeAction.Items[Contador].Data).Selecionado := Selec; - if not PTreeAction(TreeAction.Items[Contador].Data).Grupo then - begin - TreeAction.Items[Contador].ImageIndex := Selec; - TreeAction.Items[Contador].SelectedIndex := Selec; - end; - end; - - for Contador := 0 to TreeMenu.Items.Count - 1 do - begin - DSPermiss.First; - if DSPermiss.Locate('ObjName', PTreeMenu(TreeMenu.Items[Contador].Data).MenuName, []) then - Selec := 1 - else - Selec := 0; - - PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado := Selec; - TreeMenu.Items[Contador].ImageIndex := Selec; - TreeMenu.Items[Contador].SelectedIndex := Selec; - end; - - //Extra Rights - for Contador := 0 to Pred(TreeControls.Items.Count) do - begin - DSPermissEX.First; - if DSPermissEX.Locate('FormName;ObjName', VarArrayOf([PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName]), []) then - Selec := 1 - else - Selec := 0; - - PTreeControl(TreeControls.Items[Contador].Data).Selecionado := Selec; - if not PTreeControl(TreeControls.Items[Contador].Data).Grupo then - begin - TreeControls.Items[Contador].ImageIndex := Selec; - TreeControls.Items[Contador].SelectedIndex := Selec; - end; - end; - - // Exibe Permissoes do Perfil - if DSPerfil.Active then - begin - for Contador := 0 to TreeAction.Items.Count - 1 do - begin - DSPerfil.First; - if DSPerfil.Locate('ObjName', PTreeAction(TreeAction.Items[Contador].Data).MenuName, []) then - begin - Selec := 2; - PTreeAction(TreeAction.Items[Contador].Data).Selecionado := Selec; - if not PTreeAction(TreeAction.Items[Contador].Data).Grupo then - begin - TreeAction.Items[Contador].ImageIndex := Selec; - TreeAction.Items[Contador].SelectedIndex := Selec; - end; - end; - end; - - for Contador := 0 to TreeMenu.Items.Count - 1 do - begin - DSPerfil.First; - if DSPerfil.Locate('ObjName', PTreeMenu(TreeMenu.Items[Contador].Data).MenuName, []) then - begin - Selec := 2; - PTreeMenu(TreeMenu.Items[Contador].Data).Selecionado := Selec; - TreeMenu.Items[Contador].ImageIndex := Selec; - TreeMenu.Items[Contador].SelectedIndex := Selec; - end; - end; - - //Extra Rights - for Contador := 0 to Pred(TreeControls.Items.Count) do - begin - DSPerfilEX.First; - if DSPerfilEX.Locate('FormName;ObjName', VarArrayOf([PTreeControl(TreeControls.Items[Contador].Data).FormName, PTreeControl(TreeControls.Items[Contador].Data).CompName]), []) then - begin - Selec := 2; - PTreeControl(TreeControls.Items[Contador].Data).Selecionado := Selec; - if not PTreeControl(TreeControls.Items[Contador].Data).Grupo then - begin - TreeControls.Items[Contador].ImageIndex := Selec; - TreeControls.Items[Contador].SelectedIndex := Selec; - end; - end; - end; - end; - - TreeAction.Repaint; - TreeMenu.Repaint; - FChangingTree := False; -end; - -procedure TUserPermis.TreeActionClick(Sender: TObject); -begin - if not FChangingTree then - TreeActionItem(True); -end; - -procedure TUserPermis.TreeControlsClick(Sender: TObject); -begin - if not FChangingTree then - TreeControlItem(True); -end; - -procedure TUserPermis.TreeMenuCollapsing(Sender: TObject; Node: TTreeNode; var AllowCollapse: Boolean); -begin - if (Self.Showing) and (TTreeView(Sender).Focused) then - FChangingTree := True; -end; - -procedure TUserPermis.TreeMenuKeyPress(Sender: TObject; var Key: char); -begin - if Key = ' ' then - begin - TTreeView(Sender).OnClick(Sender); - Key := #0; - end; -end; - -procedure TUserPermis.TreeMenuMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); -begin - FChangingTree := False; -end; - -procedure TUserPermis.FormDestroy(Sender: TObject); -var - Contador: Integer; -begin - // Adicionado por Luiz 18/01/06 - if Assigned(DSPermiss) then - FreeAndNil(DSPermiss); - - if Assigned(DSPermissEX) then - FreeAndNil(DSPermissEX); - - if Assigned(DSPerfil) then - FreeAndNil(DSPerfil); - - if Assigned(DSPerfilEX) then - FreeAndNil(DSPerfilEX); - - if Assigned(FTempLista) then - FreeAndNil(FTempLista); - - for Contador := 0 to High(FListaMenu) do - Dispose(FListaMenu[Contador]); - - for Contador := 0 to High(FListaAction) do - Dispose(FListaAction[Contador]); - - for Contador := 0 to High(FListaControl) do - Dispose(FListaControl[Contador]); -end; - -end. - diff --git a/internal/2.31RC1/1/Source/md5.pas b/internal/2.31RC1/1/Source/md5.pas deleted file mode 100644 index 13fcc9e..0000000 --- a/internal/2.31RC1/1/Source/md5.pas +++ /dev/null @@ -1,401 +0,0 @@ -// tabs = 2 -// ----------------------------------------------------------------------------------------------- - -// MD5 Message-Digest for Delphi 4 - - // Delphi 4 Unit implementing the - // RSA Data Security, Inc. MD5 Message-Digest Algorithm - -// Implementation of Ronald L. Rivest's RFC 1321 - - // Copyright © 1997-1999 Medienagentur Fichtner & Meyer - // Written by Matthias Fichtner - -// ----------------------------------------------------------------------------------------------- -// See RFC 1321 for RSA Data Security's copyright and license notice! -// ----------------------------------------------------------------------------------------------- - -// 14-Jun-97 mf Implemented MD5 according to RFC 1321 RFC 1321 -// 16-Jun-97 mf Initial release of the compiled unit (no source code) RFC 1321 -// 28-Feb-99 mf Added MD5Match function for comparing two digests RFC 1321 -// 13-Sep-99 mf Reworked the entire unit RFC 1321 -// 17-Sep-99 mf Reworked the "Test Driver" project RFC 1321 -// 19-Sep-99 mf Release of sources for MD5 unit and "Test Driver" project RFC 1321 - -// ----------------------------------------------------------------------------------------------- - // The latest release of md5.pas will always be available from - // the distribution site at: http://www.fichtner.net/delphi/md5/ -// ----------------------------------------------------------------------------------------------- - // Please send questions, bug reports and suggestions - // regarding this code to: mfichtner@fichtner-meyer.com -// ----------------------------------------------------------------------------------------------- - // This code is provided "as is" without express or - // implied warranty of any kind. Use it at your own risk. -// ----------------------------------------------------------------------------------------------- - -unit md5; - -// ----------------------------------------------------------------------------------------------- -interface -// ----------------------------------------------------------------------------------------------- - -uses - Windows; - -type - MD5Count = array[0..1] of DWORD; - MD5State = array[0..3] of DWORD; - MD5Block = array[0..15] of DWORD; - MD5CBits = array[0..7] of Byte; - MD5Digest = array[0..15] of Byte; - MD5Buffer = array[0..63] of Byte; - - MD5Context = record - State: MD5State; - Count: MD5Count; - Buffer: MD5Buffer; - end; - -procedure MD5Init(var Context: MD5Context); -procedure MD5Update(var Context: MD5Context; Input: PChar; Length: longword); -procedure MD5Final(var Context: MD5Context; var Digest: MD5Digest); - -function MD5String(M: String): MD5Digest; -function MD5File(N: String): MD5Digest; -function MD5Print(D: MD5Digest): String; - -function MD5Match(D1, D2: MD5Digest): Boolean; - -// ----------------------------------------------------------------------------------------------- -implementation -// ----------------------------------------------------------------------------------------------- - -var - PADDING: MD5Buffer = ($80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00); - -function F(x, y, z: DWORD): DWORD; -begin - Result := (x and y) or ((not x) and z); -end; - -function G(x, y, z: DWORD): DWORD; -begin - Result := (x and z) or (y and (not z)); -end; - -function H(x, y, z: DWORD): DWORD; -begin - Result := x xor y xor z; -end; - -function I(x, y, z: DWORD): DWORD; -begin - Result := y xor (x or (not z)); -end; - -procedure rot(var x: DWORD; n: Byte); -begin - x := (x shl n) or (x shr (32 - n)); -end; - -procedure FF(var a: DWORD; b, c, d, x: DWORD; s: Byte; ac: DWORD); -begin - Inc(a, F(b, c, d) + x + ac); - rot(a, s); - Inc(a, b); -end; - -procedure GG(var a: DWORD; b, c, d, x: DWORD; s: Byte; ac: DWORD); -begin - Inc(a, G(b, c, d) + x + ac); - rot(a, s); - Inc(a, b); -end; - -procedure HH(var a: DWORD; b, c, d, x: DWORD; s: Byte; ac: DWORD); -begin - Inc(a, H(b, c, d) + x + ac); - rot(a, s); - Inc(a, b); -end; - -procedure II(var a: DWORD; b, c, d, x: DWORD; s: Byte; ac: DWORD); -begin - Inc(a, I(b, c, d) + x + ac); - rot(a, s); - Inc(a, b); -end; - -// ----------------------------------------------------------------------------------------------- - -// Encode Count bytes at Source into (Count / 4) DWORDs at Target -procedure Encode(Source, Target: pointer; Count: longword); -var - S: PByte; - T: PDWORD; - I: longword; -begin - S := Source; - T := Target; - for I := 1 to Count div 4 do - begin - T^ := S^; - Inc(S); - T^ := T^ or (S^ shl 8); - Inc(S); - T^ := T^ or (S^ shl 16); - Inc(S); - T^ := T^ or (S^ shl 24); - Inc(S); - Inc(T); - end; -end; - -// Decode Count DWORDs at Source into (Count * 4) Bytes at Target -procedure Decode(Source, Target: pointer; Count: longword); -var - S: PDWORD; - T: PByte; - I: longword; -begin - S := Source; - T := Target; - for I := 1 to Count do - begin - T^ := S^ and $ff; - Inc(T); - T^ := (S^ shr 8) and $ff; - Inc(T); - T^ := (S^ shr 16) and $ff; - Inc(T); - T^ := (S^ shr 24) and $ff; - Inc(T); - Inc(S); - end; -end; - -// Transform State according to first 64 bytes at Buffer -procedure Transform(Buffer: pointer; var State: MD5State); -var - a, b, c, d: DWORD; - Block: MD5Block; -begin - Encode(Buffer, @Block, 64); - a := State[0]; - b := State[1]; - c := State[2]; - d := State[3]; - FF(a, b, c, d, Block[0], 7, $d76aa478); - FF(d, a, b, c, Block[1], 12, $e8c7b756); - FF(c, d, a, b, Block[2], 17, $242070db); - FF(b, c, d, a, Block[3], 22, $c1bdceee); - FF(a, b, c, d, Block[4], 7, $f57c0faf); - FF(d, a, b, c, Block[5], 12, $4787c62a); - FF(c, d, a, b, Block[6], 17, $a8304613); - FF(b, c, d, a, Block[7], 22, $fd469501); - FF(a, b, c, d, Block[8], 7, $698098d8); - FF(d, a, b, c, Block[9], 12, $8b44f7af); - FF(c, d, a, b, Block[10], 17, $ffff5bb1); - FF(b, c, d, a, Block[11], 22, $895cd7be); - FF(a, b, c, d, Block[12], 7, $6b901122); - FF(d, a, b, c, Block[13], 12, $fd987193); - FF(c, d, a, b, Block[14], 17, $a679438e); - FF(b, c, d, a, Block[15], 22, $49b40821); - GG(a, b, c, d, Block[1], 5, $f61e2562); - GG(d, a, b, c, Block[6], 9, $c040b340); - GG(c, d, a, b, Block[11], 14, $265e5a51); - GG(b, c, d, a, Block[0], 20, $e9b6c7aa); - GG(a, b, c, d, Block[5], 5, $d62f105d); - GG(d, a, b, c, Block[10], 9, $2441453); - GG(c, d, a, b, Block[15], 14, $d8a1e681); - GG(b, c, d, a, Block[4], 20, $e7d3fbc8); - GG(a, b, c, d, Block[9], 5, $21e1cde6); - GG(d, a, b, c, Block[14], 9, $c33707d6); - GG(c, d, a, b, Block[3], 14, $f4d50d87); - GG(b, c, d, a, Block[8], 20, $455a14ed); - GG(a, b, c, d, Block[13], 5, $a9e3e905); - GG(d, a, b, c, Block[2], 9, $fcefa3f8); - GG(c, d, a, b, Block[7], 14, $676f02d9); - GG(b, c, d, a, Block[12], 20, $8d2a4c8a); - HH(a, b, c, d, Block[5], 4, $fffa3942); - HH(d, a, b, c, Block[8], 11, $8771f681); - HH(c, d, a, b, Block[11], 16, $6d9d6122); - HH(b, c, d, a, Block[14], 23, $fde5380c); - HH(a, b, c, d, Block[1], 4, $a4beea44); - HH(d, a, b, c, Block[4], 11, $4bdecfa9); - HH(c, d, a, b, Block[7], 16, $f6bb4b60); - HH(b, c, d, a, Block[10], 23, $bebfbc70); - HH(a, b, c, d, Block[13], 4, $289b7ec6); - HH(d, a, b, c, Block[0], 11, $eaa127fa); - HH(c, d, a, b, Block[3], 16, $d4ef3085); - HH(b, c, d, a, Block[6], 23, $4881d05); - HH(a, b, c, d, Block[9], 4, $d9d4d039); - HH(d, a, b, c, Block[12], 11, $e6db99e5); - HH(c, d, a, b, Block[15], 16, $1fa27cf8); - HH(b, c, d, a, Block[2], 23, $c4ac5665); - II(a, b, c, d, Block[0], 6, $f4292244); - II(d, a, b, c, Block[7], 10, $432aff97); - II(c, d, a, b, Block[14], 15, $ab9423a7); - II(b, c, d, a, Block[5], 21, $fc93a039); - II(a, b, c, d, Block[12], 6, $655b59c3); - II(d, a, b, c, Block[3], 10, $8f0ccc92); - II(c, d, a, b, Block[10], 15, $ffeff47d); - II(b, c, d, a, Block[1], 21, $85845dd1); - II(a, b, c, d, Block[8], 6, $6fa87e4f); - II(d, a, b, c, Block[15], 10, $fe2ce6e0); - II(c, d, a, b, Block[6], 15, $a3014314); - II(b, c, d, a, Block[13], 21, $4e0811a1); - II(a, b, c, d, Block[4], 6, $f7537e82); - II(d, a, b, c, Block[11], 10, $bd3af235); - II(c, d, a, b, Block[2], 15, $2ad7d2bb); - II(b, c, d, a, Block[9], 21, $eb86d391); - Inc(State[0], a); - Inc(State[1], b); - Inc(State[2], c); - Inc(State[3], d); -end; - -// ----------------------------------------------------------------------------------------------- - -// Initialize given Context -procedure MD5Init(var Context: MD5Context); -begin - with Context do - begin - State[0] := $67452301; - State[1] := $efcdab89; - State[2] := $98badcfe; - State[3] := $10325476; - Count[0] := 0; - Count[1] := 0; - ZeroMemory(@Buffer, SizeOf(MD5Buffer)); - end; -end; - -// Update given Context to include Length bytes of Input -procedure MD5Update(var Context: MD5Context; Input: PChar; Length: longword); -var - Index: longword; - PartLen: longword; - I: longword; -begin - with Context do - begin - Index := (Count[0] shr 3) and $3f; - Inc(Count[0], Length shl 3); - if Count[0] < (Length shl 3) then - Inc(Count[1]); - Inc(Count[1], Length shr 29); - end; - PartLen := 64 - Index; - if Length >= PartLen then - begin - CopyMemory(@Context.Buffer[Index], Input, PartLen); - Transform(@Context.Buffer, Context.State); - I := PartLen; - while I + 63 < Length do - begin - Transform(@Input[I], Context.State); - Inc(I, 64); - end; - Index := 0; - end - else - I := 0; - CopyMemory(@Context.Buffer[Index], @Input[I], Length - I); -end; - -// Finalize given Context, create Digest and zeroize Context -procedure MD5Final(var Context: MD5Context; var Digest: MD5Digest); -var - Bits: MD5CBits; - Index: longword; - PadLen: longword; -begin - Decode(@Context.Count, @Bits, 2); - Index := (Context.Count[0] shr 3) and $3f; - if Index < 56 then - PadLen := 56 - Index - else - PadLen := 120 - Index; - MD5Update(Context, @PADDING, PadLen); - MD5Update(Context, @Bits, 8); - Decode(@Context.State, @Digest, 4); - ZeroMemory(@Context, SizeOf(MD5Context)); -end; - -// ----------------------------------------------------------------------------------------------- - -// Create digest of given Message -function MD5String(M: String): MD5Digest; -var - Context: MD5Context; -begin - MD5Init(Context); - MD5Update(Context, PChar(M), length(M)); - MD5Final(Context, Result); -end; - -// Create digest of file with given Name -function MD5File(N: String): MD5Digest; -var - FileHandle: THandle; - MapHandle: THandle; - ViewPointer: pointer; - Context: MD5Context; -begin - MD5Init(Context); - FileHandle := CreateFile(PChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, - nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); - if FileHandle <> INVALID_HANDLE_VALUE then - try - MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); - if MapHandle <> 0 then - try - ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); - if ViewPointer <> nil then - try - MD5Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); - finally - UnmapViewOfFile(ViewPointer); - end; - finally - CloseHandle(MapHandle); - end; - finally - CloseHandle(FileHandle); - end; - MD5Final(Context, Result); -end; - -// Create hex representation of given Digest -function MD5Print(D: MD5Digest): String; -var - I: Byte; -const - Digits: array[0..15] of char = - ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); -begin - Result := ''; - for I := 0 to 15 do - Result := Result + Digits[(D[I] shr 4) and $0f] + Digits[D[I] and $0f]; -end; - -// ----------------------------------------------------------------------------------------------- - -// Compare two Digests -function MD5Match(D1, D2: MD5Digest): Boolean; -var - I: Byte; -begin - I := 0; - Result := True; - while Result and (I < 16) do - begin - Result := D1[I] = D2[I]; - Inc(I); - end; -end; - -end. - diff --git a/internal/2.31RC1/1/Source/pUCFrame_Log.dfm b/internal/2.31RC1/1/Source/pUCFrame_Log.dfm deleted file mode 100644 index d3067b1..0000000 --- a/internal/2.31RC1/1/Source/pUCFrame_Log.dfm +++ /dev/null @@ -1,593 +0,0 @@ -object UCFrame_Log: TUCFrame_Log - Left = 0 - Top = 0 - Width = 563 - Height = 498 - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - ParentFont = False - TabOrder = 0 - TabStop = True - object DBGrid1: TDBGrid - Left = 0 - Top = 0 - Width = 563 - Height = 394 - Align = alClient - Ctl3D = True - DataSource = DataSource1 - DefaultDrawing = False - Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit] - ParentCtl3D = False - ReadOnly = True - TabOrder = 0 - TitleFont.Charset = DEFAULT_CHARSET - TitleFont.Color = clWindowText - TitleFont.Height = -11 - TitleFont.Name = 'MS Sans Serif' - TitleFont.Style = [] - OnDrawColumnCell = DBGrid1DrawColumnCell - Columns = < - item - Expanded = False - Visible = True - end - item - Expanded = False - Visible = True - end - item - Expanded = False - Visible = True - end - item - Expanded = False - Visible = True - end - item - Expanded = False - Visible = True - end> - end - object Panel1: TPanel - Left = 0 - Top = 394 - Width = 563 - Height = 104 - Align = alBottom - BevelOuter = bvNone - TabOrder = 1 - object lbUsuario: TLabel - Left = 16 - Top = 8 - Width = 42 - Height = 13 - Caption = 'Usu'#225'rio :' - end - object lbData: TLabel - Left = 176 - Top = 8 - Width = 29 - Height = 13 - Caption = 'Data :' - end - object lbNivel: TLabel - Left = 376 - Top = 8 - Width = 69 - Height = 13 - Caption = 'N'#237'vel m'#237'nimo :' - end - object Bevel3: TBevel - Left = 16 - Top = 63 - Width = 529 - Height = 2 - Style = bsRaised - end - object btfiltro: TBitBtn - Left = 124 - Top = 71 - Width = 101 - Height = 25 - Cursor = crHandPoint - Caption = 'Aplicar filtro' - Enabled = False - TabOrder = 4 - OnClick = btfiltroClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFA68B7A694731FF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA8A8A86C - 6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFA68B7AB09888694731FF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7B1 - B1B16B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFA68B7ADCCCC286624D694731FF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DA - DADA8585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFA68B7ADECFC686624D694731FF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DC - DCDC8484846C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFA68B7ADFD1C886624D694731FF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DD - DDDD8585856B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFA68B7AE1D3CB86624D694731FF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7DF - DFDF8585856B6B6BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFA68B7AE2D6CE86624D694731FF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7E2 - E2E28585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFA68B7AE4D8D086624D694731FF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA8A8A8E3 - E3E38585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFA68B7AFFFFFFDACABFBDA69686624D694731FF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFD8 - D8D8BDBDBD8484846C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFA68B7AFFFFFFF0F0F0E1D4CCD1BBADB4937E86624D694731FF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFF5F5F5E0 - E0E0CDCDCDAEAEAE8585856C6C6CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFA68B7AFFFFFFF0F0F0ECE4E0E6DBD5DFD1C7CFB9AABE9F8A86624D6947 - 31FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFF5F5F5ECECECE5 - E5E5DEDEDECBCBCBB7B7B78585856B6B6BFF00FFFF00FFFF00FFFF00FFFF00FF - A68B7AFFFFFFF0F0F0F5F0EEF1EAE7ECE3DEE6DBD5DCCDC2CFB9AAB4937E8662 - 4D694731FF00FFFF00FFFF00FFFF00FFA7A7A7FFFFFFF5F5F5F5F5F5F0F0F0EC - ECECE6E6E6DADADACBCBCBAEAEAE8585856B6B6BFF00FFFF00FFFF00FFA68B7A - FFFFFFF0F0F0F3EEEAF0E9E5EDE6E1E5D9D1E5D9D1E2D6CEDED0C6CFB9AABE9F - 8A86624D694731FF00FFFF00FFA7A7A7FFFFFFF5F5F5F3F3F3F0F0F0EDEDEDE4 - E4E4E3E3E3E2E2E2DDDDDDCBCBCBB7B7B78585856C6C6CFF00FFFF00FFB39A89 - B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A89B39A - 89B39A89B39A89FF00FFFF00FFB4B4B4B3B3B3B3B3B3B3B3B3B4B4B4B3B3B3B3 - B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3FF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - NumGlyphs = 2 - end - object btfecha: TBitBtn - Left = 338 - Top = 71 - Width = 101 - Height = 25 - Cursor = crHandPoint - Caption = 'Fechar' - TabOrder = 5 - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - end - object btexclui: TBitBtn - Left = 231 - Top = 71 - Width = 101 - Height = 25 - Cursor = crHandPoint - Caption = 'Excluir Log' - TabOrder = 6 - OnClick = btexcluiClick - Glyph.Data = { - 36050000424D3605000000000000360400002800000010000000100000000100 - 08000000000000010000220B0000220B000000010000000100000031DE000031 - E7000031EF000031F700FF00FF000031FF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00040404040404 - 0404040404040404000004000004040404040404040404000004040000000404 - 0404040404040000040404000000000404040404040000040404040402000000 - 0404040400000404040404040404000000040000000404040404040404040400 - 0101010004040404040404040404040401010204040404040404040404040400 - 0201020304040404040404040404030201040403030404040404040404050203 - 0404040405030404040404040303050404040404040303040404040303030404 - 0404040404040403040403030304040404040404040404040404030304040404 - 0404040404040404040404040404040404040404040404040404} - end - object ComboUsuario: TComboBox - Left = 16 - Top = 24 - Width = 145 - Height = 21 - Style = csDropDownList - ItemHeight = 13 - TabOrder = 0 - OnChange = ComboUsuarioChange - end - object Data1: TDateTimePicker - Left = 176 - Top = 25 - Width = 89 - Height = 21 - Date = 37615.000000000000000000 - Time = 37615.000000000000000000 - TabOrder = 1 - OnChange = Data1Change - end - object Data2: TDateTimePicker - Left = 271 - Top = 24 - Width = 89 - Height = 21 - Date = 37615.000000000000000000 - Time = 37615.000000000000000000 - TabOrder = 2 - OnChange = ComboUsuarioChange - end - object ComboNivel: TComboBox - Left = 376 - Top = 24 - Width = 145 - Height = 24 - Style = csOwnerDrawFixed - ItemHeight = 18 - TabOrder = 3 - OnChange = ComboUsuarioChange - OnDrawItem = ComboNivelDrawItem - Items.Strings = ( - 'Faible' - 'Moyen' - 'Haut' - 'Critique') - end - end - object DataSource1: TDataSource - Left = 440 - end - object ImageList1: TImageList - Left = 136 - Top = 153 - Bitmap = { - 494C010104000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000002000000001002000000000000020 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000DEDEDE00DEDEDE00DEDEDE00D6D6D600000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000E7C4B300E7C4B300E7C4B300D6B9AE00000000000000 - 000000000000000000000000000000000000000000000000000000A4EB000088 - C8000088C8000088C8000088C8000088C8000088C8000088C8000088C8000088 - C8000088C8000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000DEDEDE00F1F1F100E0E0E000E0E0E000F1F1F100D6D6D6000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000E7C4B300F2E7E100CAD0D600CAD0D600F2E7E100D6B9AE000000 - 000000000000000000000000000000000000000000002DBCFF0040D6F00015C1 - E60015C1E60015C1E60013C0E2003471890011BFDE0015C1E60015C1E60015C1 - E60015C1E60000A4EB00000000000000000000000000000000000000FF000000 - FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000 - FF000000FF000000FF0000000000000000000000000000000000000000000000 - 0000DEDEDE00F1F1F100FEFEFE00B5B5B500ACACAC00D1D1D100F1F1F100D6D6 - D600000000000000000000000000000000000000000000000000000000000000 - 0000E7C4B300F2E7E100FEFEFE00D0805D00C4695200BFB9B900F2E7E100D6B9 - AE00000000000000000000000000000000000000000078CCE80066E5F8002ECB - EC002DCAEB002CCAEB003471890031001000347189002BC8EA002BC8EA002BC8 - EA0013B9DD002DBCFF000000000000000000000000000000FF000000FF000000 - FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000 - FF000000FF000000FF000000FF0000000000000000000000000000000000DEDE - DE00F1F1F100FEFEFE00B5B5B500ACACAC00A8A8A800ACACAC00D1D1D100F1F1 - F100D6D6D600000000000000000000000000000000000000000000000000E7C4 - B300F2E7E100FEFEFE00D0805D00C46E5200BF694C00C4695200BFB9B900F2E7 - E100D6B9AE0000000000000000000000000000000000000000002DBCFF0040D6 - F00039CEEC0038CDEB002DC8E2003471890021C4DA0036CAEA0035CAEA0035CA - EA0000A4EB0000000000000000000000000000000000000000000000FF000000 - FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000 - FF000000FF000000FF0000000000000000000000000000000000DEDEDE00F1F1 - F100FEFEFE00B5B5B500ACACAC00F5F5F500F5F5F500EFEFEF00A8A8A800D1D1 - D100F1F1F100D6D6D60000000000000000000000000000000000E7C4B300F2E7 - E100FEFEFE00D0805D00C46E5200F8EDE700F8EDE700F8E1D600BF694C00BFB9 - B900F2E7E100D6B9AE000000000000000000000000000000000078CCE80066E5 - F8003ACEEC0039CEEC0038CDEB003471890037CBEA0036CAEA0036CAEA0013B9 - DD002DBCFF0000000000000000000000000000000000000000000000FF000000 - FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000 - FF000000FF000000FF00000000000000000000000000DEDEDE00F1F1F100FEFE - FE00B5B5B500ACACAC00ACACAC00ACACAC00F5F5F500ACACAC00ACACAC00A8A8 - A800D1D1D100F1F1F100D6D6D6000000000000000000E7C4B300F2E7E100FEFE - FE00D0805D00C46E5200C46E5200C46E5200F8EDE700C46E5200C46E5200BF69 - 4C00BFB9B900F2E7E100D6B9AE00000000000000000000000000000000002DBC - FF0040D6F0003BCFED0017BACC003100100017BACC0037CAEA0036CAEA0000A4 - EB00000000000000000000000000000000000000000000000000000000000000 - FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000 - FF000000FF0000000000000000000000000000000000E5E5E500FEFEFE00B5B5 - B500B0B0B000ACACAC00ACACAC00ACACAC00F5F5F500ACACAC00ACACAC00ACAC - AC00A8A8A800D1D1D100D6D6D6000000000000000000EDD0C400FEFEFE00D080 - 5D00CA7A5700C46E5200C46E5200C46E5200F8EDE700C46E5200C46E5200C46E - 5200BF694C00BFB9B900D6B9AE000000000000000000000000000000000078CC - E80066E5F8003CD0ED001796A700310010001796A70037CBEA0013B9DD002DBC - FF00000000000000000000000000000000000000000000000000000000000000 - FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000 - FF000000FF0000000000000000000000000000000000E5E5E500FFFFFF00EBEB - EB00C4C4C400B0B0B000ACACAC00ACACAC00F5F5F500ACACAC00ACACAC00ACAC - AC00B5B5B500E0E0E000D6D6D6000000000000000000EDD0C400FFFFFF00F8E1 - CA00E1A27400CA7A5700C46E5200C46E5200F8EDE700C46E5200C46E5200C46E - 5200D0805D00CAD0D600D6B9AE00000000000000000000000000000000000000 - 00002DBCFF0040D6F0003471890031001000286F7D0038CCEB0000A4EB000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000FF000000FF000000FF0000000000000000000000FF000000FF000000 - FF000000000000000000000000000000000000000000DEDEDE00F1F1F100FFFF - FF00EBEBEB00C4C4C400B0B0B000F5F5F500F5F5F500ACACAC00ACACAC00B5B5 - B500F1F1F100F1F1F100D6D6D6000000000000000000E7C4B300F2E7E100FFFF - FF00F8E1CA00E1A27400CA7A5700F8EDE700F8EDE700C46E5200C46E5200D080 - 5D00E7EDED00F2E7E100D6B9AE00000000000000000000000000000000000000 - 000078CCE80066E5F80034718900310010003471890013B9DD002DBCFF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000FF000000FF000000FF0000000000000000000000FF000000FF000000 - FF00000000000000000000000000000000000000000000000000DEDEDE00F1F1 - F100FFFFFF00EBEBEB00C4C4C400B0B0B000CDCDCD00ACACAC00B5B5B500FEFE - FE00F1F1F100DBDBDB0000000000000000000000000000000000E7C4B300F2E7 - E100FFFFFF00F8E1CA00E1A27400CA7A5700E7AE8500C46E5200D0805D00FEFE - FE00F2E7E100E1C4B30000000000000000000000000000000000000000000000 - 0000000000002DBCFF0030B3CA002B5768002396A70000A4EB00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000FF000000FF0000000000000000000000FF000000FF000000 - 000000000000000000000000000000000000000000000000000000000000DEDE - DE00F1F1F100FFFFFF00EBEBEB00C4C4C400F5F5F500B5B5B500FEFEFE00F1F1 - F100DBDBDB00000000000000000000000000000000000000000000000000E7C4 - B300F2E7E100FFFFFF00F8E1CA00E1A27400F8EDE700D0805D00FEFEFE00F2E7 - E100E1C4B3000000000000000000000000000000000000000000000000000000 - 00000000000078CCE80066E5F8003ACFEC0013B9DD002DBCFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000FF000000FF0000000000000000000000FF000000FF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000DEDEDE00F1F1F100FFFFFF00EBEBEB00B5B5B500FEFEFE00F1F1F100DBDB - DB00000000000000000000000000000000000000000000000000000000000000 - 0000E7C4B300F2E7E100FFFFFF00F8E1CA00D0805D00FEFEFE00F2E7E100E1C4 - B300000000000000000000000000000000000000000000000000000000000000 - 000000000000000000002DBCFF0066E5F80000A4EB0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000FF000000FF000000FF000000FF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000DEDEDE00F1F1F100FFFFFF00FEFEFE00F1F1F100DBDBDB000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000E7C4B300F2E7E100FFFFFF00FEFEFE00F2E7E100E1C4B3000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000078CCE8003DD2EE002DBCFF0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000FF000000FF000000FF000000FF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000DEDEDE00DEDEDE00DBDBDB00DBDBDB00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000E7C4B300E7C4B300E1C4B300E1C4B300000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000002DBCFF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FF000000FF0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000424D3E000000000000003E000000 - 2800000040000000200000000100010000000000000100000000000000000000 - 000000000000000000000000FFFFFF0000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FFFFFFFFFFFFFFFFFC3FFC3FC007FFFF - F81FF81F8003C003F00FF00F80038001E007E007C007C003C003C003C007C003 - 80018001E00FE00780018001E00FE00780018001F01FF00F80018001F01FF00F - C003C003F83FF81FE007E007F83FF81FF00FF00FFC7FFC3FF81FF81FFC7FFC3F - FC3FFC3FFEFFFE7FFFFFFFFFFFFFFFFF00000000000000000000000000000000 - 000000000000} - end -end diff --git a/internal/2.31RC1/1/Source/pUCFrame_Log.pas b/internal/2.31RC1/1/Source/pUCFrame_Log.pas deleted file mode 100644 index 8234d04..0000000 --- a/internal/2.31RC1/1/Source/pUCFrame_Log.pas +++ /dev/null @@ -1,305 +0,0 @@ -unit pUCFrame_Log; - -interface - -{$I 'UserControl.inc'} - -uses -{$IFDEF DELPHI5_UP} -{$ELSE} - Variants, -{$ENDIF} - Buttons, - Classes, - ComCtrls, - Controls, - DB, - DBGrids, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Grids, - ImgList, - Messages, - StdCtrls, - SysUtils, - UCBase, - Windows; - -type - TUCFrame_Log = class(TFrame) - DataSource1: TDataSource; - ImageList1: TImageList; - DBGrid1: TDBGrid; - Panel1: TPanel; - lbUsuario: TLabel; - lbData: TLabel; - lbNivel: TLabel; - Bevel3: TBevel; - btfiltro: TBitBtn; - btfecha: TBitBtn; - btexclui: TBitBtn; - ComboUsuario: TComboBox; - Data1: TDateTimePicker; - Data2: TDateTimePicker; - ComboNivel: TComboBox; - procedure ComboNivelDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); - procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); - procedure ComboUsuarioChange(Sender: TObject); - procedure btexcluiClick(Sender: TObject); - procedure Data1Change(Sender: TObject); - procedure btfiltroClick(Sender: TObject); - private - procedure AplicaFiltro; - public - ListIdUser: TStringList; - DSLog, DSCmd: TDataset; - FUsercontrol: TUserControl; - procedure SetWindow; - destructor Destroy; override; - end; - -implementation - -uses - UCDataInfo; - -{$R *.dfm} -destructor TUCFrame_Log.Destroy; -begin - FreeAndnil( DSLog ); - FreeAndnil( DSCmd ); - FreeAndNil( ListIdUser ); - inherited; -end; - -procedure TUCFrame_Log.ComboNivelDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); -var - TempImg: Graphics.TBitmap; -begin - TempImg := Graphics.TBitmap.Create; - Imagelist1.GetBitmap(Index, TempImg); - ComboNivel.Canvas.Draw(Rect.Left + 5, Rect.Top + 1, TempImg); - ComboNivel.Canvas.TextRect(Rect, Rect.Left + 30, Rect.Top + 2, ComboNivel.items[Index]); - ComboNivel.Canvas.Draw(Rect.Left + 5, Rect.Top + 1, TempImg); - FreeAndNil(TempImg); -end; - -procedure TUCFrame_Log.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); -var - TempImg: Graphics.TBitmap; - FData: System.TDateTime; - TempData: String; -begin - if DSLog.IsEmpty then - Exit; - - if UpperCase(Column.FieldName) = 'NIVEL' then - begin - if Column.Field.AsInteger >= 0 then - begin - TempImg := Graphics.TBitmap.Create; - imagelist1.GetBitmap(Column.Field.AsInteger, TempImg); - DbGrid1.Canvas.Draw((((Rect.Left + Rect.Right) - TempImg.Width) div 2), rect.Top, Tempimg); - FreeAndNil(TempImg); - end - else - DbGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Column.Field.AsString); - end - else - if UpperCase(Column.FieldName) = 'DATA' then - begin - TempData := Column.Field.AsString; - FData := EncodeDate(StrToInt(Copy(Tempdata, 1, 4)), StrToInt(Copy(Tempdata, 5, 2)), StrToInt(Copy(Tempdata, 7, 2))) + - EncodeTime(StrToInt(Copy(TempData, 9, 2)), StrToInt(Copy(TempData, 11, 2)), StrToInt(Copy(TempData, 13, 2)), 0); - DbGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, DateTimeToStr(FData)); - end - else - DbGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Column.Field.AsString); -end; - -procedure TUCFrame_Log.ComboUsuarioChange(Sender: TObject); -begin - btFiltro.Enabled := True; -end; - -procedure TUCFrame_Log.btexcluiClick(Sender: TObject); -var - FTabLog, Temp: String; -begin - //modified by fduenas - if MessageBox(Handle, PChar(FUsercontrol.UserSettings.Log.PromptDelete), - PChar(FUsercontrol.UserSettings.Log.PromptDelete_WindowCaption), mb_YesNo) <> mrYes then - Exit; - - btFiltro.Enabled := False; - FTabLog := FUsercontrol.LogControl.TableLog; - Temp := 'Delete from ' + FTabLog + - ' Where (Data >=' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data1.DateTime)) + ') ' + - ' and (Data <=' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data2.DateTime)) + ') ' + - ' and nivel >=' + IntToStr(ComboNivel.ItemIndex); - - if ComboUsuario.ItemIndex > 0 then - Temp := Temp + ' and ' + FTabLog + '.idUser = ' + ListIdUser[ComboUsuario.ItemIndex]; - - try - FUsercontrol.DataConnector.UCExecSQL(Temp); - AplicaFiltro; - DBGrid1.Repaint; - except - end; - - try - FUsercontrol.Log(Format(FUsercontrol.UserSettings.Log.DeletePerformed, [comboUsuario.Text, DateTimeToStr(Data1.datetime), DateTimeToStr(Data2.datetime), ComboNivel.Text]), 2); - except; - end; - -end; - -procedure TUCFrame_Log.Data1Change(Sender: TObject); -begin - btFiltro.Enabled := True; -end; - -procedure TUCFrame_Log.btfiltroClick(Sender: TObject); -begin - AplicaFiltro; -end; - -procedure TUCFrame_Log.AplicaFiltro; -var - FTabUser, FTabLog: String; - Temp: String; -begin - btFiltro.Enabled := False; - DSLog.Close; - FTabLog := FUsercontrol.LogControl.TableLog; - FTabUser := FUsercontrol.TableUsers.TableName; - - Temp := Format('Select TabUser.' + FUsercontrol.TableUsers.FieldUserName + ' as nome, ' + FTabLog + '.* ' + - 'from ' + FTabLog + - ' Left outer join %s TabUser on ' + FTabLog + '.idUser = TabUser.%s ' + - 'Where (data >= ' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data1.DateTime)) + ') ' + - 'and (Data <= ' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data2.DateTime)) + ') ' + - 'and nivel >= ' + IntToStr(ComboNivel.ItemIndex), - [FUsercontrol.TableUsers.TableName, FUsercontrol.TableUsers.FieldUserID]); - - if ComboUsuario.ItemIndex > 0 then - Temp := Temp + ' and ' + FTabLog + '.idUser = ' + ListIdUser[ComboUsuario.ItemIndex]; - - Temp := Temp + ' order by data desc'; - - FreeAndNil(DSLog); - DataSource1.DataSet := nil; - DSLog := FUsercontrol.DataConnector.UCGetSQLDataset(Temp); - DataSource1.DataSet := DSLog; - btexclui.Enabled := not DsLog.IsEmpty; -end; - -procedure TUCFrame_Log.SetWindow; -var - TabelaLog: String; - SQLStmt: String; -begin - ComboNivel.Items.Clear; - ComboNivel.Items.Append(FUsercontrol.UserSettings.Log.OptionLevelLow); //BGM - ComboNivel.Items.Append(FUsercontrol.UserSettings.Log.OptionLevelNormal); //BGM - ComboNivel.Items.Append(FUsercontrol.UserSettings.Log.OptionLevelHigh); //BGM - ComboNivel.Items.Append(FUsercontrol.UserSettings.Log.OptionLevelCritic); //BGM - ComboNivel.ItemIndex := 0; - ComboUsuario.Items.Clear; - data1.Date := EncodeDate(StrToInt(FormatDateTime('yyyy', Date)), 1, 1); - data2.DateTime := Now; - - if Assigned( ListIdUser ) = False then - ListIdUser := TStringList.Create - else ListIdUser.Clear; - - - with FUsercontrol do - if ((FUsercontrol.CurrentUser.Privileged = True) or - (FUsercontrol.CurrentUser.UserLogin = FUsercontrol.Login.InitialLogin.User)) then - begin - DSCmd := DataConnector.UCGetSQLDataset( - Format('SELECT %s AS IDUSER, %s AS NOME , %s AS LOGIN FROM %s WHERE %s = %s ORDER BY %s', - [TableUsers.FieldUserID, - TableUsers.FieldUserName, - TableUsers.FieldLogin, - TableUsers.TableName, - TableUsers.FieldTypeRec, - QuotedStr('U'), - TableUsers.FieldUserName])); - ComboUsuario.Items.Append(FUsercontrol.UserSettings.Log.OptionUserAll); - ListIdUser.Append('0'); - end - else - DSCmd := DataConnector.UCGetSQLDataset( - Format('SELECT %s AS IDUSER, %s AS NOME , %s AS LOGIN FROM %s WHERE %s = %s and %s = %s ORDER BY %s', - [TableUsers.FieldUserID, - TableUsers.FieldUserName, - TableUsers.FieldLogin, - TableUsers.TableName, - TableUsers.FieldTypeRec, - QuotedStr('U'), - TableUsers.FieldLogin, - QuotedStr(FUsercontrol.CurrentUser.UserLogin), - TableUsers.FieldUserName])); - - while not DSCmd.EOF do - begin - ComboUsuario.Items.Append(DSCmd.FieldByName('Nome').AsString); - ListIdUser.Append(DSCmd.FieldByName('idUser').AsString); - DSCmd.Next; - end; - - - DSCmd.Close; - FreeAndNil(DSCmd); - - ComboUsuario.ItemIndex := 0; - - - TabelaLog := FUsercontrol.LogControl.TableLog; - with FUsercontrol do - begin - SQLStmt := 'SELECT ' + TableUsers.TableName + '.' + TableUsers.FieldUserName + ' AS NOME, ' + TabelaLog + '.* from ' + TabelaLog + - ' LEFT OUTER JOIN ' + TableUsers.TableName + ' on ' + TabelaLog + '.idUser = ' + TableUsers.TableName + '.' + TableUsers.FieldUserID + - ' WHERE (DATA >=' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data1.DateTime)) + ') AND (DATA<=' + QuotedStr(FormatDateTime('yyyyMMddhhmmss', data2.DateTime)) + ') ORDER BY DATA DESC'; - DSLog := DataConnector.UCGetSQLDataset(SQLStmt); - end; - DataSource1.Dataset := DSLog; - btexclui.Enabled := not DsLog.IsEmpty; - - - with FUsercontrol.UserSettings.Log, DBGrid1 do - begin - lbUsuario.Caption := LabelUser; - lbData.Caption := LabelDate; - lbNivel.Caption := LabelLevel; - BtFiltro.Caption := BtFilter; - BtExclui.Caption := BtDelete; - BtFecha.Caption := BtClose; - - Columns[0].Title.Caption := ColAppID; - Columns[0].FieldName := 'APPLICATIONID'; - Columns[0].Width := 60; - Columns[1].Title.Caption := ColLevel; - Columns[1].FieldName := 'NIVEL'; - Columns[1].Width := 32; - Columns[2].Title.Caption := ColMessage; - Columns[2].FieldName := 'MSG'; - Columns[2].Width := 260; - Columns[3].Title.Caption := ColUser; - Columns[3].FieldName := 'NOME'; - Columns[3].Width := 120; - Columns[4].Title.Caption := ColDate; - Columns[4].FieldName := 'DATA'; - Columns[4].Width := 111; - end; - - Bevel3.Width := Panel1.Width - 32; - Bevel3.Left := 16; -end; - -end. diff --git a/internal/2.31RC1/1/Source/pUCFrame_Profile.dfm b/internal/2.31RC1/1/Source/pUCFrame_Profile.dfm deleted file mode 100644 index 6570503..0000000 --- a/internal/2.31RC1/1/Source/pUCFrame_Profile.dfm +++ /dev/null @@ -1,360 +0,0 @@ -object Frame_Profile: TFrame_Profile - Left = 0 - Top = 0 - Width = 585 - Height = 246 - AutoSize = True - TabOrder = 0 - TabStop = True - object DbGridPerf: TDBGrid - Left = 0 - Top = 0 - Width = 585 - Height = 201 - Align = alClient - Ctl3D = True - DataSource = DataPerfil - Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit] - ParentCtl3D = False - ReadOnly = True - TabOrder = 0 - TitleFont.Charset = DEFAULT_CHARSET - TitleFont.Color = clWindowText - TitleFont.Height = -11 - TitleFont.Name = 'Tahoma' - TitleFont.Style = [] - OnDblClick = BtnAcePerClick - Columns = < - item - Expanded = False - FieldName = 'Nome' - Title.Alignment = taCenter - Title.Caption = 'Perfil' - Width = 573 - Visible = True - end> - end - object Panel2: TPanel - Left = 0 - Top = 201 - Width = 585 - Height = 45 - Align = alBottom - BevelOuter = bvNone - TabOrder = 1 - object BtnAddPer: TBitBtn - Left = 78 - Top = 11 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Adicionar' - TabOrder = 0 - OnClick = BtnAddPerClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0060000060 - 00006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FF777777787878777777FF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600033CB - 51006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FF777777C8C8C8777777FF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600000600000600040D8 - 65006000006000006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FF787878777777777777D1D1D1787878777777777777D1BBAD694731 - 69473169473169473169473169473169473169473100600060F8985AF28F4DE5 - 7A40D8653AD25C006000CCCCCC6C6C6C6B6B6B6B6B6B6C6C6C6C6C6C6B6B6B6C - 6C6C6B6B6B777777EAEAEAE5E5E5DBDBDBD2D2D2CDCDCD787878D1BBADFFFFFF - FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060000060005AF2 - 8F006000006000006000CCCCCCFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE3 - E3E3DFDFDF777777777777777777E6E6E6777777777777787878D1BBADFFFFFF - CF875FCF875FF7F3F1CF875FCF875FEBE1DBCF875FCF875FDCCBC100600060F8 - 98006000FF00FFFF00FFCCCCCCFFFFFFA4A4A4A4A4A4F7F7F7A5A5A5A4A4A4EA - EAEAA5A5A5A4A4A4D9D9D9777777EAEAEA777777FF00FFFF00FFD1BBADFFFFFF - FFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060 - 00006000FF00FFFF00FFCCCCCCFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7F3F3F3EE - EEEEE9E9E9E4E4E4DFDFDF777777777777777777FF00FFFF00FFD1BBADD1BBAD - D1BBADD1BBADE070406947316947316947316947316947316947316947316947 - 31694731694731694731CDCDCDCCCCCCCCCCCCCCCCCC9494946C6C6C6C6C6C6B - 6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2 - CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7 - F7F7F2F2F2EEEEEEEAEAEAE3E3E3DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFCF875FCF875FF7F3F1CF875FCF875FEBE1DBCF87 - 5FCF875FDCCBC1694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFA5A5A5A4 - A4A4F7F7F7A5A5A5A4A4A4EAEAEAA5A5A5A4A4A4DADADA6B6B6BFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1 - DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFFFFFFFFF - FFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE4E4E4DFDFDF6C6C6CFF00FFFF00FF - FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959594 - 9494949494949494959595959595949494959595959595959595FF00FFFF00FF - FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF949494D2D2D2D2D2D2D0 - D0D0C4C4C4BABABAAFAFAFA1A1A1949494959595959595959595FF00FFFF00FF - FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495 - 9595959595959595949494959595949494949494959595959595FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - NumGlyphs = 2 - end - object BtnAltPer: TBitBtn - Left = 165 - Top = 11 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Alterar' - TabOrder = 1 - OnClick = BtnAltPerClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFD1BBAD694731 - 694731694731694731694731694731694731694731694731694731694731FF00 - FFFF00FFFF00FFFF00FFCCCCCC6C6C6C6B6B6B6C6C6C6C6C6C6C6C6C6C6C6C6C - 6C6C6B6B6B6C6C6C6C6C6C6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF - FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CADCCBC1DBC9BF694731FF00 - FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEE9E9E9E3 - E3E3DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF - CF875FCF875FF7F3F1CF875FCF875F1C1C1C1C1C1C1C1C1CDCCBC1694731FF00 - FFFF00FFFF00FFFF00FFCDCDCDFFFFFFA4A4A4A4A4A4F7F7F7A4A4A4A4A4A440 - 4040404040414141DADADA6C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF - FFFFFFFFFFFFFBF9F8F7F3F11C1C1C0098C8FCFAF8A39D98E1D2CA694731FF00 - FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7414141B9 - B9B9FCFCFCB7B7B7DFDFDF6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADD1BBAD - D1BBADD1BBADE070401C1C1C0098C84ABEDF0098C8A39D986947316947316947 - 31694731694731694731CCCCCCCDCDCDCDCDCDCDCDCD959595404040B9B9B9D3 - D3D3B9B9B9B7B7B76C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6CFF00FFFF00FF - FF00FFFF00FF1C1C1C0098C84ABEDF94E4F60098C8EFE7E3EBE1DBE6D9D2E1D2 - CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF414141B9B9B9D3D3D3ED - EDEDB9B9B9EEEEEEEAEAEAE4E4E4DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF - FF00FF1C1C1C0098C84ABEDF94E4F60098C8F7F3F1CF875FCF875FEBE1DBCF87 - 5FCF875FDCCBC1694731FF00FFFF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9 - B9B9F7F7F7A4A4A4A4A4A4EAEAEAA4A4A4A4A4A4D9D9D96C6C6CFF00FFFF00FF - 1C1C1C0098C84ABEDF94E4F60098C8FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1 - DBE6D9D2E1D2CA694731FF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9B9B9FF - FFFFFBFBFBF7F7F7F3F3F3EEEEEEE9E9E9E3E3E3DFDFDF6C6C6CFF00FF00009A - 8080804ABEDF94E4F60098C8E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FF7272729F9F9FD3D3D3EDEDEDB9B9B994949495 - 959595959595959594949495959594949495959595959594949400009A00009A - 778C98D2BAAC0098C8FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070 - 40E07040E07040E07040727272727272AAAAAACCCCCCB9B9B9D2D2D2D2D2D2D0 - D0D0C4C4C4B9B9B9AFAFAFA2A2A29494949595959595959595954A23C70030F8 - 6D8AFD0030F8E07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040A85FA8A2A2A2C2C2C2A2A2A295959595959595959594 - 9494959595959595959595949494959595959595959595959595FF00FF8817DA - 0030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFC63EC6A2A2A2FF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - NumGlyphs = 2 - end - object BtnExcPer: TBitBtn - Left = 252 - Top = 11 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Excluir' - TabOrder = 2 - OnClick = BtnExcPerClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00FFFF00 - FFFF00FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA3 - A3A3707070FF00FFFF00FFFF00FFFF00FFFF00FF707070A2A2A2FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00 - FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFA2A2A2707070FF00FFFF00FFFF00FF707070A3A3A3FF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FF0000 - 980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFA2A2A2707070FF00FF727272A3A3A3FF00FFFF00FFD1BBAD694731 - 6947316947316947316947316947316947316947316947310030F8002AD0002A - D0FF00FFFF00FFFF00FFCCCCCC6C6C6C6C6C6C6C6C6C6B6B6B6C6C6C6B6B6B6B - 6B6B6C6C6C6C6C6CA3A3A3919191919191FF00FFFF00FFFF00FFD1BBADE8DCD4 - E6D9D1E4D7CEE2D4CAE1D1C7DFCFC4DDCBC0DBC8BDD8C5B90030F8002AD00000 - 98FF00FFFF00FFFF00FFCDCDCDE6E6E6E3E3E3E2E2E2E0E0E0DDDDDDDCDCDCD9 - D9D9D7D7D7D5D5D5A2A2A2919191707070FF00FFFF00FFFF00FFD1BBADE8DCD4 - 694731694731E4D7CE694731694731DFCFC46947310030F80000986947310030 - F8000098FF00FFFF00FFCDCDCDE6E6E66C6C6C6C6C6CE2E2E26C6C6C6C6C6CDC - DCDC6C6C6CA2A2A27070706C6C6CA3A3A3707070FF00FFFF00FFD1BBADE8DCD4 - E8DCD4E8DCD4E6D9D1E4D7CEE2D4CAE1D1C70030F8000098DBC8BD694731FF00 - FF0030F8000098FF00FFCDCDCDE6E6E6E6E6E6E6E6E6E3E3E3E2E2E2DFDFDFDD - DDDDA3A3A3707070D7D7D76C6C6CFF00FFA3A3A3727272FF00FFD1BBADD1BBAD - D1BBADD1BBADE070406947316947316947310000986947316947316947316947 - 316947310030F8694731CCCCCCCCCCCCCDCDCDCDCDCD9595956B6B6B6C6C6C6C - 6C6C7070706C6C6C6C6C6C6C6C6C6C6C6C6C6C6CA2A2A26C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2 - CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7 - F7F7F2F2F2EEEEEEE9E9E9E4E4E4DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFF694731694731F7F3F1694731694731EBE1DB6947 - 31694731DCCBC1694731FF00FFFF00FFFF00FFFF00FF959595FFFFFF6C6C6C6B - 6B6BF7F7F76C6C6C6C6C6CEAEAEA6B6B6B6C6C6CD9D9D96C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1 - DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFFFFFFFF - FFFFFBFBFBF7F7F7F3F3F3EEEEEEEAEAEAE3E3E3DFDFDF6C6C6CFF00FFFF00FF - FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959595 - 9595949494959595959595959595959595959595959595949494FF00FFFF00FF - FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF959595D2D2D2D2D2D2D0 - D0D0C4C4C4B9B9B9AFAFAFA2A2A2959595949494959595959595FF00FFFF00FF - FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495 - 9595959595959595959595959595949494959595959595959595FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - NumGlyphs = 2 - end - object BtnClose: TBitBtn - Left = 426 - Top = 11 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Fechar' - TabOrder = 3 - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - end - object BtnAcePer: TBitBtn - Left = 339 - Top = 11 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Acessos' - TabOrder = 4 - OnClick = BtnAcePerClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFC2652BA53C00A53C00A53C00A53C00A53C00A53C - 00A53C00FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF89898969 - 69696969696969696969696969696A6A6A696969FF00FFFF00FFFF00FFFF00FF - A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A5FFD4A5FFCD97FFC07DFFAD - 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC - DCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE6A6A6AFF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652BC2652BC2652BC265 - 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989 - 8989898989898989898989898989898989898989FF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FF1C1C1C986060986060A53C00A53C00A53C00A53C - 00A53C00FF00FFFF00FFFF00FFFF00FF616161FF00FFFF00FFFF00FF41414188 - 8888888888696969696969696969696969696969FF00FFFF00FFFF00FFFF00FF - A22E08A22E08A22E08A22E08C89898FCFAF80098C81C1C1CFFCD97FFC07DFFAD - 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060B5B5B5FC - FCFCB9B9B9414141D7D7D7CCCCCCBEBEBE696969FF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFC898980098C84ABEDF0098C81C1C1CC2652BC265 - 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFB5B5B5B9 - B9B9D3D3D3B9B9B9414141898989898989898989FF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFFF00FF0098C894E4F64ABEDF0098C81C1C1CFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFB9 - B9B9EDEDEDD3D3D3B9B9B9414141FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFC2652BA53C000098C894E4F64ABEDF0098C81C1C - 1CA53C00FF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898969 - 6969B9B9B9EDEDEDD3D3D3B9B9B94040406A6A6AFF00FFFF00FFFF00FFFF00FF - A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A50098C894E4F64ABEDF0098 - C81C1C1CFF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC - DCDCDCDCDCB9B9B9EDEDEDD3D3D3BABABA414141FF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652B0098C894E4F64ABE - DF80808000009AFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989 - 8989898989898989BABABAEDEDEDD3D3D3A0A0A0727272FF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0098C8D2BA - AC778C9800009A00009AFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFB9B9B9CCCCCCABABAB727272727272C2652BA22E08 - A22E08A22E08A22E08A22E08A22E08A22E16FF00FFFF00FFFF00FFFF00FF0030 - F86D8AFD0030F800009A89898960606060606060606060606060606060606061 - 6161FF00FFFF00FFFF00FFFF00FFA2A2A2C2C2C2A3A3A3727272C2652BFFD4A5 - FFD4A5FFD4A5FFCD97FFC07DFFAD55A22E08FF00FFFF00FFFF00FFFF00FFFF00 - FF0030F80030F8FF00FF898989DCDCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE60 - 6060FF00FFFF00FFFF00FFFF00FFFF00FFA2A2A2A3A3A3FF00FFC2652BC2652B - C2652BC2652BC2652BC2652BC2652BC2652BFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FF89898989898989898989898989898989898989898989 - 8989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - NumGlyphs = 2 - end - end - object DataPerfil: TDataSource - AutoEdit = False - Left = 328 - Top = 152 - end -end diff --git a/internal/2.31RC1/1/Source/pUCFrame_Profile.pas b/internal/2.31RC1/1/Source/pUCFrame_Profile.pas deleted file mode 100644 index 3e662a0..0000000 --- a/internal/2.31RC1/1/Source/pUCFrame_Profile.pas +++ /dev/null @@ -1,246 +0,0 @@ -unit pUCFrame_Profile; - -interface - -{$I 'UserControl.inc'} - -uses - {$IFDEF DELPHI5_UP} - {$ELSE} - Variants, - {$ENDIF} - Buttons, - Classes, - Controls, - Db, - DBGrids, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Grids, - IncPerfil_U, - Messages, - StdCtrls, - SysUtils, - UcBase, - UserPermis_U, - Windows; - -type - TFrame_Profile = class(TFrame) - DbGridPerf: TDBGrid; - Panel2: TPanel; - BtnAddPer: TBitBtn; - BtnAltPer: TBitBtn; - BtnExcPer: TBitBtn; - BtnClose: TBitBtn; - BtnAcePer: TBitBtn; - DataPerfil: TDataSource; - procedure BtnAddPerClick(Sender: TObject); - procedure BtnAltPerClick(Sender: TObject); - procedure BtnExcPerClick(Sender: TObject); - procedure BtnAcePerClick(Sender: TObject); - protected - FIncluirPerfil: TfrmIncluirPerfil; - procedure ActionBtPermissProfileDefault; - procedure SetWindowPerfil(Adicionar: Boolean); - procedure SetWindowProfile; - private - { Private declarations } - public - fUserControl: TUserControl; - FDataSetPerfilUsuario: TDataset; - destructor Destroy; override; - { Public declarations } - end; - - -implementation - -{$R *.dfm} - -procedure TFrame_Profile.SetWindowPerfil(Adicionar: Boolean); -begin - with fUserControl.UserSettings.AddChangeProfile do - begin - FIncluirPerfil.Caption := WindowCaption; - if Adicionar then - FIncluirPerfil.LbDescricao.Caption := LabelAdd - else - FIncluirPerfil.LbDescricao.Caption := LabelChange; - - FIncluirPerfil.lbNome.Caption := LabelName; - FIncluirPerfil.btGravar.Caption := BtSave; - FIncluirPerfil.btCancela.Caption := BtCancel; - FIncluirPerfil.Position := FUserControl.UserSettings.WindowsPosition; - FIncluirPerfil.FDataSetPerfilUsuario := FDataSetPerfilUsuario; - end; -end; - -procedure TFrame_Profile.ActionBtPermissProfileDefault; -var - TempCampos, TempCamposEX: String; -begin - UserPermis.FTempIdUser := FDataSetPerfilUsuario.FieldByName('IdUser').AsInteger; - with fUserControl do - begin - TempCampos := Format(' %s as IdUser, %s as Modulo, %s as ObjName, %s as UCKey ', - [TableRights.FieldUserID, - TableRights.FieldModule, - TableRights.FieldComponentName, - TableRights.FieldKey]); - TempCamposEX := Format('%s, %s as FormName ', [TempCampos, TableRights.FieldFormName]); - - UserPermis.DSPermiss := DataConnector.UCGetSQLDataset(Format('Select %s from %s tab Where tab.%s = %s and tab.%s = %s', - [TempCampos, - TableRights.TableName, - TableRights.FieldUserID, - FDataSetPerfilUsuario.FieldByName('IdUser').AsString, - TableRights.FieldModule, - QuotedStr(ApplicationID)])); - - UserPermis.DSPermiss.Open; - - UserPermis.DSPermissEX := DataConnector.UCGetSQLDataset(Format('Select %s from %s tab1 Where tab1.%s = %s and tab1.%s = %s', - [TempCamposEX, - TableRights.TableName + 'EX', - TableRights.FieldUserID, - FDataSetPerfilUsuario.FieldByName('IdUser').AsString, - TableRights.FieldModule, - QuotedStr(ApplicationID)])); - - UserPermis.DSPermissEX.Open; - - UserPermis.DSPerfil := TDataset.Create(UserPermis); - - UserPermis.ShowModal; - - FDataSetPerfilUsuario.Close; - FDataSetPerfilUsuario.Open; - FDataSetPerfilUsuario.Locate('idUser', UserPermis.FTempIdUser, []); - - FreeAndNil(UserPermis); - end; -end; - -procedure TFrame_Profile.SetWindowProfile; -begin - with fUserControl.UserSettings.Rights do - begin - UserPermis.Caption := WindowCaption; - UserPermis.LbDescricao.Caption := LabelProfile; - UserPermis.lbUser.Left := UserPermis.LbDescricao.Left + UserPermis.LbDescricao.Width + 5; - UserPermis.PageMenu.Caption := PageMenu; - UserPermis.PageAction.Caption := PageActions; - UserPermis.PageControls.Caption := PageControls; // By Vicente Barros Leonel - UserPermis.BtLibera.Caption := BtUnlock; - UserPermis.BtBloqueia.Caption := BtLock; - UserPermis.BtGrava.Caption := BtSave; - UserPermis.BtCancel.Caption := BtCancel; - UserPermis.Position := fUsercontrol.UserSettings.WindowsPosition; - end; -end; - -procedure TFrame_Profile.BtnAcePerClick(Sender: TObject); -begin - if FDataSetPerfilUsuario.IsEmpty then - Exit; - UserPermis := TUserPermis.Create(self); - UserPermis.FUserControl := fUsercontrol; - SetWindowProfile; - UserPermis.lbUser.Caption := FDataSetPerfilUsuario.FieldByName('Nome').AsString; - ActionBtPermissProfileDefault; -end; - -procedure TFrame_Profile.BtnAddPerClick(Sender: TObject); -begin - try - FIncluirPerfil := TfrmIncluirPerfil.Create(Self); - FIncluirPerfil.FUserControl := Self.FUserControl; - SetWindowPerfil(True); - FIncluirPerfil.ShowModal; - finally - FreeAndNil(FIncluirPerfil); - end; -end; - -procedure TFrame_Profile.BtnAltPerClick(Sender: TObject); -begin - if FDataSetPerfilUsuario.IsEmpty then - Exit; - try - FIncluirPerfil := TfrmIncluirPerfil.Create(self); - FIncluirPerfil.FUserControl := Self.FUserControl; - FIncluirPerfil.FNewIdUser := FDataSetPerfilUsuario.FieldByName('IdUser').AsInteger; - SetWindowPerfil(False); - with FIncluirPerfil do - begin - EditDescricao.Text := FDataSetPerfilUsuario.FieldByName('Nome').AsString; - FAltera := True; - ShowModal; - end; - finally - FreeAndNil(FIncluirPerfil); - end; -end; - -procedure TFrame_Profile.BtnExcPerClick(Sender: TObject); -var - TempID: Integer; - CanDelete: Boolean; - ErrorMsg: String; - TempDS: TDataset; -begin - if FDataSetPerfilUsuario.IsEmpty then - Exit; - TempID := FDataSetPerfilUsuario.FieldByName('IDUser').AsInteger; - 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(TempID)); - - if TempDS.FieldByName('IdUser').AsInteger > 0 then - begin - TempDS.Close; - FreeAndNil(TempDS); - //changed by fduenas: PromptDelete_WindowCaption - if MessageBox(handle, PChar(Format(FUserControl.UserSettings.UsersProfile.PromptDelete, [FDataSetPerfilUsuario.FieldByName('Nome').AsString])), - PChar(FUserControl.UserSettings.UsersProfile.PromptDelete_WindowCaption), MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON2) <> idYes then - Exit; - end - else - begin - TempDS.Close; - FreeAndNil(TempDS); - end; - - CanDelete := True; - if Assigned(FUserControl.onDeleteProfile) then - FUserControl.onDeleteProfile(TObject(Owner), TempID, 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(TempID)); - DataConnector.UCExecSQL('Delete from ' + TableRights.TableName + ' where ' + TableRights.FieldUserID + ' = ' + IntToStr(TempID)); - DataConnector.UCExecSQL('Delete from ' + TableRights.TableName + 'EX where ' + TableRights.FieldUserID + ' = ' + IntToStr(TempID)); - DataConnector.UCExecSQL('Update ' + TableUsers.TableName + - ' Set ' + TableUsers.FieldProfile + ' = null where ' + TableUsers.FieldUserID + ' = ' + IntToStr(TempID)); - end; - FDataSetPerfilUsuario.Close; - FDataSetPerfilUsuario.Open; -end; - -destructor TFrame_Profile.Destroy; -begin - //nada a destruir - //não destruir o FDataSetPerfilUsuario o USERCONTROL toma conta dele - inherited; -end; - -end. diff --git a/internal/2.31RC1/1/Source/pUCFrame_User.dfm b/internal/2.31RC1/1/Source/pUCFrame_User.dfm deleted file mode 100644 index 6784e27..0000000 --- a/internal/2.31RC1/1/Source/pUCFrame_User.dfm +++ /dev/null @@ -1,440 +0,0 @@ -object UCFrame_User: TUCFrame_User - Left = 0 - Top = 0 - Width = 594 - Height = 311 - AutoSize = True - TabOrder = 0 - TabStop = True - object Panel3: TPanel - Left = 0 - Top = 266 - Width = 594 - Height = 45 - Align = alBottom - BevelOuter = bvNone - TabOrder = 0 - object btAdic: TBitBtn - Left = 39 - Top = 10 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Adicionar' - TabOrder = 0 - OnClick = btAdicClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0060000060 - 00006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FF777777787878777777FF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600033CB - 51006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FF777777C8C8C8777777FF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00600000600000600040D8 - 65006000006000006000FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FF787878777777777777D1D1D1787878777777777777D1BBAD694731 - 69473169473169473169473169473169473169473100600060F8985AF28F4DE5 - 7A40D8653AD25C006000CCCCCC6C6C6C6B6B6B6B6B6B6C6C6C6C6C6C6B6B6B6C - 6C6C6B6B6B777777EAEAEAE5E5E5DBDBDBD2D2D2CDCDCD787878D1BBADFFFFFF - FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060000060005AF2 - 8F006000006000006000CCCCCCFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE3 - E3E3DFDFDF777777777777777777E6E6E6777777777777787878D1BBADFFFFFF - CF875FCF875FF7F3F1CF875FCF875FEBE1DBCF875FCF875FDCCBC100600060F8 - 98006000FF00FFFF00FFCCCCCCFFFFFFA4A4A4A4A4A4F7F7F7A5A5A5A4A4A4EA - EAEAA5A5A5A4A4A4D9D9D9777777EAEAEA777777FF00FFFF00FFD1BBADFFFFFF - FFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CA0060000060 - 00006000FF00FFFF00FFCCCCCCFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7F3F3F3EE - EEEEE9E9E9E4E4E4DFDFDF777777777777777777FF00FFFF00FFD1BBADD1BBAD - D1BBADD1BBADE070406947316947316947316947316947316947316947316947 - 31694731694731694731CDCDCDCCCCCCCCCCCCCCCCCC9494946C6C6C6C6C6C6B - 6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6B6B6B6C6C6C6C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2 - CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7 - F7F7F2F2F2EEEEEEEAEAEAE3E3E3DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFCF875FCF875FF7F3F1CF875FCF875FEBE1DBCF87 - 5FCF875FDCCBC1694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFA5A5A5A4 - A4A4F7F7F7A5A5A5A4A4A4EAEAEAA5A5A5A4A4A4DADADA6B6B6BFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1 - DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF949494FFFFFFFFFFFFFF - FFFFFBFBFBF7F7F7F2F2F2EEEEEEEAEAEAE4E4E4DFDFDF6C6C6CFF00FFFF00FF - FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959594 - 9494949494949494959595959595949494959595959595959595FF00FFFF00FF - FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF949494D2D2D2D2D2D2D0 - D0D0C4C4C4BABABAAFAFAFA1A1A1949494959595959595959595FF00FFFF00FF - FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495 - 9595959595959595949494959595949494949494959595959595FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - NumGlyphs = 2 - end - object BtAlt: TBitBtn - Left = 126 - Top = 10 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Alterar' - TabOrder = 1 - OnClick = BtAltClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFD1BBAD694731 - 694731694731694731694731694731694731694731694731694731694731FF00 - FFFF00FFFF00FFFF00FFCCCCCC6C6C6C6B6B6B6C6C6C6C6C6C6C6C6C6C6C6C6C - 6C6C6B6B6B6C6C6C6C6C6C6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF - FBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2CADCCBC1DBC9BF694731FF00 - FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFBFBFBF7F7F7F2F2F2EEEEEEE9E9E9E3 - E3E3DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF - CF875FCF875FF7F3F1CF875FCF875F1C1C1C1C1C1C1C1C1CDCCBC1694731FF00 - FFFF00FFFF00FFFF00FFCDCDCDFFFFFFA4A4A4A4A4A4F7F7F7A4A4A4A4A4A440 - 4040404040414141DADADA6C6C6CFF00FFFF00FFFF00FFFF00FFD1BBADFFFFFF - FFFFFFFFFFFFFBF9F8F7F3F11C1C1C0098C8FCFAF8A39D98E1D2CA694731FF00 - FFFF00FFFF00FFFF00FFCDCDCDFFFFFFFFFFFFFFFFFFFBFBFBF7F7F7414141B9 - B9B9FCFCFCB7B7B7DFDFDF6B6B6BFF00FFFF00FFFF00FFFF00FFD1BBADD1BBAD - D1BBADD1BBADE070401C1C1C0098C84ABEDF0098C8A39D986947316947316947 - 31694731694731694731CCCCCCCDCDCDCDCDCDCDCDCD959595404040B9B9B9D3 - D3D3B9B9B9B7B7B76C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6CFF00FFFF00FF - FF00FFFF00FF1C1C1C0098C84ABEDF94E4F60098C8EFE7E3EBE1DBE6D9D2E1D2 - CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF414141B9B9B9D3D3D3ED - EDEDB9B9B9EEEEEEEAEAEAE4E4E4DFDFDFD9D9D9D8D8D86C6C6CFF00FFFF00FF - FF00FF1C1C1C0098C84ABEDF94E4F60098C8F7F3F1CF875FCF875FEBE1DBCF87 - 5FCF875FDCCBC1694731FF00FFFF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9 - B9B9F7F7F7A4A4A4A4A4A4EAEAEAA4A4A4A4A4A4D9D9D96C6C6CFF00FFFF00FF - 1C1C1C0098C84ABEDF94E4F60098C8FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1 - DBE6D9D2E1D2CA694731FF00FFFF00FF414141B9B9B9D3D3D3EDEDEDB9B9B9FF - FFFFFBFBFBF7F7F7F3F3F3EEEEEEE9E9E9E3E3E3DFDFDF6C6C6CFF00FF00009A - 8080804ABEDF94E4F60098C8E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FF7272729F9F9FD3D3D3EDEDEDB9B9B994949495 - 959595959595959594949495959594949495959595959594949400009A00009A - 778C98D2BAAC0098C8FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070 - 40E07040E07040E07040727272727272AAAAAACCCCCCB9B9B9D2D2D2D2D2D2D0 - D0D0C4C4C4B9B9B9AFAFAFA2A2A29494949595959595959595954A23C70030F8 - 6D8AFD0030F8E07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040A85FA8A2A2A2C2C2C2A2A2A295959595959595959594 - 9494959595959595959595949494959595959595959595959595FF00FF8817DA - 0030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFC63EC6A2A2A2FF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - NumGlyphs = 2 - end - object BtExclui: TBitBtn - Left = 213 - Top = 10 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Excluir' - TabOrder = 2 - OnClick = BtExcluiClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00FFFF00 - FFFF00FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA3 - A3A3707070FF00FFFF00FFFF00FFFF00FFFF00FF707070A2A2A2FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FFFF00FFFF00 - FF0000980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFA2A2A2707070FF00FFFF00FFFF00FF707070A3A3A3FF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0030F8000098FF00FF0000 - 980030F8FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFA2A2A2707070FF00FF727272A3A3A3FF00FFFF00FFD1BBAD694731 - 6947316947316947316947316947316947316947316947310030F8002AD0002A - D0FF00FFFF00FFFF00FFCCCCCC6C6C6C6C6C6C6C6C6C6B6B6B6C6C6C6B6B6B6B - 6B6B6C6C6C6C6C6CA3A3A3919191919191FF00FFFF00FFFF00FFD1BBADE8DCD4 - E6D9D1E4D7CEE2D4CAE1D1C7DFCFC4DDCBC0DBC8BDD8C5B90030F8002AD00000 - 98FF00FFFF00FFFF00FFCDCDCDE6E6E6E3E3E3E2E2E2E0E0E0DDDDDDDCDCDCD9 - D9D9D7D7D7D5D5D5A2A2A2919191707070FF00FFFF00FFFF00FFD1BBADE8DCD4 - 694731694731E4D7CE694731694731DFCFC46947310030F80000986947310030 - F8000098FF00FFFF00FFCDCDCDE6E6E66C6C6C6C6C6CE2E2E26C6C6C6C6C6CDC - DCDC6C6C6CA2A2A27070706C6C6CA3A3A3707070FF00FFFF00FFD1BBADE8DCD4 - E8DCD4E8DCD4E6D9D1E4D7CEE2D4CAE1D1C70030F8000098DBC8BD694731FF00 - FF0030F8000098FF00FFCDCDCDE6E6E6E6E6E6E6E6E6E3E3E3E2E2E2DFDFDFDD - DDDDA3A3A3707070D7D7D76C6C6CFF00FFA3A3A3727272FF00FFD1BBADD1BBAD - D1BBADD1BBADE070406947316947316947310000986947316947316947316947 - 316947310030F8694731CCCCCCCCCCCCCDCDCDCDCDCD9595956B6B6B6C6C6C6C - 6C6C7070706C6C6C6C6C6C6C6C6C6C6C6C6C6C6CA2A2A26C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1DBE6D9D2E1D2 - CADCCBC1DBC9BF694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFBFBFBF7 - F7F7F2F2F2EEEEEEE9E9E9E4E4E4DFDFDFDADADAD8D8D86C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFF694731694731F7F3F1694731694731EBE1DB6947 - 31694731DCCBC1694731FF00FFFF00FFFF00FFFF00FF959595FFFFFF6C6C6C6B - 6B6BF7F7F76C6C6C6C6C6CEAEAEA6B6B6B6C6C6CD9D9D96C6C6CFF00FFFF00FF - FF00FFFF00FFE07040FFFFFFFFFFFFFFFFFFFBF9F8F7F3F1F3EDEAEFE7E3EBE1 - DBE6D9D2E1D2CA694731FF00FFFF00FFFF00FFFF00FF959595FFFFFFFFFFFFFF - FFFFFBFBFBF7F7F7F3F3F3EEEEEEEAEAEAE3E3E3DFDFDF6C6C6CFF00FFFF00FF - FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959595959595 - 9595949494959595959595959595959595959595959595949494FF00FFFF00FF - FF00FFFF00FFE07040FBC39FFBC39FFAC19CF5B18BEFA27AEB9369E68254E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF959595D2D2D2D2D2D2D0 - D0D0C4C4C4B9B9B9AFAFAFA2A2A2959595949494959595959595FF00FFFF00FF - FF00FFFF00FFE07040E07040E07040E07040E07040E07040E07040E07040E070 - 40E07040E07040E07040FF00FFFF00FFFF00FFFF00FF95959595959594949495 - 9595959595959595959595959595949494959595959595959595FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - NumGlyphs = 2 - end - object BtAcess: TBitBtn - Left = 300 - Top = 10 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Acessos' - TabOrder = 3 - OnClick = BtAcessClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFC2652BA53C00A53C00A53C00A53C00A53C00A53C - 00A53C00FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF89898969 - 69696969696969696969696969696A6A6A696969FF00FFFF00FFFF00FFFF00FF - A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A5FFD4A5FFCD97FFC07DFFAD - 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC - DCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE6A6A6AFF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652BC2652BC2652BC265 - 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989 - 8989898989898989898989898989898989898989FF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FF1C1C1C986060986060A53C00A53C00A53C00A53C - 00A53C00FF00FFFF00FFFF00FFFF00FF616161FF00FFFF00FFFF00FF41414188 - 8888888888696969696969696969696969696969FF00FFFF00FFFF00FFFF00FF - A22E08A22E08A22E08A22E08C89898FCFAF80098C81C1C1CFFCD97FFC07DFFAD - 55A53C00FF00FFFF00FFFF00FFFF00FF606060606060606060606060B5B5B5FC - FCFCB9B9B9414141D7D7D7CCCCCCBEBEBE696969FF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFC898980098C84ABEDF0098C81C1C1CC2652BC265 - 2BC2652BFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFB5B5B5B9 - B9B9D3D3D3B9B9B9414141898989898989898989FF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFFF00FF0098C894E4F64ABEDF0098C81C1C1CFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFB9 - B9B9EDEDEDD3D3D3B9B9B9414141FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFC2652BA53C000098C894E4F64ABEDF0098C81C1C - 1CA53C00FF00FFFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898969 - 6969B9B9B9EDEDEDD3D3D3B9B9B94040406A6A6AFF00FFFF00FFFF00FFFF00FF - A22E08A22E08A22E08A22E08C2652BFFD4A5FFD4A50098C894E4F64ABEDF0098 - C81C1C1CFF00FFFF00FFFF00FFFF00FF606060606060606060606060898989DC - DCDCDCDCDCB9B9B9EDEDEDD3D3D3BABABA414141FF00FFFF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFC2652BC2652BC2652BC2652B0098C894E4F64ABE - DF80808000009AFF00FFFF00FFFF00FF606060FF00FFFF00FFFF00FF89898989 - 8989898989898989BABABAEDEDEDD3D3D3A0A0A0727272FF00FFFF00FFFF00FF - A22E08FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0098C8D2BA - AC778C9800009A00009AFF00FFFF00FF606060FF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFB9B9B9CCCCCCABABAB727272727272C2652BA22E08 - A22E08A22E08A22E08A22E08A22E08A22E16FF00FFFF00FFFF00FFFF00FF0030 - F86D8AFD0030F800009A89898960606060606060606060606060606060606061 - 6161FF00FFFF00FFFF00FFFF00FFA2A2A2C2C2C2A3A3A3727272C2652BFFD4A5 - FFD4A5FFD4A5FFCD97FFC07DFFAD55A22E08FF00FFFF00FFFF00FFFF00FFFF00 - FF0030F80030F8FF00FF898989DCDCDCDCDCDCDCDCDCD7D7D7CCCCCCBEBEBE60 - 6060FF00FFFF00FFFF00FFFF00FFFF00FFA2A2A2A3A3A3FF00FFC2652BC2652B - C2652BC2652BC2652BC2652BC2652BC2652BFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FF89898989898989898989898989898989898989898989 - 8989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - NumGlyphs = 2 - end - object BtnClose: TBitBtn - Left = 474 - Top = 10 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Fechar' - TabOrder = 4 - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - end - object BtPass: TBitBtn - Left = 387 - Top = 10 - Width = 81 - Height = 25 - Cursor = crHandPoint - Caption = '&Senha' - TabOrder = 5 - OnClick = BtPassClick - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000C8D0D4C8D0D4 - B8BFC39BA7A5879A918096888792846947316947318F9B99A1A8ABBBC3C6C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4B8BFC3A8AEB19FA5A79DA2A49FA3A56C - 6C6C6C6C6C9FA5A8A1A8ABBBC3C6C8D0D4C8D0D4C8D0D4C8D0D4C8D0D491A795 - 4E773C4A8334478F3143962F694731FBE3CBF8C8986947314977364F6A48A5AC - AEC8D0D4C8D0D4C8D0D4C8D0D4ACB1B38D8D8E9595959D9D9DA2A2A26C6C6CE9 - E9E9D3D3D36B6B6B8C8D8D808182A9AFB2C8D0D4C8D0D4C8D0D4C8D0D45B8049 - 4F8135479031409C2E3AA62CA08C7DFDF1E5FBE3CBF8C8986947315675388092 - 85C8D0D4C8D0D4C8D0D4C8D0D49293939494949E9E9EA6A6A6ADADADA8A8A8F5 - F5F5E9E9E9D3D3D36C6C6C8C8C8C9A9EA1C8D0D4C8D0D4C8D0D4C8D0D4588347 - 4B893342992F39A82B32B4282EBB26A08C7DFDF1E5FBE3CBF8C8986947316947 - 31694731694731BDBEBDC8D0D4959696999999A4A4A4AFAFAFB6B6B6BCBCBCA8 - A8A8F5F5F5E9E9E9D3D3D36B6B6B6C6C6C6C6C6C6C6C6CBFC5C8C8D0D4799F75 - 488D323E9E2D35AF2935B6317ACB7B2DBF28A08C7DFDF1E5FBE3CBF8C898F8C8 - 98F8C898F8C898694731C8D0D4A7AAAC9C9C9CA8A8A8B2B2B2B8B8B8CCCCCCBE - BEBEA8A8A8F4F4F4E9E9E9D3D3D3D3D3D3D3D3D3D3D3D36B6B6BC8D0D4BCCAC9 - 56954A3E9F2D34B02980AC81D2D3D381BB8232B228A08C7DFDF1E5FBE3CBFADB - BCF9D7B5F9D7B5694731C8D0D4C4CBCFA1A3A3A8A8A8B4B4B4BBBBBBE0E0E0C4 - C4C4B4B4B4A8A8A8F4F4F4E9E9E9E3E3E3E0E0E0DFDFDF6C6C6CC8D0D4C8D0D4 - BBC9C766A76436933E598CAE498CBB4A81A62B703AA08C7DFDF1E5FBE3CBFBE3 - CB694731F9D7B5694731C8D0D4C8D0D4C3CBCEADAFB1A1A1A1AFAFAFB1B1B1A6 - A6A6878787A8A8A8F5F5F5E9E9E9E9E9E96C6C6CE0E0E06B6B6BC8D0D4C8D0D4 - C8D0D4B9C6CE5BA0CC54A2D853A1D64F9DD3468FC1A08C7DFDF1E5FBE3CB6947 - 31A08C7DFADBBC694731C8D0D4C8D0D4C8D0D4C3CACEBEBFBFC3C3C3C2C2C2C0 - C0C0B3B3B4A8A8A8F5F5F5E9E9E96C6C6CA8A8A8E3E3E36C6C6CC8D0D4C8D0D4 - C8D0D47AADD05CA9DD5CA9DD5AA7DC56A4D9519FD48E8A86FDF1E5FDF1E5FDF1 - E5FDF1E5FDF1E5694731C8D0D4C8D0D4C8D0D4C1C4C5C8C8C8C8C8C8C7C7C7C4 - C4C4C1C1C1A6A6A7F5F5F5F5F5F5F4F4F4F5F5F5F5F5F56C6C6CC8D0D4C8D0D4 - BAC8D05FABDD63B0E363B0E361AEE15CA9DD56A4D96394B69E9086A08C7DA08C - 7DA08C7DA6978BBDBEBDC8D0D4C8D0D4C5CCCFC9C9C9CDCDCDCDCDCDCCCCCCC8 - C8C8C4C4C4B4B4B4A7A8A9A8A8A8A8A8A8A8A8A8ADAEAFBFC5C8C8D0D4C8D0D4 - A0BED066B2E56BB7E96BB7E967B3E661AEE15AA7DC53A0D58798A3C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C4C9CCCECECED2D2D2D2D2D2D0D0D0CC - CCCCC6C6C6C2C2C2A3A8AAC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - 99B9CD4989B14A85AC5895BD68B2E364B0E45CA9DE53A0D4889BA8C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C1C6C8ACACACA9A9A9B7B7B7CECECECE - CECEC8C8C8C2C2C2A7ACAFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - A3BAC85098C4539AC74E93BE437DA25190BA5198C63C79A0969FA4C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4BFC5C8B9B9B9BCBCBCB6B6B6A2A2A2B3 - B3B3B9B9B9A0A0A0A4AAADC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C3CCD264A7D062ACDA5DA6D35299C64284AD3C7FA94B7B9BBEC6CAC8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C6CED2C2C3C3C9C9C9C4C4C4BABABAA9 - A9A9A5A5A59C9D9EBEC6CAC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D49FBFD371BCE968B2E059A1CF4990BC4180A99CACB6C8D0D4C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C6CBCDD5D5D5CDCDCDC0C0C0B3 - B3B3A5A6A6B2B8BBC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 - C8D0D4C8D0D4A4C2D576B2D761A0C86C9CBBA6B8C2C8D0D4C8D0D4C8D0D4C8D0 - D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8CDCFC8C9CABDBEBEB4 - B6B7BBC1C4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4} - NumGlyphs = 2 - end - end - object DbGridUser: TDBGrid - Left = 0 - Top = 0 - Width = 594 - Height = 266 - Align = alClient - Ctl3D = True - DataSource = DataUser - Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit] - ParentCtl3D = False - ReadOnly = True - TabOrder = 1 - TitleFont.Charset = DEFAULT_CHARSET - TitleFont.Color = clWindowText - TitleFont.Height = -11 - TitleFont.Name = 'Tahoma' - TitleFont.Style = [] - OnDblClick = BtAltClick - Columns = < - item - Expanded = False - FieldName = 'Nome' - Title.Alignment = taCenter - Width = 239 - Visible = True - end - item - Expanded = False - FieldName = 'Login' - Title.Alignment = taCenter - Width = 123 - Visible = True - end - item - Expanded = False - FieldName = 'Email' - Title.Alignment = taCenter - Width = 199 - Visible = True - end> - end - object DataUser: TDataSource - AutoEdit = False - Left = 296 - Top = 152 - end - object DataPerfil: TDataSource - AutoEdit = False - Left = 328 - Top = 152 - end -end diff --git a/internal/2.31RC1/1/Source/pUCFrame_User.pas b/internal/2.31RC1/1/Source/pUCFrame_User.pas deleted file mode 100644 index 6646e6c..0000000 --- a/internal/2.31RC1/1/Source/pUCFrame_User.pas +++ /dev/null @@ -1,326 +0,0 @@ -unit pUCFrame_User; - -interface - -{$I 'UserControl.inc'} - -uses - {$IFDEF DELPHI5_UP} - {$ELSE} - Variants, - {$ENDIF} - Buttons, - Classes, - Controls, - Db, - DBGrids, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Grids, - IncUser_U, - Messages, - SenhaForm_U, - StdCtrls, - SysUtils, - UcBase, - UserPermis_U, - Windows; - -type - TUCFrame_User = class(TFrame) - Panel3: TPanel; - btAdic: TBitBtn; - BtAlt: TBitBtn; - BtExclui: TBitBtn; - BtAcess: TBitBtn; - BtnClose: TBitBtn; - BtPass: TBitBtn; - DbGridUser: TDBGrid; - DataUser: TDataSource; - DataPerfil: TDataSource; - procedure btAdicClick(Sender: TObject); - procedure BtAltClick(Sender: TObject); - procedure BtAcessClick(Sender: TObject); - procedure BtPassClick(Sender: TObject); - procedure BtExcluiClick(Sender: TObject); - protected - FormSenha: TCustomForm; - FfrmIncluirUsuario: TfrmIncluirUsuario; - procedure SetWindowUserProfile; - procedure SetWindowUser(Adicionar: Boolean); - procedure ActionBtPermissUserDefault; - procedure FDataSetCadastroUsuarioAfterScroll(DataSet: TDataSet); - private - { Private declarations } - public - FUsercontrol: TUserControl; - FDataSetCadastroUsuario: TDataset; - procedure SetWindow; - destructor Destroy; override; - { Public declarations } - end; - -implementation - -uses - UCMessages; - -{$R *.dfm} - -procedure TUCFrame_User.btAdicClick(Sender: TObject); -begin - FfrmIncluirUsuario := TfrmIncluirUsuario.Create(Self); - FfrmIncluirUsuario.FUsercontrol := Self.FUsercontrol; - SetWindowUser(True); - FfrmIncluirUsuario.ShowModal; - FreeAndNil(FfrmIncluirUsuario); -end; - -procedure TUCFrame_User.BtAltClick(Sender: TObject); -begin - if FDataSetCadastroUsuario.IsEmpty then - Exit; - FfrmIncluirUsuario := TfrmIncluirUsuario.Create(Self); - FfrmIncluirUsuario.FUsercontrol := Self.FUsercontrol; - SetWindowUser(False); - with FfrmIncluirUsuario do - begin - FAltera := True; - vNovoIDUsuario := FDataSetCadastroUsuario.FieldByName('IdUser').AsInteger; - EditNome.Text := FDataSetCadastroUsuario.FieldByName('Nome').AsString; - EditLogin.Text := FDataSetCadastroUsuario.FieldByName('Login').AsString; - EditEmail.Text := FDataSetCadastroUsuario.FieldByName('Email').AsString; - ComboPerfil.KeyValue := FDataSetCadastroUsuario.FieldByName('Perfil').AsInteger; - ckPrivilegiado.Checked := StrToBool(FDataSetCadastroUsuario.FieldByName('Privilegiado').AsString); - ckUserExpired.Checked := StrToBool(FDataSetCadastroUsuario.FieldByName('UserNaoExpira').AsString); - SpinExpira.Value := FDataSetCadastroUsuario.FieldByName('DaysOfExpire').AsInteger; - ComboStatus.ItemIndex := FDataSetCadastroUsuario.FieldByName('UserInative').AsInteger; - if FfrmIncluirUsuario.ComboStatus.Enabled then - FfrmIncluirUsuario.ComboStatus.Enabled := not ((FUsercontrol.User.ProtectAdministrator) and - (FDataSetCadastroUsuario.FieldByName('Login').AsString = FUsercontrol.Login.InitialLogin.User)); - ShowModal; - end; - FreeAndNil(FfrmIncluirUsuario); -end; - -procedure TUCFrame_User.BtExcluiClick(Sender: TObject); -var - TempID: Integer; - CanDelete: Boolean; - ErrorMsg: String; -begin - if FDataSetCadastroUsuario.IsEmpty then - Exit; - TempID := FDataSetCadastroUsuario.FieldByName('IDUser').AsInteger; - if MessageBox(Handle, PChar(Format(FUsercontrol.UserSettings.UsersForm.PromptDelete, [FDataSetCadastroUsuario.FieldByName('Login').AsString])), - PChar(FUsercontrol.UserSettings.UsersForm.PromptDelete_WindowCaption), MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON2) = idYes then - begin - CanDelete := True; - if Assigned(FUsercontrol.onDeleteUser) then - FUsercontrol.onDeleteUser(TObject(Owner), TempID, CanDelete, ErrorMsg); - if not CanDelete then - begin - MessageDlg(ErrorMSG, mtWarning, [mbOK], 0); - Exit; - end; - - FUsercontrol.DataConnector.UCExecSQL('Delete from ' + FUsercontrol.TableRights.TableName + ' where ' + - FUsercontrol.TableRights.FieldUserID + ' = ' + IntToStr(TempID)); - FUsercontrol.DataConnector.UCExecSQL('Delete from ' + FUsercontrol.TableUsers.TableName + ' where ' + - FUsercontrol.TableUsers.FieldUserID + ' = ' + IntToStr(TempID)); - FDataSetCadastroUsuario.Close; - FDataSetCadastroUsuario.Open; - end; -end; - -procedure TUCFrame_User.BtPassClick(Sender: TObject); -begin - if FDataSetCadastroUsuario.IsEmpty then - Exit; - - FormSenha := TSenhaForm.Create(Self); - TSenhaForm(FormSenha).Position := FUsercontrol.UserSettings.WindowsPosition; - TSenhaForm(FormSenha).FUsercontrol := FUsercontrol; - TSenhaForm(FormSenha).Caption := Format(FUsercontrol.UserSettings.ResetPassword.WindowCaption, - [FDataSetCadastroUsuario.FieldByName('Login').AsString]); - if TSenhaForm(FormSenha).ShowModal = mrOk then - Begin - -(* - if (Assigned(FUsercontrol.MailUserControl)) and (FUsercontrol.MailUserControl.SenhaForcada.Ativo ) then - try - FUsercontrol.MailUserControl.EnviaEmailSenhaForcada( - FDataSetCadastroUsuario.FieldByName('NOME').AsString , - FDataSetCadastroUsuario.FieldByName('LOGIN').AsString, - TSenhaForm(FormSenha).edtSenha.Text , - FDataSetCadastroUsuario.FieldByName('EMAIL').AsString, - ''); - - except - on E : Exception do FUsercontrol.Log(e.Message, 0); - end; - -*) - FUsercontrol.ChangePassword(FDataSetCadastroUsuario.FieldByName('IDUser').AsInteger, TSenhaForm(FormSenha).edtSenha.Text); - End; - FreeAndNil(FormSenha); -end; - -destructor TUCFrame_User.Destroy; -begin - //nada a destruir - //não destruir o FDataSetCadastroUsuario o USERCONTROL toma conta dele - inherited; -end; - -procedure TUCFrame_User.BtAcessClick(Sender: TObject); -begin - if FDataSetCadastroUsuario.IsEmpty then - Exit; - UserPermis := TUserPermis.Create(self); - UserPermis.FUsercontrol := FUsercontrol; - SetWindowUserProfile; - UserPermis.lbUser.Caption := FDataSetCadastroUsuario.FieldByName('Login').AsString; - ActionBtPermissUserDefault; -end; - -procedure TUCFrame_User.SetWindowUserProfile; -begin - with FUsercontrol.UserSettings.Rights do - begin - UserPermis.Caption := WindowCaption; - UserPermis.LbDescricao.Caption := LabelUser; - UserPermis.lbUser.Left := UserPermis.LbDescricao.Left + UserPermis.LbDescricao.Width + 5; - UserPermis.PageMenu.Caption := PageMenu; - UserPermis.PageAction.Caption := PageActions; - UserPermis.PageControls.Caption := PageControls; // By Vicente Barros Leonel - UserPermis.BtLibera.Caption := BtUnlock; - UserPermis.BtBloqueia.Caption := BtLOck; - UserPermis.BtGrava.Caption := BtSave; - UserPermis.BtCancel.Caption := BtCancel; - UserPermis.Position := FUsercontrol.UserSettings.WindowsPosition; - end; -end; - -procedure TUCFrame_User.ActionBtPermissUserDefault; -var - TempCampos, TempCamposEX: String; -begin - UserPermis.FTempIdUser := FDataSetCadastroUsuario.FieldByName('IdUser').AsInteger; - with FUsercontrol do - begin - TempCampos := Format(' %s as IdUser, %s as Modulo, %s as ObjName, %s as UCKey ', [TableRights.FieldUserID, - TableRights.FieldModule, TableRights.FieldComponentName, TableRights.FieldKey]); - TempCamposEX := Format(' %s, %s as FormName ', [TempCampos, TableRights.FieldFormName]); - - UserPermis.DSPermiss := DataConnector.UCGetSQLDataset(Format('SELECT %s FROM %s TAB WHERE TAB.%s = %s AND TAB.%s = %s', - [TempCampos, TableRights.TableName, TableRights.FieldUserID, FDataSetCadastroUsuario.FieldByName('IdUser').AsString, - TableRights.FieldModule, QuotedStr(ApplicationID)])); - UserPermis.DSPermiss.Open; - - UserPermis.DSPermissEX := DataConnector.UCGetSQLDataset(Format('SELECT %s FROM %s TAB1 WHERE TAB1.%s = %s AND TAB1.%s = %s', - [TempCamposEX, TableRights.TableName + 'EX', TableRights.FieldUserID, FDataSetCadastroUsuario.FieldByName('IdUser').AsString, - TableRights.FieldModule, QuotedStr(ApplicationID)])); - UserPermis.DSPermissEX.Open; - - UserPermis.DSPerfil := DataConnector.UCGetSQLDataset(Format('Select %s from %s tab Where tab.%s = %s and tab.%s = %s', - [TempCampos, TableRights.TableName, TableRights.FieldUserID, FDataSetCadastroUsuario.FieldByName('Perfil').AsString, - TableRights.FieldModule, QuotedStr(ApplicationID)])); - UserPermis.DSPerfil.Open; - - UserPermis.DSPerfilEX := DataConnector.UCGetSQLDataset(Format('Select %s from %s tab1 Where tab1.%s = %s and tab1.%s = %s', - [TempCamposEX, TableRights.TableName + 'EX', TableRights.FieldUserID, FDataSetCadastroUsuario.FieldByName('Perfil').AsString, - TableRights.FieldModule, QuotedStr(ApplicationID)])); - - UserPermis.DSPerfilEX.Open; - - UserPermis.ShowModal; - - FDataSetCadastroUsuario.Close; - FDataSetCadastroUsuario.Open; - - FDataSetCadastroUsuario.Locate('idUser', UserPermis.FTempIdUser, []); - - FreeAndNil(UserPermis); - end; -end; - -procedure TUCFrame_User.FDataSetCadastroUsuarioAfterScroll(DataSet: TDataSet); -begin - if (FUsercontrol.User.ProtectAdministrator) and (Dataset.FieldByName('Login').AsString = FUsercontrol.Login.InitialLogin.User) then - begin - BtExclui.Enabled := False; - BtPass.Enabled := False; - if FUsercontrol.CurrentUser.Username <> FUsercontrol.Login.InitialLogin.User then - BtAcess.Enabled := False; - end - else - begin - BtExclui.Enabled := True; - BtPass.Enabled := True; - BtAcess.Enabled := True; - end; -end; - - -procedure TUCFrame_User.SetWindow; -begin - FDataSetCadastroUsuario.AfterScroll := FDataSetCadastroUsuarioAfterScroll; - FDataSetCadastroUsuarioAfterScroll(FDataSetCadastroUsuario); - with FUsercontrol.UserSettings.UsersForm do - begin - DbGridUser.Columns[0].Title.Caption := ColName; - DbGridUser.Columns[1].Title.Caption := ColLogin; - DbGridUser.Columns[2].Title.Caption := ColEmail; - - btAdic.Caption := BtAdd; - BtAlt.Caption := BtChange; - BtExclui.Caption := BtDelete; - BtAcess.Caption := BtRights; - BtPass.Caption := BtPassword; - BtnClose.Caption := BtClose; - end; - -end; - -procedure TUCFrame_User.SetWindowUser(Adicionar: Boolean); -begin - with FUsercontrol.UserSettings.AddChangeUser do - begin - FfrmIncluirUsuario.Caption := WindowCaption; - if Adicionar then - FfrmIncluirUsuario.LbDescricao.Caption := LabelAdd - else - begin - FfrmIncluirUsuario.LbDescricao.Caption := LabelChange; - FfrmIncluirUsuario.LbDescricao.Tag := FDataSetCadastroUsuario.FieldByName('IdUser').AsInteger; - end; - - FfrmIncluirUsuario.FDataSetCadastroUsuario := DataUser.DataSet; - FfrmIncluirUsuario.Label1.Caption := LabelStatus; - FfrmIncluirUsuario.lbNome.Caption := LabelName; - FfrmIncluirUsuario.lbLogin.Caption := LabelLogin; - FfrmIncluirUsuario.lbEmail.Caption := LabelEmail; - FfrmIncluirUsuario.ckPrivilegiado.Caption := CheckPrivileged; - FfrmIncluirUsuario.lbPerfil.Caption := LabelPerfil; - FfrmIncluirUsuario.btGravar.Caption := BtSave; - FfrmIncluirUsuario.btCancela.Caption := BtCancel; - FfrmIncluirUsuario.Position := Self.FUsercontrol.UserSettings.WindowsPosition; - FfrmIncluirUsuario.LabelExpira.Caption := ExpiredIn; - FfrmIncluirUsuario.LabelDias.Caption := Day; - FfrmIncluirUsuario.ckUserExpired.Caption := CheckExpira; - FfrmIncluirUsuario.ComboPerfil.ListSource := DataPerfil; - FfrmIncluirUsuario.ComboStatus.Enabled := not Adicionar; - with FfrmIncluirUsuario.ComboStatus.Items do - begin - Clear; - Add(StatusActive); - Add(StatusDisabled); - end; - FfrmIncluirUsuario.ComboStatus.ItemIndex := 0; - end; -end; - -end. diff --git a/internal/2.31RC1/1/Source/pUCGeral.dfm b/internal/2.31RC1/1/Source/pUCGeral.dfm deleted file mode 100644 index 4b2f07d..0000000 --- a/internal/2.31RC1/1/Source/pUCGeral.dfm +++ /dev/null @@ -1,533 +0,0 @@ -object FormUserPerf: TFormUserPerf - Left = 0 - Top = 0 - BorderStyle = bsDialog - Caption = 'Controle de Usu'#225'rios' - ClientHeight = 506 - ClientWidth = 692 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - KeyPreview = True - OldCreateOrder = False - Position = poScreenCenter - OnClose = FormClose - OnDestroy = FormDestroy - OnKeyPress = FormKeyPress - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 692 - Height = 41 - Align = alTop - BevelOuter = bvNone - Color = clWhite - TabOrder = 0 - object LbDescricao: TLabel - Left = 41 - Top = 0 - Width = 183 - Height = 41 - Align = alLeft - Caption = 'Controle de Usu'#225'rios' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Verdana' - Font.Style = [fsBold] - ParentFont = False - Layout = tlCenter - ExplicitHeight = 18 - end - object Image1: TImage - Left = 0 - Top = 0 - Width = 41 - Height = 41 - Align = alLeft - Center = True - Picture.Data = { - 07544269746D617066090000424D660900000000000036000000280000001C00 - 00001C0000000100180000000000300900000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000CBC5D28B75A472 - 5199673F9863369B6334A06233A063349F63369F63389B633B97653E94694890 - 725A8C9189990000000000000000000000000000000000000000000000000000 - 00000000000000000000C2B0D55F27A06126AA6328AF652BB4672DB8682FBB69 - 30BD6931BE6830BD682FBB662DB8652BB36328AF6125AA5C239E674C83000000 - 0000000000000000000000000000000000000000000000000000000000007E51 - B16025A86328AE652BB4672EB96931BE6B33C16B34C46C35C56B34C46A33C169 - 31BE672EB9652BB46228AE6024A85B249A000000000000000000000000000000 - 0000000000000000000000000000000000006D3AA86127AC642AB2672EB86931 - BE6B34C36D36C86837BE693AC16E38CB6D36C76B34C36931BE672DB8642AB261 - 26AB59229B4B644D658963688B676D8C6D738E737B907C8D9B8FA7ACA8000000 - 0000000000007F50B36328AE652CB56830BC6B33C26D36C86E38CC596AB0698E - D46E39CC6F39CD6D36C86B33C2682FBB652CB46228AE54268F39802942982F43 - 962F459330488D324A87334E80354C76385171498E968F000000B399CF642AB0 - 662DB76931BE6C35C56F38CC6338B95C9AC76DB9EB6557C7713CD26E38CB6C34 - C46931BE662DB66329AF4347613A9C2B3CA32C3DA12D3F9D2E43972F478F314C - 8733517E365774385371470000000000007847B4662DB86931BF6C35C66F39CD - 514CA55DA7D861AFE25A8ECF6E3ACD6F39CD6C35C66931BE662DB75631933491 - 2D35AE2935AF2936AD2A39A72B3EA02D43972F488E324E84345479374F713F00 - 00000000000000007444B66931BE6C35C56B36C5416AA14A8EBD4380AA407EA8 - 5448AE6E38CA6C35C56931BE593498368A3532B3282FB9272FBA2631B72734B0 - 2939A72B3F9E2E4593304B8833517E36547A470000000000000000000000007B - 56AE6933BD5337A33775A13F85B73F88BC397DAD2C54804C288D6330B4483A76 - 2B702D31AA272EBC262CBA292AC0272BC02530B72736AD2A3CA22C43972F498C - 324F80357695720000000000000000000F3C6925496D404775467DB64E9DD34E - 9CD24C9AD04997CE4493CA3360900F2E5A02355F01346022832532B12FFFFFFF - FFFFFF37BD362EBC2634B0293BA42C42992F488D324F853F0000000000000000 - 0000000001346802356A2C659555A2D755A3D854A2D753A1D6509ED44C9AD147 - 95CC1854880033660033661C742F70A173FFFFFFFFFFFFFFFFFF2FB42935AF29 - 3BA42C42992F488D390000000000000000000000000000000538710C3F755399 - CA5AA7DC5AA7DC5AA7DB58A5DA55A3D852A0D54D9BD23B85BB00336600336622 - 6139788B94648AA65782A1607E933D7444329C263CA02D529A4A000000000000 - 0000000000000000000000000B3E7B2961915DAADE5FADE05FADE05EACDF5CAA - DD5AA7DC56A4D952A0D54C9AD0124C8000326530647F4E9BD04E9CD24C9AD048 - 97CE4187B42B604481A880000000000000000000000000000000000000000000 - 0E41824584B163B0E365B2E465B2E463B1E361AEE15DABDE5AA7DC55A3D8509E - D4296B9F0033654180AC55A3D854A2D752A0D6509ED44C9AD04890C2838E9600 - 00000000000000000000000000000000000000001345855699C567B4E669B6E8 - 69B6E868B5E765B2E561AEE15DAADE58A5DA53A1D6397FB30133654888B45AA7 - DC59A7DB57A5DA55A3D852A0D54D9BD15087AF00000000000000000000000000 - 000000000000000016488B467EA54E8BB45EA0CA6BB4E46CB8EA68B5E764B1E4 - 5FACDF5AA7DC55A2D7387EB30234654F91BD5FACE05EABDF5CA9DD59A7DB56A4 - D952A0D54C98CE85929D0000000000000000000000000000000000001C4F9B1C - 4F9C1E50A01F4F932C5C8D4C83AA63AAD965B2E460AEE15BA8DC529DD11D588B - 083A6A5CA2D264B1E463B0E360ADE15DAADE59A7DB55A3D8509ED46488A10000 - 000000000000000000000000000000002E5EA72356AE2558B02457AF2255AB1D - 4F9B2555874883AA5DA9DB488CBE174C8004376E1F548168B3E569B5E867B4E7 - 64B1E460ADE15CA9DD58A5DA53A1D6598AAE0000000000000000000000000000 - 00000000000000285BB62A5DBA295CB92659B22255AB1E51A1194A8C23558511 - 45830A3D7B0538704985AF6CB7E86EBAEC6CB8EA68B4E763B0E35EABDF5AA7DB - 54A2D75690B90000000000000000000000000000000000000000003A69BB2F62 - C42D60C1295CB82457AE1F52A41A4D9A1548901043860B3E7C1A4D7B407A9F44 - 7A9D518AAE64A9D76AB5E764B1E460ADE15BA8DC55A2D75890B6000000000000 - 0000000000000000000000000000000000003768C32E61C2295CB92457AF1F52 - A51A4D9B1548911144861A4D82478AB54F96C34F96C34B8FBA427A9E497FA35D - A4D360ADE0549CCD407EA74B6F85000000000000000000000000000000000000 - 000000000000000000406DBA285BB52356AC1E51A31B4E9916488E0000000000 - 00579FCC5AA2CF5AA2CF569ECB5198C5488CB63C72944680A83E80AA3D81AC76 - 8D9C000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000065A9D164AEDC64ADDC60A9 - D659A1CE5097C4478DB93E82AD3D82AD407BA200000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000006FB8E76EB9E768B1E05FA7D5559DCA4B91BE4086 - B13E81AA8EA6B600000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - A5CFE975BFEE6CB7E562ABD9579FCC4D93C04487B08CAABB0000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000008FC0DE70ACD1 - 6DA5C888AFC90000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000} - Transparent = True - ExplicitHeight = 35 - end - end - object Panel2: TPanel - Left = 0 - Top = 41 - Width = 100 - Height = 465 - Align = alLeft - BevelOuter = bvLowered - Color = clSilver - TabOrder = 1 - object SpeedUser: TSpeedButton - Left = 1 - Top = 1 - Width = 98 - Height = 60 - Cursor = crHandPoint - Align = alTop - GroupIndex = 1 - Down = True - Caption = '&Usu'#225'rios' - Flat = True - Glyph.Data = { - 66090000424D660900000000000036000000280000001C0000001C0000000100 - 1800000000003009000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000CBC5D28B75A4725199673F9863369B - 6334A06233A063349F63369F63389B633B97653E94694890725A8C9189990000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C2B0D55F27A06126AA6328AF652BB4672DB8682FBB6930BD6931BE6830BD - 682FBB662DB8652BB36328AF6125AA5C239E674C830000000000000000000000 - 000000000000000000000000000000000000000000007E51B16025A86328AE65 - 2BB4672EB96931BE6B33C16B34C46C35C56B34C46A33C16931BE672EB9652BB4 - 6228AE6024A85B249A0000000000000000000000000000000000000000000000 - 000000000000000000006D3AA86127AC642AB2672EB86931BE6B34C36D36C868 - 37BE693AC16E38CB6D36C76B34C36931BE672DB8642AB26126AB59229B4B644D - 658963688B676D8C6D738E737B907C8D9B8FA7ACA80000000000000000007F50 - B36328AE652CB56830BC6B33C26D36C86E38CC596AB0698ED46E39CC6F39CD6D - 36C86B33C2682FBB652CB46228AE54268F39802942982F43962F459330488D32 - 4A87334E80354C76385171498E968F000000B399CF642AB0662DB76931BE6C35 - C56F38CC6338B95C9AC76DB9EB6557C7713CD26E38CB6C34C46931BE662DB663 - 29AF4347613A9C2B3CA32C3DA12D3F9D2E43972F478F314C8733517E36577438 - 5371470000000000007847B4662DB86931BF6C35C66F39CD514CA55DA7D861AF - E25A8ECF6E3ACD6F39CD6C35C66931BE662DB756319334912D35AE2935AF2936 - AD2A39A72B3EA02D43972F488E324E84345479374F713F000000000000000000 - 7444B66931BE6C35C56B36C5416AA14A8EBD4380AA407EA85448AE6E38CA6C35 - C56931BE593498368A3532B3282FB9272FBA2631B72734B02939A72B3F9E2E45 - 93304B8833517E36547A470000000000000000000000007B56AE6933BD5337A3 - 3775A13F85B73F88BC397DAD2C54804C288D6330B4483A762B702D31AA272EBC - 262CBA292AC0272BC02530B72736AD2A3CA22C43972F498C324F803576957200 - 00000000000000000F3C6925496D404775467DB64E9DD34E9CD24C9AD04997CE - 4493CA3360900F2E5A02355F01346022832532B12FFFFFFFFFFFFF37BD362EBC - 2634B0293BA42C42992F488D324F853F00000000000000000000000001346802 - 356A2C659555A2D755A3D854A2D753A1D6509ED44C9AD14795CC185488003366 - 0033661C742F70A173FFFFFFFFFFFFFFFFFF2FB42935AF293BA42C42992F488D - 390000000000000000000000000000000538710C3F755399CA5AA7DC5AA7DC5A - A7DB58A5DA55A3D852A0D54D9BD23B85BB003366003366226139788B94648AA6 - 5782A1607E933D7444329C263CA02D529A4A0000000000000000000000000000 - 000000000B3E7B2961915DAADE5FADE05FADE05EACDF5CAADD5AA7DC56A4D952 - A0D54C9AD0124C8000326530647F4E9BD04E9CD24C9AD04897CE4187B42B6044 - 81A8800000000000000000000000000000000000000000000E41824584B163B0 - E365B2E465B2E463B1E361AEE15DABDE5AA7DC55A3D8509ED4296B9F00336541 - 80AC55A3D854A2D752A0D6509ED44C9AD04890C2838E96000000000000000000 - 0000000000000000000000001345855699C567B4E669B6E869B6E868B5E765B2 - E561AEE15DAADE58A5DA53A1D6397FB30133654888B45AA7DC59A7DB57A5DA55 - A3D852A0D54D9BD15087AF000000000000000000000000000000000000000000 - 16488B467EA54E8BB45EA0CA6BB4E46CB8EA68B5E764B1E45FACDF5AA7DC55A2 - D7387EB30234654F91BD5FACE05EABDF5CA9DD59A7DB56A4D952A0D54C98CE85 - 929D0000000000000000000000000000000000001C4F9B1C4F9C1E50A01F4F93 - 2C5C8D4C83AA63AAD965B2E460AEE15BA8DC529DD11D588B083A6A5CA2D264B1 - E463B0E360ADE15DAADE59A7DB55A3D8509ED46488A100000000000000000000 - 00000000000000002E5EA72356AE2558B02457AF2255AB1D4F9B2555874883AA - 5DA9DB488CBE174C8004376E1F548168B3E569B5E867B4E764B1E460ADE15CA9 - DD58A5DA53A1D6598AAE00000000000000000000000000000000000000000028 - 5BB62A5DBA295CB92659B22255AB1E51A1194A8C2355851145830A3D7B053870 - 4985AF6CB7E86EBAEC6CB8EA68B4E763B0E35EABDF5AA7DB54A2D75690B90000 - 000000000000000000000000000000000000003A69BB2F62C42D60C1295CB824 - 57AE1F52A41A4D9A1548901043860B3E7C1A4D7B407A9F447A9D518AAE64A9D7 - 6AB5E764B1E460ADE15BA8DC55A2D75890B60000000000000000000000000000 - 000000000000000000003768C32E61C2295CB92457AF1F52A51A4D9B15489111 - 44861A4D82478AB54F96C34F96C34B8FBA427A9E497FA35DA4D360ADE0549CCD - 407EA74B6F850000000000000000000000000000000000000000000000000000 - 00406DBA285BB52356AC1E51A31B4E9916488E000000000000579FCC5AA2CF5A - A2CF569ECB5198C5488CB63C72944680A83E80AA3D81AC768D9C000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000065A9D164AEDC64ADDC60A9D659A1CE5097C447 - 8DB93E82AD3D82AD407BA2000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000006FB8E76EB9E768B1E05FA7D5559DCA4B91BE4086B13E81AA8EA6B600 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000A5CFE975BFEE6CB7 - E562ABD9579FCC4D93C04487B08CAABB00000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008FC0DE70ACD16DA5C888AFC90000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000} - Layout = blGlyphTop - OnClick = SpeedUserClick - OnMouseEnter = SpeedUserMouseEnter - OnMouseLeave = SpeedUserMouseLeave - ExplicitLeft = -4 - ExplicitTop = 6 - ExplicitWidth = 95 - end - object SpeedPerfil: TSpeedButton - Left = 1 - Top = 61 - Width = 98 - Height = 60 - Cursor = crHandPoint - Align = alTop - GroupIndex = 1 - Caption = '&Perfil' - Flat = True - Glyph.Data = { - 66090000424D660900000000000036000000280000001C0000001C0000000100 - 1800000000003009000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000008E40198E40198E40198E40198E40198E40198E40198E40198E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E40198E40198E40198E40198E40190000000000008E4018A24E00A2 - 4E00A24E00A24E00A24E00A24E00A24E00A24E00A24E00A24E00A24E00A24E00 - A24E00A24E00A24E00A24E00A24E00A24E00A24E00A24E00A24E00A24E00A24E - 00A24E008E4019000000000000A2511BF9F6F4B7A293B7A293B7A293B7A293B7 - A293B7A293B7A293B7A293B7A293B7A293B7A293B7A293B7A293B7A293B7A293 - B7A293B7A293B7A293B7A293B7A293B7A293B7A293B7A2939242180000000000 - 00AE5919FAF8F6F9F6F4F7F3F1F5F1EEF4EEEBF2ECE8F1EAE6EFE7E3EDE5E0EC - E3DEEBE1DBE9DED7E7DBD4E5D9D1E3D6CEE2D3CBE0D1C8DECEC5DCCBC2DBC9BF - DBC9BFDBC9BFDBC9BFB7A2938E4019000000000000B15A17FDFCFBFBF9F8F9F7 - F5F7F3F1F5F1EEF4EEEBF2ECE8F1EAE6EFE7E3EDE5E0ECE3DEEBE1DBE9DED7E7 - DBD4E5D9D1E3D6CEE2D3CBE0D1C8DECEC5DCCBC2DBC9BFDBC9BFDBC9BFB7A293 - 8E4019000000000000B45C17FEFEFDFDFCFBFBF9F8F9F7F5F8F4F2F6F2EFF5F0 - EDF3EDEAF1EBE7EFE7E3EDE5E0ECE3DEEBE1DBE9DED7E7DBD4E5D9D1E3D6CEE2 - D3CBE0D1C8DECEC5DCCBC2DBC9BFDBC9BFB7A2938E4019000000000000B75E16 - FFFFFFFEFEFDFDFCFBFBF9F8F9F7F5F8F4F2F6F2EFF5F0EDF3EDEAF1EBE7F0E8 - E4EEE6E1EDE4DFEBE2DCE9DED7B7A29369473169473169473169473169473169 - 4731694731B7A2938E4019000000000000B96016FFFFFFFFFFFFFEFEFDFDFCFB - FBF9F8F9F7F5F8F4F2F6F2EFF5F0EDF3EDEAF1EBE7F0E8E4EEE6E1EDE4DFEBE2 - DCB7A293FFFFFFFCFDFF5476FFE4E9FFFFFFFFFFFFFF694731B7A2938E401900 - 0000000000BC6215FFFFFFFFFFFFFFFFFFFEFEFDFDFCFBFBF9F8F9F7F5F8F4F2 - F6F2EFF5F0EDF3EDEAF1EBE7F0E8E4EEE6E1EDE4DFB7A293FFFFFFB4C3FF0033 - FF2450FFFCFDFFFFFFFF694731B7A2938E4019000000000000BF6415FFFFFFFF - FFFFFFFFFFFFFFFFFEFEFDFDFCFBFBF9F8F9F7F5F8F4F2F6F2EFF5F0EDF3EDEA - F1EBE7F0E8E4EEE6E1B7A293FFFFFF4066FF0C3DFF0033FF9CB0FFFFFFFF6947 - 31B7A2938E4019000000000000C06614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFDFDFCFBFBF9F8F9F7F5F8F4F2F6F2EFF5F0EDF3EDEAF1EBE7F0E8E4B7A293 - 8CA3FF0033FF708DFF6483FF1846FFF0F3FF694731B7A2938E40190000000000 - 00C36814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFCFAF9FA - F8F6F9F6F4F6F2EFF5F0EDF3EDEAF1EBE7B7A29388A0FF1C49FFE4E9FFF0F3FF - 204DFF6080FF694731B7A2938E4019000000000000C66A13FFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFCFAF9FAF8F6F9F6F4F7F3F1F5 - F1EEF4EEEBB7A293FFFFFFFFFFFFFFFFFFFFFFFF9CB0FF0C3DFF6080FFB7A293 - 8E4019000000000000C96C13FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFDFDFCFCFAF9FAF8F6F9F6F4F7F3F1F5F1EEB7A293B7A293B7 - A293B7A293B7A293B7A2939CB0FF1443FF6080FF8E4019000000000000CB6D12 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFD - FCFCFAF9FAF8F6F9F6F4F7F3F1F5F1EEF4EEEBF2ECE8F1EAE6EFE7E3EDE5E0EC - E3DE9CB0FF345DFF8E4019000000000000CB6D12FFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFCFAF9FAF8F6F9F6 - F4B7A2936947316947316947316947316947316947316947319CB0FF486DFF00 - 0000000000CB6D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFDFDFCFCFAF9FAF8F6B7A293FFFFFFFCFDFF5476 - FFE4E9FFFFFFFFFFFFFF694731B7A2939CB0FF7893FF000000CB6D12FFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFDFDFCFCFAF9B7A293FFFFFFB4C3FF0033FF2450FFFCFDFFFFFFFF6947 - 31B7A2938E4019000000000000CB6D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFDB7A293 - FFFFFF4066FF0C3DFF0033FF9CB0FFFFFFFF694731B7A2938E40190000000000 - 00CB6D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7A2938CA3FF0033FF708DFF6483FF - 1846FFF0F3FF694731B7A2938E4019000000000000CA6C11F3EDEAF3EDEAF3ED - EAF3EDEAF3EDEAF3EDEAF3EDEAF3EDEAF3EDEAF3EDEAF3EDEAF3EDEAF3EDEAF3 - EDEAF3EDEAB7A29388A0FF1C49FFE4E9FFF0F3FF204DFF6080FF694731F3EDEA - 8E4019000000000000B963038E40198E40198E40198E40198E40198E40198E40 - 198E40198E40198E40198E40198E40198E40198E40198E4019B7A293FFFFFFFF - FFFFFFFFFFFFFFFF9CB0FF0C3DFF6080FF8E40198E4019000000000000B96303 - B45C00B45C00B45C00B45C00B45C00B45C00B45C00B55B00B55B00B55B00B55B - 00B55B00B55B00B45C00B45C00B7A293B7A293B7A293B7A293B7A293B7A2939C - B0FF1443FF6080FF8E4019000000000000E3A660E38E2DE38E2DE38E2DE38E2D - E38E2DE38E2DE38E2DE38E2DE38E2DE38E2DE38E2DE38E2DE38E2DE38E2DE38E - 2DE38E2DF6CA9AF19F43E38E2DF6CA9AF19F43E38E2D9CB0FF345DFFE3A66000 - 0000000000F8EBDCE3A660D27100D27100D27100D27100D27100D27100D27100 - D27100D27100D27100D27100D27100D27100D27100D27100D27100D27100D271 - 00D27100D27100D27100D271009CB0FF486DFF00000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000009CB0FF7893FF} - Layout = blGlyphTop - OnClick = SpeedPerfilClick - OnMouseEnter = SpeedUserMouseEnter - OnMouseLeave = SpeedUserMouseLeave - ExplicitLeft = -4 - ExplicitTop = 45 - end - object SpeedLog: TSpeedButton - Left = 1 - Top = 121 - Width = 98 - Height = 60 - Cursor = crHandPoint - Align = alTop - GroupIndex = 1 - Caption = '&Log' - Flat = True - Glyph.Data = { - 66090000424D660900000000000036000000280000001C0000001C0000000100 - 1800000000003009000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000E5E0DC885D - 40694731694731885D40E5E0DC00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000E5E0DC694731B7A293B7A293B7A293B7A2936947 - 31E5E0DC00000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000E5E0DC - 694731B7A293E4D7CFE3D5CDE1D3CBE0D1C8B7A293694731E5E0DC0000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000E5E0DC694731B7A293E7DBD4E5D9D2E4D7CF - E3D5CDE1D3CBE0D1C8B7A293694731E5E0DC0000000000000000000000000000 - 00000000000000000000000000000000000000000000000000000000000000E5 - E0DC694731B7A293E9DFD9E8DDD7E7DBD4983000983000E3D5CDE1D3CBE0D1C8 - B7A293694731E5E0DC0000000000000000000000000000000000000000000000 - 00000000000000000000000000000000E5E0DC694731B7A293EDE4DFEBE2DDEA - E0DA983000C86000C86000983000E3D5CDE1D3CBE0D1C8B7A293694731E5E0DC - 0000000000000000000000000000000000000000000000000000000000000000 - 00E5E0DC694731B7A293EFE8E3EEE6E1EDE4DF983000C86000F57E46F57940C8 - 6000983000E3D6CEE1D3CBE0D1C8B7A293694731E5E0DC000000000000000000 - 000000000000000000000000000000000000E5E0DC694731B7A293F2ECE8F1EA - E6EFE8E3973000C35D00E68250E37B4AE27743E3733EBE5B00962F00E3D6CEE2 - D4CCE1D2C9B7A293694731E5E0DC000000000000000000000000000000000000 - 000000E5E0DC694731B7A293F5F0EDF3EEEBF2ECE8983000C55E00E0865ABE6F - 47AC613CAA5C37B25E35CD6838C05C00983000E3D6CEE2D4CCE1D2C9B7A29369 - 4731E5E0DC000000000000000000000000000000E5E0DC694731B7A293F6F2EF - F6F2EFF5F0ED983000C86000F49C6EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF6D - 3EEE7941C86000983000E3D6CEE2D4CCE1D2C9B7A293694731E5E0DC00000000 - 0000000000E5E0DC694731B7A293F6F2EFF9F7F5F8F5F3983000C86000F8A77B - F7A175EEA078FFFFFFFFFFFFFFFFFFAE6C4CDE7948F38048F57C43C860009830 - 00E3D6CEE2D4CCE1D2C9B7A293694731E5E0DC000000E5E0DC694731B7A293F6 - F2EFFCFBFAFBF9F8983000C86000F9B187F9AC81F8A77BF09D71FFFFFFFFFFFF - FFFFFFAA6340E3804FF68650F58149F57C43C86000983000E3D6CEE2D4CCE1D2 - C9B7A293694731E5E0DCB7A293D0BBACF6F2EFFFFFFFFDFDFDA33705C86000FA - BA93FAB58DF9B187F9AC81F0A277FFFFFFFFFFFFFFFFFFAA6644E48556F68B56 - F68650F58149F57C43C86000983000E3D6CEE2D4CCE1D2C9B7A293885D40B7A2 - 93F6F2EFFFFFFFFFFFFFC86000F68B56FBC39FFBBF99FABA93FAB58DF9B187F1 - A77DFFFFFFFFFFFFFFFFFFAA6948E4885BF7905DF68B56F68650F58149F57C43 - C86000983000E4D7CFE3D5CDB7A293694731D0BBACFFFFFFFFFFFFFFFFFFC860 - 00FBC39FFBC39FFBC39FFBC19CFBBD96F9B78FEBA882FFFFFFFFFFFFFFFFFFAA - 6E4EE48F64F79766F79260F68D59F68853F6834DC86000983000E5D9D2E4D7CF - B7A293694731D0BBACF6F2EFFFFFFFFFFFFFFFFFFFC86000FBC39FFBC39FFBC3 - 9FFBC19CF7BA94E2A987FFFFFFFFFFFFFFFFFFAD7354E6946AF79B6CF79766F7 - 9260F68D59C86000983000E8DDD7E7DBD4E5D9D2B7A293885D40ECE4DED0BBAC - F6F2EFFFFFFFFFFFFFFFFFFFC86000FBC39FFBC39FFBC39FF8BF9AFFFFFFFFFF - FFFFFFFFFFFFFFC08361E99B71F8A072F79B6CF79766C86000983000EBE1DCE9 - DFD9E8DDD7B7A293694731E5E0DC000000ECE4DED0BBACF6F2EFFFFFFFFFFFFF - FFFFFFC86000FBC39FFBC39FFAC29EF7C29FF0C2A6ECCEBCF8EFE9DA9873F1A5 - 7AF8A578F8A072C86000983000EDE5E0ECE3DEEBE1DCB7A293694731E5E0DC00 - 0000000000000000ECE4DED0BBACF6F2EFFFFFFFFFFFFFFFFFFFC86000FBC39F - FBC39FF8C19DE5B08FC49375B8886AD29674F0A87FF9AA7EC86000983000F1EA - E6EFE8E3EEE6E1B7A293694731E5E0DC000000000000000000000000000000EC - E4DED0BBACF6F2EFFFFFFFFFFFFFFFFFFFC86000FBC39FF5BE9BEDD7C9FFFFFF - D0BFB4BD8B6DECA982C86000983000F3EEEBF2ECE8F1EAE6B7A293694731E5E0 - DC000000000000000000000000000000000000000000ECE4DED0BBACF6F2EFFF - FFFFFFFFFFFFFFFFC86000F6BF9CFFFFFFFFFFFFFFFFFFC79677BF5B00983000 - F6F2EFF5F0EDF3EEEBB7A293694731E5E0DC0000000000000000000000000000 - 00000000000000000000000000ECE4DED0BBACF6F2EFFFFFFFFFFFFFFFFFFFC6 - 5F00F8E0D0FFFFFFEDD7C9B85800952F00F9F6F4F7F4F2F6F2EFB7A293694731 - E5E0DC0000000000000000000000000000000000000000000000000000000000 - 00000000ECE4DED0BBACF6F2EFFFFFFFFFFFFFFFFFFFC65F00F6BF9CF0885496 - 2F00FAF9F8FAF8F7F6F2EFB7A293694731E5E0DC000000000000000000000000 - 000000000000000000000000000000000000000000000000000000ECE4DED0BB - ACF6F2EFFFFFFFFFFFFFFFFFFFC86000C86000FFFFFFFDFDFDF6F2EFB7A29369 - 4731E5E0DC000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000ECE4DED0BBACF6F2EFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFF6F2EFB7A293694731E5E0DC00000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000ECE4DEE2C0B1F6F2EFFFFFFFFFFFFFFFFFFFF6F2EFB7A2 - 93694731E5E0DC00000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - ECE4DED0BBACF6F2EFFFFFFFF6F2EFD0BBAC694731E5E0DC0000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000ECE4DED0BBACD0BBAC - B7A293B7A293E5E0DC0000000000000000000000000000000000000000000000 - 00000000000000000000} - Layout = blGlyphTop - OnClick = SpeedLogClick - OnMouseEnter = SpeedUserMouseEnter - OnMouseLeave = SpeedUserMouseLeave - ExplicitLeft = -4 - ExplicitTop = 115 - end - object SpeedUserLog: TSpeedButton - Left = 1 - Top = 181 - Width = 98 - Height = 60 - Cursor = crHandPoint - Align = alTop - GroupIndex = 1 - Caption = 'Usu'#225'rios Logados' - Flat = True - Glyph.Data = { - 66090000424D660900000000000036000000280000001C0000001C0000000100 - 18000000000030090000C40E0000C40E00000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000084 - C6E70000000000000000000000000000000000000000000000000000006B8C73 - 5A845A527B4A4A7B4A4A7B4A4A7B424A7B4A4A7B4A4A7B4A527B52527B525A7B - 5A637B6B7B8C7BA5A5A50000000000009CD6EF7BE7F77BB5D600000000000000 - 00000000000000000000004A73394A7B314A84314A8C314A8C31429431429429 - 429429429C294294294294314294314A8C314A8C3163BDDEB5CEDE4A8C31527B - 310000007BB5CE52CEE7317BAD7B737B847373ADADAD0000000000005A733952 - 7B314A84314A8C31429431429429429C29399C2939A52939A52939A529399C29 - 429C294294319CD6EF7BEFF7398CBD8C8C9494737B94636373637321A5D6297B - AD845A63945252846B6B000000000000527B315284314A8C31429431429C2939 - 9C2939A52939AD2931AD2931AD2939AD2939A52939A529429C2994B5C642BDE7 - 1884BD846B7BBD6B6BB56B63AD636B42ADD6318CBD8C5A639C5A5A7352520000 - 00000000527B314A84314A8C31429429399C2939A52931AD2931B52931B52931 - B52931B52931AD2939AD2939AD29B573734294C6299CCE846B84C66B6BBD6B6B - B56B6B6384A55284A5A56363A55A5A845252000000000000527B314A8C314294 - 31429C2939A52931AD2931B52929BD2129BD2129BD2129BD2131B52131AD29CE - 9C9CDE7B7B7B8CA542ADD6947384CE7373C66B6BBD6B6BB56363A55A5AA56363 - AD73739473730000000000005284314A8C31429431399C2939A52931AD2931BD - 2129BD2131B53129BD2929C62129BD2131B529CEADADE77B7BD67B7B947B8CBD - 7373BD7373B57373B58484C6A5A5DEB5B5DEBDBDDEBDBD9C8484000000000000 - 5A944A4A8C31429431399C2939AD2931B52929BD214AA54AFFFFFFFFFFFF42BD - 4229C62131B52139AD29B57B7BCEA5A5D6BDBDDEC6C6E7CECEE7C6C6DEB5B5DE - A5A5DEB5B5E7C6C6D6ADADB59C9C0000000000000000004A8C39429431399C29 - 39AD2931B52929AD29FFFFFFFFFFFFFFFFFFFFFFFF31B53131B52131AD29C69C - 9CF7EFEFF7DEDEE7B5B5E7B5B5E7BDBDEFCECEEFD6D6E7CECEE7C6C6B58C8C00 - 00000000000000000000000000004A9C42429C2939A52931AD29528C529C9C9C - 7B8C946B7B8C737B845A7B5A299C2139AD2939AD29C6A5A5E7D6D6F7E7E7EFDE - DEE7B5B5DEADADE7B5B5D6BDBDBD949400000000000000000000000000000000 - 00000000007BB57B399C293194314A7B944A94C64A9CCE4A94CE4294CE427BA5 - 215231297B214A9C42000000DEC6C6C6ADADC6A5A5CEA5A5BD9C9CA584848C7B - 7B0000000000000000000000000000000000000000000000000000000000004A - 94AD52A5D652A5D6529CD64A9CD64A9CD64A94CE428CBD426363000000000000 - 000000000000000000000000ADB5B5A5A5A57373730000000000000000000000 - 0000000000000000000000000000000073ADD652A5DE52A5DE52A5DE52A5DE52 - A5D652A5D64A9CD64A9CD6428CC6737B84000000000000000000D6D6D6ADADAD - 8C9494B5B5B58C94940000000000000000000000000000000000000000000000 - 000000005AA5DE5AADDE5AADDE5AADDE5AA5DE5AA5DE52A5DE52A5D6529CD64A - 9CD64A7BA50000000000000000009C9C9CBDBDBDB5B5B5B5B5B5000000000000 - 0000000000000000000000000000000000000000005AA5D65AADDE5AADE75AAD - E75AADE75AADDE5AADDE5AA5DE52A5DE52A5D6529CD64A94CE00000000000000 - 0000ADB5B5C6C6C6000000000000000000000000000000000000000000000000 - 00000000000000000063ADE763ADE763B5E763B5E763B5E763ADE75AADE75AAD - DE5AA5DE52A5DE52A5D64A9CD65A7B9400000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000007BB5DE63B5E7 - 63B5E763B5E76BB5E763B5E763B5E763B5E763ADE75AADDE5AA5DE52A5DE529C - D64A84AD00000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000063ADDE63B5E76BB5EF6BB5EF6BBDEF6BB5EF - 6BB5EF63B5E763ADE75AADE75AADDE52A5DE52A5D64A8CBD0000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000063ADDE5294BD528CB55A9CCE6BB5E76BBDEF6BBDEF6BB5E763B5E763ADE7 - 5AADDE5AA5DE52A5D64A94C60000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000004A8CBD4284AD4284AD39 - 7B9C39738C4A7BA563A5D66BB5E763B5E763ADE75AADDE5AA5DE52A5D64A8CB5 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000005294BD4A94C64A94C65294C64A94C64A8CB539739442 - 73945A9CCE63ADE75AADDE4A8CBD39739C39637B000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00529CCE5AA5CE5AA5CE529CCE529CCE4A94C6428CB5396B8C427B9C4284B539 - 7BAD3984AD5A7B8C000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000005AA5D663ADDE63ADDE5AAD - D65AA5D6529CCE4A94C6428CBD397BA5397BAD3984AD397BA500000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000007BB5D66BB5E76BB5E763B5DE63ADDE5AA5D6529CC64A94 - BD428CB53984AD3984AD63849C00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 73BDE773BDEF6BBDEF63B5DE5AA5D6529CCE4A94C6428CB53984AD5284A50000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000007BBDEF73BDEF6BB5E7 - 63ADD65AA5CE4A94C6428CB56B94B50000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000084BDDE73ADCE73A5C6000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000} - Layout = blGlyphTop - OnClick = SpeedUserLogClick - OnMouseEnter = SpeedUserMouseEnter - OnMouseLeave = SpeedUserMouseLeave - ExplicitLeft = -4 - ExplicitTop = 301 - end - end - object Panel3: TPanel - Left = 100 - Top = 41 - Width = 592 - Height = 465 - Align = alClient - BevelOuter = bvNone - TabOrder = 2 - end -end diff --git a/internal/2.31RC1/1/Source/pUCGeral.pas b/internal/2.31RC1/1/Source/pUCGeral.pas deleted file mode 100644 index bcceedf..0000000 --- a/internal/2.31RC1/1/Source/pUCGeral.pas +++ /dev/null @@ -1,217 +0,0 @@ -unit pUCGeral; - -interface - -uses - Buttons, - Classes, - ComCtrls, - Controls, - DB, - DBGrids, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Grids, - Messages, - StdCtrls, - SysUtils, - UcBase, - Variants, - Windows; - -type - TFormUserPerf = class(TForm) - Panel1: TPanel; - LbDescricao: TLabel; - Image1: TImage; - Panel2: TPanel; - SpeedUser: TSpeedButton; - SpeedPerfil: TSpeedButton; - Panel3: TPanel; - SpeedLog: TSpeedButton; - SpeedUserLog: TSpeedButton; - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure FormShow(Sender: TObject); - procedure SpeedUserClick(Sender: TObject); - procedure SpeedPerfilClick(Sender: TObject); - procedure SpeedLogClick(Sender: TObject); - procedure SpeedUserLogClick(Sender: TObject); - procedure SpeedUserMouseEnter(Sender: TObject); - procedure SpeedUserMouseLeave(Sender: TObject); - procedure FormKeyPress(Sender: TObject; var Key: Char); - procedure FormDestroy(Sender: TObject); - protected - FrmFrame: TCustomFrame; - private - { Private declarations } - public - FUsercontrol: TUserControl; - { Public declarations } - end; - -var - FormUserPerf: TFormUserPerf; - -implementation - -uses - pUCFrame_Log, - pUcFrame_Profile, - pUcFrame_User, - pUcFrame_UserLogged, - UCMessages; - -{$R *.dfm} - - { --------------------------------------------------------------------------- } - { FORM } - -procedure TFormUserPerf.FormClose(Sender: TObject; var Action: TCloseAction); -begin - if Assigned(FrmFrame) then - FreeAndNil(FrmFrame); - Action := caFree; -end; - -procedure TFormUserPerf.FormDestroy(Sender: TObject); -begin - FreeAndNil( FrmFrame ); -end; - -procedure TFormUserPerf.FormKeyPress(Sender: TObject; var Key: Char); -begin - if key = #27 then - Close; -end; - -procedure TFormUserPerf.FormShow(Sender: TObject); -begin - with FUsercontrol do - begin - FUsercontrol.CurrentUser.PerfilUsuario := DataConnector.UCGetSQLDataset( - Format('Select %s as IdUser, %s as Login, %s as Nome, %s as Email, %s as Perfil, %s as Privilegiado, %s as Tipo, %s as Senha, %s as UserNaoExpira, %s as DaysOfExpire , %s as UserInative from %s Where %s = %s ORDER BY %s', [TableUsers.FieldUserID, TableUsers.FieldLogin, TableUsers.FieldUserName, TableUsers.FieldEmail, TableUsers.FieldProfile, TableUsers.FieldPrivileged, TableUsers.FieldTypeRec, TableUsers.FieldPassword, TableUsers.FieldUserExpired, TableUsers.FieldUserDaysSun, TableUsers.FieldUserInative, TableUsers.TableName, TableUsers.FieldTypeRec, QuotedStr('U'), TableUsers.FieldLogin])); - - FUsercontrol.CurrentUser.PerfilGrupo := DataConnector.UCGetSQLDataset( - Format('Select %s as IdUser, %s as Login, %s as Nome, %s as Tipo from %s Where %s = %s ORDER BY %s', - [TableUsers.FieldUserID, TableUsers.FieldLogin, TableUsers.FieldUserName, TableUsers.FieldTypeRec, - TableUsers.TableName, TableUsers.FieldTypeRec, QuotedStr('P'), TableUsers.FieldUserName])); - end; - SpeedPerfil.Visible := FUsercontrol.UserProfile.Active; - SpeedLog.Visible := FUsercontrol.LogControl.Active; - SpeedUserLog.Visible := FUsercontrol.UsersLogged.Active; - - SpeedUserClick(Sender); - Caption := FUsercontrol.UserSettings.UsersForm.WindowCaption; - - SpeedUser.Caption := FUsercontrol.UserSettings.Log.ColUser; - SpeedPerfil.Caption := FUsercontrol.UserSettings.UsersProfile.ColProfile; - SpeedUserLog.Caption := FUsercontrol.UserSettings.UsersLogged.LabelDescricao; - -end; - -procedure TFormUserPerf.SpeedPerfilClick(Sender: TObject); -begin - if FrmFrame is TFrame_Profile then - Exit; - if Assigned(FrmFrame) then - FreeAndNil(FrmFrame); - - FrmFrame := TFrame_Profile.Create(Self); - TFrame_Profile(FrmFrame).DataPerfil.DataSet := FUsercontrol.CurrentUser.PerfilGrupo; - TFrame_Profile(FrmFrame).BtnClose.ModalResult := mrOk; - TFrame_Profile(FrmFrame).Height := Panel3.Height; - TFrame_Profile(FrmFrame).Width := Panel3.Width; - TFrame_Profile(FrmFrame).FDataSetPerfilUsuario := FUsercontrol.CurrentUser.PerfilGrupo; - TFrame_Profile(FrmFrame).FUsercontrol := FUsercontrol; - TFrame_Profile(FrmFrame).DbGridPerf.Columns[0].Title.Caption := FUsercontrol.UserSettings.UsersProfile.ColProfile; - with FUsercontrol.UserSettings.UsersProfile, TFrame_Profile(FrmFrame) do - begin - lbDescricao.Caption := LabelDescription; - BtnAddPer.Caption := BtAdd; - BtnAltPer.Caption := BtChange; - BtnExcPer.Caption := BtDelete; - BtnAcePer.Caption := BtRights; - BtnClose.Caption := BtClose; - end; - FrmFrame.Parent := Panel3; -end; - -procedure TFormUserPerf.SpeedUserClick(Sender: TObject); -begin - if FrmFrame is TUCFrame_User then - Exit; - - if Assigned(FrmFrame) then - FreeAndNil(FrmFrame); - - FrmFrame := TUCFrame_User.Create(Self); - TUCFrame_User(FrmFrame).FDataSetCadastroUsuario := FUsercontrol.CurrentUser.PerfilUsuario; - TUCFrame_User(FrmFrame).DataUser.DataSet := TUCFrame_User(FrmFrame).FDataSetCadastroUsuario; - TUCFrame_User(FrmFrame).DataPerfil.DataSet := FUsercontrol.CurrentUser.PerfilGrupo; - TUCFrame_User(FrmFrame).BtnClose.ModalResult := mrOk; - TUCFrame_User(FrmFrame).FUsercontrol := FUsercontrol; - TUCFrame_User(FrmFrame).Height := Panel3.Height; - TUCFrame_User(FrmFrame).Width := Panel3.Width; - TUCFrame_User(FrmFrame).SetWindow; - lbDescricao.Caption := FUsercontrol.UserSettings.UsersForm.LabelDescription; - - FrmFrame.Parent := Panel3; -end; - -procedure TFormUserPerf.SpeedUserLogClick(Sender: TObject); -begin - if FrmFrame is TUCFrame_UsersLogged then - Exit; - - if Assigned(FrmFrame) then - FreeAndNil(FrmFrame); - - FrmFrame := TUCFrame_UsersLogged.Create(Self); - lbDescricao.Caption := FUsercontrol.UserSettings.UsersLogged.LabelDescricao; - TUCFrame_UsersLogged(FrmFrame).FUsercontrol := FUsercontrol; - TUCFrame_UsersLogged(FrmFrame).SetWindow; - TUCFrame_UsersLogged(FrmFrame).Height := Panel3.Height; - TUCFrame_UsersLogged(FrmFrame).Width := Panel3.Width; - TUCFrame_UsersLogged(FrmFrame).BtExit.ModalResult := mrOk; - FrmFrame.Parent := Panel3; -end; - -procedure TFormUserPerf.SpeedUserMouseEnter(Sender: TObject); -begin - with TSpeedButton(Sender) do - begin - Font.Style := [fsUnderline]; - Cursor := crHandPoint; - end; -end; - -procedure TFormUserPerf.SpeedUserMouseLeave(Sender: TObject); -begin - with TSpeedButton(Sender) do - begin - Font.Style := []; - Cursor := crDefault; - end; -end; - -procedure TFormUserPerf.SpeedLogClick(Sender: TObject); -begin - if FrmFrame is TUCFrame_Log then - Exit; - - if Assigned(FrmFrame) then - FreeAndNil(FrmFrame); - - FrmFrame := TUCFrame_Log.Create(Self); - lbDescricao.Caption := FUsercontrol.UserSettings.Log.LabelDescription; - TUCFrame_Log(FrmFrame).FUsercontrol := FUsercontrol; - TUCFrame_Log(FrmFrame).SetWindow; - TUCFrame_Log(FrmFrame).Height := Panel3.Height; - TUCFrame_Log(FrmFrame).Width := Panel3.Width; - TUCFrame_Log(FrmFrame).btfecha.ModalResult := mrOk; - FrmFrame.Parent := Panel3; -end; - -end. diff --git a/internal/2.31RC1/1/Source/pUcFrame_UserLogged.dfm b/internal/2.31RC1/1/Source/pUcFrame_UserLogged.dfm deleted file mode 100644 index 7ad72cb..0000000 --- a/internal/2.31RC1/1/Source/pUcFrame_UserLogged.dfm +++ /dev/null @@ -1,222 +0,0 @@ -object UCFrame_UsersLogged: TUCFrame_UsersLogged - Left = 0 - Top = 0 - Width = 320 - Height = 240 - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - ParentFont = False - TabOrder = 0 - TabStop = True - object DBGrid: TDBGrid - Left = 0 - Top = 0 - Width = 320 - Height = 192 - Align = alClient - DataSource = dsDados - Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit] - ReadOnly = True - TabOrder = 0 - TitleFont.Charset = DEFAULT_CHARSET - TitleFont.Color = clWindowText - TitleFont.Height = -11 - TitleFont.Name = 'MS Sans Serif' - TitleFont.Style = [] - Columns = < - item - Expanded = False - FieldName = 'UserName' - Title.Alignment = taCenter - Title.Caption = 'Nome' - Width = 159 - Visible = True - end - item - Expanded = False - FieldName = 'Login' - Title.Alignment = taCenter - Width = 123 - Visible = True - end - item - Expanded = False - FieldName = 'MACHINENAME' - Title.Alignment = taCenter - Title.Caption = 'Computador' - Width = 150 - Visible = True - end - item - Expanded = False - FieldName = 'DATA' - Title.Alignment = taCenter - Title.Caption = 'Data' - Width = 130 - Visible = True - end> - end - object Panel3: TPanel - Left = 0 - Top = 192 - Width = 320 - Height = 48 - Align = alBottom - BevelOuter = bvNone - TabOrder = 1 - DesignSize = ( - 320 - 48) - object BtExit: TBitBtn - Left = 212 - Top = 11 - Width = 95 - Height = 25 - Anchors = [akTop, akRight] - Caption = '&Fechar' - TabOrder = 2 - Glyph.Data = { - 36060000424D3606000000000000360000002800000020000000100000000100 - 18000000000000060000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40198E40198E40198E40 - 198E40198E4019FF00FF8888886969696969696969696969696969696A6A6A69 - 69696969696969696A6A6A6969696969696A6A6A696969FF00FFC06614F9F5F4 - C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2A5C3B2 - A5C3B2A58E4019FF00FF888888F8F8F8C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6 - C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6C6696969FF00FFC06614FCFAFA - F9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCDFD0C7DFD0C7DCCB - C1C3B2A58E4019FF00FF888888FCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEAEAEAE7 - E7E7E4E4E4E0E0E0DDDDDDDDDDDDD9D9D9C6C6C6696969FF00FFC06614FFFFFF - FCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E2D4CCE2D4CCDFD0 - C7C3B2A58E4019FF00FF888888FFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EEEEEEEA - EAEAE7E7E7E3E3E3E0E0E0E0E0E0DDDDDDC6C6C6696969FF00FFC06614FFFFFF - FFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E5D9D1E5D9D1E2D4 - CCC3B2A58E4019FF00FF888888FFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1F1F1EE - EEEEEAEAEAE7E7E7E3E3E3E3E3E3E0E0E0C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFCFAFAF9F5F4F5F0EEF2EBE8EEE6E2ECE2DCE9DED7E9DED7E5D9 - D1C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFCFCFCF8F8F8F5F5F5F1 - F1F1EEEEEEEAEAEAE7E7E7E7E7E7E3E3E3C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F2EBE8EEE6E2ECE2DCECE2DCE9DE - D7C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF7 - F7F7F1F1F1EEEEEEEAEAEAEAEAEAE7E7E7C6C6C6696969FF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF0E9E5F0E9E5EDE4 - DFC3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFB - FBFBF7F7F7F3F3F3F0F0F0F0F0F0ECECECC6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F7F7F3F1F4EEEBF4EEEBF0E9 - E5C3B2A58E4019FF00FF888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE - FEFEFBFBFBF7F7F7F3F3F3F3F3F3F0F0F0C6C6C66A6A6AFF00FFC06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFDFBF8F78A9DE92546CD1D3F - C9193BC8183BC88194E1898989FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFEFEFAFAFAC6C6C6979797929292929292929292C0C0C0C06614FFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFD3355DBF2F4FD4E6B - D94A67D8F2F4FD183BC8888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFEFEFEA1A1A1FAFAFAAAAAAAA8A8A8F9F9F9929292C066148E4019 - 8E40198E40198E40198E40198E40198E40198E40198E40193C5CDD8296E4D9DF - F9CDD5F74C69D81A3CC88888886969696969696969696A6A6A69696969696969 - 6969696969696969A5A5A5C1C1C1EDEDEDE7E7E7A8A8A8929292C06614ED9733 - ED9733ED9733ED9733ED9733ED9733ED9733F6CA9AED97334563E16980E2E4E8 - FBD8DEF9516DDA1F40C9888888ACACACACACACADADADADADADADADADACACACAD - ADADD5D5D5ADADADA8A8A8B6B6B6F2F2F2ECECECABABAB939393F810DCC06614 - C06614C06614C06614C06614C06614C06614C06614C066144D6AE3F2F4FD667D - E26E85E2F2F4FD2749CEEF14EF88888888888888888888888889898988888888 - 8888888888898989ACACACF9F9F9B5B5B5B9B9B9F9F9F9989898FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9AABEF4D6AE34563 - E14463DF3E5EDE8FA2EBFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFCFCFCFACACACA8A8A8A8A8A8A6A6A6C9C9C9} - NumGlyphs = 2 - end - object BitMsg: TBitBtn - Left = 12 - Top = 11 - Width = 95 - Height = 25 - Anchors = [akTop, akRight] - Caption = '&Mensagem' - TabOrder = 0 - OnClick = BitMsgClick - Glyph.Data = { - 42020000424D4202000000000000420000002800000010000000100000000100 - 1000030000000002000000000000000000000000000000000000007C0000E003 - 00001F0000001F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CD3001F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7CD300D300 - 1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C1F7C9A19D300D300D3003B32 - D3001F7C1F7CD8520D190D190D190D190D190D1915369A19FE4ABF429D3E5C36 - 3B32D3001F7CD8521A5F964A964A964A964A964A964A9A191F53DF46BF429D3E - 5C365B32D300D852964A3B5F3B5F3B5F3B5F3B5F3B5F9A191F531F53BF429D3E - 9D3ED3001F7CD8527C6B964A7D6B7D6B7D6B7D6B7D6B9A199A199A199A19DF46 - D3001F7C1F7CD8529D739D73964ADF7BDF7BDF7BDF7BDF7BDF7BDF7B9A19D300 - 964A1F7C1F7CD852DF7BDF7B964A964AFF7FFF7FFF7FFF7F1536964AD3007C6B - 0D191F7C1F7CD852FF7F964AB97F977F964A964A964A964A0D7FEA7E964A964A - 0D191F7C1F7CD852964ADB7FDB7FB97F977F757F537F517F2F7F0D7FEA7E1536 - 0D191F7C1F7CD852DB7FDB7FDB7FDB7FB97F977F757F537F517F2F7F0D7FEA7E - 0D191F7C1F7C1F7CD852DB7FDB7FDB7FDB7FB97F977F757F537F517F2F7F4E21 - 1F7C1F7C1F7C1F7C1F7CD856DB7FDB7FDB7FDB7FB97F977F757F537F0D191F7C - 1F7C1F7C1F7C1F7C1F7C1F7CD852DB7FDB7FDB7FDB7FB97F977F0D191F7C1F7C - 1F7C1F7C1F7C1F7C1F7C1F7C1F7CD852D852D852D852D852D8521F7C1F7C1F7C - 1F7C1F7C1F7C} - end - object BitRefresh: TBitBtn - Left = 111 - Top = 11 - Width = 95 - Height = 25 - Anchors = [akTop, akRight] - Caption = '&Atualizar' - TabOrder = 1 - OnClick = BitRefreshClick - Glyph.Data = { - 36050000424D3605000000000000360400002800000010000000100000000100 - 0800000000000001000000000000000000000001000000010000FF00FF000029 - 6A00002F790000307B0000317E00003382000035870000399200003A95000040 - A3000041A5000044AF00004BC000004CC200004DC500004FCA000050CD000052 - D1000053D4000054D700065AD1000055D9000056DD000058E100005AE600005B - E900005CEB00005DEE00005EF0000060F6000669F6000062F9000065FF000268 - FF00056BFF00066CFF00086EFF000A70FF000C72FF000F75FF001070F2001378 - FF001479FF00197DFF001E80FF002880EE002585FF002A88FF00328EFF003590 - FF003D95FF004592ED004596F6004097FF004598FB00469AFF00499DFF0050A0 - FF0056A4FF005AA6FF005CA7FF0066A3E90066A9F50060AAFF0066ACFF0069AF - FF006CB1FF0072B4FF0074B5FF007FBBFF007FBCFF0088B8EE0081BCFF008AC1 - FF008FC4FF009FCEFF00A3CFFF00ADD5FF00B7DAFF00EAF3FC00EAF4FF00EDF6 - FF00FFFFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000808060402020202020202010000000C1715110C - 0C0C0C0C0C0C0C0A01000015211F1C1B171115111515150F0200001C21211E3E - 5252523D1410150C0400001C27244950342D33504710150C0200001C2E2A5238 - 1F1C1C335211150C0200001C372C523138521F283E15150C0400001C3C2F504C - 425252371B1B1B0F0600001C41303F52525252524D1C1B110800001C44322E38 - 4E52524B2A1F1F1B0A00001C48392F2E465235271F21211B0B00001C49463F3C - 37312E2A2721271F0C00001C3F494948443C312C2727212110000000242B2B2B - 2A271F1F1F1C1C15000000000000000000000000000000000000} - end - end - object dsDados: TDataSource - Left = 132 - Top = 144 - end -end diff --git a/internal/2.31RC1/1/Source/pUcFrame_UserLogged.pas b/internal/2.31RC1/1/Source/pUcFrame_UserLogged.pas deleted file mode 100644 index 5670b63..0000000 --- a/internal/2.31RC1/1/Source/pUcFrame_UserLogged.pas +++ /dev/null @@ -1,130 +0,0 @@ -unit pUcFrame_UserLogged; - -interface - -{$I 'UserControl.inc'} - -uses -{$IFDEF DELPHI5} -{$ELSE} - Variants, -{$ENDIF} - Buttons, - Classes, - Controls, - DB, - DBGrids, - Dialogs, - ExtCtrls, - Forms, - Graphics, - Grids, - IncUser_U, - Menus, - Messages, - StdCtrls, - SysUtils, - UCBase, - Windows; - -type - TUCFrame_UsersLogged = class(TFrame) - dsDados: TDataSource; - DBGrid: TDBGrid; - Panel3: TPanel; - BtExit: TBitBtn; - BitMsg: TBitBtn; - BitRefresh: TBitBtn; - procedure BitRefreshClick(Sender: TObject); - procedure BitMsgClick(Sender: TObject); - private - DSUserLogados: TDataset; - UCMes: TUCApplicationMessage; - public - FUserControl: TUserControl; - procedure SetWindow; - destructor Destroy; override; - end; - -implementation - -uses - UCMessages; - -{$R *.dfm} - -procedure TUCFrame_UsersLogged.SetWindow; -var - SQLStmt: String; - I: Integer; - Form: TForm; -begin - UCMes := nil; - Form := Application.MainForm; - for I := 0 to Form.ComponentCount - 1 do - if (Form.Components[I] is TUCApplicationMessage) then - UCMes := TUCApplicationMessage(Form.Components[I]); - BitMsg.Visible := UCMES <> nil; - - - with FUserControl do - begin - SQLStmt := - 'SELECT U.' + TableUsers.FieldUserName + ' AS UserName,' + - ' U.' + TableUsers.FieldUserId + ' AS id, ' + - ' U.' + TableUsers.FieldLogin + ' AS Login,' + - ' L.' + TableUsersLogged.FieldMachineName + ' AS MachineName,' + - ' L.' + TableUsersLogged.FieldData + ' AS DATA ' + - 'FROM ' + TableUsersLogged.TableName + ' L ' + - ' INNER JOIN ' + TableUsers.TableName + ' U ON U.' + TableUsers.FieldUserID + ' = L.' + TableUsersLogged.FieldUserID + - ' LEFT JOIN ' + TableUsers.TableName + ' P ON P.' + TableUsers.FieldUserID + ' = U.' + TableUsers.FieldProfile + ' ' + - 'WHERE L.' + TableUsersLogged.FieldApplicationID + ' = ' + QuotedStr(ApplicationID); - - DSUserLogados := DataConnector.UCGetSQLDataset(SQLStmt); - - with UserSettings.UsersLogged do - begin - Caption := LabelCaption; - BitMsg.Caption := BtnMessage; - BitRefresh.Caption := BtnRefresh; - BtExit.Caption := BtnClose; - - DBGrid.Columns[0].Title.Caption := ColName; - DBGrid.Columns[1].Title.Caption := ColLogin; - DBGrid.Columns[2].Title.Caption := ColComputer; - DBGrid.Columns[3].Title.Caption := ColData; - end; - - end; - dsDados.Dataset := DSUserLogados; -end; - -procedure TUCFrame_UsersLogged.BitRefreshClick(Sender: TObject); -begin - try - Screen.Cursor := crHourGlass; - dsDados.DataSet.Close; - dsDados.DataSet.Open; - finally - Screen.Cursor := crDefault; - end; -end; - -destructor TUCFrame_UsersLogged.Destroy; -begin - FreeAndNil(DSUserLogados); - FreeAndNil(UCMes); - inherited; -end; - -procedure TUCFrame_UsersLogged.BitMsgClick(Sender: TObject); -var - Msg: String; -begin - if Assigned(UcMes) then - if InputQuery(fUserControl.UserSettings.UsersLogged.InputText, fUserControl.UserSettings.UsersLogged.InputCaption, Msg) = True then - UcMes.SendAppMessage(dsDados.DataSet.FieldValues['id'], fUserControl.UserSettings.UsersLogged.MsgSystem, Msg); -end; - -end. - diff --git a/internal/2.31RC1/1/UCHistorico/GHistorico.bdsgroup b/internal/2.31RC1/1/UCHistorico/GHistorico.bdsgroup deleted file mode 100644 index fbbb0b2..0000000 --- a/internal/2.31RC1/1/UCHistorico/GHistorico.bdsgroup +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - pckHistorico.bdsproj - pckHistorico.bpl - - - - diff --git a/internal/2.31RC1/1/UCHistorico/GHistorico.groupproj b/internal/2.31RC1/1/UCHistorico/GHistorico.groupproj deleted file mode 100644 index e8e997d..0000000 --- a/internal/2.31RC1/1/UCHistorico/GHistorico.groupproj +++ /dev/null @@ -1,31 +0,0 @@ - - - {db54d477-5fdc-4df2-8d4f-9ea1d372aaf4} - - - - - Default.Personality - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/internal/2.31RC1/1/UCHistorico/UCHistDataset.pas b/internal/2.31RC1/1/UCHistorico/UCHistDataset.pas deleted file mode 100644 index 46bcd4f..0000000 --- a/internal/2.31RC1/1/UCHistorico/UCHistDataset.pas +++ /dev/null @@ -1,266 +0,0 @@ -unit UCHistDataset; - -interface - - uses SysUtils, Classes, UCHist_Type,UCHist_Base,Forms, Db, UCConsts_Language; - -Type - TUCHist_DataSet = class(TComponent) - private - fDataSet: TDataSet; - fOnNewRecord , - fOnBeforeDelete , - fOnBeforeEdit , - fOnAfterPost : TDataSetNotifyEvent; - fOptions: TUCHistOptions; - fControl: TUCControlHistorico; - procedure SetDataSet(const Value: TDataSet); - procedure SetfControl(const Value: TUCControlHistorico); - { Private declarations } - protected - DataSetInEdit : Boolean; - AFields : Array of Variant; - procedure NewRecord(DataSet: TDataSet); - procedure BeforeDelete(DataSet: TDataSet); - procedure BeforeEdit(DataSet: TDataSet); - procedure AfterPost(DataSet: TDataSet); - procedure AddHistory( AppID , Form , FormCaption, Event , Obs , TableName : String; UserId : Integer ); - Function GetValueFields : String; - procedure Loaded; override; - procedure Notification(AComponent: TComponent; AOperation: TOperation);override; - { Protected declarations } - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - { Public declarations } - published - { Published declarations } - Property DataSet : TDataSet Read fDataSet Write SetDataSet; - Property ControlHistorico : TUCControlHistorico read fControl write SetfControl; - end; - -implementation - - -procedure TUCHist_DataSet.AddHistory(AppID, Form, FormCaption, Event, Obs, - TableName: String; UserId: Integer); -begin - If fControl.Active then - fControl.UserControl.DataConnector.UCExecSQL - ( - Format('INSERT INTO %s VALUES( %s, %d , %s , %s , %s , %s ,%s ,%s , %s )', - [ fControl.TableHistory.TableName , - QuotedStr(AppID), - UserID, - QuotedStr( FormatDateTime('dd/mm/yyyy',date) ), - QuotedStr( FormatDateTime('hh:mm:ss',time) ), - QuotedStr( Form ), - QuotedStr( FormCaption ), - QuotedStr( Event ), - QuotedStr( Obs ) , - QuotedStr( TableName ) - ])); -end; - -procedure TUCHist_DataSet.AfterPost(DataSet: TDataSet); -begin - If Assigned( fOnAfterPost ) then - fOnAfterPost( DataSet ); - - If ( ( DataSetInEdit = False ) and ( fControl.Options.SavePostInsert ) ) then // quando inserindo - AddHistory(fControl.UserControl.ApplicationID, - Screen.ActiveCustomForm.Name , - Screen.ActiveCustomForm.Caption , - fControl.HistoryMsg.Evento_Insert, - GetValueFields, - DataSet.Name, - fControl.UserControl.CurrentUser.UserID); - - If ( ( DataSetInEdit = True ) and ( fControl.Options.SavePostEdit ) ) then // quando editando - AddHistory(fControl.UserControl.ApplicationID, - Screen.ActiveCustomForm.Name , - Screen.ActiveCustomForm.Caption , - fControl.HistoryMsg.Evento_Edit, - GetValueFields, - DataSet.Name, - fControl.UserControl.CurrentUser.UserID); - - DataSetInEdit := False; - SetLength( AFields , 0 ); -end; - -procedure TUCHist_DataSet.Assign(Source: TPersistent); -begin - if Source is TUCHist_DataSet then - begin - Self.DataSet := TUCHist_DataSet(Source).DataSet; - Self.ControlHistorico := TUCHist_DataSet(Source).ControlHistorico; - end - else - inherited; -end; - -procedure TUCHist_DataSet.BeforeDelete(DataSet: TDataSet); -begin - If Assigned( fOnBeforeDelete ) then - fOnBeforeDelete( DataSet ); - - DataSetInEdit := False; - SetLength( AFields , 0 ); - - If fControl.Options.SaveDelete then - AddHistory(fControl.UserControl.ApplicationID, - Screen.ActiveCustomForm.Name , - Screen.ActiveCustomForm.Caption , - fControl.HistoryMsg.Evento_Delete, - GetValueFields, - DataSet.Name, - fControl.UserControl.CurrentUser.UserID); -end; - -procedure TUCHist_DataSet.BeforeEdit(DataSet: TDataSet); -Var I : Integer; -begin - // Antes de Editar - If Assigned( fOnBeforeEdit ) then - fOnBeforeEdit( DataSet ); - - DataSetInEdit := True; - - SetLength( AFields , DataSet.FieldCount ); - For I := 0 to DataSet.FieldCount - 1 do - Begin - If DataSet.Fields[ I ].IsBlob = False then - AFields[ i ] := DataSet.Fields[ i ].Value - else AFields[ I ] := 'Blob'; - End; -end; - -constructor TUCHist_DataSet.Create(AOwner: TComponent); -begin - inherited; - DataSetInEdit := False; - fOptions := TUCHistOptions.Create(Self); - fDataSet := Nil; - fControl := Nil; -end; - -destructor TUCHist_DataSet.Destroy; -begin - FreeAndNil( fOptions ); - inherited; -end; - -function TUCHist_DataSet.GetValueFields: String; -Var Aux : Integer; -begin - Result := ''; - For Aux := 0 to DataSet.FieldCount - 1 do - Begin - If DataSet.Fields[ Aux ].IsBlob = False then - Begin - With DataSet.Fields[ Aux ] do - Begin - If DataSetInEdit = false then // inserindo ou deletando - try Result := Result + Format('%-20s = %s ',[ FieldName , AsString ] ) + #13#10; except end - else - Begin //editando - If fControl.Options.TypeSavePostEdit = tpSaveModifiedFields then - Begin - If Value <> AFields[ Aux ] then - try Result := Result + Format('%s||%s||%s',[FieldNAme, AFields[ Aux ] , Value ] ) + #13#10; except end; - End - else - try Result := Result + Format('%s||%s||%s',[FieldNAme, AFields[ Aux ] , Value ] )+ #13#10; except end; - End; - End; - end; - End; // for -end; - -procedure TUCHist_DataSet.Loaded; -begin - inherited; - if not(csDesigning in ComponentState) then - begin - if not Assigned( ControlHistorico ) then - raise Exception.Create( Format( RetornaLingua( ucPortuguesBr ,'Const_Hist_MsgExceptPropr'),['ControlHistorico']) ); - - If fControl.Active = false then exit; - - if not Assigned(DataSet) then - raise Exception.Create( Format( RetornaLingua( fControl.UserControl.Language,'Const_Hist_MsgExceptPropr'),['DataSet']) ); - - fOnNewRecord := Nil; - fOnBeforeDelete := Nil; - fOnBeforeEdit := Nil; - fOnAfterPost := Nil; - - If Assigned( DataSet.OnNewRecord ) then - fOnNewRecord := DataSet.OnNewRecord; - - If Assigned( DataSet.BeforeDelete ) then - fOnBeforeDelete := DataSet.BeforeDelete; - - If Assigned( DataSet.AfterPost ) then - fOnAfterPost := DataSet.AfterPost; - - If Assigned( DataSet.BeforeEdit ) then - fOnBeforeEdit := DataSet.BeforeEdit; - - DataSet.OnNewRecord := NewRecord; - DataSet.BeforeDelete := BeforeDelete; - DataSet.AfterPost := AfterPost; - DataSet.BeforeEdit := BeforeEdit; - end; -end; - -procedure TUCHist_DataSet.NewRecord(DataSet: TDataSet); -begin - If Assigned( fOnNewRecord ) then - fOnNewRecord( DataSet ); - - DataSetInEdit := False; // Inserindo novo registro - SetLength( AFields , 0 ); - - If fControl.Options.SaveNewRecord then - AddHistory( fControl.UserControl.ApplicationID, - Screen.ActiveCustomForm.Name , - Screen.ActiveCustomForm.Caption, - fControl.HistoryMsg.Evento_NewRecord, - Format(RetornaLingua( fControl.UserControl.Language,'Const_Msg_NewRecord'),[fControl.UserControl.CurrentUser.UserName]), - DataSet.Name, - fControl.UserControl.CurrentUser.UserID); -end; - -procedure TUCHist_DataSet.Notification(AComponent: TComponent; - AOperation: TOperation); -begin - if (AOperation = opRemove) then - begin - If AComponent = fControl then - fControl := Nil; - - if AComponent = fDataSet then - fDataSet := Nil; - end; - - inherited Notification(AComponent, AOperation); -end; - -procedure TUCHist_DataSet.SetDataSet(const Value: TDataSet); -begin - fDataSet := Value; - if Assigned(Value) then - Value.FreeNotification(Self); -end; - -procedure TUCHist_DataSet.SetfControl(const Value: TUCControlHistorico); -begin - fControl := Value; - if Value <> nil then - Value.FreeNotification(self); -end; - -end. diff --git a/internal/2.31RC1/1/UCHistorico/UCHist_Base.pas b/internal/2.31RC1/1/UCHistorico/UCHist_Base.pas deleted file mode 100644 index 495ca03..0000000 --- a/internal/2.31RC1/1/UCHistorico/UCHist_Base.pas +++ /dev/null @@ -1,206 +0,0 @@ -unit UCHist_Base; - -interface - -uses - SysUtils, - Classes,Forms, - UCConsts_Language, - UCHist_Type, - UCBase; - - -type - TUCControlHistorico = class(TComponent) - private - fUserControl: TUserControl; - fActive: Boolean; - fOptions: TUCHistOptions; - fTableHistory: TUCTableHistorico; - fUsersHistory: TUCUserHistory; - fHistoryMsg: TUCHistoryMSG; - procedure SetfUserControl(const Value: TUserControl); - { Private declarations } - protected - FrmHistorico : TCustomForm; - procedure Loaded; override; - procedure IniSettings( Language : TUCLanguage ); - procedure ActionUserHistory(Sender: TObject); - { Protected declarations } - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - { Public declarations } - published - property Active : Boolean read fActive write fActive default True; - property UserControl : TUserControl read fUserControl Write SetfUserControl; - Property Options : TUCHistOptions read fOptions write fOptions; - property TableHistory : TUCTableHistorico read fTableHistory write fTableHistory; - property UsersHistory : TUCUserHistory read fUsersHistory write fUsersHistory; - property HistoryMsg : TUCHistoryMSG read fHistoryMsg Write fHistoryMsg; - { Published declarations } - end; - -procedure Register; - -implementation - -uses UCHistDataset,UCHist_Form; - -{$R UcHistReg.dcr} - -procedure Register; -begin - RegisterComponents('UC Historico', - [TUCHist_DataSet, - TUCControlHistorico]); -end; - -{ TUCControlHistorico } - -procedure TUCControlHistorico.Assign(Source: TPersistent); -begin - if Source is TUCHist_DataSet then - begin - TUCHistOptions(Source).Assign(Options); - TUCTableHistorico(Source).Assign(TableHistory); - TUCUserHistory(Source).Assign(UsersHistory); - TUCHistoryMSG(Source).Assign(HistoryMSG); - end - else - inherited -end; - -constructor TUCControlHistorico.Create(AOwner: TComponent); -begin - inherited; - fUserControl := Nil; - Active := True; - fOptions := TUCHistOptions.Create(Self); - fTableHistory := TUCTableHistorico.Create(Self); - fUsersHistory := TUCUserHistory.Create(Self); - fHistoryMSG := TUCHistoryMSG.Create(Self); - if csDesigning in ComponentState then - IniSettings( ucPortuguesBr ); -end; - -destructor TUCControlHistorico.Destroy; -begin - fUserControl := Nil; - FreeAndNil(fOptions); - FreeAndNil(fTableHistory); - FreeAndNil(fUsersHistory); - FreeAndNil(fHistoryMSG); - inherited; -end; - -procedure TUCControlHistorico.Loaded; -begin - inherited; - if not(csDesigning in ComponentState) then - begin - if not Assigned( fUserControl ) then - raise Exception.Create( Format( RetornaLingua( ucPortuguesBr ,'Const_Hist_MsgExceptPropr'),['UserControl']) ); - - IniSettings( fUserControl.Language ); - If Active then - If not fUserControl.DataConnector.UCFindTable( TableHistory.TableName ) then - fUserControl.DataConnector.UCExecSQL( - Format('CREATE TABLE %s ( %s %s(250), %s %s , %s %s(10), %s %s(8), %s %s(250), %s %s(100), %s %s(50) , %s %s, %s %s(50) ) ', - [ TableHistory.TableName, - TableHistory.FieldApplicationID, - fUserControl.UserSettings.Type_VarChar, - - TableHistory.FieldUserID, - fUserControl.UserSettings.Type_Int, - - TableHistory.FieldEventDate, - fUserControl.UserSettings.Type_Char, - - TableHistory.FieldEventTime, - fUserControl.UserSettings.Type_Char, - - TableHistory.FieldForm, - fUserControl.UserSettings.Type_VarChar, - - TableHistory.FieldCaptionForm, - fUserControl.UserSettings.Type_VarChar, - - TableHistory.FieldEvent, - fUserControl.UserSettings.Type_VarChar, - - TableHistory.FieldObs, - fUserControl.UserSettings.Type_Memo, - - TableHistory.FieldTableName, - fUserControl.UserSettings.Type_VarChar])); - - - if Assigned(fUsersHistory.MenuItem) and (not Assigned(fUsersHistory.MenuItem.OnClick)) then - fUsersHistory.MenuItem.OnClick := ActionUserHistory; - - if Assigned(fUsersHistory.Action) and (not Assigned(fUsersHistory.Action.OnExecute)) then - fUsersHistory.Action.OnExecute := ActionUserHistory; - end; -end; - -procedure TUCControlHistorico.SetfUserControl(const Value: TUserControl); -begin - FUserControl := Value; - if Value <> nil then - Value.FreeNotification(self.UserControl); -end; - -procedure TUCControlHistorico.IniSettings( Language : TUCLanguage ); -Begin - With HistoryMsg do - Begin - Evento_Insert := RetornaLingua( Language ,'Const_Evento_Insert'); - Evento_Delete := RetornaLingua( Language ,'Const_Evento_Delete'); - Evento_Edit := RetornaLingua( Language ,'Const_Evento_Edit'); - Evento_NewRecord := RetornaLingua( Language ,'Const_Evento_NewRecord'); - Hist_All := RetornaLingua( Language ,'Const_Hist_All'); - Msg_LimpHistorico := RetornaLingua( Language ,'Const_Msg_LimpHistorico'); - Msg_MensConfirma := RetornaLingua( Language ,'Const_Msg_MensConfirma'); - Msg_LogEmptyHistory := RetornaLingua( Language ,'Const_Msg_LogEmptyHistory'); - LabelDescricao := RetornaLingua( Language ,'Const_LabelDescricao'); - LabelUser := RetornaLingua( Language ,'Const_LabelUser'); - LabelForm := RetornaLingua( Language ,'Const_LabelForm'); - LabelEvento := RetornaLingua( Language ,'const_LabelEvento'); - LabelTabela := RetornaLingua( Language ,'const_LabelTabela'); - LabelDataEvento := RetornaLingua( Language ,'const_LabelDataEvento'); - LabelHoraEvento := RetornaLingua( Language ,'const_LabelHoraEvento'); - Msg_NewRecord := RetornaLingua( Language ,'const_Msg_NewRecord'); - Hist_MsgExceptPropr := RetornaLingua( Language ,'Const_Hist_MsgExceptPropr'); - Hist_BtnFiltro := RetornaLingua( Language ,'const_Hist_BtnFiltro'); - Hist_BtnExcluir := RetornaLingua( Language ,'const_Hist_BtnExcluir'); - Hist_BtnFechar := RetornaLingua( Language ,'const_Hist_BtnFechar'); - End; - - With TableHistory do - Begin - TableName := RetornaLingua(Language,'Const_Hist_TableName'); - FieldApplicationID := RetornaLingua(Language,'Const_Hist_FieldApplicationID'); - FieldUserID := RetornaLingua(Language,'Const_Hist_FieldUserID'); - FieldEventDate := RetornaLingua(Language,'Const_Hist_FieldEventDate'); - FieldEventTime := RetornaLingua(Language,'Const_Hist_FieldEventTime'); - FieldForm := RetornaLingua(Language,'Const_Hist_FieldForm'); - FieldCaptionForm := RetornaLingua(Language,'Const_Hist_FieldCaptionForm'); - FieldEvent := RetornaLingua(Language,'Const_Hist_FieldEvent'); - FieldObs := RetornaLingua(Language,'Const_Hist_FieldObs'); - FieldTableName := RetornaLingua(Language,'Const_Hist_FieldTableName'); - End; -End; - -procedure TUCControlHistorico.ActionUserHistory(Sender:TObject); -Begin - FrmHistorico := TFrmHistorico.Create(Self); - TFrmHistorico(FrmHistorico).fControl := Self; - TFrmHistorico(FrmHistorico).Position := fUserControl.UserSettings.WindowsPosition; - FrmHistorico.ShowModal; - FreeAndNil(FrmHistorico); -End; - - -end. diff --git a/internal/2.31RC1/1/UCHistorico/UCHist_Form.dfm b/internal/2.31RC1/1/UCHistorico/UCHist_Form.dfm deleted file mode 100644 index 90cf87e..0000000 --- a/internal/2.31RC1/1/UCHistorico/UCHist_Form.dfm +++ /dev/null @@ -1,1311 +0,0 @@ -object FrmHistorico: TFrmHistorico - Left = 99 - Top = 127 - BorderStyle = bsDialog - Caption = 'Historico de Tabelas' - ClientHeight = 453 - ClientWidth = 813 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - OnClose = FormClose - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object Panel1: TPanel - Left = 0 - Top = 0 - Width = 813 - Height = 49 - Align = alTop - Color = clWhite - TabOrder = 0 - object Image1: TImage - Left = 1 - Top = 1 - Width = 48 - Height = 47 - Align = alLeft - Center = True - Picture.Data = { - 055449636F6E000001000C00101010000100040028010000C600000018181000 - 01000400E8010000EE0100002020100001000400E8020000D603000030301000 - 0100040068060000BE060000101000000100080068050000260D000018180000 - 01000800C80600008E1200002020000001000800A80800005619000030300000 - 01000800A80E0000FE210000101000000100200068040000A630000018180000 - 01002000880900000E3500002020000001002000A8100000963E000030300000 - 01002000A82500003E4F00002800000010000000200000000100040000000000 - 8000000000000000000000000000000000000000000000000000800000800000 - 0080800080000000800080008080000080808000C0C0C0000000FF0000FF0000 - 00FFFF00FF000000FF00FF00FFFF0000FFFFFF00000780000000000000067E76 - 00000000000C8E8E8E77000000068E87E8E77000000687E887E8E7000007E7C8 - E88E8C00000788E87C87E000000E8888F8E8700000088E88FF8880000008E8CF - 6E888000000888E8F88E800000088FFFFFFFF7000008B3B7B888F700000B89BB - 9BBBB70000078B77B7B9B7000000000007787000E7FF0000E0FF0000E00F0000 - E0070000E0030000E0030000E0070000E0070000E0070000E0070000E0070000 - E0030000E0030000E0030000E0030000FF870000280000001800000030000000 - 0100040000000000200100000000000000000000000000000000000000000000 - 00008000008000000080800080000000800080008080000080808000C0C0C000 - 0000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0000000800 - 000000000000000000006C86C8000000000000000000C768E8EC700000000000 - 0000668E8E8E8EC7E00000000000C7E8E7E8E8E87C00000000006C888E87E8E8 - E86000000000C8EE88E88C8E8E8E70000000678C6778E8E8E8E7EC000000CE86 - 8ECF88888878C0000000688EF7E86E7E8E8C00000000C888686888C646800000 - 000068888F8F8FFF888E00000000C88E68EF8F88F88700000000E88E787FFF8F - 88FC00000000C88EFE6F66E7E8F60000000068F7887F8886768E00000000CFF8 - 88EFFFFFFFF700000000E88FFFFFFFFFFFF80000000078B3B38B88FFFFF80000 - 000078B9B9B9BB3B3B88700000007B8BBBBB9BBBBBBBC000000078888988B8B9 - B9BB7000000065717773573777776000000000000000000000000000FBFFFF00 - F03FFF00F007FF00F0007F00F0003F00F0001F00F0000700F0000300F0000700 - F0000F00F0001F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00 - F0000F00F0000F00F0000700F0000700F0000700F0000700FFFFFF0028000000 - 2000000040000000010004000000000000020000000000000000000000000000 - 0000000000000000000080000080000000808000800000008000800080800000 - 80808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000 - FFFFFF00000000000000000000000000000000000000006C7670000000000000 - 00000000000007C8E8CEC7E000000000000000000000076678E8E8C767000000 - 0000000000000EC7CE8E8E8E8EC6C80000000000000007C78E87E8E8E8E8E7C6 - 00000000000006C68E8E8C8E78E8E8E7C0000000000008C788E88E8E8E78E8E8 - E7000000000006CE8E87E888E8E7E8C8E7C80000000007E78CE7CE8E888E8E8E - 8E8C800000000C68868686888E8888E8E8EEC000000008CE86E8E788888E8E88 - 8E5C0000000006C88E887CE86CE8888E8C8000000000086887C88E88E7646C68 - 8600000000000CE8FFFE8688F8888E7C8C000000000007C8FE8F8F8F8F888888 - E700000000000E6887E67E8FF8F8FF8F8E000000000007CFFE8CF888F8F8F888 - F600000000000E788688E7EF8EF88FF8FE00000000000CE8FE8F8C8F666E67E8 - 88700000000007CF8788FE7F888C8666C8E00000000006EFF8E867EFFFFFF88F - F8C0000000000C88FFFFFFFFFFFFFFFFFF700000000006888FFFFFFFFFFFFFFF - FF60000000000CB8B39B7B8888F8FFFFFF60000000000688B9BB9B9BBB3B8888 - 8F800000000007B8BB9BBBB9B9BBBBBBBB78000000000CB888B9B9BBBBB9B9BB - 9B760000000006888B888B8B98BBBBBBBB37000000000773797B79B7B9898989 - B786000000000077777C8C7C7C76767775780000000000000000000000000000 - 00000000FFFFFFFFFC1FFFFFF801FFFFF8003FFFF80003FFF80000FFF800007F - F800003FF800000FF8000007F8000007F800000FF800001FF800003FF800003F - F800003FF800003FF800003FF800003FF800001FF800001FF800001FF800001F - F800001FF800001FF800001FF800000FF800000FF800000FF800000FFC00000F - FFFFFFFF28000000300000006000000001000400000000008004000000000000 - 0000000000000000000000000000000000008000008000000080800080000000 - 800080008080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000 - FF00FF00FFFF0000FFFFFF000000000000000000000000000000000000000000 - 000000000000000008C668000000000000000000000000000000000000000000 - 06C7C6C6C0000000000000000000000000000000000000007C688E867C6C7800 - 00000000000000000000000000000000C6CE778E8E8EC6C67000000000000000 - 00000000000000006C7767E8E8E8E8ECEC6C8000000000000000000000000000 - C66C8E8C8E7E8E88E8EC6C670000000000000000000000006C6868E8E8E8C8E8 - E78E8ECEC6C800000000000000000000C6C7C8E8E8C8E8E78E8E88E8766C6000 - 00000000000000006C68E8E87E8E8E8E7E78E78E877C60000000000000000000 - 6C67888E88E8E8E8E8E7E8E7EE8EC6000000000000000000C6C8E8E8E88E878E - 77E8E7E878E8EC6800000000000000006CE788888E88E8E88E878E8E7E8E88EC - 6000000000000000C6778EC6E88E888E88E8E8C8E8C8E8E8C600000000000000 - 6CE88E68C6C67E88E88E88E8E8E8E77E8C60000000000000C6C887C86E88C888 - 8E88E88E88E88E8E8EC80000000000006CE88E6E7C8E68E888888E88E88E8E87 - EC670000000000006C7888678E686888E8E888E88E88E8EC6700000000000000 - CE688ECFFF86C88E677E8888888E88C780000000000000006C78F86F888E6888 - C6C66CE7E8888EC00000000000000000CECF8E66E6886E888E766646466E87C0 - 00000000000000006C7FFFF888C6C88F8F8888E76C658E600000000000000000 - 6E6FF8FF8FFF88888F8F8888888E87C00000000000000000CC7FFE7E88F8FF8F - 8888F8F8F888886000000000000000006ECFF86766E6E8F8FF8F888F88888EC0 - 0000000000000000C68FFECF8888C88F8F8F8F888F8FF8600000000000000000 - 6CEFF8786C8FE8FF8F8F8F8F88F88FC80000000000000000CE7FFE6E8E6F7EFF - FFF8FF8FF88F8F6800000000000000006C8FF8C7FF7E76FF666E888F8FF8F8EC - 0000000000000000CE7FF8EFFFF6C8FF6C66C666668E8F670000000000000008 - 6CEFF7EFFFFF6E8F88E766C66C666F8C0000000000000008CE8FF8C668E88C8F - FFFFFF888E7C688C0000000000000008C68FF8F88E7C6EFFFFFFFFFFFFFFFF86 - 0000000000000008CE88FFFFFFFFFFFFFFFFFFFFFFFFFF8C0000000000000008 - C68FFFFFFFFFFFFFFFFFFFFFFFFFFFF68000000000000008CE7F888FFFFFFFFF - FFFFFFFFFFFFFFFCE0000000000000086388B9B3373888FFFFFFFFFFFFFFFFF6 - 7000000000000008CBBFB3B9BB9BB9B3378788FFFFFFFFF8C000000000000008 - CB88B9BB9BB9BB9BBBBBBB33B78788F8C000000000000008CBBF8B9BB9BB9BBB - 9B9B9BBBBBBBBB376000000000000008CB888B9B9BB9BB9BBBBBB9B9B9BBBBBB - C000000000000008CBB888BBB9BBB9BB9B9BBBBBBBB9BB9B6800000000000008 - 698F8F8F8F88B8BBB9BB9B9BB9BBBBBB6C00000000000008CBB9B37B8B7B8888 - 8F888B8BBBBB9BBB7600000000000000C7777797939799B939B9B9B79898B798 - 7C000000000000006C6C46C6C6C66C6C66C6674767775776C700000000000000 - 00000000000000888888C8C8C7C66C6800000000000000000000000000000000 - 000000000000000000000000FFFFFFFFFFFF0000FF83FFFFFFFF0000FF807FFF - FFFF0000FF0003FFFFFF0000FF00007FFFFF0000FF000007FFFF0000FF000000 - FFFF0000FF0000000FFF0000FF00000007FF0000FF00000007FF0000FF000000 - 03FF0000FF00000000FF0000FF000000007F0000FF000000003F0000FF000000 - 001F0000FF000000000F0000FF000000000F0000FF000000003F0000FF000000 - 007F0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000 - 01FF0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000 - 00FF0000FF00000000FF0000FF00000000FF0000FF00000000FF0000FE000000 - 00FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000 - 007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000 - 007F0000FE000000007F0000FE000000007F0000FE000000003F0000FE000000 - 003F0000FE000000003F0000FF000000003F0000FF000000003F0000FFFFFC00 - 00FF0000FFFFFFFFFFFF00002800000010000000200000000100080000000000 - 000100000000000000000000000100000001000000000000B45D2800B6612900 - BB672D00C67436009B7E6E0079897500B0812F00B4853600D4823E00DC873B00 - E08B3700E7983F00A08F6F00BD896800A5877600AD8A7600BF8F7000B4927D00 - BE977E00D2864600C59C4E00CA9E4D00CC895100CC895600C99E5500DB945600 - E89D4100E39D5E00CBA24F00CCA25100C6A15900DAAD5900EAA54A00E6AA5300 - E8A45B00E3AD5B00FBBF5900CB8D6300C09E6500CA9E6500CEAA6100CAA66B00 - D6AF6400D5B57100D5B57700DBBA7700D1B37C00E3A26500E6B86500E1B86900 - E9AC7100E8AF7D00E3BB7500EFB67B00F2BA7F00FCC15A00FFC75F00FFC76000 - FFC86200FFC96400FFCA6900FFCB6C00FFCC6F00FFCD7200FFCF7600FBCD7B00 - FFD07900089DEE000B9DF20004A7FF0000ADFF0000B4FF0000BBFF001FBFF800 - 28ACEF0038AFF3002DB2F40029BAF7004E96CC005FA9DF0070A2CD0073ADDC00 - 4ABAEF0045ADF1004CBCFF0000C2FF0000CAFF0016C6F90000D1FB0000D1FF00 - 67CFF5006CC8F10066CFFF00D0B68600DEBF9A00DEC28400DFC38800DDC49900 - E6C78D00FFD38100FFD48400FFD78E00E7C09100E1C49100E1C89100E7C89000 - E2C89700EBC29D00F9D79700FFDB9700E1CDAA00E8D4A600E5D2AA00E8D5AC00 - EFDBB400EBDAB800ECD9B900F9E4BD008BD4F300B1DFF400EEE2CC00F2E3C400 - F8E6C400F7E8CB00FFEDCD00FFF0D500FFF2DB00CFE6F400FFF4E000E2EEF700 - FDF9F300F2F7FA00FFFDFA00FFFEFD0000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000261300000000000000 - 000000000000000328210B1700000000000000000000000124393939251B090E - 000000000000000242403D3B39393922170000000000000432203164403D3B3B - 390A0000000000142B1E166D6E6664433D0C00000000001A2E63156A07081935 - 23000000000000307C736A7B7D76682A1C00000000000033611E2F7B81817E7E - 3400000000000036607229741F2F62746C00000000000037706A2C72796F5E27 - 5F000000000000688286868686868686831300000000005B45444B535B777880 - 840E00000000005D5546474849565759590D00000000004F515250544C4D4E4A - 5806000000000000000000000012100F05000000E7FF0000E0FF0000E00F0000 - E0070000E0030000E0030000E0070000E0070000E0070000E0070000E0070000 - E0030000E0030000E0030000E0030000FF870000280000001800000030000000 - 0100080000000000400200000000000000000000000100000001000000000000 - 7A5E55005F6374006B61660066766F0062637000895302009C660A009C6A1600 - A9730B0093583900B05F2D00BA662B00BE6A2E00A1702300A56B3B00AE683B00 - AF6B3D00B26D3E00A8783000C24B0100C44E0200C7520300CA560500CC590600 - CF5C0700D15F0800D3610900D5630A00D6660B00D8680C00D96E1100D5721D00 - C86D2900CC6D2B00D3702100D6762200D97F2C00CF743700C87E3F00D0713000 - D0753A00D2793C00C07E4B00D17A4200D37C4100D47E4400D47F4900B4801A00 - B2832C00B5852C00B9882B00AD813500B3843300BF913300C3953500C0943900 - C89A3800E4903400E8973A00BA904A00BD954C00B4845A00BE995800CB8A4B00 - C4974400C59A4200C79C4E00C99B4800C98B5600D98D5D00C89F5000CE985600 - CA9F5600D5985000CFA34F00CBA45600CCA65B00D2AA5300D6A85000D1AC5D00 - D9AD5C00ECA24400EFAA4A00F2AC4A00F6BA5800F6BA5F00D9916200DC966900 - D59D6A00C4937400C5967800DD9B7100C8A76C00D3AC6200D1AB6400D5B16100 - D4B06A00D2B06D00DBB46C00C7A87500CDAE7700D7A27200D2B07000D4B27500 - DDBA7700ECB86600E1BB7600F0BA7B00F8C15F00FDC35C00FFC75F00F7C36300 - FAC36000FFC76000FFC86100FFC96500FFCA6900FFCC6E00EDC27100FFCD7200 - FFCE7600FFD07A00FFD17E004C6A8C0062758000627E80006378900062878000 - 72828600578AB0006085A7000091E700099AEF001498E50000B3EF0000A5FF00 - 00AAFF0000AFFF001CABFF0000BCF70000B0FF0000B4FF0000B9FF0000BEFF00 - 34A5E60020BEF00029B1FF0057B3E80077BEE90066B8F4007FBFF30000C1FE00 - 00C7FF0001CCFF0019CCFF0005D7F90000D0FF0000D5FF0029CCFF003CCDFF00 - 43CAF2004CCEFF0059CBFD0062C7FB0076C3F70079CCFB007FCEFF0063D3F200 - D7BC8F00E2AC8800E3B68B00E4BA9100DCC28A00DCC59A00E9C68300E5C48900 - F1CA8200FBCE8500FFD28100FDD38400FFD48600FFD58900FFD68C00E2C49000 - E9CB9000E8C19A00E3CD9F00EACF9B00F4C99400EBD09F00FBD79500FFD89100 - FFD99400FFDB9800FFDD9E00E5CEA000EAC6AD00E5D0A100ECD6AA00FDDDA100 - F1D0AD00E6D3B100EDDAB400EBDBB800ECDDBA00EEDEBC00F3D2B000F8DAB000 - EFE0BE00F9E2B70088C3CC0097C8EA008CC7F50092CDF70099DDFF00BBD6EE00 - 99E0FA0099E2FF00D6D5CE00EBDDC200F7E7C700FBE0C100FFEAC500FFECC900 - F9EACE00FFEDCD00F4EBD700F8EBD100FFEFD100F9EDD600FFF0D500FFF1D900 - FFF2DD00FFF4DF00CFE2F300DBE9F600FFF4E100FFF6E600FAF4E900FFF7E900 - FFF8EB00EFF5FB00FFFAF200FEFBF600FFFCF600FFFCF900FFFEFD0000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 005C000000000000000000000000000000000000000000002F274021295B0000 - 0000000000000000000000000000000014113E7071533A202A00000000000000 - 00000000000000001411486F6F6F6F6F6F522521460000000000000000000000 - 14106A74746F6F6F6F6F6F714A0C000000000000000000001412B47B79767671 - 746F6F6F6F5524000000000000000000162BB14F77B47B7B7676746F6F6F6F3B - 2E000000000000001645AF4B334451B7B67B7B797674746F542A000000000000 - 1859B9305E6341C8C3C2C2B4B47B795524000000000000001866BC69DF5E43B0 - 0735476BC2C2B22800000000000000001AABDD614C4732DFBE683C0E06136C00 - 00000000000000001AACE4C7E1E9E1E7E4E1E1DFD2B0BD5A0000000000000000 - 1ABACB50424D61EDE9E9E7E5E1E1D05700000000000000001EC9CD3937C468F1 - F1EEEDE9E9E7E72E00000000000000001ACFCD60F66138F309323C5DA9CAE426 - 00000000000000001FC9D14FC6CD36EFDCAE653F3408642E0000000000000000 - 1FDEF3E3CDBBADF6F6F6F6F6F3F3F35700000000000000001FDBEBF2F6F6F6F6 - F6F6F6F6F6F6F6AA000000000000000004D9858486919495D4D8ECF6F6F6F6C5 - 000000000000000080D993888A8D8D909898908792A1A8D35800000000000000 - 7ED7A78B888A8A8D90909899999E9E9C2E000000000000007D9697D5D6A5A7A4 - A3A2A09F9B999E9E0F000000000000000B0A0A010101030505027C7F7F838281 - 0D000000000000000000000000000000000000000000000000000000FBFFFF00 - F03FFF00F007FF00F0007F00F0003F00F0001F00F0000700F0000300F0000700 - F0000F00F0001F00F0000F00F0000F00F0000F00F0000F00F0000F00F0000F00 - F0000F00F0000F00F0000700F0000700F0000700F0000700FFFFFF0028000000 - 2000000040000000010008000000000000040000000000000000000000010000 - 0001000000000000935D0600BC4F0E00BC500E0097620B009B6609009C6A1900 - A9730A00A06E1A00A8741000AD7A1C00965D3F00AE5F2300BE632500A5762C00 - AB7D2D00A9633A00BA6C3600A6773100C1530C00C0551000C55B1100C85F1300 - CC641500CF681600CE661B00CF691F00D16C1B00D5701A00D9751B00DE7C1F00 - C7672600CA652300C76B2600CD6A2500CC6B2C00D16F2A00D5762300D9792300 - D0712F00CE6E3000C57E3D00C97E3C00D1733500D0743900825C4C008D614D00 - AC6C4200B1724600AB775500B07E5600B97A5200D27A4100AE802B00B8862200 - BB8B2700B4842D00BD8C2900B3863500BD8D3100B2883B00BB8D3800DC832D00 - C08F3400C3933300C3953800C79B3B00E2862C00E78A2D00EA8D2E00E18C3600 - EE933400E8983A00F49C3F00CCA03E00B88D4500B58D4B00BC954E00B3836400 - BD947900DF8D4000C0954500C69A4500CC9E4A00DA914200D5994F00C0845300 - C18A5400CA855900D4865400D6885400DA8E5700D68D5E00C49C5500CBA04400 - CAA04D00D0A54600CDA55300CCA15900D7A95500D8A25B00D0AC5F00DFA95900 - E7A64E00F0A84700F2AE4B00F5B55200F7BB5900F8BD5B00CD8D6300C48F6D00 - CA936000C19E6000DA926400DC966800D19D6D00C99A7B00DF9F7600CEAA6100 - CAAA6D00D3AD6500D1A56B00D5AE6900D5B36A00C8A77500DFA37500D2AF7400 - DCAD7E00DBB47000D5B77A00D7B97E00DCB97900E0AD6000E3B76600EABE6D00 - F7C05D00FEC65E00FFC76000FFC86400FFCB6B00F1C17200FFCD7300F4C97A00 - FFD07B003C78B000517398004578A200628B80004284BF0043AAA8000389DD00 - 2093DD002BB6C50029A8DD00008BE2000894E9002C9CEA003498E70000A9FC00 - 16A7FE0001B6FD0036ABEF002FB8EE003DBDEE0022B6F9003ABAF300488CC700 - 4DAAC00040A2E00055BBE90041B7FF0052BEFF0063B4E70001C9FD0017C9FF00 - 00D3FF0023C7FE0035C5FE004FC4FC0071C4EB0060C7FC0079CAFA00D1B58500 - DCB18600DCBD8300D6BB8900DEC28800DEC59200EAC58100EFCE8F00F6C88500 - F2CB8D00FED38300F6D28D00FED58A00E4CB9400E7C39E00E4CB9A00EACE9D00 - EED09900FAD79500FFD99400F0D29800FFDC9A00EBC2A100E1CAA200E0CEAF00 - EDCDAC00ECD1A000E6D2AC00EBD6AC00F0D5A100F8D5A300FDDDA000F3DAAC00 - EDCFB100EAD7B800F5DABA00F3E0B900FBE5BD0089C7EB0083C7F70099CDF700 - 9ED7FC00A2D1EF00B4D3EC00AAD8F900B8DAF100AAE3FD00D5DCDF00EEDFC000 - F5DDC500EFE0C300F3E3C300FEEAC400F4E4CB00F9E5CF00F3E8CF00FEECCB00 - EFE5D100F4EAD400FDEED200FEEDD900FEF0D500FEF2DB00CAE0F200D6E6F400 - F6EEE300FFF4E200F9F4E900FFF9EE00E7F1F900FEFDFB000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000002021232B4E0000000000000000000000000000000000 - 0000000000000000006E13577C79542519277100000000000000000000000000 - 00000000000000000034022F328489896A684826233400000000000000000000 - 00000000000000000034022F578788888888888888693E1B235A000000000000 - 00000000000000000034022F64898888888888888888886C672A0D1F00000000 - 00000000000000000034032F8C8D8B8B8A89888888888888888866292C000000 - 000000000000000000341430C0C08F8F8B8B8B8A888888888888886B43270000 - 000000000000000000341556C185868EC0C08F8F8B8B8A8A8A8888888A691B72 - 00000000000000000034166FBF37533F4163C2C0C08F8F8D8B8A8A88888A6A25 - 6D0000000000000000341773CA3F533BBC38C8CBC8C2C2C28F8F8F8D8A8A8869 - 22000000000000000034187FD3366180613BBDD5D5D5C8C2C2C2C08F8F8F4619 - 000000000000000000341BB7D652EAEA7A0AC78305386283BCC1CBC2C2465800 - 000000000000000000341CC4DA3F5378B838B8D65D350401080E4B7BBE220000 - 000000000000000000341DCFF8F8DAC5784BC7EEEEEADBC77E4B0E12BF190000 - 000000000000000000341DD7F0C5D2EEF8F3F3F3F0F3EEEEEAEAD6C7D4240000 - 000000000000000000341ED8EB426537525DD2F8F8F3F8F3F3EEEEEEDA2B0000 - 0000000000000000003443E7EB61BA39E8B8C5F8F8F8F8F3F8F3F3F3EE340000 - 0000000000000000003444E7EC4060C55F82B9FACDD1E8ECF8F4F8F8F35B0000 - 0000000000000000002C44EBEC4AF0FCBB3782FA070935384B70B9CDEC7D4F00 - 0000000000000000002344EBF060D8E6EC7B76FAD8B9774D3C3506044CC43300 - 0000000000000000002347EBFAC37B7B614178FAFCFCFAFCF7EFD8CED8E63400 - 0000000000000000002349F2FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFAF92800 - 0000000000000000002355E5E3F6FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC2800 - 0000000000000000002399E49B9A9697A8ACDCE0E3F5F6FBFCFCFCFCFCFC3400 - 00000000000000000023B0E4A49E9E9E9EA09E9EA0A2A2A3A9B3DCE1F6FC6D00 - 00000000000000000023B0E4AB9E9E9E9EA0A0A0A0A0ADADADADAFAFAFAD9375 - 00000000000000000023A4E4DFAA9F9E9E9E9EA0A0ADA0ADADADAFAFAFAF9559 - 000000000000000000239FDDDEDEE2DFDDB5B4B2B1B1B1B0B0AEADADAFAF9811 - 0000000000000000002492919190949494A69D9D9D9D9D9CA1A1A1A3A3A4A70C - 0000000000000000000031313131343434342C23242311101010102E2D0B2874 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000FFFFFFFFFC1FFFFFF801FFFFF8003FFFF80003FFF80000FFF800007F - F800003FF800000FF8000007F8000007F800000FF800001FF800003FF800003F - F800003FF800003FF800003FF800003FF800001FF800001FF800001FF800001F - F800001FF800001FF800001FF800000FF800000FF800000FF800000FFC00000F - FFFFFFFF28000000300000006000000001000800000000000009000000000000 - 000000000001000000010000000000007B5E550062647200627D7500854F0000 - 8B550100925B0000B8500E00B8511000976000009B6300009F6800009F6F1E00 - A26A0000A36D0B00AB730700B27A0500A06D1800AB761400AD781600A2701F00 - AF7D1E0093593900B45D2800BF652600B5602900BA642A00BE6B2C00A8792C00 - B07E2300B86E3900AA7B3300C34D0100C3500600CA550500CC580600C4550C00 - C8560800CF5C0800C7591100D7670C00CF651300C5611B00D26B1A00D6741F00 - E4781200CB642100C16E2E00C86B2A00C3712F00DA7B2500CF6F3100C5743000 - CA7A3200CE7D3800D3773800875B470093714100A8734F00AF7F5800B37E5100 - CF7D4600D27A4100BB830700B5811C00BA871F00B4812500B9862500BC8A2700 - BD8D2D00BF902F00AF843C00BD8E3400B5893C00B98E3C00BF923900C0891000 - ED831600DE832B00C4952F00DC833200C4973B00EE962900E5923600CEA13F00 - B58D4800B3805700BF865100BB95550094856100B78B6000BE8D6200BF976900 - CB814100CB874800D88F4900C69A4400DB944400D6855100C89E5300C69F5E00 - CE995A00E79F4600E29D4B00E2975400CEA64F00D0A14900CBA45A00D1A45100 - D3A85400D3AB5B00DEA85900F0A94900F4B04E00E4A25E00F8B85300F3BC5F00 - FBBF5900CE9A6000DA906100DC9B7100CCA76100D2AB6500D5B06500DCB36700 - D5B16B00DAB56D00CEA27400C8A97300CBAE7A00D1AE7400D4AB7E00CFB07600 - D4B47500DBBB7700D1B37C00DABC7C00E6A56100E4B06000E4B26900E3BA6D00 - F0B66E00E2A27400E0B77000E3BE7C00F3B97800FFC75F00DEC17E00FCC66100 - FFC86300FFCB6B00FFCE7300FACD7E00FFD07B001078BD00316EA8002570B600 - 007ACF001075C7000078DF004197AC00769AB3000087DF000095DF002090D700 - 0D80E100009EEB00009BFF002697ED003395E70000A2EF0000B5EF0000A8FE00 - 00B7FE0033ADEF0026AFFF0026B7FF0033BFFF00408DCF004093D3005097D300 - 40A8DF0070AADB00409FE90040AEE3004CB4E30046BAFF0066B3EF0000C0EF00 - 15D0E90000C7FE0000D4FE0033D1FF004DC5FF0040D1FF0066CBFB0073CEFF00 - 66D7FF0066E0FF00D4AC8300D8BB8500E1A68000E2B28F00E2B69900DDC08000 - DEC79B00E7C68800F4CC8100F0C08B00F0CC8D00FECB8F00FFD38300F3D08F00 - FFD68A00FFD88F00E5CA9400F0C29100E6D09F00FFD99300F8D69900FEDC9B00 - DFCBA800E9CDA800F4CFA400E8D3AB00F1D7A700FFDEA100F0CFB400E9D7B800 - FFE0A500FFE1AA00EFE0BF00FDE5BA0080B3DF008FBDE30080C1E7009FC6E700 - 8CD3FF0099D2F800AFD0EB00BFD9EF00A6DCFF008CE0FF0099E2FF00B3E4FF00 - FDEAC700EFE1D400FEEED100FEF2D900CCEAFD00DFECF700CCF0FF00FEF6E600 - E6F0F900FFFDFB00000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000C92020337800000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000202A5E302420203E000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000003E202A878787765E2A20202762C90000000000000000000000000000 - 00000000000000000000000000000000000000002020173B5A5C8F9294746632 - 2920202062000000000000000000000000000000000000000000000000000000 - 000000002020173A3A3C9292929292929292704E29202033C900000000000000 - 00000000000000000000000000000000000000002020173A3A6F929292929292 - 929292929273532B20202A620000000000000000000000000000000000000000 - 000000002020173A3C9292929292929292929292929292949467372A20202E77 - 00000000000000000000000000000000000000002020173A6595959492929292 - 92929292929292949492928A571E18242E000000000000000000000000000000 - 000000002020173A8B97969695959592929292929292929292929292926F3C19 - 20000000000000000000000000000000000000002020173A98D3D39797969696 - 95959292929292929292929292929261252A0000000000000000000000000000 - 0000000020201956D5D3D3D3D3D3979797969695959492929292929292929292 - 732C20620000000000000000000000000000000020251A5BDCCFDAD5D3D3D3D3 - D3979797969695959592929292929292929253252E0000000000000000000000 - 0000000020231B7FE26C0D436A8CD6D5D3D3D3D3D39797969696959592929292 - 92929271292A000000000000000000000000000020261B83E66D417C48130B42 - 6AD6D5D3D3D3D3D3979797969695959492929292732920000000000000000000 - 0000000020261BC7E86D45D1136CD48F0BDCDCDADAD5D5D3D3D3D39797979696 - 9595959295922B3E000000000000000000000000202634DEE86E0F0F4B0F8FE6 - 09CEDCE2DCDCDADAD6D5D3D3D3D3D39797969695702B20770000000000000000 - 00000000212831DEF57C0F6CE8CE0ED10ECEE6DCE2E2E2DCDCDADADAD5D3D3D3 - D3D39750212E0000000000000000000000000000202834E0F57B48F5F5F57D13 - 1DCEE86B06426390DBE2DCDCDCDADAD5D3D35021C90000000000000000000000 - 00000000202835E4F77D43F5F5F5F5600BD7E86B090606060614497BD1DCDCDC - DA8D200000000000000000000000000000000000212D34FCF8D7100F40517DD9 - 0E60F5F5D77949110605050504051F7BE2682000000000000000000000000000 - 00000000202837FCF8F8F8E7D77D480F0D6BF5F5F5F5F5E8E1CC641C0505041C - E668200000000000000000000000000000000000202D37FCFCFCFCF8FCF8F8F8 - E7F5F8F7F5F7F5F5F5F5F5E8F5D18155E8682000000000000000000000000000 - 00000000202D35FEFCD77BCCE0F7FCFCF8F8F8F8F8F7F7F7F7F5F5F5F5F5F5E8 - E8D0200000000000000000000000000000000000202D37FCFE863F51100F104B - 7AE0FCF8F8FCF8F8F7F7F7F7F5F5F5F5F5D82000000000000000000000000000 - 00000000202D61FEFC8851FECE86E4854B85FCFCFCF8FCF8F8F8F8F7F8F7F7F7 - F5DF200000000000000000000000000000000000214D72FEFE8854D7100FE7FC - 8785FCFCFCFCFCFCFCFCF8F8F8F8F7F7F7F721C9000000000000000000000000 - 00000000202D72FEFE884C106E863FE7866BFEFCFCFCFCFCFCFCFCFCFCF8F8F8 - F8F724C900000000000000000000000000000000204D89FEFE883F6DFEFE7A48 - 7D4BFEFC0E424987C8E0F6FCFCFCFCFCF8FC373E000000000000000000000000 - 00000000204D89FEFE884FFEFEFEFE450F51FEFE0F0D0D0B0B0B090B1C5580C8 - E4FC3E35000000000000000000000000000000C9204D89FEFECE54FEFEFEFEFC - 4145FEFECD864A4A0B0B0B060906090606FC8E20000000000000000000000000 - 000000C9204D89FEFE883F4C54698886C810E4FEFEFEFEFEFEFCE4DD8158470C - 06FCCA20000000000000000000000000000000C9204D91FEFEFCE7D9887E6060 - 1045FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEE320000000000000000000000000 - 000000C9204DD2FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFCFEFEFC - FEFCF620000000000000000000000000000000C9214DD2FEFEFEFEFEFEFEFEFE - FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE21C90000000000000000000000 - 000000C92052A1FDE9F0F0FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE - FEFEFE303E0000000000000000000000000000C9219AC3F9A2A29D9D9EB2B4E9 - ECF0FAFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE3E350000000000000000000000 - 000000C920BEC6F9B0ACACACADACACAAA6A3A29DA4B3B6E9EFF0FEFEFEFEFEFE - FEFEFE78200000000000000000000000000000C920BEC6F9BAACACACACADACAD - ADADBEBEBEBEBEBEAAABA3A3B8B8EBEAF0F9FECB200000000000000000000000 - 000000C920BEC3F9C3A7ACACACACADACADADACADADBEADBEBEBEBFBEBFBFBFBF - BFBCBCA0200000000000000000000000000000C920ADC3F9F1A7ACA7ACACACAC - ADACBEADADADBEADBEBEBEBEBFBEBFBFBFBFBFBD200000000000000000000000 - 000000C920ACC3F9F9EDBAAFACACACACACADACADADADADBEBEBEBEBEBEBEBFBF - BFBFBFBF087800000000000000000000000000C920ACC4F9F9F9F9F9F9F4F3C4 - C3C1B1B0ADADADADADBEBEBEBEBEBEBFBFBFBFBF393E00000000000000000000 - 000000C920A7A8A9A9A9A9BBBBBBBBBBEEEEEEEEEEF9F3F3F2C3C3C2C0C0BFBE - BEBFBFBF032100000000000000000000000000002002020202029B9B9B9B9B9B - 9C9F9F9F9F9F9F9F9FA5A9A9A9A9B7BBBBAEAEB9592100000000000000000000 - 000000003E212020202020202020202020202020202020081616161616160102 - 0202382121770000000000000000000000000000000000000000000000000000 - 0000C9C9C9C9C9C9773E3E3E3E3E3E2721212E78000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000FFFFFFFFFFFF0000FF83FFFFFFFF0000FF807FFF - FFFF0000FF0003FFFFFF0000FF00007FFFFF0000FF000007FFFF0000FF000000 - FFFF0000FF0000000FFF0000FF00000007FF0000FF00000007FF0000FF000000 - 03FF0000FF00000000FF0000FF000000007F0000FF000000003F0000FF000000 - 001F0000FF000000000F0000FF000000000F0000FF000000003F0000FF000000 - 007F0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000 - 01FF0000FF00000001FF0000FF00000001FF0000FF00000001FF0000FF000000 - 00FF0000FF00000000FF0000FF00000000FF0000FF00000000FF0000FE000000 - 00FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000 - 007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000 - 007F0000FE000000007F0000FE000000007F0000FE000000003F0000FE000000 - 003F0000FE000000003F0000FF000000003F0000FF000000003F0000FFFFFC00 - 00FF0000FFFFFFFFFFFF00002800000010000000200000000100200000000000 - 4004000000000000000000000000000000000000000000000000000015080003 - AF4D0CA383380684411A003E1508000500000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000006C2B015A - BB672DFFCA9E65FFEAA54AFFDF862EF4BC6218BF83360378411A002C00000000 - 000000000000000000000000000000000000000000000000000000008234016A - B45D28FFE3AD5BFFFFC75FFFFFC75FFFFFC75FFFFBBF59FFE89D41FFCF7428E4 - 96430D9F2B11001E00000000000000000000000000000000000000008234016A - B66129FFFBCD7BFFFFCD72FFFFCA69FFFFC862FFFFC75FFFFFC75FFFFFC75FFF - E6AA53FFB6560EB22B110015000000000000000000000000000000008234016A - C67436FFE1B869FFDAAD59FFE6B865FFFFD381FFFFCF76FFFFCB6CFFFFC964FF - FFC760FFFCC15AFFD87822E2411A00310000000000000000000000008234016A - D28646FFD6AF64FFCCA251FFCA9E4DFFF9D797FFFFDB97FFFFD78EFFFFD484FF - FFD079FFFFCC6FFFE7973CFB6E2E036A0000000000000000000000008234016A - DB9456FFDBBA77FFE6C78DFFC59C4EFFE7C890FFB0812FFFB48536FFC99E55FF - E3BB75FFE8A45BFF411A0037000000000000000000000000000000008234016A - E3A265FFF7E8CBFFEFDBB4FFE2C897FFF8E6C4FFFFEDCCFFF9E4BDFFE1C491FF - CAA66BFFE39D5EFF15080005000000000000000000000000000000008234016A - E9AC71FFDFC388FFCBA24FFFD5B577FFF2E3C4FFFFF4E0FFFFF2DBFFFFF0D5FF - FFEECFFFE8AF7DFF411A001C000000000000000000000000000000008234016D - EFB67BFFDEC284FFE8D5ACFFCEAA61FFEBDAB8FFC6A159FFD1B37CFFDDC499FF - ECD9B9FFEBC29DFF411A003A000000000000000000000000000000008234017F - F2BA7FFFE8D4A6FFE1C891FFD5B571FFE5D2AAFFEEE2CCFFE1CDAAFFD0B686FF - C09E65FFDEBF9AFF6C2B015F000000000000000000000000000000008234017F - E7C091FFE2EEF7FFFFFFFFFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFCFFFFFDFBFF - FFFDF9FFFDF9F3FF82370684000000000000000000000000000000008234017F - 67CFF5FF0B9DF2FF089DEEFF28ACEFFF4ABAEFFF6CC8F1FF8BD4F3FFB1DFF4FF - CFE6F4FFF2F7FAFF9F5627A8000000000000000000000000000000008234017F - 66CFFFFF4CBCFFFF04A7FFFF00ADFFFF00B4FFFF00BBFFFF00C2FFFF00CAFFFF - 00D1FFFF00D1FBFF8A744CCD000000000000000000000000000000008234017D - 4E96CCFF70A2CDFF73ADDCFF5FA9DFFF45ADF1FF38AFF3FF2DB2F4FF29BAF7FF - 1FBFF8FF16C6F9FF758671F7000000000000000000000000000000002B110017 - 411A0055411A00558234016A8234016A8234017A8234017F76360F8A72371394 - 6A391D9A663A21A66C2B015F0000000000000000C1FF0000C03F0000C0070000 - C0030000C0010000C0010000C0030000C0030000C0030000C0030000C0030000 - C0030000C0030000C0030000C0030000C0030000280000001800000030000000 - 0100200000000000600900000000000000000000000000000000000000000000 - 00000000000000000000000031130020C44E028F622701573113001400000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000C44E02B7C87E3FFFCB8A4BFFC86D29FFC45208CB - 933A01876227014B311300100000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000006227011CC24B01FFAF6B3DFFB4845AFFF7C363FFFAC360FF - EFAA4AFFE49034FFD5721DFFC65306C7933A017B622701300000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000062270120C24B01FFAE683BFFCE9856FFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFDC35CFFECA244FFD97F2CFFC75E15E7C44E02A3 - 6227015F3113000C000000000000000000000000000000000000000000000000 - 000000000000000062270120C24B01FFAE683BFFECB866FFFFC966FFFFC861FF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFF8C15FFFD59850FF - BA662BFF933A017B000000000000000000000000000000000000000000000000 - 000000000000000062270120C44E02FFB26D3EFFFDD384FFFFD17EFFFFCF77FF - FFCC6FFFFFCA68FFFFC863FFFFC760FFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - F6BA58FFD6741FFB933A017F3113000400000000000000000000000000000000 - 000000000000000062270120C75203FFC07E4BFFF1CA82FFD6A850FFEDC271FF - FFD587FFFFD280FFFFD079FFFFCD72FFFFCB6AFFFFC964FFFFC760FFFFC75FFF - FFC75FFFFFC75FFFE8973AFFC65306BF31130018000000000000000000000000 - 000000000000000062270120CA5605FFC98B56FFE9C683FFCFA34FFFB9882BFF - C99B48FFD9AD5CFFFFD890FFFFD589FFFFD382FFFFD17BFFFFCE74FFFFCC6DFF - FFC966FFFFC861FFFFC75FFFF2AC4AFFC75507C7000000000000000000000000 - 000000000000000062270120CC5906FFD59D6AFFE9CB90FFB4801AFFD3AC62FF - DBB46CFFC49744FFFDDDA1FFFFDD9EFFFFDB98FFFFD892FFFFD68CFFFFD485FF - FFD17EFFFFCF77FFF6BA5FFFD26C1AF7933A017F000000000000000000000000 - 000000000000000062270120CF5C07FFD7A272FFEACF9BFFDDBA77FFFFEBC6FF - D1AB64FFC79C4EFFE5C489FF9C660AFFB38433FFCA9F56FFE1BB76FFFBD795FF - FFD994FFFBCE85FFC95A0EDB3113002000000000000000000000000000000000 - 000000000000000062270120D15F08FFE3B68BFFF7E7C7FFD4B06AFFCBA456FF - C89F50FFB5852CFFFFEBC7FFEBD09FFFD4B275FFBA904AFFA17023FF895302FF - A87830FFF0BA7BFF6227017F0000000000000000000000000000000000000000 - 000000000000000062270120D36109FFE4BA91FFF8EBD1FFECD6AAFFF8EACEFF - FFF3DDFFFAEBCFFFFFF0D5FFFFEFD1FFFFEDCDFFFFECC9FFFFEAC4FFF9E2B7FF - E2C490FFF4C994FF933A018B0000000000000000000000000000000000000000 - 000000000000000062270120D5630AFFE8C19AFFEDDAB4FFD1AC5DFFC59A42FF - CCA65BFFD2B06EFFFFF4E1FFFFF3DEFFFFF2DAFFFFF0D7FFFFEFD2FFFFEECEFF - FFECCAFFF8DAB0FFC44E029F0000000000000000000000000000000000000000 - 000000000000000062270120D6650BFFF1D0ACFFEDDDB9FFC89A38FFC39535FF - E5CEA0FFD2B070FFFFF8EBFFFFF7E9FFFFF6E6FFFFF5E2FFFFF4DFFFFFF2DCFF - FFF1D8FFFFF0D4FFC34E03BF0000000000000000000000000000000000000000 - 000000000000000062270128D7670BFFF2D1AFFFEEDEBCFFD5B161FFFFFCF8FF - D2B16CFFC09439FFFFFBF3FFA9730BFFB2832CFFBD954CFFC8A76CFFD7BC8FFF - E6D3B1FFF9EDD6FFCA631FE30000000000000000000000000000000000000000 - 000000000000000062270140D8680CFFF3D2B0FFEFE0BEFFD2AA53FFE5D0A1FF - EBDBB8FFBF9133FFFAF4E9FFEBDDC2FFDCC59AFFCDAE77FFBE9958FFAD8135FF - 9C6A16FFC7A875FFD37C41FF3113000800000000000000000000000000000000 - 000000000000000062270140D9690CFFFBE0C1FFFDFBF7FFF4EBD7FFECDDBBFF - E3CD9FFFDCC28AFFFFFEFDFFFFFEFCFFFFFDFBFFFFFDF9FFFFFCF8FFFFFCF6FF - FFFBF5FFFFFAF2FFD99363FF6227012C00000000000000000000000000000000 - 000000000000000062270140D96E11FFD6D5CEFFCFE2F3FFEFF5FBFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFCFFFFFDFBFF - FFFDFAFFFFFCF8FFE2AC88FF6227014F00000000000000000000000000000000 - 00000000000000006227014066766FFF99E0FAFF099AEFFF0091E7FF1498E5FF - 34A5E6FF57B3E8FF77BEE9FF97C8EAFFBBD6EEFFDBE9F6FFFFFFFEFFFFFEFEFF - FFFEFDFFFFFEFCFFEAC6ADFF6227017300000000000000000000000000000000 - 000000000000000062270140628780FF99E2FFFF29B1FFFF00A6FFFF00ABFFFF - 00B0FFFF00B5FFFF00B9FFFF00BEFFFF00C0FDFF00BCF7FF00B3EFFF20BEF0FF - 43CAF2FF63D3F2FF88C3CCFFC44E029700000000000000000000000000000000 - 000000000000000062270140627E80FF99DDFFFF7FCEFFFF1CABFFFF00A5FFFF - 00AAFFFF00AFFFFF00B4FFFF00B9FFFF00BEFFFF00C2FFFF00C7FFFF00CCFFFF - 00D1FFFF00D6FFFF05D7F9FFC14E05BF00000000000000000000000000000000 - 000000000000000062270140627580FF66B8F4FF7FBFF3FF8CC7F5FF92CDF7FF - 76C3F7FF79CCFBFF62C7FBFF59CBFDFF4CCEFFFF3CCDFFFF29CCFFFF19CCFFFF - 03CCFFFF00D0FFFF00D5FFFF9F622EEF00000000000000000000000000000000 - 000000000000000062270120AB5520EF935839FF935839FF7A5E55FF7A5E55FF - 7A5E55FF6B6166FF626370FF626370FF5F6374FF4C6A8CFF637890FF637890FF - 6085A7FF578AB0FF728286FFB85B19E700000000000000000000000000000000 - 0000000000000000000000000000000000000000000000003113001062270120 - 6227012062270124622701406227014062270140622701576227015F6227015F - 6227016B6227017F6227015B3113000C000000000000000000000000F0FFFF00 - F00FFF00E001FF00E0001F00E0001F00E0000700E0000300E0000300E0000300 - E0000700E0000F00E0000F00E0000F00E0000F00E0000F00E0000700E0000700 - E0000700E0000700E0000700E0000700E0000700E0000700FE00070028000000 - 2000000040000000010020000000000080100000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000006C2B0143 - C44E0266411A003D411A00210000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000005722000EC45207E2 - C76B26FFC65D15E7C44F03CB8234019B8234015C572200150000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000015080005983C0192C1530CFF - C28B56FFC8A775FFD1A56BFFDA9142FFD57726FFCE6515FBC85809D7C44E029C - 6C2B0163411A0033411A00130000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0013C44E02BDBC4F0EFF - AD6E44FFB07E56FFE0AD60FFFEC65FFFFBC45FFFF5B553FFF0A847FFE8983AFF - D97923FFC85809DDC44E02BD8234017882340138000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFBC4F0EFF - AC6B42FFC08A53FFF7C05DFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFDC35CFFF1AC4AFFDC832DFFD06C1DFFC65A10E6C45004AD983C015F - 411A003C2B11000A000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFBC4F0EFF - AC6B42FFD8A25BFFFFC761FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFEC65FFFF8BD5BFFE7A64EFFC97E3CFFBD6122FB - C2570FE68234016D000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFBC500EFF - AC6C42FFF1C172FFFFCE73FFFFCC6CFFFFCA68FFFFC863FFFFC761FFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFDFA959FF - C57E3DFFC44F03C86C2B012F0000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFC05510FF - B17246FFFDD486FFFFD383FFFFD17DFFFFD078FFFFCD72FFFFCC6DFFFFCA67FF - FFC863FFFFC760FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - F7BB59FFE0872DFDC85608D6823401512B110003000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFC55B11FF - C08453FFF7D28CFFE3B766FFEABE6DFFF4C97AFFFFD485FFFFD281FFFFD17BFF - FFCF77FFFFCD70FFFFCB6BFFFFC966FFFFC862FFFFC760FFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFF3AF4CFFD16917F7C55003982B1100150000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFC85F13FF - CA9360FFF0CD8BFFBB8929FFCC9E49FFC08F34FFC29137FFD7A955FFFFD68BFF - FFD586FFFFD280FFFFD17CFFFFCF75FFFFCD71FFFFCB6BFFFFCA66FFFFC862FF - FFC760FFFFC75FFFFFC75FFFF6B551FFD6731EFBAE45019C2B11001500000000 - 0000000000000000000000000000000000000000411A0015C44E02BFCC6415FF - D19D6DFFF0D298FFC19133FFCC9F4BFFBD8D31FFEBC682FFB5842BFFFAD795FF - FFDB98FFFFD993FFFFD78EFFFFD689FFFFD484FFFFD27FFFFFD07AFFFFCE74FF - FFCC6FFFFFCA69FFFFC965FFFDC45EFFF3AF4DFFCA5B0CE6411A003C00000000 - 0000000000000000000000000000000000000000411A0015C44E02BFCF6816FF - DCAD7EFFF0D5A1FFB88622FFCFA657FFDAB570FFCCA04FFFBB8D38FFEFCE8FFF - FCDCA0FFFFDEA0FFFFDD9CFFFFDA97FFFFD993FFFFD78EFFFFD689FFFFD484FF - FFD27FFFFFD079FFFFCE74FFE18C36FFCC5E0FF0983C01751508001100000000 - 0000000000000000000000000000000000000000411A0015C44E02BFD26D18FF - DCB186FFF1D9ABFFC69941FFFDE9C4FFFFEAC4FFD3AE69FFAD7A1CFFEED099FF - DCB979FF9B6609FFB1812EFFCCA159FFDCB470FFE9C481FFF6D28FFFFFDA96FF - FFD891FFFDD388FFDF8D40FFAE4501A62B11001C000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFD5701AFF - E7C39EFFF3E0B9FFC39438FFC79C47FFD3AD65FFDFBF83FFB6872FFFDFBE81FF - F3DAABFFC49C55FFAE802FFF97620AFF935D06FF9C6A19FFA7772AFFB98C44FF - D7AE6AFFF6C885FFCF691FFF2B11001800000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFD8741BFF - EDCDACFFFFF4E1FFFFF3DEFFF4E2C0FFE5CC9BFFCEAA63FFC09545FFE6CB99FF - FFEDCDFFFFECC9FFFFEBC6FFFBE5BDFFECD1A0FFD2AF74FFB78D49FFA4762EFF - A67731FFF5C98FFFCE661DFF0000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFDA771CFF - EDCFB1FFF8ECD4FFE6CC98FFEBD5A9FFF8EACEFFFFF3DEFFFCEED5FFFDF0D6FF - FFF0D6FFFFEFD3FFFFEED0FFFFEDCCFFFFECCAFFFFEBC5FFFFEAC3FFF5DCAFFF - EACE9DFFF8D5A3FFD16F2AFF5722001500000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFDE7C1FFF - EFD3B7FFF3E4C7FFC79B3BFFD0AC5FFFBD8D2AFFC59B47FFC8A052FFEBD7AFFF - FFF4E0FFFFF3DDFFFFF2DAFFFFF1D8FFFFF0D5FFFFEFD2FFFFEECFFFFFEDCBFF - FFECC9FFFADEB6FFD37633FF8234012A00000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFE5862AFF - F4DCC3FFF3E6CBFFCFA751FFDEC288FFBF8F2AFFEFDFBFFFD9BC83FFE2CA9BFF - FFF6E7FFFFF6E4FFFFF5E2FFFFF4E0FFFFF3DDFFFFF2DAFFFFF1D8FFFFF0D5FF - FFEFD2FFFDEACAFFD67F41FF8234014700000000000000000000000000000000 - 0000000000000000000000000000000000000000411A0015C44E02BFE78A2DFF - F6DFC8FFF3E8CFFFC79730FFCBA044FFE3CC9DFFC8A04CFFD7B97EFFD9BD85FF - FFF9EEFFE2CBA0FFE6D2ACFFEFE0C3FFF4E7CEFFFCF1DDFFFFF4E2FFFFF3DFFF - FFF3DCFFFFF2D9FFDA8E57FF8234016300000000000000000000000000000000 - 0000000000000000000000000000000000000000411A001CC44E02C6E98C2EFF - F6E0C9FFF3E9D2FFCCA03EFFF5EBD7FFFFFCF9FFDEC592FFBB8B27FFD5B77AFF - FFFBF4FFA9730AFFA87410FFAF8028FFB38635FFB88E46FFC19E60FFD1B585FF - E0CAA4FFF5E7CEFFDFA375FF8234018600000000000000000000000000000000 - 0000000000000000000000000000000000000000411A002AC44E02D4EB8E2FFF - F7E1CAFFF4EAD3FFD0A546FFEBD9B3FFEEDFC0FFF1E6CDFFD2B06CFFCDAA60FF - FCF8F1FFE6D4B3FFD6BB89FFCAAA6DFFBC954EFFB2883BFFAB7D2DFFA06E1AFF - 97630DFFB48D4DFFEBC2A1FF983C01AD15080003000000000000000000000000 - 0000000000000000000000000000000000000000411A002AC44E02D4EE9334FF - F9E5CFFFF9F4E9FFE4CB94FFD8B76DFFD5B266FFCEA754FFC49638FFCFAB62FF - FCF9F4FFFFFDFAFFFFFDF9FFFFFCF8FFFDFAF4FFF5EEE0FFEFE5D1FFE7D8BEFF - E0CEAFFFE6D6BBFFF1D6BFFFC44E02BB411A0011000000000000000000000000 - 0000000000000000000000000000000000000000411A002AC44E02D4F49C3FFF - FEEDD9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFF - FFFEFEFFFFFEFDFFFFFEFCFFFFFEFCFFFFFDFBFFFFFDFAFFFFFDF9FFFFFCF8FF - FFFCF7FFFFFBF5FFF7EFE6FFC34E03D1411A0027000000000000000000000000 - 0000000000000000000000000000000000000000411A002AC44E02D4D5994FFF - D5DCDFFFB8D4EDFFD4E5F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFEFFFFFFFEFFFFFFFEFFFFFEFDFFFFFEFDFFFFFEFCFFFFFEFCFFFFFDFBFF - FFFDFAFFFFFCF9FFFFFCF8FFC55A15E2411A0038000000000000000000000000 - 0000000000000000000000000000000000000000411A002AC44E02D429A8DDFF - AAE2FAFF0894E9FF008BE2FF0389DDFF2093DDFF40A2E0FF63B4E7FF86C5EBFF - A2D1EFFFB8DAF1FFCAE0F2FFD9E8F5FFE7F1F9FFFFFFFEFFFFFFFEFFFFFEFDFF - FFFEFDFFFFFEFCFFFFFEFBFFCE753BF4411A004A000000000000000000000000 - 0000000000000000000000000000000000000000411A002AC44E02D422CDFEFF - AAE6FFFF24B0FFFF00A6FFFF00AAFFFF00AEFFFF00ADFBFF00ADF8FF00ABF4FF - 00A8F0FF0EB0F1FF20B8F2FF2FB8EEFF3DBDEEFF55BBE9FF71C4EBFF8DCAEBFF - B1D3ECFFD7E7F4FFF4F8FBFFD68D5EFF983C0163000000000000000000000000 - 0000000000000000000000000000000000000000411A002AC44E02D422C2FFFF - AAE3FFFF52BEFFFF00A2FFFF00A6FFFF00A9FFFF00ADFFFF00B0FFFF00B4FFFF - 00B8FFFF00BBFFFF00BFFFFF00C3FFFF00C6FFFF00CAFFFF00CEFFFF00D1FFFF - 00D5FFFF00CFF9FF00C8F4FF628B80FFC44E028A000000000000000000000000 - 0000000000000000000000000000000000000000411A002AC44E02D422B8FFFF - AAE1FFFF9ED9FFFF41B7FFFF10A8FFFF00A5FFFF00A9FFFF00ADFFFF00B0FFFF - 00B4FFFF00B8FFFF00BBFFFF00BFFFFF00C2FFFF00C6FFFF00CAFFFF00CDFFFF - 00D1FFFF00D5FFFF00D8FFFF43AAA8FFC14E04AD000000000000000000000000 - 0000000000000000000000000000000000000000411A002AC44E02D41DA7FDFF - 83C7F7FF99CDF7FF99CEF7FFAAD8F9FF9ED5F9FF7FCAF9FF74CAFBFF60C7FCFF - 4FC4FCFF38C1FDFF38C7FFFF31C8FFFF26C8FFFF1DC9FFFF12C9FFFF0CCCFFFF - 01CCFFFF00D0FFFF00D4FFFF2BB6C5FFAE5B1CE2000000000000000000000000 - 0000000000000000000000000000000000000000411A0027C44E02D14578A2FF - 507399FF527398FF3C78B0FF4284BFFF4284BFFF4284BFFF488CC7FF3395E7FF - 3395E7FF3899E7FF389CE9FF319BE9FF2C9CEAFF3FACEFFF34AAEFFF31ABEFFF - 3DB8F3FF38BCF4FF22B9F4FF4DAAC0FFAE5F23FF000000000000000000000000 - 00000000000000000000000000000000000000002B11000382340158823401AA - 823401AA823401AA823401AAC44E02BFC44E02BFC44E02BFC44E02BFC44E02CA - C44E02D4C44E02D4C44E02D4B35114D8A35526E6A35526E9A35526E99E562CE9 - 885A45F4825C4CFF935839F7C44E02CF983C0184000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000411A0015411A0015411A0015411A0015411A0020 - 411A002A411A002A411A002A411A002E411A003C411A003F411A003F411A003F - 411A004A411A0055411A004D411A002515080005000000000000000000000000 - 00000000FC3FFFFFF807FFFFF0003FFFF0000FFFF000007FF000007FF000003F - F000000FF0000007F0000003F0000003F0000003F000000FF000001FF000003F - F000001FF000001FF000001FF000001FF000001FF000000FF000000FF000000F - F000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000F - FFC0000F28000000300000006000000001002000000000008025000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000C44E0230C44E021000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000C44E0280C44E02FFC44E02FFC44E02CF - C44E028FC44E0250000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000C44E0220C44E02FFC56019FFCB8748FFC86E29FF - C5540AFFC44E02FFC44E02FFC44E02BFC44E0270C44E02300000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000C44E02BFC44E02FFC3621FFFD0B27DFFD0B37EFF - D1B37EFFCE9A60FFCB8141FFC7611AFFC44E02FFC44E02FFC44E02EFC44E02AF - C44E0280C44E0240000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0230C44E02FFC14A01FFB45D28FFAF7F58FFB78B60FF - BF9769FFE0B770FFFFC75FFFF9C563FFF3BC5FFFE79F46FFDA7B25FFCF6513FF - C44E02FFC44E02FFC44E02FFC44E02AFC44E0270C44E02200000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFA8734FFF - B37E51FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFF0A948FFDE832BFFCF6513FFC44E02FFC44E02FFC44E02CFC44E0280 - C44E024000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFA8734FFF - DEA859FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFF8B853FFE59236FFD06B1CFFC44E02FF - C44E02FFC44E02EFC44E02AFC44E0270C44E0220000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFB37E51FF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFAC564FF - E29D4BFFCE7D38FFC7621AFFC44E02FFC44E02FFC44E02DFC44E029FC44E0230 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFCE995AFF - FFC965FFFFC862FFFFC760FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFE4B060FFBF8651FFB86E39FFBF6526FFC3570FFFC44E02DF - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFC04901FFB45D28FFA8734FFFE4B269FF - FFCE72FFFFCC6EFFFFCB6AFFFFCA66FFFFC863FFFFC861FFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFDEA859FFB37E51FFB66129FFC44E02FF - C44E021000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFC34D02FFB56029FFA8734FFFFACD7EFF - FFD27EFFFFD07AFFFFCF76FFFFCE73FFFFCD6FFFFFCB6BFFFFCA68FFFFC964FF - FFC861FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFDB9444FFC85608FF - C44E02EFC44E0250000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFC65004FFB8622AFFB38057FFFFD78CFF - FFD689FFFFD586FFFFD382FFFFD27FFFFFD17BFFFFD078FFFFCE74FFFFCD70FF - FFCC6DFFFFCB69FFFFC965FFFFC862FFFFC760FFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFF8B853FF - D6741FFFC44E02FFC44E02AFC44E021000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFCA5505FFBA652BFFBE8D62FFFFDB97FF - F4CC81FFFFD891FFFFD78DFFFFD68AFFFFD587FFFFD483FFFFD380FFFFD17CFF - FFD079FFFFCF75FFFFCE72FFFFCC6EFFFFCB6AFFFFCA66FFFFC863FFFFC861FF - FFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFE59236FFC85608FFC44E02DFC44E0230000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFCC5806FFBC672BFFCEA274FFFFDEA1FF - D2A550FFA46C00FFB98625FFD0A149FFE7BC6CFFFFD88FFFFFD68BFFFFD588FF - FFD485FFFFD381FFFFD27EFFFFD07AFFFFCF76FFFFCE73FFFFCD6FFFFFCB6BFF - FFCA68FFFFC964FFFFC861FFFFC75FFFFFC75FFFFFC75FFFFFC75FFFFFC75FFF - FFC75FFFFFC75FFFF4B04EFFCF6513FFC44E02EFC44E02600000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFCF5C08FFBD6A2CFFD4AB7EFFFFE2ABFF - D3A854FFB6831FFFDCB367FFBE8E33FFAB7614FF9D6500FFB48125FFCC9D48FF - FFD890FFFFD78CFFFFD689FFFFD586FFFFD382FFFFD27FFFFFD17BFFFFD078FF - FFCE74FFFFCD70FFFFCC6DFFFFCB69FFFFC965FFFFC862FFFFC760FFFFC75FFF - FFC75FFFFFC75FFFFFC75FFFFBBF59FFCF6513FFC44E02FFC44E026000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFD26009FFBF6C2DFFD4AC83FFFFE5B4FF - D4AA59FFBD8B2BFFEECC8BFFAE7915FFD0A452FFF3D08FFFE0B86FFF9A6300FF - FFDC9AFFFFDB97FFFFDA94FFFFD891FFFFD78DFFFFD68AFFFFD587FFFFD483FF - FFD380FFFFD17CFFFFD079FFFFCF75FFFFCE72FFFFCC6EFFFFCB6AFFFFCA66FF - FFC863FFFFC861FFFFC75FFFFFC75FFFFFC75FFFD36C19FFC44E02BF00000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFD4630AFFC16E2EFFE9CBA3FFFFE8BDFF - D4AC5DFFAE770BFFAC750BFFC09138FFA7710BFFDCB46BFFFFE1AAFF9B6400FF - ECC885FFFFDEA1FFFFDD9EFFFFDC9BFFFFDB98FFFFDA95FFFFD992FFFFD88FFF - FFD68BFFFFD588FFFFD485FFFFD381FFFFD27EFFFFD07AFFFFCF76FFFFCE73FF - FFCD6FFFFFCB6BFFFFCA68FFF0AA4BFFD36C19FFC44E02FFC44E029F00000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFD7660BFFC3712FFFE9CDA9FFFFEBC5FF - D5AE62FFA97100FFCEA454FFFFE7BBFFE8C88BFFA7710BFFEDCD91FFA36D0BFF - E6C382FFFFE2ABFFF9D89DFFFFE0A5FFFFDFA2FFFFDE9FFFFFDC9CFFFFDB99FF - FFDA96FFFFD993FFFFD890FFFFD78CFFFFD689FFFFD586FFFFD382FFFFD27FFF - FFD17BFFFFD078FFDE8633FFC44E02FFC44E02DFC44E02600000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFD9690DFFC47330FFE9CFAEFFFFEDCCFF - D6B065FFC09032FFFFEBC6FFFFEAC3FFFFE9C1FFD6B16CFFAC7817FFB07E23FF - E6C589FFFFE5B4FFCBA259FF965F00FFAF7E2AFFC89E53FFE3BE7CFFF8D699FF - FFDEA0FFFFDD9DFFFFDC9AFFFFDB97FFFFDA94FFFFD891FFFFD78DFFFFD68AFF - FFD587FFDA8032FFC44E02FFC44E028000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFDB6C0EFFC67530FFE9D3BAFFFFF0D3FF - D6B269FFBC8A27FFFAE6C0FFFFEDCBFFFFECC9FFFFEBC6FFC49A4AFF9F6800FF - E7C88FFFFFE8BDFFCCA45DFF976000FF955E00FF935C00FF915A00FF8F5800FF - A2701FFFB6893EFFD3AA65FFF0CC8DFFFFDD9EFFFFDC9BFFFFDB98FFFFDA95FF - F0B66EFFC44E02FFC44E02700000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFDE6F0FFFC77631FFFFF5E3FFFFF2DAFF - E1C387FFB37C0EFFAB7200FFB4801AFFC39640FFD2AD66FFE8CC98FFA7710DFF - C3994AFFFFEBC5FFFFEAC2FFE5C791FFCAA460FFB5893BFFA06D18FF905900FF - 8E5800FF8C5600FF8A5400FF875200FF8D590AFFAA7B33FFD0A764FFFFDE9FFF - E29550FFC44E02FF000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFE07210FFC97832FFFFF7E7FFFFF4E0FF - FFF3DEFFFFF3DCFFF5E2BFFFE4CA95FFD4B06CFFBC8F36FFAA740DFFA26A00FF - CAA35BFFFFEDCCFFFFEDCAFFFFECC8FFFFEBC6FFFFEAC3FFFFE9C1FFF1D7A7FF - DCBB82FFC69F5EFFA8792FFF895300FF875100FF854F00FFA2722BFFFFE1A9FF - E29754FFC44E02FF000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFE17411FFCA7A32FFFFF8EDFFFFF6E5FF - FFF5E4FFFFF5E2FFFFF4E0FFFFF4DFFFFFF3DDFFFFF2DBFFFFF2D9FFF3E0BDFF - F9E8C8FFFFF0D3FFFFEFD1FFFFEECFFFFFEECDFFFFEDCBFFFFECC9FFFFEBC6FF - FFEAC4FFFFEAC2FFFFE9BFFFFFE8BDFFE9CB98FFD1AE74FFBA9150FFFFE4B2FF - E29959FFC44E02FF000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFE37611FFCB7B33FFFFFBF3FFFFF8EAFF - E3C991FFD5B065FFDDBF81FFEBD6ABFFFAEDD4FFFFF4E1FFFFF4DFFFFFF3DDFF - FFF3DCFFFFF2DAFFFFF1D8FFFFF1D6FFFFF0D4FFFFEFD2FFFFEED0FFFFEECEFF - FFEDCCFFFFECC9FFFFEBC7FFFFEBC5FFFFEAC2FFFFE9C0FFFFE8BDFFFFE7BBFF - F0C08BFFC44E02FFC44E02300000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFE57812FFCC7D33FFFFFCF6FFFFF9EEFF - DBBB77FFB9830FFFC6993BFFB07700FFAE7500FFB17B0EFFBF9239FFCEAA63FF - E9D3A9FFFFF4E0FFFFF3DEFFFFF3DCFFFFF2DAFFFFF2D8FFFFF1D7FFFFF0D5FF - FFEFD3FFFFEFD1FFFFEECEFFFFEDCCFFFFEDCAFFFFECC8FFFFEBC6FFFFEAC3FF - F0C291FFC44E02FFC44E02400000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFE77A13FFD88F49FFFFFCF8FFFFFBF2FF - DBBC79FFC89C3CFFFFF9EFFFE2C894FFD7B776FFEBD7B1FFD5B575FFBF923AFF - D3B373FFFFF6E5FFFFF5E4FFFFF5E2FFFFF4E0FFFFF4DFFFFFF3DDFFFFF2DBFF - FFF2D9FFFFF1D7FFFFF0D5FFFFF0D3FFFFEFD1FFFFEECFFFFFEECDFFFFEDCBFF - F4CFA4FFC44E02FFC44E02400000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFE87C14FFE4A25EFFFFFDFAFFFFFCF6FF - DCBD7AFFCA9D3DFFE3CB97FFB37900FFB17800FFF0E1C2FFFFF9EEFFD5B577FF - D4B476FFFFF8EAFFFFF7E9FFFFF7E7FFFFF6E6FFFFF6E4FFFFF5E3FFFFF4E1FF - FFF4DFFFFFF3DDFFFFF3DCFFFFF2DAFFFFF1D8FFFFF1D6FFFFF0D4FFFFEFD2FF - FFEED0FFC44E02FFC44E02800000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFE97E14FFE5A35FFFFFFEFCFFFFFDF8FF - DDBE7CFFBD860FFFB77D00FFD1AB5CFFD8BA7AFFB57F0FFFF0E2C4FFD5B679FF - CAA45AFFFFF9EEFFFFF9EDFFFFF8ECFFFFF8EBFFFFF7E9FFFFF7E8FFFFF6E6FF - FFF6E5FFFFF5E3FFFFF5E1FFFFF4E0FFFFF3DEFFFFF3DCFFFFF2DAFFFFF2D8FF - FFF1D7FFC25007FFC44E02800000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E02FFEA8015FFE5A460FFFFFEFDFFFFFEFBFF - DDBF7DFFBA8000FFD3AE5DFFFFFDF8FFFFFCF7FFCEA95DFFBF8F2EFFD1AF6BFF - C1953DFFFFFBF2FFFFFAF1FFA56D00FFAF7D1EFFB88D3BFFCFB076FFD4B884FF - E6D2AFFFF2E4CBFFFFF6E7FFFFF6E5FFFFF5E4FFFFF5E2FFFFF4E0FFFFF4DFFF - FFF3DDFFD37738FFC44E02BF0000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0260C44E02FFEC8116FFE6A561FFFFFFFEFFFFFEFDFF - DEC07EFFC8992FFFFFFEFBFFFFFDFAFFFFFDFAFFFFFDF9FFBF902FFFAF7600FF - C1963EFFFFFCF6FFFFFBF5FFAC770FFFA46C00FFA26A00FFA06800FF9E6600FF - 9C6400FF9A6200FF986000FFA97B2CFFB58D48FFC8A973FFD5BB8FFFEAD8B9FF - FFF5E3FFCF7C43FFC44E02CF0000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FFED8216FFE7A662FFFFFFFFFFFFFFFEFF - DFC17FFFCEA13FFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFFFAF5EBFFBA871FFF - BD8F2FFFFFFDF8FFFFFCF8FFDEC79BFFD2B47BFFBA8F3EFFB98E3DFF9F6700FF - 9D6500FF9B6400FF996200FF976000FF955E00FF935C00FF905A00FF8E5800FF - FFF7E8FFE2A274FFC44E02FF0000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FFED8316FFE7A762FFFFFFFFFFFFFFFFFF - DFC27FFFBE8300FFC08910FFCB9F3FFFCEA64FFFDBBD7EFFDABC7EFFD8BB7EFF - AF7600FFEBDBBCFFFFFDFAFFFFFDF9FFFFFDF9FFFFFDF8FFFFFCF7FFFFFCF6FF - F9F2E6FFE6D6B8FFDFCBA8FFCBAE7AFFBD995BFFAF843CFF9F6F1EFF905900FF - FFF8ECFFE2B28FFFC44E02FFC44E022000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FFEE8417FFF3B978FFFFFFFFFFFFFFFFFF - F7F0DFFFEFE0BFFFE6D09FFFDDC080FFD8B76FFFC99D40FFC79C40FFB37900FF - C0912FFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFFFFFDFAFFFFFDFAFFFFFDF9FF - FFFDF8FFFFFCF7FFFFFCF6FFFFFCF6FFFFFBF5FFFFFBF4FFFFFBF3FFFFFAF2FF - FFFAF0FFF0CFB4FFC44E02FFC44E024000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FFEF8517FFFECB8FFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF - FFFFFEFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFF - FFFDFAFFFFFDFAFFFFFDF9FFFFFDF8FFFFFCF8FFFFFCF7FFFFFCF6FFFFFBF5FF - FFFBF4FFEFE1D4FFC44E02FFC44E027000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FFEF8617FFFECC8FFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFDFFFFFEFDFF - FFFEFCFFFFFEFCFFFFFEFBFFFFFEFBFFFFFDFAFFFFFDF9FFFFFDF9FFFFFDF8FF - FFFCF7FFFFFCF6FFC25007FFC44E028000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FFEE9629FF769AB3FFE6F0F9FF80B3DFFF - BFD9EFFFBFD9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFF - FFFFFEFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFCFFFFFEFCFFFFFEFBFFFFFDFAFF - FFFDFAFFFFFDF9FFC8692BFFC44E02BF00000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FF1078BDFF66CDF1FFCCE9FBFF0087DFFF - 0088DFFF0078CFFF0079CFFF1075C7FF408DCFFF5097D3FF80B3DFFF9FC6E7FF - BFD9EFFFDFECF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFEFEFFFFFEFDFFFFFEFDFFFFFEFCFF - FFFEFCFFFFFEFBFFCF7F4AFFC44E02CF00000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FF00C7FBFF66E0FFFFCCECFFFF26B2FFFF - 00A7FFFF00A9FFFF00ACFFFF00AEFFFF00B1FFFF00A9F7FF00A2EFFF009EEBFF - 0090DFFF0091DFFF007DCFFF2090D7FF4093D3FF70AADBFF80B3DFFFAFD0EBFF - BFD9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFF - FFFEFDFFFFFEFDFFDC9D74FFC44E02FF00000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FF00C5FFFF66DBFFFFCCECFFFF40B9FFFF - 00A4FFFF00A7FFFF00A9FFFF00ABFFFF00AEFFFF00B0FFFF00B3FFFF00B5FFFF - 00B8FFFF00BAFFFF00BCFFFF00BFFFFF00C1FFFF00C4FFFF00BAF7FF00B0EFFF - 00B2EFFF009ADFFF009BDFFF40AEE3FF40A8DFFF80C1E7FF8FBDE3FFBFD9EFFF - CFE3F2FFFFFFFEFFE2B699FFC44E02FFC44E0220000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FF00BCFFFF66D6FFFFCCEBFFFF66C6FFFF - 00A1FFFF00A4FFFF00A6FFFF00A9FFFF00ABFFFF00ADFFFF00B0FFFF00B2FFFF - 00B5FFFF00B7FFFF00BAFFFF00BCFFFF00BEFFFF00C1FFFF00C3FFFF00C6FFFF - 00C8FFFF00CBFFFF00CDFFFF00D0FFFF00D2FFFF00D4FFFF00D7FFFF00D2FBFF - 00BEEFFF00C0EFFF4197ACFFC44E02FFC44E0240000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FF00B3FFFF66D2FFFFCCEBFFFFA6DCFFFF - 009EFFFF00A1FFFF00A3FFFF00A6FFFF00A8FFFF00ABFFFF00ADFFFF00B0FFFF - 00B2FFFF00B4FFFF00B7FFFF00B9FFFF00BCFFFF00BEFFFF00C1FFFF00C3FFFF - 00C5FFFF00C8FFFF00CAFFFF00CDFFFF00CFFFFF00D1FFFF00D4FFFF00D6FFFF - 00D9FFFF00DBFFFF15D0E9FFC44E02FFC44E0270000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FF00AAFFFF66CDFFFFCCEAFFFFCCEBFFFF - 8CD3FFFF4DBBFFFF26AFFFFF00A3FFFF00A5FFFF00A8FFFF00AAFFFF00ADFFFF - 00AFFFFF00B2FFFF00B4FFFF00B6FFFF00B9FFFF00BBFFFF00BEFFFF00C0FFFF - 00C2FFFF00C5FFFF00C7FFFF00CAFFFF00CCFFFF00CFFFFF00D1FFFF00D4FFFF - 00D6FFFF00D8FFFF00DBFFFFB8500EFFC44E028F000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FF00A1FFFF73CDFFFFCCEAFFFFCCEAFFFF - CCEBFFFFCCEBFFFFCCECFFFFCCECFFFFB3E4FFFF99DBFFFF73CFFFFF66CCFFFF - 4DC5FFFF33BFFFFF26BDFFFF00B4FFFF00B6FFFF00B8FFFF00BBFFFF00BDFFFF - 00C0FFFF00C2FFFF00C5FFFF00C7FFFF00CAFFFF00CCFFFF00CEFFFF00D1FFFF - 00D3FFFF00D6FFFF00D8FFFF937141FFC44E02BF000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0280C44E02FF0098FFFF2697EDFF3394E7FF3395E7FF - 3395E7FF3395E7FF66B2EFFF66B2EFFF66B2EFFF66B2EFFF66B3EFFF99D0F7FF - 99D1F7FF99D1F7FF99D1F7FF99D2F7FFCCF0FFFF99E2FFFF99E3FFFF8CE0FFFF - 66D8FFFF66D9FFFF40D1FFFF33D0FFFF33D2FFFF0DCCFFFF00CBFFFF00CEFFFF - 00D0FFFF00D3FFFF00D5FFFF627D75FFC44E02FF000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0270C44E02FF626B7BFF626371FF626371FF626371FF - 626371FF316EA8FF316EA8FF316EA8FF316EA8FF316EA8FF316EA8FF2570B6FF - 0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF0078DFFF - 0D80E1FF3397E7FF3397E7FF3397E7FF3397E7FF409FE9FF66B6EFFF66B7EFFF - 33ADEFFF33AEEFFF4CB4E3FF948561FFC44E02FF000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0210C44E02BFC44E02FFC44E02FFC44E02FFC44E02FF - C44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FF - C44E02FFC44E02FFC44E02FFC44E02FFC44E02FFC44E02FFB85110FF935939FF - 935939FF935939FF935939FF935939FF935939FF7B5E55FF626371FF626371FF - 626371FF875B47FFC44E02FFC44E02FFC44E029F000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000C44E0240C44E0240C44E0240C44E0240C44E0240C44E0240 - C44E0250C44E0280C44E0280C44E0280C44E0280C44E0280C44E0280C44E029F - C44E02BFC44E02BFC44E02BFC44E02BFC44E02BFC44E02BFC44E02EFC44E02FF - C44E02FFC44E02DFC44E028FC44E023000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000FFCFFFFFFFFF0000FF81FFFFFFFF0000FF001FFF - FFFF0000FF0001FFFFFF0000FE00001FFFFF0000FE000003FFFF0000FE000000 - 3FFF0000FE00000007FF0000FE00000007FF0000FE00000003FF0000FE000000 - 01FF0000FE000000007F0000FE000000003F0000FE000000001F0000FE000000 - 000F0000FE000000000F0000FE000000000F0000FE000000001F0000FE000000 - 007F0000FE00000000FF0000FE00000001FF0000FE00000001FF0000FE000000 - 01FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000 - 00FF0000FE00000000FF0000FE00000000FF0000FE00000000FF0000FE000000 - 00FF0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000 - 007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE000000 - 003F0000FE000000003F0000FE000000003F0000FE000000003F0000FE000000 - 003F0000FE000000003F0000FE000000003F0000FE000000003F0000FFFE0000 - 007F0000FFFFFFFFFFFF0000} - end - object LabelDescricao: TLabel - Left = 49 - Top = 1 - Width = 193 - Height = 47 - Align = alLeft - Caption = 'Hist'#243'rico de Tabelas' - Font.Charset = DEFAULT_CHARSET - Font.Color = clNavy - Font.Height = -19 - Font.Name = 'MS Sans Serif' - Font.Style = [fsBold] - ParentFont = False - Layout = tlCenter - ExplicitHeight = 24 - end - end - object Panel2: TPanel - Left = 0 - Top = 49 - Width = 177 - Height = 404 - Align = alLeft - BevelOuter = bvNone - TabOrder = 1 - object LabelUser: TLabel - Left = 7 - Top = 8 - Width = 36 - Height = 13 - Caption = '&Usu'#225'rio' - FocusControl = ComboUser - end - object LabelForm: TLabel - Left = 7 - Top = 56 - Width = 48 - Height = 13 - Caption = '&Formul'#225'rio' - FocusControl = ComboForm - end - object LabelEvento: TLabel - Left = 7 - Top = 104 - Width = 34 - Height = 13 - Caption = '&Evento' - FocusControl = ComboEvento - end - object LabelTabela: TLabel - Left = 7 - Top = 152 - Width = 33 - Height = 13 - Caption = '&Tabela' - FocusControl = ComboTabela - end - object ComboUser: TComboBox - Left = 7 - Top = 24 - Width = 163 - Height = 21 - Style = csDropDownList - ItemHeight = 13 - TabOrder = 0 - OnChange = ComboUserChange - end - object ComboForm: TComboBox - Left = 7 - Top = 72 - Width = 163 - Height = 21 - Style = csDropDownList - ItemHeight = 13 - TabOrder = 1 - OnChange = ComboUserChange - end - object BitBtn1: TBitBtn - Left = 16 - Top = 304 - Width = 145 - Height = 25 - Caption = '&Aplicar Filtro' - Enabled = False - TabOrder = 2 - OnClick = BitBtn1Click - Glyph.Data = { - 36050000424D3605000000000000360400002800000010000000100000000100 - 08000000000000010000530B0000530B0000000100000001000000310000004A - 0000005A0000006B0000007B0000219C390018AD390021AD390029BD390021AD - 4A0031CE4A0031CE5A0039D65A0039DE63004AEF6B004AEF730052EF730052EF - 7B006BF78C00FF00FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00131313131313 - 1313020213131313131313131313131313030902131313131313131313131313 - 030D090213131313131313131313131303120902131313131313131313131313 - 0312090213131313131313131313131303120902131313131313131313131313 - 0312090213131313131313131313131303120902131313131313131313131303 - 120D09000213131313131313131303120D0D0501000213131313131313031210 - 0E0D070401000213131313130312110F0D0B0909040100021313130312110C0A - 0806090909040100021303030303030303030303030303030303131313131313 - 1313131313131313131313131313131313131313131313131313} - end - object BitBtn2: TBitBtn - Left = 16 - Top = 336 - Width = 145 - Height = 25 - Caption = '&Excluir Hist'#243'rico' - TabOrder = 3 - OnClick = BitBtn2Click - Glyph.Data = { - 36030000424D3603000000000000360000002800000010000000100000000100 - 18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FF1877EA1574E0FF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF1776E615 - 73E7136FDC126ED30F6AC9FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FF1676CA268BE5278CEB2184E3116CCF0C67C40B64BB0962 - B4075CA9FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF258BD83EABEE45 - B4F72687DD3DAAF41E80D50F69BF065BAA0458A004579A035495FF00FFFF00FF - FF00FFFF00FF01500A319CF739A4F41B6DC448B7FA2687DD41ADFA3BA7F81F81 - D4197ACC065B9F025291FF00FFFF00FFFF00FF0B6344185F6901500A166AD425 - 81CE1160C02889E340ACFE359EF23CA6FF3CA6FF2D95EFFF00FFFF00FFFF00FF - 06630925AC461CB62F1CB62F1CB62F01500A01500A196DA32380E12C8FEB38A3 - FF38A1FFFF00FFFF00FFFF00FF096D111C9A3147F77936E5541CB62F0E912D12 - 805B1CB62F1CB62F01500A01500AFF00FFFF00FFFF00FFFF00FFFF00FF1C982F - 18902935E05D21C2390CA015008600008300068E0F1DA6572D9197FF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FF035A0617992811AA1D018202007B0004 - 8A0B005D01005D01FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - 1387232AD149048807005C00005D01046D0AFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FF0E78182CD44D068C09005400FF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF08690E2BCE49 - 07960D005800FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FF0D82170C9D15005E00FF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0B8913006501 - FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - end - object BitBtn3: TBitBtn - Left = 16 - Top = 368 - Width = 145 - Height = 25 - Caption = '&Fechar' - TabOrder = 4 - OnClick = BitBtn3Click - Glyph.Data = { - 36030000424D3603000000000000360000002800000010000000100000000100 - 18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FF824B4B4E1E1FFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF824B4B824B4BA64B4BA9 - 4D4D4E1E1FFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - 824B4B824B4BB64F50C24F50C54D4EB24D4E4E1E1F824B4B824B4B824B4B824B - 4B824B4B824B4BFF00FFFF00FFFF00FF824B4BD45859CB5556C95455C95253B7 - 4F524E1E1FFE8B8CFB9A9CF8AAABF7B5B6F7B5B6824B4BFF00FFFF00FFFF00FF - 824B4BD75C5DD05A5BCF595ACF5758BD53564E1E1F23B54A13C14816BD480CBC - 41F7B5B6824B4BFF00FFFF00FFFF00FF824B4BDD6364D75F60D55E5FD55C5DC2 - 575A4E1E1F2AB44D1CBF4C1EBC4C13BC45F7B5B6824B4BFF00FFFF00FFFF00FF - 824B4BE36869DD6566DA6364DE6667C6595B4E1E1F26B14916BC481BBB4910BB - 43F7B5B6824B4BFF00FFFF00FFFF00FF824B4BEB6D6EE26768E67E7FFAD3D4CC - 6E704E1E1FA5D89750D16F42C9662DC758F7B5B6824B4BFF00FFFF00FFFF00FF - 824B4BF27374E96C6DEB8182FCD1D3CF6E704E1E1FFFF2CCFFFFD7FFFFD4E6FC - C7F7B5B6824B4BFF00FFFF00FFFF00FF824B4BF87879F07576EE7273F07374D1 - 65664E1E1FFCEFC7FFFFD5FFFFD3FFFFD7F7B5B6824B4BFF00FFFF00FFFF00FF - 824B4BFE7F80F77A7BF6797AF77779D76B6B4E1E1FFCEFC7FFFFD5FFFFD3FFFF - D5F7B5B6824B4BFF00FFFF00FFFF00FF824B4BFF8384FC7F80FB7E7FFE7F80DA - 6E6F4E1E1FFCEFC7FFFFD5FFFFD3FFFFD5F7B5B6824B4BFF00FFFF00FFFF00FF - 824B4BFF8889FF8283FF8182FF8283E073744E1E1FFCEFC7FFFFD5FFFFD3FFFF - D5F7B5B6824B4BFF00FFFF00FFFF00FF824B4B824B4BE27576FE8182FF8687E5 - 76774E1E1FFAEBC5FCFBD1FCFBCFFCFBD1F7B5B6824B4BFF00FFFF00FFFF00FF - FF00FFFF00FF824B4B9C5657CB6C6DCF6E6E4E1E1F824B4B824B4B824B4B824B - 4B824B4B824B4BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF824B4B82 - 4B4B4E1E1FFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF} - end - object ComboEvento: TComboBox - Left = 7 - Top = 120 - Width = 163 - Height = 21 - Style = csDropDownList - ItemHeight = 13 - TabOrder = 5 - OnChange = ComboUserChange - end - object ComboTabela: TComboBox - Left = 7 - Top = 168 - Width = 163 - Height = 21 - Style = csDropDownList - ItemHeight = 13 - TabOrder = 6 - OnChange = ComboUserChange - end - end - object Panel3: TPanel - Left = 177 - Top = 49 - Width = 636 - Height = 404 - Align = alClient - BevelOuter = bvNone - TabOrder = 2 - object Splitter1: TSplitter - Left = 0 - Top = 89 - Width = 636 - Height = 3 - Cursor = crVSplit - Align = alBottom - end - object DBMemo1: TDBMemo - Left = 0 - Top = 248 - Width = 636 - Height = 156 - Align = alBottom - DataField = 'Obs' - DataSource = DataSource1 - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Courier New' - Font.Style = [] - ParentFont = False - ReadOnly = True - ScrollBars = ssBoth - TabOrder = 0 - end - object DBGrid1: TDBGrid - Left = 0 - Top = 0 - Width = 636 - Height = 89 - Align = alClient - DataSource = DataSource1 - Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit] - ReadOnly = True - TabOrder = 1 - TitleFont.Charset = DEFAULT_CHARSET - TitleFont.Color = clWindowText - TitleFont.Height = -11 - TitleFont.Name = 'MS Sans Serif' - TitleFont.Style = [] - Columns = < - item - Expanded = False - FieldName = 'UserName' - Title.Caption = 'Usu'#225'rio' - Width = 157 - Visible = True - end - item - Expanded = False - FieldName = 'FormCaption' - Title.Caption = 'Formul'#225'rio' - Width = 157 - Visible = True - end - item - Expanded = False - FieldName = 'Evento' - Title.Caption = 'Evento ' - Width = 79 - Visible = True - end - item - Expanded = False - FieldName = 'EventDate' - Title.Caption = 'Data do Evento' - Width = 65 - Visible = True - end - item - Expanded = False - FieldName = 'EventTime' - Title.Caption = 'Hora do Evento' - Width = 65 - Visible = True - end - item - Expanded = False - FieldName = 'TableName' - Width = 84 - Visible = True - end> - end - object StringGrid1: TStringGrid - Left = 0 - Top = 92 - Width = 636 - Height = 156 - Align = alBottom - ColCount = 3 - DefaultColWidth = 220 - DefaultRowHeight = 21 - FixedCols = 0 - RowCount = 2 - Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSelect] - TabOrder = 2 - ColWidths = ( - 169 - 220 - 220) - end - end - object DataSource1: TDataSource - OnDataChange = DataSource1DataChange - Left = 224 - Top = 121 - end -end diff --git a/internal/2.31RC1/1/UCHistorico/UCHist_Form.pas b/internal/2.31RC1/1/UCHistorico/UCHist_Form.pas deleted file mode 100644 index 1a78fa6..0000000 --- a/internal/2.31RC1/1/UCHistorico/UCHist_Form.pas +++ /dev/null @@ -1,318 +0,0 @@ -unit UCHist_Form; - -interface - -{$I 'UserControl.inc'} - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - UCHist_Base, Dialogs, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls, DBCtrls, DB; - -Type TAuxObj = class(TObject) - Private - IdUser : Integer; -end; - -type - TFrmHistorico = class(TForm) - Panel1: TPanel; - Image1: TImage; - LabelDescricao: TLabel; - Panel2: TPanel; - DataSource1: TDataSource; - Panel3: TPanel; - DBMemo1: TDBMemo; - Splitter1: TSplitter; - DBGrid1: TDBGrid; - LabelUser: TLabel; - ComboUser: TComboBox; - LabelForm: TLabel; - ComboForm: TComboBox; - BitBtn1: TBitBtn; - BitBtn2: TBitBtn; - BitBtn3: TBitBtn; - LabelEvento: TLabel; - ComboEvento: TComboBox; - LabelTabela: TLabel; - ComboTabela: TComboBox; - StringGrid1: TStringGrid; - procedure BitBtn1Click(Sender: TObject); - procedure BitBtn2Click(Sender: TObject); - procedure BitBtn3Click(Sender: TObject); - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure FormShow(Sender: TObject); - procedure ComboUserChange(Sender: TObject); - procedure DataSource1DataChange(Sender: TObject; Field: TField); - private - DataSetHist : TDataSet; - procedure SetComBoValues; - { Private declarations } - public - fControl : TUCControlHistorico - { Public declarations } - end; - -implementation - - -{$R *.dfm} - -procedure TFrmHistorico.BitBtn1Click(Sender: TObject); -Var cSql : String; -begin - cSql := Format('Select UH.%s as UserId, Uh.%s as Form , ' + - 'Uh.%s as Evento , Uh.%s as Obs, Uh.%s as FormCaption, Uh.%s as EventDate, Uh.%s as EventTime, uh.%s as TableName, '+ - 'US.%s As UserName from %s UH, %s US where UH.%s = US.%s and Uh.%s = %s ', - [ fControl.TableHistory.FieldUserID , - fControl.TableHistory.FieldForm , - fControl.TableHistory.FieldEvent , - fControl.TableHistory.FieldObs , - fControl.TableHistory.FieldCaptionForm , - fControl.TableHistory.FieldEventDate , - fControl.TableHistory.FieldEventTime , - fControl.TableHistory.FieldTableName , - fControl.UserControl.TableUsers.FieldLogin , - fControl.TableHistory.TableName , - fControl.UserControl.TableUsers.TableName , - fControl.TableHistory.FieldUserId , - fControl.UserControl.TableUsers.FieldUserID , - fControl.TableHistory.FieldApplicationID , - QuotedStr(fControl.UserControl.ApplicationID) ]); - - if ComboUser.ItemIndex <> 0 then - cSql := cSql + Format(' and US.%s = %s ',[fControl.UserControl.TableUsers.FieldLogin,QuotedStr(ComboUser.Text)]); - - if ComboForm.ItemIndex <> 0 then - cSql := cSql + Format(' and UH.%s = %s ',[fControl.TableHistory.FieldCaptionForm,QuotedStr(ComboForm.Text)]); - - if ComboEvento.ItemIndex <> 0 then - cSql := cSql + Format(' and UH.%s = %s ',[fControl.TableHistory.FieldEvent,QuotedStr(ComboEvento.Text)]); - - if ComboTabela.ItemIndex <> 0 then - cSql := cSql + Format(' and UH.%s = %s ',[fControl.TableHistory.FieldTableName,QuotedStr(ComboTabela.Text)]); - - cSql := cSql + Format(' order by Uh.%s, Uh.%s',[fControl.TableHistory.FieldTableName,fControl.TableHistory.FieldEventDate ]) ; - - DataSetHist.Close; - DataSetHist := nil; - DataSetHist := fControl.UserControl.DataConnector.UCGetSQLDataset( cSql ); - DataSetHist.Open; - DataSource1.DataSet := DataSetHist; - BitBtn1.Enabled := False; -end; - -procedure TFrmHistorico.BitBtn2Click(Sender: TObject); -var cSql : String; -begin - if MessageBox(Handle, pChar( fControl.Historymsg.Msg_LimpHistorico ) , pChar(fControl.HistoryMsg.Msg_MensConfirma),mb_YesNo) = ID_YES then - begin - cSql := ''; - - if ComboUser.ItemIndex <> 0 then - cSql := cSql + Format(' %s = %d ',[fControl.TableHistory.FieldUserID , TAuxObj(ComboUser.Items.Objects[ComboUser.ItemIndex]).IdUser ]); - - if ComboForm.ItemIndex <> 0 then - cSql := cSql + Format(' and %s = %s ',[fControl.TableHistory.FieldCaptionForm,QuotedStr(ComboForm.Text)]); - - if ComboEvento.ItemIndex <> 0 then - cSql := cSql + Format(' and %s = %s ',[fControl.TableHistory.FieldEvent,QuotedStr(ComboEvento.Text)]); - - if ComboTabela.ItemIndex <> 0 then - cSql := cSql + Format(' and %s = %s ',[fControl.TableHistory.FieldTableName,QuotedStr(ComboTabela.Text)]); - - If Length( trim( cSql ) ) <> 0 then - Begin - If UpperCase(trim(Copy( cSql , 1 , 4 ))) = 'AND' then - Delete(cSql,1,4); - cSql := Format('delete from %s where ',[fControl.TableHistory.TableName]) + cSql; - End - else - cSql := Format('delete from %s ',[fControl.TableHistory.TableName]) + cSql; - fControl.UserControl.DataConnector.UCExecSQL( cSql ); - DataSetHist := Nil; - SetComBoValues; - - If fControl.UserControl.LogControl.Active then - fControl.UserControl.Log( Format( fControl.HistoryMsg.Msg_LogEmptyHistory,[ fControl.UserControl.CurrentUser.UserName, QuotedStr(FormatDateTime('YYYYMMDDhhmmss', now)) ]),3); - end; -end; - -procedure TFrmHistorico.BitBtn3Click(Sender: TObject); -begin - close; -end; - -procedure TFrmHistorico.FormClose(Sender: TObject; - var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TFrmHistorico.SetComBoValues; -Var Aux : TAuxObj; -Begin - Aux := TAuxObj.Create; - Aux.IdUser := -1; - - ComboUser.Items.Clear; - ComboForm.Items.Clear; - ComboEvento.Items.Clear; - ComboTabela.Items.Clear; - - ComboUser.Items.AddObject( fControl.HistoryMsg.Hist_All , Aux ); - - ComboForm.Items.Add ( fControl.HistoryMsg.Hist_All ); - - ComboEvento.Items.Add( fControl.HistoryMsg.Hist_All ); - ComboEvento.Items.Add( fControl.HistoryMsg.Evento_Insert ); - ComboEvento.Items.Add( fControl.HistoryMsg.Evento_Delete ); - ComboEvento.Items.Add( fControl.HistoryMsg.Evento_Edit ); - ComboEvento.Items.Add( fControl.HistoryMsg.Evento_NewRecord ); - - ComboTabela.Items.Add( fControl.HistoryMsg.Hist_All ); - - DataSetHist := fControl.UserControl.DataConnector.UCGetSQLDataset( - Format('Select distinct %s from %s',[ - fControl.TableHistory.FieldTableName, - fControl.TableHistory.TableName])); - while DataSetHist.Eof = False do - Begin - ComboTabela.Items.Add( DataSetHist.Fields[ 0 ].AsString ); - DataSetHist.Next; - End; - - DataSetHist := nil; - DataSetHist := fControl.UserControl.DataConnector.UCGetSQLDataset( - Format('Select distinct %s from %s',[ - fControl.TableHistory.FieldCaptionForm, - fControl.TableHistory.TableName ])); - while DataSetHist.Eof = False do - Begin - ComboForm.Items.Add( DataSetHist.Fields[ 0 ].AsString ); - DataSetHist.Next; - End; - - DataSetHist := nil; - DataSetHist := fControl.UserControl.DataConnector.UCGetSQLDataset( - Format('Select %s, %s as Usuario from %s where %s = %s order by %s', - [ fControl.UserControl.TableUsers.FieldUserID, - fControl.UserControl.TableUsers.FieldLogin , - fControl.UserControl.TableUsers.TableName , - fControl.UserControl.TableUsers.FieldTypeRec, - QuotedStr('U') , - fControl.UserControl.TableUsers.FieldLogin ])); - - If fControl.UserControl.CurrentUser.Privileged = true then - Begin - while DataSetHist.Eof = False do - Begin - Aux := TAuxObj.Create; - Aux.IdUser := DataSetHist.Fields[ 0 ].AsInteger; - ComboUser.Items.AddObject( DataSetHist.Fields[ 1 ].AsString, Aux ); - DataSetHist.Next; - End; - End - else - begin - Aux := TAuxObj.Create; - Aux.IdUser := fControl.UserControl.CurrentUser.UserID; - ComboUser.Items.AddObject( fControl.UserControl.CurrentUser.UserLogin, Aux ); - end; - - - ComboUser.ItemIndex := 0; - ComboForm.ItemIndex := 0; - ComboEvento.ItemIndex := 0; - ComboTabela.ItemIndex := 0; - - - DataSetHist := nil; - DataSetHist := fControl.UserControl.DataConnector.UCGetSQLDataset( - Format('Select UH.%s as UserId, Uh.%s as Form , ' + - 'Uh.%s as Evento , Uh.%s as Obs, Uh.%s as FormCaption, Uh.%s as EventDate, Uh.%s as EventTime, uh.%s as TableName, '+ - 'US.%s As UserName from %s UH, %s US where UH.%s = US.%s and Uh.%s = %s order by Uh.%s, uh.%s', - [ fControl.TableHistory.FieldUserId , - fControl.TableHistory.FieldForm , - fControl.TableHistory.FieldEvent , - fControl.TableHistory.FieldObs , - fControl.TableHistory.FieldCaptionForm , - fControl.TableHistory.FieldEventDate , - fControl.TableHistory.FieldEventTime , - fControl.TableHistory.FieldTableName , - fControl.UserControl.TableUsers.FieldLogin , - fControl.TableHistory.TableName , - fControl.UserControl.TableUsers.TableName , - fControl.TableHistory.FieldUserId , - fControl.UserControl.TableUsers.FieldUserID , - fControl.TableHistory.FieldApplicationID , - QuotedStr(fControl.UserControl.ApplicationID) , - fControl.TableHistory.FieldTableName , - fControl.TableHistory.FieldEventDate ])); - - DataSource1.DataSet := DataSetHist; -end; - -procedure TFrmHistorico.FormShow(Sender: TObject); -begin - SetComBoValues; - - Self.Caption := fControl.HistoryMsg.LabelDescricao; - BitBtn1.Caption := fControl.HistoryMsg.Hist_BtnFiltro; - BitBtn2.Caption := fControl.HistoryMsg.Hist_BtnExcluir; - BitBtn3.Caption := fControl.HistoryMsg.Hist_BtnFechar; - - BitBtn2.Enabled := fControl.UserControl.CurrentUser.Privileged; - - - LabelDescricao.Caption := fControl.HistoryMsg.LabelDescricao; - LabelUser.Caption := fControl.HistoryMsg.LabelUser; - LabelForm.Caption := fControl.HistoryMsg.LabelForm; - LabelEvento.Caption := fControl.HistoryMsg.LabelEvento; - LabelTabela.Caption := fControl.HistoryMsg.LabelTabela; - - DBGrid1.Columns[ 0 ].Title.Caption := fControl.HistoryMsg.LabelUser; - DBGrid1.Columns[ 1 ].Title.Caption := fControl.HistoryMsg.LabelForm; - DBGrid1.Columns[ 2 ].Title.Caption := fControl.HistoryMsg.LabelEvento; - DBGrid1.Columns[ 3 ].Title.Caption := fControl.HistoryMsg.LabelDataEvento; - DBGrid1.Columns[ 4 ].Title.Caption := fControl.HistoryMsg.LabelHoraEvento; - DBGrid1.Columns[ 5 ].Title.Caption := fControl.HistoryMsg.LabelTabela; - - StringGrid1.Cells[0,0] := 'Campo'; - StringGrid1.Cells[1,0] := 'Original'; - StringGrid1.Cells[2,0] := 'Modificado para'; -end; - -procedure TFrmHistorico.ComboUserChange(Sender: TObject); -begin - BitBtn1.Enabled := True; -end; - -procedure TFrmHistorico.DataSource1DataChange(Sender: TObject; - Field: TField); -Var List : TStringList; Aux : Integer; S : String; -begin - DBMemo1.Visible := DataSource1.DataSet.FieldValues['Evento'] <> fControl.HistoryMsg.Evento_Edit; - StringGrid1.Visible := DataSource1.DataSet.FieldValues['Evento'] = fControl.HistoryMsg.Evento_Edit; - If StringGrid1.Visible Then - Begin - try - List := TStringList.Create; - List.Text := DataSource1.DataSet.FieldValues['Obs']; - StringGrid1.RowCount := List.Count + 1; - For Aux := 0 to List.Count - 1 do - Begin - S := List[ Aux ]; - StringGrid1.Cells[ 0 , Aux + 1 ] := Copy(S,1,Pos('||',S)-1 ); - Delete(S,1,Pos('||',s)+1); - StringGrid1.Cells[ 1 , Aux + 1 ] := Copy(S,1,Pos('||',S)-1 ); - Delete(S,1,Pos('||',s)+1); - StringGrid1.Cells[ 2 , Aux + 1 ] := S; - End; - - finally - FreeAndNil( List ); - end; - End; -end; - -end. diff --git a/internal/2.31RC1/1/UCHistorico/UCHist_Type.pas b/internal/2.31RC1/1/UCHistorico/UCHist_Type.pas deleted file mode 100644 index 9173c59..0000000 --- a/internal/2.31RC1/1/UCHistorico/UCHist_Type.pas +++ /dev/null @@ -1,278 +0,0 @@ -unit UCHist_Type; - -interface - - uses SysUtils,Classes,Menus,ActnList; - -Type - TUCHistoryMSG = class(TPersistent) - private - fEvento_edit: String; - fEvento_NewRecord: String; - fEvento_Insert: String; - fEvento_delete: String; - fLabelTabela: String; - fMsg_LogEmptyHistory: String; - fMsg_MensConfirma: String; - fLabelDescricao: String; - fHist_BtnExcluir: String; - fHist_BtnFiltro: String; - fLabelForm: String; - fHist_BtnFechar: String; - fLabelDataEvento: String; - fLabelEvento: String; - fMsg_NewRecord: String; - fHist_All: String; - fMsg_LimpHistorico: String; - fLabelHoraEvento: String; - fLabelUser: String; - fHist_MsgExceptPropr: String; - protected - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - Property Evento_Insert : String read fEvento_Insert write fEvento_Insert; - Property Evento_Delete : String read fEvento_delete write fEvento_delete; - Property Evento_Edit : String read fEvento_edit write fEvento_edit; - Property Evento_NewRecord : String read fEvento_NewRecord write fEvento_NewRecord; - Property Hist_All : String read fHist_All Write fHist_All ; - Property Msg_LimpHistorico : String read fMsg_LimpHistorico Write fMsg_LimpHistorico ; - Property Msg_MensConfirma : String read fMsg_MensConfirma Write fMsg_MensConfirma ; - Property Msg_LogEmptyHistory : String read fMsg_LogEmptyHistory Write fMsg_LogEmptyHistory; - Property LabelDescricao : String read fLabelDescricao Write fLabelDescricao ; - Property LabelUser : String read fLabelUser Write fLabelUser; - Property LabelForm : String read fLabelForm Write fLabelForm ; - Property LabelEvento : String read fLabelEvento Write fLabelEvento; - Property LabelTabela : String read fLabelTabela Write fLabelTabela; - Property LabelDataEvento : String read fLabelDataEvento Write fLabelDataEvento; - Property LabelHoraEvento : String read fLabelHoraEvento Write fLabelHoraEvento; - Property Msg_NewRecord : String read fMsg_NewRecord Write fMsg_NewRecord; - Property Hist_MsgExceptPropr : String read fHist_MsgExceptPropr write fHist_MsgExceptPropr; - Property Hist_BtnFiltro : String read fHist_BtnFiltro write fHist_BtnFiltro; - Property Hist_BtnExcluir : String read fHist_BtnExcluir write fHist_BtnExcluir; - Property Hist_BtnFechar : String read fHist_BtnFechar write fHist_BtnFechar; - end; - - - TUCUserHistory = class(TPersistent) // armazenar menuitem ou action responsavel pelo historico - private - FAction: TAction; - FMenuItem: TMenuItem; - procedure SetAction(const Value: TAction); - procedure SetMenuItem(const Value: TMenuItem); - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property Action: TAction read FAction write SetAction; - property MenuItem: TMenuItem read FMenuItem write SetMenuItem; - end; - - TUCTableHistorico = class(TPersistent) - private - FTable: String; - FApplicationID: String; - FUserID: String; - fDateEvent: String; - fFieldForm: String; - fFieldEvent: String; - fFieldObs: String; - fCaptionForm: string; - fEventTime: String; - fFieldTableName: String; - protected - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property TableName : String read FTable write FTable; // nome da tabela - property FieldApplicationID : String read FApplicationID write FApplicationID; - property FieldUserID : String read FUserID write FUserID; - property FieldEventDate : String read fDateEvent write fDateEvent; - property FieldEventTime : String read fEventTime Write fEventTime; - property FieldForm : String read fFieldForm write fFieldForm; - property FieldCaptionForm : string read fCaptionForm write fCaptionForm; - Property FieldEvent : String read fFieldEvent write fFieldEvent; - property FieldObs : String read fFieldObs write fFieldObs; - property FieldTableName : String read fFieldTableName write fFieldTableName; // grava o nome da tabela monitorada - end; - - TUCHistTypeSavePostEdit = ( tpSaveAllFields , tpSaveModifiedFields ); - - TUCHistOptions = Class( TPersistent ) - private - fSavePostEdit: Boolean; - fSavePostInsert: Boolean; - fSaveDelete: Boolean; - fSaveNewRecord: Boolean; - fTypeSave: TUCHistTypeSavePostEdit; - public - constructor Create(AOwner: TComponent); - destructor Destroy; override; - procedure Assign(Source: TPersistent); override; - published - property SaveNewRecord : Boolean read fSaveNewRecord write fSaveNewRecord; - property SaveDelete : Boolean read fSaveDelete write fSaveDelete; - property SavePostInsert : Boolean read fSavePostInsert write fSavePostInsert; - property SavePostEdit : Boolean read fSavePostEdit Write fSavePostEdit; - Property TypeSavePostEdit : TUCHistTypeSavePostEdit read fTypeSave Write fTypeSave; - end; - - -implementation - - -{ TUCHistoryMSG } - -procedure TUCHistoryMSG.Assign(Source: TPersistent); -begin - if Source is TUCHistoryMSG then - Begin - Self.Evento_edit := TUCHistoryMSG(Source).Evento_edit; - Self.Evento_NewRecord := TUCHistoryMSG(Source).Evento_NewRecord; - Self.Evento_Insert := TUCHistoryMSG(Source).Evento_Insert; - Self.Evento_delete := TUCHistoryMSG(Source).Evento_Delete; - Self.LabelTabela := TUCHistoryMSG(Source).LabelTabela; - Self.Msg_LogEmptyHistory := TUCHistoryMSG(Source).Msg_LogEmptyHistory; - Self.Msg_MensConfirma := TUCHistoryMSG(Source).Msg_MensConfirma; - Self.LabelDescricao := TUCHistoryMSG(Source).LabelDescricao; - Self.Hist_BtnExcluir := TUCHistoryMSG(Source).Hist_BtnExcluir; - Self.Hist_BtnFiltro := TUCHistoryMSG(Source).Hist_BtnFiltro; - Self.LabelForm := TUCHistoryMSG(Source).LabelForm; - Self.Hist_BtnFechar := TUCHistoryMSG(Source).Hist_BtnFechar; - Self.LabelDataEvento := TUCHistoryMSG(Source).LabelDataEvento; - Self.LabelEvento := TUCHistoryMSG(Source).LabelEvento; - Self.Msg_NewRecord := TUCHistoryMSG(Source).Msg_NewRecord; - Self.Hist_All := TUCHistoryMSG(Source).Hist_All; - Self.Msg_LimpHistorico := TUCHistoryMSG(Source).Msg_LimpHistorico; - Self.LabelHoraEvento := TUCHistoryMSG(Source).LabelHoraEvento; - Self.LabelUser := TUCHistoryMSG(Source).LabelUser; - Self.Hist_MsgExceptPropr := TUCHistoryMSG(Source).Hist_MsgExceptPropr; - End - else - inherited; -end; - -constructor TUCHistoryMSG.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCHistoryMSG.Destroy; -begin - inherited; -end; - - -//------------------------------------------------------------------------------// - -{ TUCHistOptions } - -procedure TUCHistOptions.Assign(Source: TPersistent); -begin - if Source is TUCHistOptions then - begin - Self.SaveNewRecord := TUCHistOptions(Source).SaveNewRecord; - Self.SaveDelete := TUCHistOptions(Source).SaveDelete; - Self.SavePostInsert := TUCHistOptions(Source).SavePostInsert; - Self.SavePostEdit := TUCHistOptions(Source).SavePostEdit; - Self.TypeSavePostEdit := TUCHistOptions(Source).TypeSavePostEdit; - end - else - inherited; -end; - -constructor TUCHistOptions.Create(AOwner: TComponent); -begin - fSavePostEdit := true; - fSavePostInsert := true; - fSaveDelete := true; - fSaveNewRecord := true; - fTypeSave := tpSaveAllFields; -end; - -destructor TUCHistOptions.Destroy; -begin - inherited; -end; - -//------------------------------------------------------------------------------// - -{ TUCTableHistorico } - -procedure TUCTableHistorico.Assign(Source: TPersistent); -begin - if Source is TUCTableHistorico then - begin - Self.FieldApplicationID := TUCTableHistorico(Source).FieldApplicationID; - Self.FieldUserID := TUCTableHistorico(Source).FieldUserID; - Self.FieldEventDate := TUCTableHistorico(Source).FieldEventDate; - Self.TableName := TUCTableHistorico(Source).TableName; - Self.FieldForm := TUCTableHistorico(Source).FieldForm; - Self.FieldEvent := TUCTableHistorico(Source).FieldEvent; - Self.FieldObs := TUCTableHistorico(Source).FieldObs; - Self.FieldCaptionForm := TUCTableHistorico(Source).FieldCaptionForm; - Self.FieldEventTime := TUCTableHistorico(Source).FieldEventTime; - Self.FieldTableName := TUCTableHistorico(Source).FieldTableName; - end - else - inherited; -end; - -constructor TUCTableHistorico.Create(AOwner: TComponent); -begin -end; - -destructor TUCTableHistorico.Destroy; -begin - inherited; -end; - -{ TUCUserHistory } - -procedure TUCUserHistory.Assign(Source: TPersistent); -begin - if Source is TUCUserHistory then - begin - Self.MenuItem := TUCUserHistory(Source).MenuItem; - Self.Action := TUCUserHistory(Source).Action; - end - else - inherited; -end; - -constructor TUCUserHistory.Create(AOwner: TComponent); -begin - inherited Create; -end; - -destructor TUCUserHistory.Destroy; -begin - inherited; -end; - -procedure TUCUserHistory.SetAction(const Value: TAction); -begin - FAction := Value; - if Value <> nil then - begin - Self.MenuItem := nil; - Value.FreeNotification(Self.Action); - end; -end; - -procedure TUCUserHistory.SetMenuItem(const Value: TMenuItem); -begin - FMenuItem := Value; - if Value <> nil then - begin - Self.Action := nil; - Value.FreeNotification(Self.MenuItem); - end; -end; - -end. diff --git a/internal/2.31RC1/1/UCHistorico/UcHistReg.dcr b/internal/2.31RC1/1/UCHistorico/UcHistReg.dcr deleted file mode 100644 index 3b81f6e..0000000 Binary files a/internal/2.31RC1/1/UCHistorico/UcHistReg.dcr and /dev/null differ diff --git a/internal/2.31RC1/1/UCHistorico/dcr/UCControlHistorico.bmp b/internal/2.31RC1/1/UCHistorico/dcr/UCControlHistorico.bmp deleted file mode 100644 index 1bf3cab..0000000 Binary files a/internal/2.31RC1/1/UCHistorico/dcr/UCControlHistorico.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/UCHistorico/dcr/UCHist_DataSet.bmp b/internal/2.31RC1/1/UCHistorico/dcr/UCHist_DataSet.bmp deleted file mode 100644 index 384b3e8..0000000 Binary files a/internal/2.31RC1/1/UCHistorico/dcr/UCHist_DataSet.bmp and /dev/null differ diff --git a/internal/2.31RC1/1/UCHistorico/dcr/UcHistReg.rc b/internal/2.31RC1/1/UCHistorico/dcr/UcHistReg.rc deleted file mode 100644 index 1807941..0000000 --- a/internal/2.31RC1/1/UCHistorico/dcr/UcHistReg.rc +++ /dev/null @@ -1,2 +0,0 @@ -TUCControlHistorico BITMAP "UCControlHistorico.bmp" -TUCHist_DataSet BITMAP "UCHist_DataSet.bmp" diff --git a/internal/2.31RC1/1/UCHistorico/dcr/make.bat b/internal/2.31RC1/1/UCHistorico/dcr/make.bat deleted file mode 100644 index 99c6099..0000000 --- a/internal/2.31RC1/1/UCHistorico/dcr/make.bat +++ /dev/null @@ -1 +0,0 @@ -brc32 -foUcHistReg.dcr -r -t UcHistReg.rc \ No newline at end of file diff --git a/internal/2.31RC1/1/UCHistorico/pckHistorico.bdsproj b/internal/2.31RC1/1/UCHistorico/pckHistorico.bdsproj deleted file mode 100644 index 3cda098..0000000 --- a/internal/2.31RC1/1/UCHistorico/pckHistorico.bdsproj +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - pckHistorico.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - UserControl Historico - - - - - - - - - - - False - - - - - - False - - - True - False - - - - $00000000 - - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - diff --git a/internal/2.31RC1/1/UCHistorico/pckHistorico.dpk b/internal/2.31RC1/1/UCHistorico/pckHistorico.dpk deleted file mode 100644 index 90f248d..0000000 --- a/internal/2.31RC1/1/UCHistorico/pckHistorico.dpk +++ /dev/null @@ -1,52 +0,0 @@ -package pckHistorico; - -{$I 'UserControl.inc'} -{$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 OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DESCRIPTION 'UserControl Historico'} -{$IMPLICITBUILD OFF} - -requires - rtl, - dbrtl, - vcl, - vclactnband, - vcldb, - VclSmp, - pckMD5, - pckUCDataConnector, - pckUserControl_RT, - vclx, - {$IFDEF DELPHI12} - vclimg; - {$ELSE} - vcljpg; - {$ENDIF} - -contains - UCHist_Base in 'UCHist_Base.pas', - UCHistDataset in 'UCHistDataset.pas', - UCHist_Type in 'UCHist_Type.pas', - UCHist_Form in 'UCHist_Form.pas'; - -end. diff --git a/internal/2.31RC1/1/UCHistorico/pckHistorico.dproj b/internal/2.31RC1/1/UCHistorico/pckHistorico.dproj deleted file mode 100644 index 0159d2f..0000000 --- a/internal/2.31RC1/1/UCHistorico/pckHistorico.dproj +++ /dev/null @@ -1,124 +0,0 @@ - - - {db94e44b-94f7-4352-ace8-34ac2dcbb2ce} - pckHistorico.dpk - Debug - AnyCPU - DCC32 - C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\pckHistorico.bpl - 12.0 - Debug - - - true - - - true - Base - true - - - true - Base - true - - - 00400000 - false - UserControl Historico - C:\Documents and Settings\All Users\Documentos\RAD Studio\6.0\Bpl\pckHistorico.bpl - true - true - 1 - true - - - 7.0 - False - False - 0 - RELEASE;$(DCC_Define) - - - 7.0 - DEBUG;$(DCC_Define) - - - Delphi.Personality.12 - Package - - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1046 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - pckHistorico.dpk - - - - 12 - - - - MainSource - - - - - - - - - - - - - - - - - - - Base - - - Cfg_2 - Base - - - Cfg_1 - Base - - - - - diff --git a/internal/2.31RC1/1/UCHistorico/pckHistorico.res b/internal/2.31RC1/1/UCHistorico/pckHistorico.res deleted file mode 100644 index fd84fb8..0000000 Binary files a/internal/2.31RC1/1/UCHistorico/pckHistorico.res and /dev/null differ diff --git a/internal/2.31RC1/1/clean.bat b/internal/2.31RC1/1/clean.bat deleted file mode 100644 index 67b7895..0000000 --- a/internal/2.31RC1/1/clean.bat +++ /dev/null @@ -1,7 +0,0 @@ -@echo off -echo erasing... -del /S *.local *.dcu *.ddp *.dsk *.~* *.cfg *.dsm *.identcache *.dof *.stat *humbs.db *.config -del ??history* /s /a - - -:LEAVE