Commit c4951885 authored by sandrosantana's avatar sandrosantana

no message

Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/
parent cac58e77
// Version Information Resource File
1 VERSIONINFO
FILEVERSION 1, 0, 2, 0
PRODUCTVERSION 1, 0, 2, 0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
//FILEFLAGS VS_FF_DEBUG | VS_FF_PRERELEASE
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
{
BLOCK "StringFileInfo"
{
BLOCK "041604E4"
{
VALUE "CompanyName", "CONEXO Projetos e Sistemas Ltda\000"
VALUE "FileVersion", "1.0.2.0\000"
VALUE "ProductName", "Servidor Portal de Sistemas\000"
VALUE "ProductVersion", "1.0.2.0\000"
VALUE "LegalCopyright", "Copyright (C) CONEXO Projetos e Sistemas Ltda. Todos os direitos reservados\000"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 1046, 1252
}
}
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Config>
<ConnectionPool MinConnections="0" MaxConnections="5" ExpireSeconds="30"/>
<UseCaseServers Action="Accept">
<UseCaseServer SystemCode="48" Server="localhost" Port="10001" Enabled='Y'/>
<UseCaseServer SystemCode="36" Server="localhost" Port="5355" Enabled='Y'/>
</UseCaseServers>
</Config>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Config>
<Application DefaultSecurityDriver="ConexoSecurityDriver">
<Service Name="svportal" DisplayName="CONEXO - PORTAL" Description="Portal de Sistemas" Port="10001"/>
<Database ActiveConnectionString="ConnectionString1">
<ConnectionString1>Provider=SQLOLEDB.1;Password=conexo;Persist Security Info=True;User ID=sa;Initial Catalog=SISCON_NOVO;Data Source=srp1vd1;Application Name=SISCON</ConnectionString1>
</Database>
<UseXMLEncode version="1"/>
<Options SessionTimeout="3660" AllowPasswordChange="1" TestEnvironment="2" URL="http:\\www.conexops.com.br"/>
</Application>
<Systems DefaultSystemCode="">
<System Code="0" Name="SISCON Mdulo Framework" SessionTimeout="1000" ServerName="desktop-07" ServicePort="7266" EnabledChannels="All" ClientBPLName="SisconModuloFramework_Pkg.bpl" />
<System Code="0" Name="SISCON Mdulo Ponto" SessionTimeout="1000" ServerName="desktop-07" ServicePort="7266" EnabledChannels="All" ClientBPLName="SisconModuloPonto_Pkg.bpl" />
<System Code="0" Name="SISCON Mdulo Administrativo" SessionTimeout="1000" ServerName="desktop-07" ServicePort="7266" EnabledChannels="All" ClientBPLName="SisconModuloAdm.bpl" />
</Systems>
</Config>
No preview for this file type
No preview for this file type
File added
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
object cxAguarde: TcxAguarde
Left = 0
Top = 0
BorderIcons = []
BorderStyle = bsSingle
Caption = 'Aguarde'
ClientHeight = 76
ClientWidth = 413
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poMainFormCenter
Scaled = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object lblMensagem: TLabel
Left = 13
Top = 47
Width = 385
Height = 19
Alignment = taCenter
AutoSize = False
Caption = 'Aguarde, processando...'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlue
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Animate1: TAnimate
Left = 112
Top = 8
Width = 189
Height = 29
AutoSize = False
CommonAVI = aviFindComputer
StopFrame = 8
end
end
No preview for this file type
...@@ -12,9 +12,17 @@ xcopy /y %TEMP%\synacode.dcu . ...@@ -12,9 +12,17 @@ xcopy /y %TEMP%\synacode.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\synaip.dcu . xcopy /y %TEMP%\synaip.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituControlPanel.dcu . xcopy /y %TEMP%\httpsend.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituInterface.dcu . xcopy /y %TEMP%\ssl_openssl.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ssl_openssl_lib.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituObjectSearchManager.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituVCLUIController.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituUIController.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituInterfaceFactory.dcu . xcopy /y %TEMP%\ituInterfaceFactory.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
...@@ -42,6 +50,8 @@ xcopy /y %TEMP%\utuLinksManager.dcu . ...@@ -42,6 +50,8 @@ xcopy /y %TEMP%\utuLinksManager.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\utuLinkSock.dcu . xcopy /y %TEMP%\utuLinkSock.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\utuLinkHttp.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\utuProtectedList.dcu . xcopy /y %TEMP%\utuProtectedList.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\mxuCommCenter.dcu . xcopy /y %TEMP%\mxuCommCenter.dcu .
...@@ -66,6 +76,15 @@ xcopy /y %TEMP%\xmls.dcu . ...@@ -66,6 +76,15 @@ xcopy /y %TEMP%\xmls.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\xsdins.dcu . xcopy /y %TEMP%\xsdins.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuRandomNumber.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\KAZip.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuVersionInfo.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\xsdedit.dcu . xcopy /y %TEMP%\xsdedit.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
...@@ -73,7 +92,6 @@ xcopy /y %TEMP%\xsdedit.dfm . ...@@ -73,7 +92,6 @@ xcopy /y %TEMP%\xsdedit.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituExceptionDetailsDialog.dcu . xcopy /y %TEMP%\ituExceptionDetailsDialog.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituExceptionDetailsDialog.dfm . xcopy /y %TEMP%\ituExceptionDetailsDialog.dfm .
...@@ -84,24 +102,35 @@ IF ERRORLEVEL 1 GOTO ENDERROR ...@@ -84,24 +102,35 @@ IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituMapeamentoExternoOperacoes.dfm . xcopy /y %TEMP%\ituMapeamentoExternoOperacoes.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\siuBuscaObjetosBasicaPortal.pas .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\siuBuscaObjetosBasicaPortal.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\siuBuscaObjetosBasicaPortal.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\siuBuscaObjetosBasicaV3.pas .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\siuBuscaObjetosBasicaV3.dcu . xcopy /y %TEMP%\siuBuscaObjetosBasicaV3.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\siuBuscaObjetosBasicaV3.dfm . xcopy /y %TEMP%\siuBuscaObjetosBasicaV3.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituLogin.dcu . xcopy /y %TEMP%\siuBuscaObjetos.pas .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituLogin.dfm . xcopy /y %TEMP%\siuBuscaObjetos.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\siuBuscaObjetos.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituLoginPortal.dcu . xcopy /y %TEMP%\ituLogin.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituLoginPortal.dfm . xcopy /y %TEMP%\ituLogin.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\Form_basico.dcu . xcopy /y %TEMP%\ituLoginPortalStd.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\Form_basico.dfm . xcopy /y %TEMP%\ituLoginPortalStd.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituMain.dcu . xcopy /y %TEMP%\ituMain.dcu .
...@@ -114,11 +143,15 @@ IF ERRORLEVEL 1 GOTO ENDERROR ...@@ -114,11 +143,15 @@ IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituMainPortal.dfm . xcopy /y %TEMP%\ituMainPortal.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituCadastroBasicoV4.pas .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituCadastroBasicoV4.dcu . xcopy /y %TEMP%\ituCadastroBasicoV4.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituCadastroBasicoV4.dfm . xcopy /y %TEMP%\ituCadastroBasicoV4.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituCadastroBasicoV41.pas .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituCadastroBasicoV41.dcu . xcopy /y %TEMP%\ituCadastroBasicoV41.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituCadastroBasicoV41.dfm . xcopy /y %TEMP%\ituCadastroBasicoV41.dfm .
...@@ -145,7 +178,6 @@ IF ERRORLEVEL 1 GOTO ENDERROR ...@@ -145,7 +178,6 @@ IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituExplorerV4.dfm . xcopy /y %TEMP%\ituExplorerV4.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituPropriedadesDoServico.dcu . xcopy /y %TEMP%\ituPropriedadesDoServico.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituPropriedadesDoServico.dfm . xcopy /y %TEMP%\ituPropriedadesDoServico.dfm .
...@@ -159,8 +191,47 @@ IF ERRORLEVEL 1 GOTO ENDERROR ...@@ -159,8 +191,47 @@ IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuMenuManager.dcu . xcopy /y %TEMP%\acuMenuManager.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuRandomNumber.dcu . xcopy /y %TEMP%\ituCadastroPerfil.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituCadastroPerfil.dfm .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\siuBuscaObjetosPerfil.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\siuBuscaObjetosPerfil.dfm .
xcopy /y %TEMP%\fruReport.pas .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\fruReport.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\fruReport.DFM .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituReport.pas .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituReport.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ituReport.DFM .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acExcelExport.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\cxuAguarde.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\cxuAguarde.DFM .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\cxuPortalMain.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\cxuUseCaseDll.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\cxuUseCase.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuVersionInfo.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\cxuGUIHelper.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\cxuGUIActivator.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
GOTO ENDOK GOTO ENDOK
......
object frReport: TfrReport
Left = 0
Top = 0
Width = 451
Height = 304
Margins.Left = 0
Margins.Top = 0
Margins.Right = 0
Margins.Bottom = 0
Align = alClient
TabOrder = 0
object WebBrowser: TWebBrowser
Left = 0
Top = 0
Width = 451
Height = 304
Margins.Left = 0
Margins.Top = 0
Margins.Right = 0
Margins.Bottom = 0
Align = alClient
TabOrder = 0
ExplicitWidth = 225
ExplicitHeight = 240
ControlData = {
4C0000009D2E00006B1F00000000000000000000000000000000000000000000
000000004C000000000000000000000001000000E0D057007335CF11AE690800
2B2E126208000000000000004C0000000114020000000000C000000000000046
8000000000000000000000000000000000000000000000000000000000000000
00000000000000000100000000000000000000000000000000000000}
end
end
unit fruReport;
interface
uses
utuMessage,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, SHDocVw,
Dialogs, OleCtrls, Menus, AppEvnts, StrUtils, cxuAguarde, ExtCtrls;
type
TPrintOption = (poShowConfig, poShowPreview, poMinimalMargins, poWithHeader, poWithFooter);
TPrintOptions = set of TPrintOption;
TfrReport = class(TFrame)
WebBrowser: TWebBrowser;
procedure FrameResize(Sender: TObject);
private
fXML: string;
fXMLField: utField;
fArquivosTemp : TStringList;
fHandlerMessage : TMessageEvent;
fParentFormOnResize: TNotifyEvent;
fParentFormOnResizeSeted: Boolean;
procedure CarregarStream(const piStream : TStream);
function GerarArquivoTemporario: string;
procedure AguardarProcessamentoWebBrowser(const piExibirJanelaProgresso : Boolean);
public
constructor Create(AOwner: TComponent) ; override;
destructor Destroy; override;
procedure LoadHTML(const piHtml : string; const piExibirJanelaProgresso : Boolean = True);
procedure LoadHTMLFile(const piHtmlFileName : string; const piExibirJanelaProgresso : Boolean = True);
procedure LoadXML(const piXML : string; const piExibirJanelaProgresso : Boolean = True);
procedure LoadFile(const piFileName : string; const piExibirJanelaProgresso : Boolean = True);
procedure LoadFromMessage(const piMessage : utField; const piExibirJanelaProgresso : Boolean = True);
procedure PrintReport(const piOptions : TPrintOptions = []);
procedure PageSetup;
property XML: string read fXML write fXML;
property XMLField: utField read fXMLField write fXMLField;
end;
implementation
{$R *.dfm}
uses
ActiveX, UrlMon, MSHtml, Registry;
{ TfrReport }
procedure TfrReport.AguardarProcessamentoWebBrowser(const piExibirJanelaProgresso : Boolean);
var
lFormAguarde: TcxAguarde;
begin
if piExibirJanelaProgresso
then lFormAguarde := TcxAguarde.Create(Application)
else lFormAguarde := Nil;
self.WebBrowser.Align := alNone;
if (not fParentFormOnResizeSeted) then
begin
fParentFormOnResize := (GetParentForm(self) as TForm).OnResize;
(GetParentForm(self) as TForm).OnResize := FrameResize;
fParentFormOnResizeSeted := True;
FrameResize(self);
end
else
begin
end;
try
if piExibirJanelaProgresso then lFormAguarde.Show;
Application.ProcessMessages;
while WebBrowser.ReadyState <> READYSTATE_COMPLETE do
begin
Application.ProcessMessages;
Sleep(5);
end;
finally
if Assigned(lFormAguarde) then lFormAguarde.Free;
end;
end;
procedure TfrReport.CarregarStream(const piStream: TStream);
var
PersistStreamInit: IPersistStreamInit;
StreamAdapter: IStream;
begin
if not Assigned(WebBrowser.Document) then
Exit;
// Get IPersistStreamInit interface on document object
if WebBrowser.Document.QueryInterface(IPersistStreamInit, PersistStreamInit) = S_OK then
begin
// Clear document
if PersistStreamInit.InitNew = S_OK then
begin
// Get IStream interface on stream
StreamAdapter:= TStreamAdapter.Create(piStream);
// Load data from Stream into WebBrowser
PersistStreamInit.Load(StreamAdapter);
end;
end;
end;
constructor TfrReport.Create(AOwner: TComponent);
begin
inherited;
fArquivosTemp:=TStringList.Create;
fHandlerMessage:=Application.OnMessage;
end;
destructor TfrReport.Destroy;
begin
while fArquivosTemp.Count > 0 do
begin
DeleteFile(fArquivosTemp[0]);
fArquivosTemp.Delete(0);
end;
fArquivosTemp.Free;
fXMLField.Free;
inherited;
end;
procedure TfrReport.FrameResize(Sender: TObject);
var lParentForm: TCustomForm;
begin
lParentForm := GetParentForm(self);
if assigned(self.fParentFormOnResize) then self.fParentFormOnResize(lParentForm);
self.SetBounds(0, 0, self.ClientWidth, self.ClientHeight);
self.WebBrowser.SetBounds(0, 0, self.ClientWidth, self.ClientHeight);
if self.Showing then
begin
lParentForm.FocusControl(nil);
if assigned(self.WebBrowser.Document) then
(self.WebBrowser.Application as IOleobject).DoVerb(OLEIVERB_UIACTIVATE, nil, self.WebBrowser, 0, Handle, self.GetClientRect);
end;
end;
function TfrReport.GerarArquivoTemporario: string;
const
lPrefixo = 'cnx';
var
lPastaTemp : array[0..MAX_PATH] of Char;
lNomeArq : array[0..MAX_PATH] of Char;
begin
if GetTempPath(MAX_PATH, @lPastaTemp) = 0 then
raise Exception.Create ('GetTempPath error');
if GetTempFileName(@lPastaTemp, lPrefixo, 0, @lNomeArq) = 0 then
raise Exception.Create ('GetTempFileName error');
Result := StrPas(lNomeArq);
Result := StrUtils.ReplaceStr(Result, ExtractFileExt(Result), '.xml');
fArquivosTemp.Add(Result);
end;
procedure TfrReport.LoadFile(const piFileName: string; const piExibirJanelaProgresso : Boolean = True);
begin
WebBrowser.Navigate('file://'+piFileName);
AguardarProcessamentoWebBrowser(piExibirJanelaProgresso);
end;
procedure TfrReport.LoadFromMessage(const piMessage: utField; const piExibirJanelaProgresso : Boolean = True);
var
lStyleSheet : string;
begin
if not piMessage.HasAttribute('StyleSheet') then raise Exception.Create('The StyleSheet attribute was not found.');
lStyleSheet:=piMessage.AttributeByName('StyleSheet').AsString;
//fXMLField := utField.Create;
//fXMLField.Assign(piMessage);
fXML := piMessage.GetXMLString([xoLegible], xeISO_8859_1, lStyleSheet);
LoadXML(fXML, piExibirJanelaProgresso);
end;
procedure TfrReport.LoadHTML(const piHtml: string; const piExibirJanelaProgresso : Boolean = True);
var
lStream : TStringStream;
begin
WebBrowser.Navigate('about:blank');
lStream:=TStringStream.Create(piHtml);
try
CarregarStream(lStream);
finally
lStream.Free;
end;
AguardarProcessamentoWebBrowser(piExibirJanelaProgresso);
end;
procedure TfrReport.LoadHTMLFile(const piHtmlFileName: string; const piExibirJanelaProgresso: Boolean);
var
lStream : TFileStream;
begin
WebBrowser.Navigate('about:blank');
lStream:=TFileStream.Create(piHtmlFileName, fmOpenRead);
try
CarregarStream(lStream);
finally
lStream.Free;
end;
AguardarProcessamentoWebBrowser(piExibirJanelaProgresso);
end;
procedure TfrReport.LoadXML(const piXML: string; const piExibirJanelaProgresso : Boolean = True);
var
lArq : TStringList;
lNomeArq : string;
begin
lNomeArq:=Self.GerarArquivoTemporario;
lArq:=TStringList.Create;
try
lArq.Text:=piXML;
lArq.SaveToFile(lNomeArq);
finally
lArq.Free;
end;
LoadFile(lNomeArq, piExibirJanelaProgresso);
end;
procedure TfrReport.PageSetup;
var
vaIn, vaOut: OleVariant;
begin
WebBrowser.ControlInterface.ExecWB(OLECMDID_PAGESETUP, OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut);
end;
procedure TfrReport.PrintReport(const piOptions : TPrintOptions = []);
var
vaIn, vaOut: OleVariant;
lReg: TRegistry;
begin
if (poShowConfig in piOptions) and (poShowPreview in piOptions) then
raise Exception.Create('Using poShowConfig and poShowPreview at the same time is not allowed.');
lReg := TRegistry.Create;
try
lReg.LazyWrite := False;
lReg.RootKey := HKEY_CURRENT_USER;
if lReg.OpenKey('\Software\Microsoft\Internet Explorer\PageSetup', False) then
begin
try
if (poMinimalMargins in piOptions) then
begin
lReg.WriteString('margin_bottom', '0.20667');
lReg.WriteString('margin_left', '0.25333');
lReg.WriteString('margin_right', '0.24667');
lReg.WriteString('margin_top', '0.25333');
end;
if (poMinimalMargins in piOptions) or (not (poWithHeader in piOptions)) then
begin
lReg.WriteString('header', '');
end;
if (poMinimalMargins in piOptions) or (not (poWithFooter in piOptions)) then
begin
lReg.WriteString('footer', '');
end;
finally
lReg.CloseKey;
end;
end;
finally
lReg.free;
end;
if poShowConfig in piOptions then
WebBrowser.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut)
else if poShowPreview in piOptions then
WebBrowser.ControlInterface.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut)
else
WebBrowser.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
end;
end.
unit ituCadastroBasicoV4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Buttons, JvGradient, utuFactory,
StdCtrls, ActnList, JvExControls, JvComponent, JvSpeedButton,
TypInfo, ComCtrls, ituExceptionDetailsDialog, ituInterfaceFactory, ituVCLUIController,
utuMessage, utuMessageQueue, XMLIntf, msxmldom, XMLDoc, ituUIController;
type
TStatus = (StInsert, StDelete, StUpdate, StSelect, StBrowse);
TPermissao = set of (AcInsert, AcUpdate, AcDelete);
TitCadastroBasicoV4 = class(itInterfaceForm)
pnPrincipal: TPanel;
pnMenuSuperior: TPanel;
jvGradientSuperior: TJvGradient;
sbNovo: TJvSpeedButton;
sbSalvar: TJvSpeedButton;
sbExcluir: TJvSpeedButton;
sbSair: TJvSpeedButton;
shSeparador1: TShape;
pnDivisor: TPanel;
sbEditar: TJvSpeedButton;
procedure sbSairClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure sbEditarClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure sbSalvarClick(Sender: TObject);
procedure sbExcluirClick(Sender: TObject);
procedure sbNovoClick(Sender: TObject);
private
{ Private declarations }
protected
hasSearchBeforeNewObject: boolean;
procedure SetReadOnly(Control: TWinControl; value: Boolean);
procedure HabilitaEdicao; virtual;
procedure DesabilitaEdicao; virtual;
procedure LimpaCampos(Control: TWinControl);
public
{ Public declarations }
permissao: TPermissao;
status: TStatus;
procedure VerificaPermissoes();
procedure CadastrarNovoObjeto; virtual;
end;
itCadastroBasicoV4 = class(itInterface)
protected
procedure SetPermissionsToInteraface(piOperationsNode: utField);
procedure SendToInterface(piRequest: acRequest);virtual; abstract;
procedure SaveFromInterface(piRequest: acRequest);virtual; abstract;
procedure SalvaObjeto(piRequest: acRequest);virtual;
procedure ExcluirObjeto(piRequest: acRequest);virtual;
procedure EditaObjeto(piRequest: acRequest);virtual;
procedure Delete;
procedure Edita;
public
procedure Save;
end;
implementation
uses acuObject;
{$R *.dfm}
procedure TitCadastroBasicoV4.HabilitaEdicao;
begin
SetReadOnly(self,false);
end;
procedure TitCadastroBasicoV4.SetReadOnly(Control: TWinControl; value: Boolean);
var
I: Integer;
begin
for I := 0 to Control.ControlCount - 1 do
begin
if (Control.Controls[i] <> pnMenuSuperior) then
begin
try
if IsPublishedProp(Control.Controls[i],'ReadOnly') then
SetPropValue(Control.Controls[i],'ReadOnly', value)
else if //not(control is TPanel)
not(Control.Controls[i] is TLabel)
and not(Control.Controls[i] is TPanel)
and not(Control.Controls[i] is TGroupBox)
and not(Control.Controls[i] is TPageControl)
and not(Control.Controls[i] is TTabSheet) then
Control.Controls[i].Enabled := not value;
except
raise;
end;
if (Control.Controls[i] is TWinControl)
and (TWinControl(Control.Controls[i]).ControlCount > 0) then
SetReadOnly(TWinControl(Control.Controls[i]),value);
end;
end;
end;
procedure TitCadastroBasicoV4.DesabilitaEdicao;
begin
SetReadOnly(self,true);
end;
procedure TitCadastroBasicoV4.LimpaCampos(Control: TWinControl);
var
I: Integer;
begin
for I := 0 to Control.ControlCount - 1 do
begin
if (Control.Controls[i] <> pnMenuSuperior) then
begin
try
if IsPublishedProp(Control.Controls[i],'Text') then
SetPropValue(Control.Controls[i],'Text', '');
if IsPublishedProp(Control.Controls[i],'ItemIndex') then
SetPropValue(Control.Controls[i],'ItemIndex', -1);
if IsPublishedProp(Control.Controls[i],'Checked') then
SetPropValue(Control.Controls[i],'Checked', false)
except
raise;
end;
if (Control.Controls[i] is TWinControl)
and (TWinControl(Control.Controls[i]).ControlCount > 0) then
LimpaCampos(TWinControl(Control.Controls[i]));
end;
end;
end;
procedure TitCadastroBasicoV4.VerificaPermissoes();
begin
if ((status = stInsert) and (AcInsert in permissao))
or ((status = stUpdate) and (AcUpdate in permissao)) then
begin
sbNovo.Enabled := False;
sbEditar.Enabled := False;
sbExcluir.Enabled := status = stUpdate;
sbSalvar.Enabled := True;
HabilitaEdicao;
end
else if (status = stBrowse) then
begin
if AcInsert in permissao then
begin
sbNovo.Enabled := True;
end;
if AcUpdate in permissao then
begin
sbEditar.Enabled := True;
end;
if AcDelete in permissao then
begin
sbExcluir.Enabled := True;
sbNovo.Enabled := True;
end;
end
else if(status = StDelete) then
begin
sbNovo.Enabled := True;
sbEditar.Enabled := False;
sbExcluir.Enabled := False;
sbSalvar.Enabled := False;
end
else
begin
sbNovo.Enabled := False;
sbEditar.Enabled := False;
sbExcluir.Enabled := False;
sbSalvar.Enabled := False;
end;
end;
procedure TitCadastroBasicoV4.sbEditarClick(Sender: TObject);
begin
inherited;
(self.Controller as itCadastroBasicoV4).Edita;
end;
procedure TitCadastroBasicoV4.sbExcluirClick(Sender: TObject);
begin
if MessageDlg('Confirma a excluso do objeto?', mtConfirmation, [mbYes,mbNo], 0) = mrYes then
begin
(self.Controller as itCadastroBasicoV4).Delete;
status := stDelete;
VerificaPermissoes;
end;
end;
procedure TitCadastroBasicoV4.sbNovoClick(Sender: TObject);
begin
with (self.Controller as itCadastroBasicoV4) do
NewRequest('RM_INCLUI_OBJETO',SendToInterface).Post;
end;
procedure TitCadastroBasicoV4.FormShow(Sender: TObject);
begin
inherited;
// if SISAC_Util.GetDisplayColors <= 8 then
jvGradientSuperior.Visible := false;
if (status <> stInsert) and (status <> StUpdate) then DesabilitaEdicao
else HabilitaEdicao;
end;
procedure TitCadastroBasicoV4.CadastrarNovoObjeto;
begin
status := stInsert;
VerificaPermissoes;
LimpaCampos(self);
HabilitaEdicao;
end;
procedure TitCadastroBasicoV4.FormCreate(Sender: TObject);
begin
status := StBrowse;
hasSearchBeforeNewObject := False;
end;
procedure TitCadastroBasicoV4.FormClose(Sender: TObject; var Action: TCloseAction);
const
NOT_SAVED_MSG = 'Existem dados que ainda no foram salvos.' + #13 +
'Deseja realmente sair?';
begin
if ((status = stInsert) or (status = stUpdate)) and
(MessageDlg(NOT_SAVED_MSG, mtConfirmation, [mbYes, mbNo], 0) = mrNo)
then Action := caNone
else Action := caFree;
end;
procedure TitCadastroBasicoV4.sbSairClick(Sender: TObject);
begin
Close;
end;
procedure TitCadastroBasicoV4.sbSalvarClick(Sender: TObject);
begin
(self.Controller as itCadastroBasicoV4).Save;
end;
{ itCadastroBasicoV4 }
procedure itCadastroBasicoV4.Delete;
begin
self.NewRequest('RM_EXCLUI_OBJETO',ExcluirObjeto).Post;
end;
procedure itCadastroBasicoV4.Edita;
begin
Screen.Cursor := crHourGlass;
self.NewRequest('RM_EDITA_OBJETO',EditaObjeto).Post;
end;
procedure itCadastroBasicoV4.EditaObjeto(piRequest: acRequest);
begin
with self.InterfaceForm as TitCadastroBasicoV4 do
begin
status := stUpdate;
VerificaPermissoes;
HabilitaEdicao;
end;
Screen.Cursor := crDefault;
end;
procedure itCadastroBasicoV4.ExcluirObjeto(piRequest: acRequest);
begin
ShowMessage('Registro excludo.');
end;
procedure itCadastroBasicoV4.SalvaObjeto(piRequest: acRequest);
begin
with self.InterfaceForm as TitCadastroBasicoV4 do
begin
sbNovo.Enabled := true;
sbEditar.Enabled := true;
sbExcluir.Enabled := true;
sbSalvar.Enabled := false;
status := StBrowse;
DesabilitaEdicao;
end;
end;
procedure itCadastroBasicoV4.Save;
var lMessage: acRequest;
begin
lMessage := self.NewRequest('RM_SALVA_OBJETO', SalvaObjeto);
Self.SaveFromInterface(lMessage);
lMessage.Post;
end;
procedure itCadastroBasicoV4.SetPermissionsToInteraface(
piOperationsNode: utField);
var lTitCadastroBasico: TitCadastroBasicoV4;
lOperationNode: utField;
lCode: integer;
lmarc : acEnumerator;
begin
lTitCadastroBasico := self.InterfaceForm as TitCadastroBasicoV4;
if piOperationsNode.AttributeByName('NewTarget').AsBoolean then
lTitCadastroBasico.status := StInsert
else
lTitCadastroBasico.status := stUpdate;
lTitCadastroBasico.permissao := [];
lmarc := piOperationsNode.GetFieldsEnumerator;
try
while not lmarc.EOL do
begin
lOperationNode := utField(lmarc.Current);
lCode := lOperationNode.AttributeByName('Code').AsInteger;
case lCode of
1: lTitCadastroBasico.permissao := lTitCadastroBasico.permissao + [acInsert];
3: lTitCadastroBasico.permissao := lTitCadastroBasico.permissao + [acUpdate];
4: lTitCadastroBasico.permissao := lTitCadastroBasico.permissao + [acDelete];
end;
lmarc.MoveNext;
end;
finally
lmarc.Free;
end;
lTitCadastroBasico.VerificaPermissoes;
end;
end.
unit ituCadastroBasicoV41;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Buttons, JvGradient, utuFactory,
StdCtrls, ActnList, JvExControls, JvComponent, JvSpeedButton,
TypInfo, ComCtrls, ituExceptionDetailsDialog, ituInterfaceFactory, ituVCLUIController,
utuMessage, utuMessageQueue, XMLIntf, msxmldom, XMLDoc, ituUIController;
Const
cInserir = '1';
cConsultar = '2';
cAtualizar = '3';
cExcluir = '4';
type
TStatus = (StInsert, StDelete, StUpdate, StSelect, StBrowse);
TPermissao = set of (AcInsert, AcUpdate, AcDelete);
TitCadastroBasicoV41 = class(itInterfaceForm)
pnPrincipal: TPanel;
pnMenuSuperior: TPanel;
jvGradientSuperior: TJvGradient;
pnDivisor: TPanel;
FlowPanel1: TFlowPanel;
sbNovo: TJvSpeedButton;
sbSalvar: TJvSpeedButton;
sbEditar: TJvSpeedButton;
sbExcluir: TJvSpeedButton;
sbSair: TJvSpeedButton;
procedure sbSairClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure sbEditarClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure sbSalvarClick(Sender: TObject);
procedure sbExcluirClick(Sender: TObject);
procedure sbNovoClick(Sender: TObject);
private
{ Private declarations }
protected
hasSearchBeforeNewObject: boolean;
procedure SetReadOnly(Control: TWinControl; value: Boolean);
procedure HabilitaEdicao; virtual;
procedure DesabilitaEdicao; virtual;
procedure LimpaCampos(Control: TWinControl);
public
{ Public declarations }
permissao: TPermissao;
status: TStatus;
procedure VerificaPermissoes();
procedure CadastrarNovoObjeto; virtual;
end;
itCadastroBasicoV4 = class(itInterface)
protected
// fNewTarget : boolean;
fOID : string;
procedure SetPermissionsToInteraface(piOperationsNode: utField);
procedure SendToInterface(piRequest: acRequest); virtual;
procedure SaveFromInterface(piRequest: acRequest);virtual; abstract;
procedure SalvaObjeto(piRequest: acRequest);virtual;
procedure ExcluirObjeto(piRequest: acRequest);virtual;
procedure EditaObjeto(piRequest: acRequest);virtual;
procedure ConsultaObjeto(piRequest: acRequest);virtual;
procedure Delete;
procedure Edita;
procedure Inserir;
procedure Consultar;
procedure GetTargetObjectsData(piRequest: acRequest);virtual;abstract;
public
procedure Save;
end;
implementation
uses acuObject;
{$R *.dfm}
procedure TitCadastroBasicoV41.HabilitaEdicao;
begin
SetReadOnly(self,false);
end;
procedure TitCadastroBasicoV41.SetReadOnly(Control: TWinControl; value: Boolean);
var
I: Integer;
begin
for I := 0 to Control.ControlCount - 1 do
begin
if (Control.Controls[i] <> pnMenuSuperior) then
begin
try
if IsPublishedProp(Control.Controls[i],'ReadOnly') then
SetPropValue(Control.Controls[i],'ReadOnly', value)
else if //not(control is TPanel)
not(Control.Controls[i] is TLabel)
and not(Control.Controls[i] is TPanel)
and not(Control.Controls[i] is TGroupBox)
and not(Control.Controls[i] is TPageControl)
and not(Control.Controls[i] is TTabSheet) then
Control.Controls[i].Enabled := not value;
except
raise;
end;
if (Control.Controls[i] is TWinControl)
and (TWinControl(Control.Controls[i]).ControlCount > 0) then
SetReadOnly(TWinControl(Control.Controls[i]),value);
end;
end;
end;
procedure TitCadastroBasicoV41.DesabilitaEdicao;
begin
SetReadOnly(self,true);
end;
procedure TitCadastroBasicoV41.LimpaCampos(Control: TWinControl);
var
I: Integer;
begin
for I := 0 to Control.ControlCount - 1 do
begin
if (Control.Controls[i] <> pnMenuSuperior) then
begin
try
if IsPublishedProp(Control.Controls[i],'Text') then
SetPropValue(Control.Controls[i],'Text', '');
if IsPublishedProp(Control.Controls[i],'ItemIndex') then
SetPropValue(Control.Controls[i],'ItemIndex', -1);
if IsPublishedProp(Control.Controls[i],'Checked') then
SetPropValue(Control.Controls[i],'Checked', false)
except
raise;
end;
if (Control.Controls[i] is TWinControl)
and (TWinControl(Control.Controls[i]).ControlCount > 0) then
LimpaCampos(TWinControl(Control.Controls[i]));
end;
end;
end;
procedure TitCadastroBasicoV41.VerificaPermissoes();
begin
if ((status = stInsert) and (AcInsert in permissao)) then
begin
sbNovo.Enabled := False;
sbEditar.Enabled := False;
sbExcluir.Enabled := status = stUpdate;
sbSalvar.Enabled := True;
HabilitaEdicao;
end
else
if (status = stUpdate) and (AcUpdate in permissao) then
begin
sbNovo.Visible := False;
sbEditar.Visible := true;
sbExcluir.Visible := False;
sbSalvar.Visible := true;
sbEditar.Enabled := False;
sbSalvar.Enabled := True;
HabilitaEdicao;
end
else
if (status = stBrowse) then
begin
sbNovo.Visible := False;
sbEditar.Visible := False;
sbExcluir.Visible := False;
sbSalvar.Visible := False;
end
else
if(status = StDelete) then
begin
sbNovo.Visible := False;
sbEditar.Visible := False;
sbExcluir.Visible := True;
sbSalvar.Visible := False;
sbExcluir.Enabled := true;
end
else
begin
sbNovo.Enabled := true;
sbEditar.Enabled := true;
sbExcluir.Enabled := true;
sbSalvar.Enabled := False;
end;
end;
procedure TitCadastroBasicoV41.sbEditarClick(Sender: TObject);
begin
inherited;
with (self.Controller as itCadastroBasicoV4) do
begin
// fNewTarget := false;
(self.Controller as itCadastroBasicoV4).Edita;
SetPermissionsToInteraface(nil);
end;
end;
procedure TitCadastroBasicoV41.sbExcluirClick(Sender: TObject);
begin
if MessageDlg('Confirma a excluso do objeto?', mtConfirmation, [mbYes,mbNo], 0) = mrYes then
begin
(self.Controller as itCadastroBasicoV4).Delete;
status := stDelete;
VerificaPermissoes;
end;
end;
procedure TitCadastroBasicoV41.sbNovoClick(Sender: TObject);
begin
with (self.Controller as itCadastroBasicoV4) do
begin
Inserir;
// fNewTarget := true;
fOID := '';
SetPermissionsToInteraface(nil);
end;
end;
procedure TitCadastroBasicoV41.FormShow(Sender: TObject);
begin
inherited;
// if SISAC_Util.GetDisplayColors <= 8 then
jvGradientSuperior.Visible := false;
if (status <> stInsert) and (status <> StUpdate) then DesabilitaEdicao
else HabilitaEdicao;
end;
procedure TitCadastroBasicoV41.CadastrarNovoObjeto;
begin
status := stInsert;
VerificaPermissoes;
LimpaCampos(self);
HabilitaEdicao;
end;
procedure TitCadastroBasicoV41.FormCreate(Sender: TObject);
begin
status := StBrowse;
hasSearchBeforeNewObject := False;
end;
procedure TitCadastroBasicoV41.FormClose(Sender: TObject; var Action: TCloseAction);
const
NOT_SAVED_MSG = 'Existem dados que ainda no foram salvos.' + #13 +
'Deseja realmente sair?';
begin
if ((status = stInsert) or (status = stUpdate)) and
(MessageDlg(NOT_SAVED_MSG, mtConfirmation, [mbYes, mbNo], 0) = mrNo)
then Action := caNone
else Action := caFree;
end;
procedure TitCadastroBasicoV41.sbSairClick(Sender: TObject);
begin
Close;
end;
procedure TitCadastroBasicoV41.sbSalvarClick(Sender: TObject);
begin
(self.Controller as itCadastroBasicoV4).Save;
end;
{ itCadastroBasicoV4 }
procedure itCadastroBasicoV4.ConsultaObjeto(piRequest: acRequest);
begin
end;
procedure itCadastroBasicoV4.Consultar;
var lRequest : acRequest;
begin
lRequest:= self.NewRequest('RM_CONSULTA_OBJETO',ConsultaObjeto);
lRequest.Message.Fields.AddField('OBJECTID').AsString := fOID;
lRequest.Post;
end;
procedure itCadastroBasicoV4.Delete;
var lRequest : acRequest;
begin
lRequest:= self.NewRequest('RM_EXCLUI_OBJETO',ExcluirObjeto);
lRequest.Message.Fields.AddField('OBJECTID').AsString := fOID;
lRequest.Post;
end;
procedure itCadastroBasicoV4.Edita;
var lRequest : acRequest;
begin
Screen.Cursor := crHourGlass;
if Assigned(self.ContextObject) then
fOID := self.ContextObject.ObjectID;
if trim(fOID) <> '' then
begin
// fNewTarget := false;
lRequest := self.NewRequest('RM_EDITA_OBJETO',GetTargetObjectsData);
lRequest.Message.Fields.AddField('OBJECTID').AsString := fOID;
lRequest.Post;
with self.InterfaceForm as TitCadastroBasicoV41 do
begin
status := stUpdate;
VerificaPermissoes;
HabilitaEdicao;
end;
end;
end;
procedure itCadastroBasicoV4.EditaObjeto(piRequest: acRequest);
begin
with self.InterfaceForm as TitCadastroBasicoV41 do
begin
status := stUpdate;
VerificaPermissoes;
HabilitaEdicao;
end;
Screen.Cursor := crDefault;
end;
procedure itCadastroBasicoV4.ExcluirObjeto(piRequest: acRequest);
begin
ShowMessage('Registro excludo.');
end;
procedure itCadastroBasicoV4.Inserir;
begin
if not Assigned(Self.ContextObject) then
begin
self.NewRequest('RM_INCLUI_OBJETO', GetTargetObjectsData).Post;
// fNewTarget := true;
end;
end;
procedure itCadastroBasicoV4.SalvaObjeto(piRequest: acRequest);
begin
with self.InterfaceForm as TitCadastroBasicoV41 do
begin
sbNovo.Enabled := true;
sbEditar.Enabled := true;
sbExcluir.Enabled := true;
sbSalvar.Enabled := false;
status := StBrowse;
DesabilitaEdicao;
end;
end;
procedure itCadastroBasicoV4.Save;
var lMessage: acRequest;
begin
lMessage := self.NewRequest('RM_SALVA_OBJETO', SalvaObjeto);
Self.SaveFromInterface(lMessage);
lMessage.Post;
end;
procedure itCadastroBasicoV4.SendToInterface(piRequest: acRequest);
begin
if Assigned(Self.ContextObject) then
begin
if self.ContextObject.OperationCode = cInserir then
raise Exception.Create('Operao de insero(1) no requer objeto de contexto.')
else
if self.ContextObject.OperationCode = cAtualizar then
begin
self.Edita;
(self.InterfaceForm as TitCadastroBasicoV41).status := StUpdate;
end
else if self.ContextObject.OperationCode = cExcluir then
begin
self.Edita;
(self.InterfaceForm as TitCadastroBasicoV41).status := StDelete;
end
else if self.ContextObject.OperationCode = cConsultar then
begin
self.Edita;
(self.InterfaceForm as TitCadastroBasicoV41).status := StBrowse;
end
else //Quando tem contexto do objeto porem nao tem operao, considero
begin //"Atualizar" para compatibilizar com a interface antiga
self.Edita;
(self.InterfaceForm as TitCadastroBasicoV41).status := StUpdate;
end;
end
else
begin
// if self.ContextObject.OperationCode = cInserir then
self.Inserir;
(self.InterfaceForm as TitCadastroBasicoV41).status := StInsert;
// else if self.ContextObject.OperationCode = cAtualizar then
// raise Exception.Create('Objeto de contexto deve ser informado para operao de atualizao(3).')
// else if self.ContextObject.OperationCode = cExcluir then
// raise Exception.Create('Objeto de contexto deve ser informado para operao de excluso(4).')
// else if self.ContextObject.OperationCode = cConsultar then
// raise Exception.Create('Objeto de contexto deve ser informado para operao de consulta(2).')
end;
// if fNewTarget then
// (self.InterfaceForm as TitCadastroBasicoV41).status := StInsert
// else
// (self.InterfaceForm as TitCadastroBasicoV41).status := stUpdate;
self.SetPermissionsToInteraface(nil);
end;
procedure itCadastroBasicoV4.SetPermissionsToInteraface(
piOperationsNode: utField);
var lTitCadastroBasico: TitCadastroBasicoV41;
// lOperationNode: utField;
// lCode: integer;
// lmarc : acEnumerator;
begin
lTitCadastroBasico := self.InterfaceForm as TitCadastroBasicoV41;
lTitCadastroBasico.permissao := [acInsert,acUpdate,acDelete];
{lmarc := piOperationsNode.GetFieldsEnumerator;
try
while not lmarc.EOL do
begin
lOperationNode := utField(lmarc.Current);
lCode := lOperationNode.AttributeByName('Code').AsInteger;
case lCode of
1: lTitCadastroBasico.permissao := lTitCadastroBasico.permissao + [acInsert];
3: lTitCadastroBasico.permissao := lTitCadastroBasico.permissao + [acUpdate];
4: lTitCadastroBasico.permissao := lTitCadastroBasico.permissao + [acDelete];
end;
lmarc.MoveNext;
end;
finally
lmarc.Free;
end;:}
lTitCadastroBasico.VerificaPermissoes;
end;
end.
inherited itCadastroPerfil: TitCadastroPerfil
Caption = 'Cadastro de Perfil'
ClientHeight = 594
ClientWidth = 984
ExplicitWidth = 1000
ExplicitHeight = 632
PixelsPerInch = 96
TextHeight = 13
inherited pnPrincipal: TPanel
Width = 984
Height = 537
ExplicitWidth = 984
ExplicitHeight = 537
object Panel1: TPanel
Left = 1
Top = 57
Width = 982
Height = 479
Align = alClient
Caption = 'Panel1'
TabOrder = 0
object treeOperacoes: TElTree
Left = 1
Top = 1
Width = 544
Height = 477
Align = alLeft
HeaderHeight = 21
HeaderSections.Data = {F4FFFFFF00000000}
HorzScrollBarStyles.ShowTrackHint = False
HorzScrollBarStyles.Width = 17
HorzScrollBarStyles.ButtonSize = 17
LineHeight = 17
PopupMenu = ppmOperacoes
ShowCheckboxes = True
ShowLeafButton = False
TabOrder = 0
TabStop = True
VertScrollBarStyles.ShowTrackHint = True
VertScrollBarStyles.Width = 17
VertScrollBarStyles.ButtonSize = 17
OnItemChecked = treeOperacoesItemChecked
end
object ltvOperacoes: TListView
Left = 545
Top = 1
Width = 432
Height = 477
Align = alLeft
Color = 16119285
Columns = <
item
Caption = 'Sistema'
Width = 100
end
item
Caption = 'Caso de uso'
Width = 200
end
item
Caption = 'Opera'#231#227'o'
Width = 100
end>
ReadOnly = True
TabOrder = 1
ViewStyle = vsReport
end
end
object Panel2: TPanel
Left = 1
Top = 1
Width = 982
Height = 56
Align = alTop
TabOrder = 1
ExplicitWidth = 759
object lblNome: TLabel
Left = 72
Top = 6
Width = 32
Height = 13
Caption = 'Nome'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
end
object lblCodigo: TLabel
Left = 8
Top = 6
Width = 38
Height = 13
Caption = 'C'#243'digo'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
end
object lblDescricao: TLabel
Left = 366
Top = 6
Width = 55
Height = 13
Caption = 'Descri'#231#227'o'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
end
object lblValorCodigo: TLabel
Left = 8
Top = 24
Width = 47
Height = 13
Caption = '<c'#243'digo>'
Layout = tlCenter
end
object edtNome: TEdit
Left = 72
Top = 21
Width = 280
Height = 21
ReadOnly = True
TabOrder = 0
end
object edtDescricao: TEdit
Left = 366
Top = 21
Width = 369
Height = 21
ReadOnly = True
TabOrder = 1
end
end
end
inherited pnMenuSuperior: TPanel
Width = 984
ExplicitWidth = 761
inherited jvGradientSuperior: TJvGradient
Width = 984
ExplicitWidth = 526
end
inherited FlowPanel1: TFlowPanel
Width = 984
ExplicitWidth = 761
end
end
inherited pnDivisor: TPanel
Width = 984
ExplicitWidth = 761
end
object ppmOperacoes: TPopupMenu
OnPopup = ppmOperacoesPopup
Left = 520
Top = 128
object MarcarInserir: TMenuItem
Caption = 'Marcar opera'#231#245'es "Inserir"'
OnClick = MarcarInserirClick
end
object MarcarConsultar: TMenuItem
Caption = 'Marcar opera'#231#245'es "Consultar"'
OnClick = MarcarConsultarClick
end
object MarcarAtualizar: TMenuItem
Caption = 'Marcar opera'#231#245'es "Atualizar"'
OnClick = MarcarAtualizarClick
end
object MarcarExcluir: TMenuItem
Caption = 'Marcar opera'#231#245'es "Excluir"'
OnClick = MarcarExcluirClick
end
object MarcarExecutar: TMenuItem
Caption = 'Marcar opera'#231#245'es "Executar"'
OnClick = MarcarExecutarClick
end
object MarcarProcessar: TMenuItem
Caption = 'Marcar opera'#231#245'es "Processar"'
OnClick = MarcarProcessarClick
end
end
end
...@@ -36,6 +36,10 @@ object itExplorerV4: TitExplorerV4 ...@@ -36,6 +36,10 @@ object itExplorerV4: TitExplorerV4
ImageIndex = 1 ImageIndex = 1
ParentFont = False ParentFont = False
OnShow = tsOQLSQLShow OnShow = tsOQLSQLShow
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object Splitter1: TSplitter object Splitter1: TSplitter
Left = 257 Left = 257
Top = 24 Top = 24
...@@ -53,9 +57,9 @@ object itExplorerV4: TitExplorerV4 ...@@ -53,9 +57,9 @@ object itExplorerV4: TitExplorerV4
Height = 24 Height = 24
ActionManager = ActionManager1 ActionManager = ActionManager1
Caption = 'ActionToolBar1' Caption = 'ActionToolBar1'
ColorMap.HighlightColor = 15660791 ColorMap.HighlightColor = clWhite
ColorMap.BtnSelectedColor = clBtnFace ColorMap.BtnSelectedColor = clBtnFace
ColorMap.UnusedColor = 15660791 ColorMap.UnusedColor = clWhite
HorzMargin = 0 HorzMargin = 0
ParentBackground = True ParentBackground = True
ParentShowHint = False ParentShowHint = False
...@@ -126,29 +130,24 @@ object itExplorerV4: TitExplorerV4 ...@@ -126,29 +130,24 @@ object itExplorerV4: TitExplorerV4
Align = alClient Align = alClient
TabOrder = 0 TabOrder = 0
TabWidth = 50 TabWidth = 50
ExplicitHeight = 205
object tsOQL: TTabSheet object tsOQL: TTabSheet
Caption = 'OQL' Caption = 'OQL'
ExplicitHeight = 174 ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object OQLQuery: TJvHLEditor object OQLQuery: TJvHLEditor
Left = 0 Left = 0
Top = 0 Top = 0
Width = 688 Width = 688
Height = 187 Height = 187
Cursor = crIBeam Cursor = crIBeam
GutterWidth = 0
RightMargin = 120 RightMargin = 120
RightMarginColor = clSilver
Completion.ItemHeight = 13 Completion.ItemHeight = 13
Completion.Interval = 800
Completion.ListBoxStyle = lbStandard
Completion.CaretChar = '|'
Completion.CRLF = '/n' Completion.CRLF = '/n'
Completion.Separator = '=' Completion.Separator = '='
TabStops = '3 5' TabStops = '3 5'
BracketHighlighting.StringEscape = #39#39 BracketHighlighting.StringEscape = #39#39
SelForeColor = clHighlightText
SelBackColor = clHighlight
OnDragOver = OQLQueryDragOver OnDragOver = OQLQueryDragOver
OnDragDrop = OQLQueryDragDrop OnDragDrop = OQLQueryDragDrop
Align = alClient Align = alClient
...@@ -157,10 +156,6 @@ object itExplorerV4: TitExplorerV4 ...@@ -157,10 +156,6 @@ object itExplorerV4: TitExplorerV4
Font.Height = -13 Font.Height = -13
Font.Name = 'Courier New' Font.Name = 'Courier New'
Font.Style = [] Font.Style = []
ParentColor = False
ParentFont = False
TabStop = True
UseDockManager = False
Highlighter = hlSql Highlighter = hlSql
Colors.Comment.Style = [fsItalic] Colors.Comment.Style = [fsItalic]
Colors.Comment.ForeColor = clNavy Colors.Comment.ForeColor = clNavy
...@@ -187,43 +182,35 @@ object itExplorerV4: TitExplorerV4 ...@@ -187,43 +182,35 @@ object itExplorerV4: TitExplorerV4
Colors.Statement.BackColor = clWindow Colors.Statement.BackColor = clWindow
Colors.PlainText.ForeColor = clWindowText Colors.PlainText.ForeColor = clWindowText
Colors.PlainText.BackColor = clWindow Colors.PlainText.BackColor = clWindow
ExplicitWidth = 672
ExplicitHeight = 174
end end
end end
object tsSQL: TTabSheet object tsSQL: TTabSheet
Caption = 'SQL' Caption = 'SQL'
ImageIndex = 1 ImageIndex = 1
ExplicitHeight = 174 ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object SQLQuery: TJvHLEditor object SQLQuery: TJvHLEditor
Left = 0 Left = 0
Top = 0 Top = 0
Width = 688 Width = 688
Height = 187 Height = 187
Cursor = crIBeam Cursor = crIBeam
GutterWidth = 0 RightMarginVisible = False
RightMargin = 120 RightMargin = 120
RightMarginColor = clSilver
Completion.ItemHeight = 13 Completion.ItemHeight = 13
Completion.Interval = 800
Completion.ListBoxStyle = lbStandard
Completion.CaretChar = '|'
Completion.CRLF = '/n' Completion.CRLF = '/n'
Completion.Separator = '=' Completion.Separator = '='
TabStops = '3 5' TabStops = '3 5'
BracketHighlighting.StringEscape = #39#39 BracketHighlighting.StringEscape = #39#39
SelForeColor = clInfoBk SelForeColor = clInfoBk
SelBackColor = clHighlight
Align = alClient Align = alClient
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -13 Font.Height = -13
Font.Name = 'Courier New' Font.Name = 'Courier New'
Font.Style = [] Font.Style = []
ParentColor = False
ParentFont = False
TabStop = True
UseDockManager = False
Highlighter = hlSql Highlighter = hlSql
Colors.Comment.Style = [fsItalic] Colors.Comment.Style = [fsItalic]
Colors.Comment.ForeColor = clNavy Colors.Comment.ForeColor = clNavy
...@@ -250,7 +237,6 @@ object itExplorerV4: TitExplorerV4 ...@@ -250,7 +237,6 @@ object itExplorerV4: TitExplorerV4
Colors.Statement.BackColor = clWindow Colors.Statement.BackColor = clWindow
Colors.PlainText.ForeColor = clWindowText Colors.PlainText.ForeColor = clWindowText
Colors.PlainText.BackColor = clWindow Colors.PlainText.BackColor = clWindow
ExplicitHeight = 174
end end
end end
end end
...@@ -263,8 +249,6 @@ object itExplorerV4: TitExplorerV4 ...@@ -263,8 +249,6 @@ object itExplorerV4: TitExplorerV4
Align = alClient Align = alClient
BevelInner = bvLowered BevelInner = bvLowered
TabOrder = 1 TabOrder = 1
ExplicitTop = 211
ExplicitHeight = 329
object pcResult: TPageControl object pcResult: TPageControl
Left = 2 Left = 2
Top = 2 Top = 2
...@@ -275,10 +259,8 @@ object itExplorerV4: TitExplorerV4 ...@@ -275,10 +259,8 @@ object itExplorerV4: TitExplorerV4
RaggedRight = True RaggedRight = True
Style = tsFlatButtons Style = tsFlatButtons
TabOrder = 0 TabOrder = 0
ExplicitHeight = 325
object tsObjectResults: TTabSheet object tsObjectResults: TTabSheet
Caption = 'Objects' Caption = 'Objects'
ExplicitHeight = 291
object pbObjects: TProgressBar object pbObjects: TProgressBar
Left = 0 Left = 0
Top = 272 Top = 272
...@@ -288,7 +270,6 @@ object itExplorerV4: TitExplorerV4 ...@@ -288,7 +270,6 @@ object itExplorerV4: TitExplorerV4
Smooth = True Smooth = True
Step = 1 Step = 1
TabOrder = 0 TabOrder = 0
ExplicitTop = 285
end end
object tvObjects: TElTree object tvObjects: TElTree
Left = 0 Left = 0
...@@ -304,21 +285,21 @@ object itExplorerV4: TitExplorerV4 ...@@ -304,21 +285,21 @@ object itExplorerV4: TitExplorerV4
Font.Style = [] Font.Style = []
HeaderHeight = 22 HeaderHeight = 22
HeaderSections.Data = { HeaderSections.Data = {
F4FFFFFF030000000000000000000000FFFFFFFF000001010100000077010000 F4FFFFFF030000000000000000000000FFFFFFFF000001010100616E4E000000
00000000102700000001000020A77A130000000001000000FFFFFFFF00000100 00000000102700000001006D20A77A130000000001006F74FFFFFFFF00000137
0000000000000000000100000000000008000000080000000800000008000000 00000000000000000001000100000000636C695C7372635C6974755C69747565
0800000008000000080000000800000008000000080000000800000008000000 76656E746C6F67616E616C797365725C6974756576656E746C6F67616E616C79
08000000080000000800000008000000080000000900000050726F7065727479 7365726E6577616E616C797369732E70617300000900000050726F7065727479
00010000000000000000000000000000000000000000FFFFFFFF000001010100 00010000000000000000000000000000000000000000FFFFFFFF000001010100
00004A01000000000000102700000001000010B47A130100000001000000FFFF 616E3900000000000000102700000001006D10B47A130100000001006F74FFFF
FFFF000001000000000000000000000100000000000008000000080000000800 FFFF0000013700000000000000000001000100000000636C695C7372635C6974
0000080000000800000008000000080000000800000008000000080000000800 755C6974756576656E746C6F67616E616C797365725C6974756576656E746C6F
0000080000000800000008000000080000000800000008000000060000005661 67616E616C797365726E6577616E616C797369732E7061730000060000005661
6C756500010000000000000000000000000000000000000000FFFFFFFF000001 6C756500010000000000000000000000000000000000000000FFFFFFFF000001
0101000000F7000000000000001027000000010000A0997A1302000000010000 010100616E3200000000000000102700000001006DA0997A130200000001006F
00FFFFFFFF000001000000000000000000000100000000000008000000080000 74FFFFFFFF0000013700000000000000000001000100000000636C695C737263
0008000000080000000800000008000000080000000800000008000000080000 5C6974755C6974756576656E746C6F67616E616C797365725C6974756576656E
0008000000080000000800000008000000080000000800000008000000050000 746C6F67616E616C797365726E6577616E616C797369732E7061730000050000
00547970650001000000000000000000000000} 00547970650001000000000000000000000000}
HorzScrollBarStyles.ShowTrackHint = False HorzScrollBarStyles.ShowTrackHint = False
HorzScrollBarStyles.Width = 17 HorzScrollBarStyles.Width = 17
...@@ -340,14 +321,16 @@ object itExplorerV4: TitExplorerV4 ...@@ -340,14 +321,16 @@ object itExplorerV4: TitExplorerV4
VertScrollBarStyles.Width = 17 VertScrollBarStyles.Width = 17
VertScrollBarStyles.ButtonSize = 17 VertScrollBarStyles.ButtonSize = 17
OnDblClick = tvObjectsDblClick OnDblClick = tvObjectsDblClick
ExplicitHeight = 291
end end
end end
object tsTextResults: TTabSheet object tsTextResults: TTabSheet
Caption = 'Results' Caption = 'Results'
ImageIndex = 1 ImageIndex = 1
TabVisible = False TabVisible = False
ExplicitHeight = 291 ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object TextResults: TMemo object TextResults: TMemo
Left = 0 Left = 0
Top = 0 Top = 0
...@@ -358,7 +341,6 @@ object itExplorerV4: TitExplorerV4 ...@@ -358,7 +341,6 @@ object itExplorerV4: TitExplorerV4
ScrollBars = ssBoth ScrollBars = ssBoth
TabOrder = 0 TabOrder = 0
WordWrap = False WordWrap = False
ExplicitHeight = 291
end end
end end
end end
...@@ -593,15 +575,11 @@ object itExplorerV4: TitExplorerV4 ...@@ -593,15 +575,11 @@ object itExplorerV4: TitExplorerV4
OnExecute = ResultsPanelExecute OnExecute = ResultsPanelExecute
end end
end end
object XPManifest1: TXPManifest
Left = 480
Top = 8
end
object ImageList1: TImageList object ImageList1: TImageList
Left = 520 Left = 520
Top = 8 Top = 8
Bitmap = { Bitmap = {
494C01010C000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 494C01010C000E000C0010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000004000000001002000000000000040 0000000000003600000028000000400000004000000001002000000000000040
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
......
No preview for this file type
...@@ -12,6 +12,7 @@ object itLogin: TitLogin ...@@ -12,6 +12,7 @@ object itLogin: TitLogin
Font.Height = -11 Font.Height = -11
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
KeyPreview = True
OldCreateOrder = True OldCreateOrder = True
Position = poScreenCenter Position = poScreenCenter
OnClose = FormClose OnClose = FormClose
...@@ -1422,6 +1423,7 @@ object itLogin: TitLogin ...@@ -1422,6 +1423,7 @@ object itLogin: TitLogin
Width = 185 Width = 185
Height = 21 Height = 21
TabOrder = 0 TabOrder = 0
OnKeyDown = LoginKeyDown
end end
end end
object Panel5: TPanel object Panel5: TPanel
......
object itLoginPortalStd: TitLoginPortalStd
Left = 320
Top = 191
Caption = 'Portal de Sistemas'
ClientHeight = 676
ClientWidth = 1059
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
Position = poDefault
WindowState = wsMaximized
OnClose = FormClose
OnResize = FormResize
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object pnlMain: TPanel
Left = 0
Top = 105
Width = 1059
Height = 571
Align = alClient
TabOrder = 0
OnResize = pnlMainResize
object pnlLogin: TPanel
Left = 69
Top = 27
Width = 370
Height = 223
BevelOuter = bvNone
ParentBackground = False
ParentColor = True
TabOrder = 0
object NoteBookLogin: TNotebook
Left = 0
Top = 0
Width = 368
Height = 221
TabOrder = 0
object TPage
Left = 0
Top = 0
Caption = 'Login'
object Label5: TLabel
Left = 53
Top = 8
Width = 264
Height = 19
Caption = 'Bem-vindo - Fa'#231'a seu login aqui!'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
end
object lblLoginMessage: TLabel
Left = 11
Top = 159
Width = 346
Height = 57
Alignment = taCenter
AutoSize = False
Caption = 'lblLoginMessage'
Font.Charset = DEFAULT_CHARSET
Font.Color = clRed
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
WordWrap = True
end
object Panel1: TPanel
Left = 81
Top = 38
Width = 221
Height = 115
BevelOuter = bvNone
ParentColor = True
TabOrder = 0
object pnServer: TPanel
Left = 0
Top = 0
Width = 221
Height = 37
Align = alTop
BevelOuter = bvNone
ParentBackground = False
ParentColor = True
TabOrder = 0
TabStop = True
Visible = False
object Label7: TLabel
Left = 10
Top = -2
Width = 53
Height = 16
Caption = 'Servidor:'
Color = 6381921
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentColor = False
ParentFont = False
Transparent = True
end
object Label1: TLabel
Left = 143
Top = -2
Width = 35
Height = 16
Caption = 'Porta:'
Color = 6381921
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentColor = False
ParentFont = False
Transparent = True
end
object Servidor: TEdit
Left = 10
Top = 14
Width = 127
Height = 19
BevelInner = bvLowered
BevelKind = bkFlat
BevelOuter = bvNone
Ctl3D = False
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentCtl3D = False
ParentFont = False
TabOrder = 0
OnKeyPress = onKeyPress
end
object Porta: TEdit
Left = 143
Top = 14
Width = 53
Height = 19
BevelInner = bvLowered
BevelKind = bkFlat
BevelOuter = bvNone
Ctl3D = False
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentCtl3D = False
ParentFont = False
TabOrder = 1
OnKeyPress = onKeyPress
end
end
object gpLogin: TGridPanel
Left = 0
Top = 37
Width = 221
Height = 78
Align = alClient
BevelOuter = bvNone
ColumnCollection = <
item
Value = 100.000000000000000000
end>
ControlCollection = <
item
Column = 0
Control = Panel4
Row = 0
end
item
Column = 0
Control = Panel3
Row = 1
end
item
Column = 0
Control = Panel6
Row = 2
end>
ParentBackground = False
ParentColor = True
RowCollection = <
item
Value = 31.917514224371600000
end
item
Value = 31.887328680160660000
end
item
Value = 36.195157095467730000
end>
TabOrder = 1
DesignSize = (
221
78)
object Panel4: TPanel
Left = 0
Top = 0
Width = 221
Height = 24
Anchors = []
BevelOuter = bvNone
ParentColor = True
TabOrder = 0
object Label3: TLabel
Left = 9
Top = 4
Width = 48
Height = 16
Caption = 'Usu'#225'rio:'
Color = 6381921
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentColor = False
ParentFont = False
Transparent = True
end
object Login: TEdit
Left = 62
Top = 1
Width = 134
Height = 19
BevelInner = bvLowered
BevelKind = bkFlat
BevelOuter = bvNone
Ctl3D = False
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentCtl3D = False
ParentFont = False
TabOrder = 0
OnKeyDown = LoginKeyDown
OnKeyPress = onKeyPress
end
end
object Panel3: TPanel
Left = 0
Top = 24
Width = 221
Height = 24
Anchors = []
BevelOuter = bvNone
ParentColor = True
TabOrder = 1
object Label6: TLabel
Left = 9
Top = 3
Width = 41
Height = 16
Caption = 'Senha:'
Color = 6381921
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentColor = False
ParentFont = False
Transparent = True
end
object Senha: TEdit
Left = 62
Top = 1
Width = 134
Height = 19
BevelInner = bvLowered
BevelKind = bkFlat
BevelOuter = bvNone
Ctl3D = False
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentCtl3D = False
ParentFont = False
PasswordChar = '*'
TabOrder = 0
OnKeyPress = onKeyPress
end
end
object Panel6: TPanel
Left = 12
Top = 48
Width = 197
Height = 29
Anchors = []
BevelOuter = bvNone
ParentColor = True
TabOrder = 2
object ButtonOK: TJvTransparentButton
Left = 3
Top = 9
Width = 73
Height = 17
Cursor = crHandPoint
HotTrack = True
HotTrackFont.Charset = DEFAULT_CHARSET
HotTrackFont.Color = clWindowText
HotTrackFont.Height = -11
HotTrackFont.Name = 'Tahoma'
HotTrackFont.Style = []
FrameStyle = fsNone
Transparent = False
OnClick = ButtonOKClick
Glyph.Data = {
561C0000424D561C0000000000003600000028000000500000001E0000000100
180000000000201C0000130B0000130B00000000000000000000F3F1F1F3F1F1
F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1
F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3
F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1
F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1
F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3
F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1
F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1
F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3
F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1
F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1
F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3
F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1
F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1
F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3
F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1
F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F2F0F0F2F0F0F2F0F0F2F0F0F2F0
F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2
F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0
F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0
F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2
F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0
F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F2F0F0F3F1F1F3F1F1F3F1F1F3F1F1F3F1
F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3
F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1
F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1
F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3
F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1
F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1
F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3
F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1
F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F1EFEFF1EFEFF1EFEFF1EFEFF1EF
EFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1
EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEF
F1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EF
EFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1
EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEF
F1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF1EFEFF3F1F1F3F1F1F3F1F1F3F1F1F3F1
F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3
F1F1E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6
E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6
E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8
E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6
E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6
E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8E6E6E8
E6E6F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F3F1F1F2EFEBFBF3F4
F5F0F2E8F1F4E6EFF2EBEBEBDBDAD6D0D7D0CCC9CBCCC9CBCCC9CBCCC9CBCCC9
CBCCC9CBCCC9CBCCC9CBCBC8CACBC8CACBC8CACBC8CACBC8CACBC8CACBC8CACB
C8CACDC8CACDC8CACDC8CACDC8CACDC8CACDC8CACEC9CBCEC9CBDBC3CDC6C9CE
D6C3CCD4B9C3CACAD0CFC4CCDFC1CCCCC5CCB6C8C9E1C4CDC8C2C7ABCAC9C3C8
CBD0C6CCC6CDD0C1C6C9CBC8CACBC8CACBC8CACBC8CACBC8CACBC8CACBC8CACB
C8CACBC8CACBC8CACBC8CACBC8CACBC8CACBC8CACBC8CACBC8CAC8CACBC6C5C7
C5C4C6C6C5C7C8C5C7C7C4C6CDC8CAD4CFD1E9D3D5E3DEDDE8EAEAECE7E8FBF6
F8E4E8E9F4F6F7F5EBF1EDEEECF4EEEFF8EFF2F0ECF1E1DEE0E5DDDECDC8C5B4
B9B0A59E9BA59E9BA59E9BA59E9BA59E9BA59E9BA59E9BA59E9BA49D9AA49D9A
A49D9AA49D9AA49D9AA49D9AA49D9AA49D9AA69D9AA69D9AA59C99A59C99A59C
99A69D9AA69D9AA69D9A9F9D9C8BA19C9FA4A2A39F9E96A7A3959E9BA59D9D91
A09C9DA2A0B79498AF9FA099A7A3A69C9CAB9698A09B9AA9A1A1A39C99A39C99
A39C99A39C99A39C99A39C99A39C99A39C99A49D9AA49D9AA49D9AA49D9AA49D
9AA49D9AA49D9AA49D9AA19A97A59E9BA7A09DA79E9BA79E9BAAA19EADA19FAB
9F9DBCB0B0C2BEBDDFE0DEE6E4E4F7F5F5EDEFF0F0EFF1FBF2F5F1F6F4EBE9E9
FCF1F4FFF5F9E6D8DADAD7D3D8E3D9EAFCEFEDFFF6EDFFF6EDFFF6EDFFF6EDFF
F6EDFFF6EDFFF6EDFFF6ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5EC
FFF5EEFFF5EEFFF5EEFFF5EEFFF5EEFFF5EEFFF5EEFFF5EEFFF5FFFFF4EAFEEB
E5F5E3E9EFDEF0FCEAFAFBEBFDFAEBE6FCE9E2FDEDF5F5E9F5FFF2D9F6E6E5F2
E4FAFFF4EFFFF2EFFEF0ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5EC
FFF5ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5ECFFF5F1FFF8EEFFF5
EAFEF1F1FFF6F3FFF8F4FFF8E5F6E9D5E6D9B3B8B6A4A7A5CAC8C7E1DFDFEDED
EDF4F3F5EFECEEFBF6F8E6E9E7F7FCFBFFF7F8EAD6DBE6DEDEE7FFF697CFBA38
7960076241076241076241076241076241076241076241076241076241076241
0762410762410762410762410762410762410861400962410962410962410962
4108614008614007603F005B2F07633A21643F125D37006135006335005F3612
5B35045C380D5A380E5E3B085C3912623F146441055C3808603C066140066140
0661400661400661400661400661400661400762410762410762410762410762
410762410762410762410A61400C63421166460C61410154340A5D3D3A8D6D71
C1A2C9E8DFACB6B0B5B1B0D9DAD8DFE4E3F4F2F2F5F0F1F2F1F3F5F1F0E7EDEC
EDEBEBF6E8EAEAF4EE8CD1BC39A987158E680698680698680698680698680698
6806986806986806986807996907996907996907996907996907996907996907
99690898680898680999690999690898680797670696660696660996630B905E
078E5C028B5800865306915E0895620489570486570993630A8E5F0A8658088C
5D05946303966400966406986806986806986806986806986806986806986806
9868079969079969079969079969079969079969079969079969079566018F60
059364119D6E109C6D0892630A9465159F70AAE2D5CADAD3ACA5A2CED1CFDBE4
E1F3EEEFFBF3F4EEF0F0FFF4F5EAF0EFE8EDECF0E8E8E4FDF344AA8E00946900
9667009B65009B65009B65009B65009B65009B65009B65009B65009C66009C66
009C66009C66009C66009C66009C66009C66009A64009B65009C66009C66009B
65009A64009963009862058F6009885B008657008F5F078659007D4F007C4C01
875918895D007141027F51249065048B5B008F5C00966300925E009B65009B65
009B65009B65009B65009B65009B65009B65009C66009C66009C66009C66009C
66009C66009C66009C66009D67009D67009D67009B65009B65019A65029B6602
9B6651A28FDFF7EDADA4A1C4CAC5DEE9E6F6EEEEFBF1F1ECF2F1FDE7E9EAF0EF
EEF6F5F1E7E7E3FFF22291710090600095610295610295610295610295610295
6102956102956102956103966203966203966203966203966203966203966203
966201946002956103966203966203966201946000925E00915D1F8768C2E0CD
F7FEEFD5FCE789D0B60D745529785DFFFFF5A3E4C4117B5464BC98BBFCDC56BB
95088B6004875C01926502956102956102956102956102956102956102956102
956103966203966203966203966203966203966203966203966200915C009560
00976200956000945F00966101946000905C1A7E68E6FFF9AEA39FC2C8C3DDEB
E5F7EDEDFDEFF0E8F3F0FFF3F6EAF0EFE9F1F0EEE2E0EDFFF71C8A6800946500
925E00905C00905C00905C00905C00905C00905C00905C00905C01915D01915D
01915D01915D01915D01915D01915D01915D018E5B028F5C03905D03905D0390
5D018E5B008C59008B589ED8C6DDF9EC7DAA9A7AB4A2DDFFF275A494256552E2
FFF7BBDBC21D6C4BA1DFC1E4FFED418D6D07765017886207875E00905C00905C
00905C00905C00905C00905C00905C00905C01915D01915D01915D01915D0191
5D01915D01915D01915D00956000915C00905B00935E00935F00905C00905C03
9460208C75E6FFFBAA9E9AC5CBC6D7E7E0F5EBEBFFF1F2E5F0EDFBEAEEE9F3F3
FFF5F7DADDDBEFFFF80C835D089262008953028B58028B58028B58028B58028B
58028B58028B58028B58028B58028B58028B58028B58028B58028B58028B5802
8B58028A56038B57068C58068C58078A5704875401845101824FD1EEE5CEE4D2
0D753E1C8253F5FDFC95C6B00F7545F8FFF6C2D6CA416D5CDFFFF390CBAF0275
4D02855302784706905A028B58028B58028B58028B58028B58028B58028B5802
8B58028B58028B58028B58028B58028B58028B58028B58028B58028B58028B58
028B58028B58028B58028B58028B58028B580F8965F3FFF6949892CECECEEEE0
E4F0EBEDFFF4F6E8F0EFFCEDF1E7F1F1FBF0F2E3E6E4EFFFF60D815C00835302
8853008755008755008755008755008755008755008755008755008755008755
0087550087550087550087550087550087550187530288540588550588550487
5403845101824F00804DF2FCF6D0DED2066B3808693DFFFEFFB3D7C60A6337FC
FFFAEFFFF9C9E0D2D8FFEE378163066E45007D4C048A56017D49008755008755
0087550087550087550087550087550087550087550087550087550087550087
5500875500875500875500875500875500875500875500875500875500875500
8755077D5AF6FFF79FA19BC7C7C7EEE0E4F5F0F2F7ECEEE9F1F0FDEEF2E9F3F3
F7ECEEE8E9E7EEFFF311825D007C4D01834E0083510083510083510083510083
5100835100835100835100835100835100835100835100835100835100835100
835101824F01824F02835004835003824F027F4D007D4B007B49FFFFFCC5D9CD
066F4200623AF9FDFEC0E2D10C5E34F6FFFFEEFFF5FFFFF697C2AD0D64430B68
41007746007F480E7D4900835100835100835100835100835100835100835100
8351008351008351008351008351008351008351008351008351008351008351
008351008351008351008351008351008351087957F5FFF4A1A39DC4C4C4EDE2
E5F7F4F6F8EDEFEFF5F4FBEDF1EAF6F6F7ECEEE6E4E3F3FFF5107C5804805201
7A47007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B
007D4B007D4B007D4B007D4B007D4B007D4B007C4A007D4B017E4C037E4C027D
4B027B49007947007846FBFFFCBBDDD2006D43026642ECFAF9B0DAC310633CE9
FEFFDDEEE1F1FAED9BC5AE1465440A6B4300794700713C14824E007D4B007D4B
007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D
4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B007D4B00
7D4B137E5DF3FCEF9D9F99C7C9C9ECE3E6F1F0F2FCF1F3ECF2F1F7ECEFE9F5F5
FCEFF1E6E2E1FAFFF8046A47087D500376440278470278470278470278470278
4702784702784702784702784702784702784702784702784702784702784702
7847007946027946027946027946037946017744027543017442E7F3E7C3E5DA
005330186445F4FFFEA2CDB21A663DEDFEFFC8D7C9A2C4B3D4FBE52A684A0064
38006C3A09754105774102784702784702784702784702784702784702784702
7847027847027847027847027847027847027847027847027847027847027847
0278470278470278470278470278470278470F7454FBFFF3A2A29CC5CAC9ECE5
E8EAE9EBFAEFF1E8EDECF6EDF0E2F0EFFEF1F3ECE7E6FDFFF808694701704408
7342037442037442037442037442037442037442037442037442037442037442
0374420374420374420374420374420374420073410174420174420374420273
4103724002713F02713FB7D0BCD9FAEC3C785A5E876CFAFFFB74A782195E33F8
FEFFC0E2D138725AD2FFE599D2B30C784D0065330F703E00733C037442037442
0374420374420374420374420374420374420374420374420374420374420374
4203744203744203744203744203744203744203744203744203744203744203
74420A6849FFFFF5ACA9A4C3C8C7EFEAECECEEEFF8EDEFEFF1F1F9F0F3E1EFEE
FEF1F3F2EAEAFBFFF4349270016A3F096D3D016E3D016E3D016E3D016E3D016E
3D016E3D016E3D016E3D016E3D016E3D016E3D016E3D016E3D016E3D016E3D01
6E3D00703B006F3B006F3B006F3B006E3A006E3A016D39016D393B7E5EC4FDE8
DAFFF0E7FFEDC2E2D1217545106C37E2F7F896D6C0205E4687BEA3BEFFDF318D
62036E3D006A3505753F016E3D016E3D016E3D016E3D016E3D016E3D016E3D01
6E3D016E3D016E3D016E3D016E3D016E3D016E3D016E3D016E3D016E3D016E3D
016E3D016E3D016E3D016E3D016E3D016E3D338D6FFBF9EEB7B4AFCDD3D2ECE9
EBEFF3F4F9EEF0F3F5F5F9F2F5E4F2F1FDF0F2F2EAEAF9FAF069C4A3096F4504
6737006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A
006B3A006B3A006B3A006B3A006B3A006B3A006C38006C38006C38006C38006B
37006B37006B3700693600683C136D5041846454856520614700682D00672B29
5B5708624520584117573A1D6A48186139036737006C34036B34006B3A006B3A
006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B
3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A006B3A00
6B3A73CBADF9F5EAC0BDB8DEE4E3E5E4E6EEF2F3F6EBEDEFEFEFF6F0F1F8F3F4
F4F2F2EDEDEDF3F8F7F1F9F8B5C0BE66716F0B623E0B623E0B623E0B623E0B62
3E0B623E0B623E0B623E0B623E0B623E0B623E0B623E0B623E0B623E0B623E0B
623E0B623E0B623E0B623E0B623E0B623E0B623E0B623E0B623E0C603D0C603D
0C603D0C603D0C603D0C603D0C603D0C603D0B5F3C0B5F3C0B5F3C0B5F3C0B5F
3C0B5F3C0B5F3C0B5F3C0B623E0B623E0B623E0B623E0B623E0B623E0B623E0B
623E0B623E0B623E0B623E0B623E0B623E0B623E0B623E0B623E0E5F440E5F44
0B5C41126146116045105D4236836878C5AAEFEDEDE0DEDEDCDADAE9E7E7F3F1
F1F2F0F0F2F0F0F6F4F4EFE9EAF2EDEEF5F3F3F0F0F0E7ECEBEDF3F2F3FBFAED
F8F6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6
F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FF
F6F1FFF6F1FFF6F1FFF6EEFFF2EEFFF2EEFFF2EEFFF2EEFFF2EEFFF2EEFFF2EE
FFF2F0FFF4F0FFF4F0FFF4F0FFF4F0FFF4F0FFF4F0FFF4F0FFF4F1FFF6F1FFF6
F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FFF6F1FF
F6F1FFF6F1FFF6F1FFF6F2FFF5F4FFF7F2FFF3F2FFF3F5FFF6F1FEF0EDFAECF6
FFF5E9E7E7E4E2E2E6E4E4F1EFEFF6F4F4F2F0F0F0EEEEF3F1F1FEF9FAF5F0F1
F2F0F0F4F4F4EEF0F0E7ECEBE8EEEDEBF3F2EAE3E6EAE3E6EAE3E6EAE3E6EAE3
E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EA
E3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EBE2E5EBE2E5
EBE2E5EBE2E5EBE2E5EBE2E5EBE2E5EBE2E5EBE2E5EBE2E5EBE2E5EBE2E5EBE2
E5EBE2E5EBE2E5EBE2E5EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EA
E3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6EAE3E6ECE6E1EDE7E2
EAE4DFEAE1DDEFE6E2F5EAE6F1E6E2E9DEDAE9E7E7EAE8E8F0EEEEF5F3F3F5F3
F3F1EFEFF1EFEFF3F1F1F3EEEFF0EEEEF2F0F0F4F4F4F2F4F4EFF1F1E9EEEDE6
EBEAEDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2
EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEE
F2EDEEF2EDEEF2EDEEF2EFF0F4EFF0F4EFF0F4EFF0F4EFF0F4EFF0F4EFF0F4EF
F0F4EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2
EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEEF2EDEE
F2EDEEF2EDEEF2EDEEF2F3F5F5EEF0F0F1F3F3F5F5F5EFEFEFF0EEEEF3F1F1F2
F0F0F0EEEEF2F0F0F3F1F1F3F1F1F1EFEFF2F0F0F3F1F1F5F3F3F4F2F2F6F4F4
F6F4F4F2F2F2F2F2F2F3F3F3F4F4F4F6F6F6F7F2F1F7F2F1F7F2F1F7F2F1F7F2
F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7
F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F6F1F0F6F1F0
F6F1F0F6F1F0F6F1F0F6F1F0F6F1F0F6F1F0F7F2F1F7F2F1F7F2F1F7F2F1F7F2
F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7
F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F7F2F1F8F3F5EFE8EB
F3ECEFFBF4F7F9F0F3F7EEF1FCF1F4FAEFF2F5F3F3F5F3F3F3F1F1F0EEEEF1EF
EFF4F2F2F5F3F3F3F1F1F1F1F1EEEEEEEBEBEBF2F0F0F7F5F5F3F1F1EFEDEDF2
F0F0F2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2EC
F2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2
ECF2F2ECF2F2ECF2F2ECF1F1EBF1F1EBF1F1EBF1F1EBF1F1EBF1F1EBF1F1EBF1
F1EBF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2EC
F2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2ECF2F2
ECF2F2ECF2F2ECF2F2ECF5F4F6F4F1F3F5F2F4F3F0F2F0EBEDF4EFF1FAF3F6F6
EFF2F4F2F2F3F1F1F2F0F0F3F1F1F5F3F3F6F4F4F4F2F2F0EEEEEEEEEEF1F1F1
F1F1F1F2F0F0F2F0F0F0EBECF1ECEDFBF6F7EBF1F0EBF1F0EBF1F0EBF1F0EBF1
F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EB
F1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF3F2EBF3F2
EBF3F2EBF3F2EBF3F2EBF3F2EBF3F2EBF3F2E9F1F0E9F1F0E9F1F0E9F1F0E9F1
F0E9F1F0E9F1F0E9F1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EB
F1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0EBF1F0E3EBEAEAF2F1
F1F7F6EEF4F3E9EFEEEDF2F1F0F5F4ECF1F0F1EFEFF0EEEEF1EFEFF5F3F3F6F4
F4F4F2F2F2F0F0F1EFEFF0F0F0F5F5F5F0F0F0EEECECF6F1F2F9F4F5F6F0F1F4
EEEFFBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6
FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEE
F6FBEEF6FBEEF6FBEEF6F7ECF4F7ECF4F7ECF4F7ECF4F7ECF4F7ECF4F7ECF4F7
ECF4F8EDF5F8EDF5F8EDF5F8EDF5F8EDF5F8EDF5F8EDF5F8EDF5FBEEF6FBEEF6
FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEEF6FBEE
F6FBEEF6FBEEF6FBEEF6FAF4F5F9F1F2F5EDEEF5EDEEFAEFF1FBF0F2FBEEF0FA
EDEFF0EEEEEFEDEDF1EFEFF4F2F2F3F1F1F0EEEEF1EFEFF6F4F4}
end
object ButtonCancel: TJvTransparentButton
Left = 97
Top = 9
Width = 73
Height = 17
Cursor = crHandPoint
HotTrack = True
HotTrackFont.Charset = DEFAULT_CHARSET
HotTrackFont.Color = clWindowText
HotTrackFont.Height = -11
HotTrackFont.Name = 'Tahoma'
HotTrackFont.Style = []
FrameStyle = fsNone
Transparent = False
OnClick = ButtonCancelClick
Glyph.Data = {
561C0000424D561C0000000000003600000028000000500000001E0000000100
180000000000201C0000C40E0000C40E00000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFDEDEDE9595956666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666959595DEDEDEFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDEDE73737366666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666665A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666737373DEDEDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF9595956666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666665A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5252525252525252525A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A52525252525252525252
52525A5A5A5A5A5A5A5A5A5A5A5A666666666666666666666666666666666666
666666666666666666666666666666666666666666959595FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666665A5A5A5A5A5A5A5A5A5252525252525252525252525252525252525252
525252524A4A4A4A4A4A52525252525252525252525252525252525252525252
5252525252525252525252525252525252525252525252525252525252525252
5252525252525252524A4A4A4A4A4A4A4A4A4A4A4A5252525252525A5A5A6666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666665A5A5A959595F4F4F4FFFFFFD5
D5D56A6A6A525252A5A5A5FFFFFFE8E8E8DEDEDEDEDEDE737373FFFFFF737373
737373FFFFFF7B7B7B848484E8E8E8FFFFFFD5D5D55A5A5A5A5A5AD5D5D5FFFF
FFF4F4F48C8C8C4A4A4AFFFFFFA5A5A5666666E8E8E8FFFFFFC5C5C5FFFFFF84
8484D5D5D5D5D5D55252525A5A5A5A5A5A666666666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
5A5A5A737373FFFFFFC5C5C5848484FFFFFFD5D5D54A4A4AFFFFFFC5C5C58484
84F4F4F4CCCCCC737373FFFFFF737373737373FFFFFF737373DEDEDEC5C5C58C
8C8CFFFFFF999999ADADADF4F4F4848484C5C5C5E8E8E8434343FFFFFFA5A5A5
A5A5A5FFFFFF7B7B7BB5B5B5FFFFFF737373CCCCCCD5D5D54A4A4A5252525A5A
5A66666666666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666666666666666665A5A5AA5A5A5FFFFFF7B7B7B525252D5
D5D5FFFFFF4A4A4AF4F4F4C5C5C5434343CCCCCCCCCCCC737373FFFFFF737373
737373FFFFFF737373FFFFFFA5A5A5434343D5D5D58C8C8CCCCCCCCCCCCC4343
43737373A5A5A5434343FFFFFFA5A5A5959595FFFFFF666666737373FFFFFF73
7373CCCCCCCCCCCC4A4A4A5252525A5A5A5A5A5A666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
5A5A5AADADADFFFFFF7B7B7B4A4A4A8C8C8CA5A5A5525252959595F4F4F4D5D5
D5E8E8E8CCCCCC737373FFFFFF737373737373FFFFFF737373FFFFFFA5A5A54A
4A4A4A4A4A4A4A4AD5D5D5F4F4F4CCCCCCCCCCCCCCCCCC434343FFFFFFA5A5A5
525252CCCCCCF4F4F4C5C5C5FFFFFF737373CCCCCCD5D5D54A4A4A5252525A5A
5A5A5A5A66666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666666666666666665A5A5AADADADFFFFFF7B7B7B52525252
52525252525252527B7B7B6A6A6A8C8C8CF4F4F4D5D5D5737373FFFFFF737373
737373FFFFFF737373FFFFFFA5A5A54A4A4AA5A5A57B7B7BD5D5D5E8E8E8A5A5
A5D5D5D5FFFFFF4A4A4AFFFFFFA5A5A55A5A5A7373736A6A6AC5C5C5FFFFFF73
7373D5D5D5E8E8E85A5A5A5252525A5A5A5A5A5A666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
5A5A5AADADADFFFFFF7B7B7B525252525252525252525252F4F4F4CCCCCC7B7B
7BE8E8E8C5C5C57B7B7BFFFFFFB5B5B5A5A5A5FFFFFF7B7B7BDEDEDEC5C5C584
8484FFFFFF999999BEBEBEE8E8E87B7B7BC5C5C5E8E8E84A4A4AFFFFFFA5A5A5
999999FFFFFF848484A5A5A5FFFFFF6A6A6AD5D5D5FFFFFFFFFFFF8484845A5A
5A5A5A5A66666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
66666666666666666666666666666666666666ADADADFFFFFF7B7B7B525252B5
B5B5D5D5D5525252959595F4F4F4FFFFFFE8E8E8737373737373D5D5D5CCCCCC
FFFFFFDEDEDE6666668C8C8CE8E8E8FFFFFFD5D5D56666666A6A6AD5D5D5FFFF
FFE8E8E88C8C8C525252FFFFFFA5A5A55A5A5AD5D5D5FFFFFFFFFFFFB5B5B55A
5A5AB5B5B5B5B5B5D5D5D58484845A5A5A666666666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666848484FFFFFFADADAD5A5A5AE8E8E8E8E8E85A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5AFFFFFFADADAD
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
66666666666666666666666666666666666666666666C5C5C5FFFFFFFFFFFFFF
FFFF9595955A5A5A5A5A5A5A5A5A666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
66666666666666666666FFFFFFADADAD5A5A5A5A5A5A5A5A5A66666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95959566666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666667B7B7B8484846666665A5A5A5A5A5A6666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666959595FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFDEDEDE7373736666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666737373DEDEDEFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDEDE95959566
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666695
9595DEDEDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
end
end
end
end
end
object TPage
Left = 0
Top = 0
Caption = 'AlterarSenha'
ExplicitWidth = 0
ExplicitHeight = 0
object Label4: TLabel
Left = 80
Top = 51
Width = 73
Height = 16
Caption = 'Nova Senha:'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object Label10: TLabel
Left = 80
Top = 79
Width = 77
Height = 16
Caption = 'Confirma'#231#227'o:'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object ButtonAlterar: TJvTransparentButton
Left = 114
Top = 109
Width = 73
Height = 17
Cursor = crHandPoint
HotTrack = True
HotTrackFont.Charset = DEFAULT_CHARSET
HotTrackFont.Color = clWindowText
HotTrackFont.Height = -11
HotTrackFont.Name = 'Tahoma'
HotTrackFont.Style = []
FrameStyle = fsNone
Transparent = False
OnClick = ButtonAlterarClick
Glyph.Data = {
561C0000424D561C0000000000003600000028000000500000001E0000000100
180000000000201C0000C40E0000C40E00000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFE3E3E39595956666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666959595E3E3E3FFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3E3E373737366666666
6666666666666666666666666666666666666666666666666666666666666666
6666665A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A66666666666666666666666666666666666666666666666666666666666666
6666737373E3E3E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF9595956666666666666666666666666666666666666666666666
666666666666666666666666666666665A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A52
52525252525252525A5A5A5A5A5A5A5A5A5A5A5A666666666666666666666666
666666666666666666666666666666666666666666959595FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
66666666666666666666666666666666666666666666666666666666665A5A5A
5A5A5A5252525252525252525252525252525252525252525252525252525252
5252525252525252525252525252525252525252525252525252525252525252
5252525252525252525252525252525252525252525252525252525252525252
5252525252525252525252525252524A4A4A4A4A4A4A4A4A5252525252525252
525A5A5A5A5A5A66666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666665A5A5A666666D5D5D5FFFFFFF4F4F4A5A5A54A4A4A4A
4A4ABCBCBCFFFFFFF4F4F49999994A4A4AD5D5D5D5D5D54A4A4AD5D5D5D5D5D5
7B7B7BFFFFFF7B7B7B7B7B7BFFFFFF7B7B7BA5A5A5FFFFFF4A4A4A525252D5D5
D5D5D5D5525252D5D5D5D5D5D54A4A4AD5D5D5D5D5D54A4A4AD5D5D5FFFFFFD5
D5D5F3F3F3ADADADA5A5A5FFFFFF5252525252525A5A5A666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
66666666666666666666666666666666666666666666666666665A5A5ABCBCBC
FFFFFF848484C8C8C8FFFFFF7B7B7B848484FFFFFF8D8D8DADADADFFFFFF5252
52D5D5D5D5D5D5424242CCCCCCCCCCCC737373FFFFFF737373737373FFFFFF73
7373A5A5A5FFFFFF4A4A4A4A4A4AD5D5D5D5D5D54A4A4AD5D5D5D5D5D54A4A4A
D5D5D5D5D5D5737373FFFFFFA5A5A5959595FFFFFFA5A5A5A5A5A5FFFFFF4A4A
4A5252525A5A5A5A5A5A66666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666665A5A5AF4F4F4D5D5D54A4A4A7B7B7BFFFFFFA5A5A5A5
A5A5FFFFFF4A4A4A737373FFFFFF737373CCCCCCCCCCCC424242CCCCCCCCCCCC
737373FFFFFF737373737373FFFFFF737373A5A5A5FFFFFF4242424A4A4AD5D5
D5D5D5D54A4A4AD5D5D5D5D5D5424242CCCCCCCCCCCC666666FFFFFF95959542
4242FFFFFFA5A5A5A5A5A5FFFFFF4A4A4A5252525A5A5A5A5A5A666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
66666666666666666666666666666666666666666666666666665A5A5AFFFFFF
D5D5D54A4A4A666666A5A5A57B7B7BA5A5A5FFFFFF4A4A4A737373FFFFFF7373
73CCCCCCCCCCCC424242CCCCCCCCCCCC737373FFFFFF737373737373FFFFFF73
7373A5A5A5FFFFFF4242424A4A4AD5D5D5D5D5D5424242D5D5D5D5D5D5424242
CCCCCCCCCCCC424242ADADADFFFFFFB6B6B6FFFFFFA5A5A5A5A5A5FFFFFF4A4A
4A5252525A5A5A5A5A5A66666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666665A5A5AFFFFFFD5D5D54A4A4A525252525252525252A5
A5A5FFFFFF4A4A4A7B7B7BFFFFFF7B7B7BD5D5D5D5D5D54A4A4AD5D5D5D5D5D5
737373FFFFFF737373737373FFFFFF737373A5A5A5FFFFFF6B6B6B4A4A4AD5D5
D5D5D5D54A4A4AD5D5D5D5D5D54A4A4AD5D5D5D5D5D55252527B7B7B6B6B6BA5
A5A5FFFFFFA5A5A5A5A5A5FFFFFF6B6B6B5252525A5A5A5A5A5A666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
66666666666666666666666666666666666666666666666666665A5A5AFFFFFF
D5D5D5525252525252525252525252848484FFFFFF959595BCBCBCFFFFFF5A5A
5AD5D5D5F4F4F47B7B7BE3E3E3D5D5D5A5A5A5FFFFFFB6B6B6737373FFFFFF73
7373A5A5A5FFFFFFFFFFFFA5A5A5D5D5D5F4F4F47B7B7BE3E3E3E3E3E37B7B7B
E3E3E3D5D5D5737373FFFFFFA5A5A5848484FFFFFF999999A5A5A5FFFFFFFFFF
FFADADAD5A5A5A5A5A5A66666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666665A5A5AFFFFFFD5D5D5525252737373D5D5D595959552
5252BCBCBCFFFFFFF4F4F4A5A5A55A5A5AB6B6B6CCCCCCE3E3E3FFFFFF959595
BCBCBCFFFFFFDEDEDE6B6B6BD5D5D56B6B6B959595D5D5D5ADADADADADADB6B6
B6CCCCCCE3E3E3FFFFFFADADADE3E3E3FFFFFF9595955A5A5AB6B6B6FFFFFFFF
FFFFD5D5D5666666959595D5D5D5ADADADADADAD5A5A5A666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666D5D5D5
F4F4F45A5A5A999999FFFFFF9595955A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A848484FFFFFF999999666666A5A5A56B
6B6B5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A66666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666666666667B7B7BF4F4F4FFFFFFFFFFFFDEDEDE6666665A
5A5A5A5A5A6666666666666666666666666666666666666666666666665A5A5A
666666F3F3F3FFFFFF848484FFFFFF8484845A5A5A5A5A5A6666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95959566666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666668484847B7B7B5A5A5A5A5A5A6666666666666666666666666666666666
666666666666666666666666666666666666666666665A5A5A5A5A5A5A5A5A66
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666959595FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFE3E3E37373736666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666737373E3E3E3FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3E3E395959566
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666695
9595E3E3E3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
end
object JvTransparentButton2: TJvTransparentButton
Left = 199
Top = 109
Width = 73
Height = 17
Cursor = crHandPoint
HotTrack = True
HotTrackFont.Charset = DEFAULT_CHARSET
HotTrackFont.Color = clWindowText
HotTrackFont.Height = -11
HotTrackFont.Name = 'Tahoma'
HotTrackFont.Style = []
FrameStyle = fsNone
Transparent = False
OnClick = JvTransparentButton2Click
Glyph.Data = {
561C0000424D561C0000000000003600000028000000500000001E0000000100
180000000000201C0000C40E0000C40E00000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFDEDEDE9595956666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666959595DEDEDEFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDEDE73737366666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666665A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666737373DEDEDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF9595956666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666665A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5252525252525252525A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A52525252525252525252
52525A5A5A5A5A5A5A5A5A5A5A5A666666666666666666666666666666666666
666666666666666666666666666666666666666666959595FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666665A5A5A5A5A5A5A5A5A5252525252525252525252525252525252525252
525252524A4A4A4A4A4A52525252525252525252525252525252525252525252
5252525252525252525252525252525252525252525252525252525252525252
5252525252525252524A4A4A4A4A4A4A4A4A4A4A4A5252525252525A5A5A6666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666665A5A5A959595F4F4F4FFFFFFD5
D5D56A6A6A525252A5A5A5FFFFFFE8E8E8DEDEDEDEDEDE737373FFFFFF737373
737373FFFFFF7B7B7B848484E8E8E8FFFFFFD5D5D55A5A5A5A5A5AD5D5D5FFFF
FFF4F4F48C8C8C4A4A4AFFFFFFA5A5A5666666E8E8E8FFFFFFC5C5C5FFFFFF84
8484D5D5D5D5D5D55252525A5A5A5A5A5A666666666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
5A5A5A737373FFFFFFC5C5C5848484FFFFFFD5D5D54A4A4AFFFFFFC5C5C58484
84F4F4F4CCCCCC737373FFFFFF737373737373FFFFFF737373DEDEDEC5C5C58C
8C8CFFFFFF999999ADADADF4F4F4848484C5C5C5E8E8E8434343FFFFFFA5A5A5
A5A5A5FFFFFF7B7B7BB5B5B5FFFFFF737373CCCCCCD5D5D54A4A4A5252525A5A
5A66666666666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666666666666666665A5A5AA5A5A5FFFFFF7B7B7B525252D5
D5D5FFFFFF4A4A4AF4F4F4C5C5C5434343CCCCCCCCCCCC737373FFFFFF737373
737373FFFFFF737373FFFFFFA5A5A5434343D5D5D58C8C8CCCCCCCCCCCCC4343
43737373A5A5A5434343FFFFFFA5A5A5959595FFFFFF666666737373FFFFFF73
7373CCCCCCCCCCCC4A4A4A5252525A5A5A5A5A5A666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
5A5A5AADADADFFFFFF7B7B7B4A4A4A8C8C8CA5A5A5525252959595F4F4F4D5D5
D5E8E8E8CCCCCC737373FFFFFF737373737373FFFFFF737373FFFFFFA5A5A54A
4A4A4A4A4A4A4A4AD5D5D5F4F4F4CCCCCCCCCCCCCCCCCC434343FFFFFFA5A5A5
525252CCCCCCF4F4F4C5C5C5FFFFFF737373CCCCCCD5D5D54A4A4A5252525A5A
5A5A5A5A66666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
666666666666666666666666666666665A5A5AADADADFFFFFF7B7B7B52525252
52525252525252527B7B7B6A6A6A8C8C8CF4F4F4D5D5D5737373FFFFFF737373
737373FFFFFF737373FFFFFFA5A5A54A4A4AA5A5A57B7B7BD5D5D5E8E8E8A5A5
A5D5D5D5FFFFFF4A4A4AFFFFFFA5A5A55A5A5A7373736A6A6AC5C5C5FFFFFF73
7373D5D5D5E8E8E85A5A5A5252525A5A5A5A5A5A666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
5A5A5AADADADFFFFFF7B7B7B525252525252525252525252F4F4F4CCCCCC7B7B
7BE8E8E8C5C5C57B7B7BFFFFFFB5B5B5A5A5A5FFFFFF7B7B7BDEDEDEC5C5C584
8484FFFFFF999999BEBEBEE8E8E87B7B7BC5C5C5E8E8E84A4A4AFFFFFFA5A5A5
999999FFFFFF848484A5A5A5FFFFFF6A6A6AD5D5D5FFFFFFFFFFFF8484845A5A
5A5A5A5A66666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
66666666666666666666666666666666666666ADADADFFFFFF7B7B7B525252B5
B5B5D5D5D5525252959595F4F4F4FFFFFFE8E8E8737373737373D5D5D5CCCCCC
FFFFFFDEDEDE6666668C8C8CE8E8E8FFFFFFD5D5D56666666A6A6AD5D5D5FFFF
FFE8E8E88C8C8C525252FFFFFFA5A5A55A5A5AD5D5D5FFFFFFFFFFFFB5B5B55A
5A5AB5B5B5B5B5B5D5D5D58484845A5A5A666666666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666848484FFFFFFADADAD5A5A5AE8E8E8E8E8E85A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5AFFFFFFADADAD
5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A6666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF6666666666666666666666666666666666666666666666666666
66666666666666666666666666666666666666666666C5C5C5FFFFFFFFFFFFFF
FFFF9595955A5A5A5A5A5A5A5A5A666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
66666666666666666666FFFFFFADADAD5A5A5A5A5A5A5A5A5A66666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95959566666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666667B7B7B8484846666665A5A5A5A5A5A6666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666959595FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFDEDEDE7373736666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
666666666666666666666666666666666666737373DEDEDEFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDEDEDE95959566
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666666
6666666666666666666666666666666666666666666666666666666666666695
9595DEDEDEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
end
object Label12: TLabel
Left = 80
Top = 24
Width = 48
Height = 16
Caption = 'Usu'#225'rio:'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object lbUsuarioAlteraSenha: TLabel
Left = 163
Top = 26
Width = 3
Height = 13
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
end
object ebNovaSenha: TEdit
Left = 163
Top = 49
Width = 132
Height = 19
BevelInner = bvLowered
BevelKind = bkFlat
BevelOuter = bvNone
Ctl3D = False
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentCtl3D = False
ParentFont = False
TabOrder = 0
end
object ebConfirmacaoNovaSenha: TEdit
Left = 163
Top = 77
Width = 132
Height = 19
BevelInner = bvLowered
BevelKind = bkFlat
BevelOuter = bvNone
Ctl3D = False
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentCtl3D = False
ParentFont = False
TabOrder = 1
end
end
end
end
end
object Panel2: TPanel
Left = 0
Top = 0
Width = 1059
Height = 105
Align = alTop
BevelOuter = bvNone
TabOrder = 1
object Panel7: TPanel
Left = 0
Top = 0
Width = 1059
Height = 51
Align = alTop
BevelOuter = bvNone
Caption = 'Panel5'
TabOrder = 0
object Panel8: TPanel
Left = 0
Top = 0
Width = 1059
Height = 51
Align = alTop
BevelOuter = bvNone
Caption = 'Panel5'
TabOrder = 0
object pnlLeft1: TJvGradientHeaderPanel
Left = 0
Top = 0
Width = 80
Height = 51
GradientStartColor = 13946053
GradientEndColor = 16250356
GradientStyle = grVertical
LabelCaption = ' '
LabelFont.Charset = DEFAULT_CHARSET
LabelFont.Color = clWhite
LabelFont.Height = -11
LabelFont.Name = 'Tahoma'
LabelFont.Style = []
LabelAlignment = taLeftJustify
Align = alLeft
DoubleBuffered = False
TabOrder = 0
end
object JvGradientHeaderPanel6: TJvGradientHeaderPanel
Left = 80
Top = 0
Width = 899
Height = 51
GradientStartColor = 13946053
GradientEndColor = 16250356
GradientStyle = grVertical
LabelCaption = ' '
LabelFont.Charset = DEFAULT_CHARSET
LabelFont.Color = clWhite
LabelFont.Height = -11
LabelFont.Name = 'Tahoma'
LabelFont.Style = []
LabelAlignment = taLeftJustify
Align = alClient
DoubleBuffered = False
TabOrder = 1
object Image2: TImage
Left = 2
Top = 4
Width = 115
Height = 45
Center = True
Proportional = True
Stretch = True
Transparent = True
end
object Label2: TLabel
Left = 140
Top = 13
Width = 173
Height = 22
Caption = 'Portal de Sistemas'
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -19
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
end
end
object pnlRight1: TJvGradientHeaderPanel
Left = 979
Top = 0
Width = 80
Height = 51
GradientStartColor = 13946053
GradientEndColor = 16250356
GradientStyle = grVertical
LabelCaption = ' '
LabelFont.Charset = DEFAULT_CHARSET
LabelFont.Color = clWhite
LabelFont.Height = -11
LabelFont.Name = 'Tahoma'
LabelFont.Style = []
LabelAlignment = taLeftJustify
Align = alRight
DoubleBuffered = False
TabOrder = 2
end
end
end
object Panel5: TPanel
Left = 0
Top = 51
Width = 1059
Height = 51
Align = alTop
BevelOuter = bvNone
TabOrder = 1
object pnlLeft2: TJvGradientHeaderPanel
Left = 0
Top = 0
Width = 80
Height = 51
GradientStartColor = 13946053
GradientEndColor = 16250356
GradientStyle = grVertical
LabelCaption = ' '
LabelFont.Charset = DEFAULT_CHARSET
LabelFont.Color = clWhite
LabelFont.Height = -11
LabelFont.Name = 'Tahoma'
LabelFont.Style = []
LabelAlignment = taLeftJustify
Align = alLeft
DoubleBuffered = False
TabOrder = 0
end
object pnlRight2: TJvGradientHeaderPanel
Left = 979
Top = 0
Width = 80
Height = 51
GradientStartColor = 13946053
GradientEndColor = 16250356
GradientStyle = grVertical
LabelCaption = ' '
LabelFont.Charset = DEFAULT_CHARSET
LabelFont.Color = clWhite
LabelFont.Height = -11
LabelFont.Name = 'Tahoma'
LabelFont.Style = []
LabelAlignment = taLeftJustify
Align = alRight
DoubleBuffered = False
TabOrder = 1
end
object NotebookSistemas: TNotebook
Left = 80
Top = 0
Width = 899
Height = 51
Align = alClient
TabOrder = 2
object TPage
Left = 0
Top = 0
Caption = 'Default'
object JvGradientHeaderPanel2: TJvGradientHeaderPanel
Left = 0
Top = 0
Width = 899
Height = 51
GradientStartColor = 13946053
GradientEndColor = 16250356
GradientStyle = grVertical
LabelCaption = ' '
LabelFont.Charset = DEFAULT_CHARSET
LabelFont.Color = clWhite
LabelFont.Height = -11
LabelFont.Name = 'Tahoma'
LabelFont.Style = []
LabelAlignment = taLeftJustify
Align = alClient
DoubleBuffered = False
TabOrder = 0
object lbUsuario: TLabel
Left = 1
Top = 5
Width = 3
Height = 13
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
end
object lbMatriculaLabel: TLabel
Left = 1
Top = 20
Width = 47
Height = 13
Caption = 'Matr'#237'cula:'
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
Transparent = True
end
object lbMatricula: TLabel
Left = 54
Top = 20
Width = 3
Height = 13
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
Transparent = True
end
object Label8: TLabel
Left = 1
Top = 34
Width = 58
Height = 13
Caption = 'Localiza'#231#227'o:'
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
Transparent = True
end
object lbLocalizacao: TLabel
Left = 64
Top = 34
Width = 3
Height = 13
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
Transparent = True
end
object JvGradientHeaderPanel10: TJvGradientHeaderPanel
Left = 632
Top = 0
Width = 267
Height = 51
GradientStartColor = 13946053
GradientEndColor = 16250356
GradientStyle = grVertical
LabelCaption = ' '
LabelFont.Charset = DEFAULT_CHARSET
LabelFont.Color = clWhite
LabelFont.Height = -11
LabelFont.Name = 'Tahoma'
LabelFont.Style = []
LabelAlignment = taLeftJustify
Align = alRight
DoubleBuffered = False
TabOrder = 0
object lbSair: TLabel
Left = 237
Top = 21
Width = 22
Height = 13
Cursor = crHandPoint
Caption = 'Sair'
DragCursor = crDefault
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
OnClick = lbSairClick
end
object Label9: TLabel
Left = 223
Top = 21
Width = 9
Height = 13
Caption = ': :'
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
end
object lbAlterarSenha: TLabel
Left = 139
Top = 21
Width = 78
Height = 13
Cursor = crHandPoint
Caption = 'Alterar Senha'
DragCursor = crDefault
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
OnClick = lbAlterarSenhaClick
end
end
end
end
object TPage
Left = 0
Top = 0
Caption = 'BemVindo'
object JvGradientHeaderPanel1: TJvGradientHeaderPanel
Left = 0
Top = 0
Width = 899
Height = 51
GradientStartColor = 13946053
GradientEndColor = 16250356
GradientStyle = grVertical
LabelCaption = ' '
LabelFont.Charset = DEFAULT_CHARSET
LabelFont.Color = clWhite
LabelFont.Height = -11
LabelFont.Name = 'Tahoma'
LabelFont.Style = []
LabelAlignment = taLeftJustify
Align = alClient
DoubleBuffered = False
TabOrder = 0
object Label11: TLabel
Left = 0
Top = 20
Width = 215
Height = 16
Caption = 'Bem vindo ao Portal de Sistemas.'
Font.Charset = DEFAULT_CHARSET
Font.Color = 6435072
Font.Height = -13
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
end
end
end
end
end
end
end
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
object itReport: TitReport
Left = 0
Top = 0
Width = 716
Height = 509
Margins.Left = 0
Margins.Top = 0
Margins.Right = 0
Margins.Bottom = 0
AutoScroll = True
Caption = 'itReport'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
KeyPreview = True
OldCreateOrder = False
Position = poDefault
OnCreate = FormCreate
OnDestroy = FormDestroy
OnKeyUp = FormKeyUp
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object pnBotoes: TPanel
Left = 0
Top = 436
Width = 700
Height = 35
Align = alBottom
BevelOuter = bvNone
TabOrder = 0
DesignSize = (
700
35)
object btImprimir: TBitBtn
Left = 8
Top = 4
Width = 75
Height = 25
Caption = 'Imprimir'
TabOrder = 0
OnClick = btImprimirClick
end
object btConfigurarImprimir: TBitBtn
Left = 89
Top = 4
Width = 160
Height = 25
Caption = 'Configurar e Imprimir'
TabOrder = 1
OnClick = btImprimirClick
end
object btVisualizarImpressao: TBitBtn
Left = 255
Top = 4
Width = 160
Height = 25
Caption = 'Visualizar Impress'#227'o'
TabOrder = 2
OnClick = btImprimirClick
end
object btExportarXLS: TButton
Left = 421
Top = 4
Width = 132
Height = 25
Anchors = [akTop, akRight]
Caption = 'Exportar para XLS'
TabOrder = 3
Visible = False
OnClick = btExportarXLSClick
end
object btExportarPDF: TButton
Left = 559
Top = 4
Width = 132
Height = 25
Anchors = [akTop, akRight]
Caption = 'Exportar para PDF'
TabOrder = 4
Visible = False
OnClick = btExportarXLSClick
end
end
inline frReport1: TfrReport
Left = 0
Top = 0
Width = 700
Height = 436
Margins.Left = 0
Margins.Top = 0
Margins.Right = 0
Margins.Bottom = 0
Align = alClient
ParentBackground = False
TabOrder = 1
ExplicitWidth = 700
ExplicitHeight = 436
inherited WebBrowser: TWebBrowser
Width = 700
Height = 436
ExplicitWidth = 700
ExplicitHeight = 436
ControlData = {
4C00000041170000CE1800000000000000000000000000000000000000000000
000000004C000000000000000000000001000000E0D057007335CF11AE690800
2B2E126208000000000000004C0000000114020000000000C000000000000046
8000000000000000000000000000000000000000000000000000000000000000
00000000000000000100000000000000000000000000000000000000}
end
end
object SaveDialog1: TSaveDialog
Left = 640
end
object itSelecionarArquivoExportacao: TSaveDialog
DefaultExt = 'xls'
Filter = 'Planilhas do Excel (*.xls)|*.xls'
FilterIndex = 0
Options = [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]
Title = 'Informe o Caminho e o Nome do arquivo para exportar...'
Left = 671
Top = 3
end
end
unit ituReport;
interface
uses
ituVCLUIController, ituUIController, utuMessage,
//Units do Delphi
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, JvMemoryDataset, StdCtrls, Buttons, ExtCtrls, AppEvnts, fruReport;
type
TEventoCarga = procedure (const piDado : string; const piExibirJanelaProgresso : Boolean = True) of object;
TEventoCargaMensagem = procedure (const piMessage : utField; const piExibirJanelaProgresso : Boolean = True) of object;
TEventoImpressao = procedure (const piOptions : TPrintOptions = []) of object;
TitReport = class(itInterfaceForm)
pnBotoes: TPanel;
btImprimir: TBitBtn;
btConfigurarImprimir: TBitBtn;
frReport1: TfrReport;
btVisualizarImpressao: TBitBtn;
SaveDialog1: TSaveDialog;
btExportarXLS: TButton;
itSelecionarArquivoExportacao: TSaveDialog;
btExportarPDF: TButton;
procedure btImprimirClick(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure btExportarXLSClick(Sender: TObject);
procedure btExportarPDFClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
private
fPrintOptions: TPrintOptions;
function LerLoadHTML : TEventoCarga;
function LerLoadXML : TEventoCarga;
function LerLoadFile : TEventoCarga;
function LerLoadFromMessage : TEventoCargaMensagem;
function LerPrintReport : TEventoImpressao;
function RemoveXMLStyleSheetHeaderLine(piXMLStringIn: string): string;
procedure TabularXML(piFieldIn: utField; piJoinField: utField; poFieldOut:utField);
procedure PreencheDataSet(piMemoryDataSet: TJvMemoryData; piCollectionField: utField);
public
XSLFileName: string;
mdExcel: TJvMemoryData;
constructor Create(piApplication: TApplication; piPDFExportable: Boolean = False; piXLSExportable: Boolean = False); reintroduce;
property LoadHTML : TEventoCarga read LerLoadHTML;
property LoadXML : TEventoCarga read LerLoadXML;
property LoadFile : TEventoCarga read LerLoadFile;
property LoadFromMessage : TEventoCargaMensagem read LerLoadFromMessage;
property PrintReport : TEventoImpressao read LerPrintReport;
property PrintOptions: TPrintOptions read fPrintOptions write fPrintOptions;
end;
var
itReport: TitReport;
implementation
uses
Activex, acuObject, acExcelExport, StrUtils, Printers, DB;
{$R *.dfm}
var MouseHook: Cardinal;
function MouseProc(nCode: Integer; wParam, lParam: Longint): LongInt; stdcall;
var
classbuf: array[0..255] of Char;
const
ie = 'Internet Explorer_Server';
begin
Result := 0;
case nCode < 0 of
True:
Result := CallNextHookEx(MouseHook, nCode, wParam, lParam) ;
False:
case wParam of
WM_RBUTTONDOWN, WM_RBUTTONUP:
begin
GetClassName(PMOUSEHOOKSTRUCT(lParam)^.HWND, classbuf, SizeOf(classbuf)) ;
if lstrcmp(@classbuf[0], @ie[1]) = 0 then
Result := HC_SKIP
else
Result := CallNextHookEx(MouseHook, nCode, wParam, lParam) ;
end
else
begin
Result := CallNextHookEx(MouseHook, nCode, wParam, lParam) ;
end;
end; //case wParam
end; //case nCode
end; (*MouseProc*)
{ TitRelatorio }
procedure TitReport.btExportarPDFClick(Sender: TObject);
begin
//TODO
{ with TGDIPages.Create(self) do
try
// the title of the report
Caption := self.Caption;
//set orientation (portrait or landscape)
Orientation := poLandscape;
BeginDoc;
// now we add some content to the report
// header and footer
AddTextToHeader(paramstr(0));
SaveLayout;
Font.Style := [fsItalic];
TextAlign := taRight;
//AddTextToFooterAt('http://synopse.info',RightMarginPos);
RestoreSavedLayout;
//AddTextToFooter(DateTimeToStr(Now));
// main content (automaticaly split on next pages)
//NewHalfLine;
DrawTitle('Teste de Relatrio',true);
AddColumns([25,25,50]); //percentual width array
AddColumnHeaders(['Coluna 1','Coluna 2','Coluna 3'],true,true); //headers array
for i := 1 to 100 do
DrawTextAcrossCols([IntToStr(i),'Column '+IntToStr(i),'Some text here']);
NewLine;
EndDoc;
// this method will show a preview form, and allow basic actions
// by using the right click menu
ExportPDF('<FILENAME>', false, false);
finally
Free;
end;}
end;
procedure TitReport.btExportarXLSClick(Sender: TObject);
var
lReportField: utField;
lXLSExportField,
lXLSOutField: utField;
lXLSTag: string;
lExcelExport: TDataSetToExcel;
lXmlString: string;
begin
lXLSOutField := nil;
lReportField := utField.Create;
try
if Assigned(frReport1.XMLField) then
begin
lReportField := frReport1.XMLField;
end
else
begin
lXmlString := RemoveXMLStyleSheetHeaderLine(frReport1.XML);
lReportField.LoadFieldFromXMLString(lXmlString);
end;
if lReportField.HasAttribute('XLSExportTag') then
begin
if itSelecionarArquivoExportacao.Execute then
begin
if itSelecionarArquivoExportacao.FileName <> '' then
begin
XSLFileName := itSelecionarArquivoExportacao.FileName;
end;
lXlSTag := lReportField.AttributeByName('XLSExportTag').AsString;
lXLSExportField := lReportField.FieldByName(lXLSTag);
try
lXLSOutField := utField.Create();
lXLSOutField.Name := 'ROOT';
TabularXML(lXLSExportField, nil, lXLSOutField);
PreencheDataSet(mdExcel, lXLSOutField);
finally
lXLSOutField.Free;
end;
mdExcel.First;
lExcelExport := TDataSetToExcel.Create(mdExcel, XSLFileName);
if lExcelExport.WriteFile
then Application.MessageBox(PChar('Arquivo ' + XSLFileName + ' gerado com sucesso.'), 'Sucesso')
else raise Exception.Create('Erro na exportao do XLS.');
end
else ModalResult := mrCancel;
end
else raise Exception.Create('Relatrio no possui campos candidatos para exportao.');
finally
lReportField.Free;
end;
end;
procedure TitReport.btImprimirClick(Sender: TObject);
begin
if Sender = btImprimir then
frReport1.PrintReport(fPrintOptions)
else if Sender = btConfigurarImprimir then
frReport1.PrintReport(fPrintOptions + [poShowConfig])
else
frReport1.PrintReport(fPrintOptions + [poShowPreview]);
end;
constructor TitReport.Create(piApplication: TApplication; piPDFExportable: Boolean = False; piXLSExportable: Boolean = False);
begin
inherited Create(piApplication);
Self.btExportarPDF.Visible := piPDFExportable;
Self.btExportarXLS.Visible := piXLSExportable;
end;
procedure TitReport.FormCreate(Sender: TObject);
begin
MouseHook := SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId());
end;
procedure TitReport.FormDestroy(Sender: TObject);
begin
if MouseHook <> 0 then UnHookWindowsHookEx(MouseHook);
end;
procedure TitReport.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
lFileStream: TFileStream;
begin
if Key = VK_F12 then
begin
SaveDialog1.Execute;
if SaveDialog1.FileName <> '' then
begin
lFileStream := TFileStream.Create(SaveDialog1.FileName,fmCreate);
try
lFileStream.Write(Pointer(frReport1.XML)^,Length(frReport1.XML));
except
lFileStream.Free;
raise;
end;
lFileStream.Free;
end;
end;
end;
procedure TitReport.FormShow(Sender: TObject);
begin
self.frReport1.WebBrowser.Width := self.ClientWidth;
self.frReport1.WebBrowser.Height := self.ClientHeight - pnBotoes.Height;
end;
function TitReport.LerLoadFile: TEventoCarga;
begin
Result:=frReport1.LoadFile;
end;
function TitReport.LerLoadFromMessage: TEventoCargaMensagem;
begin
Result:=frReport1.LoadFromMessage;
end;
function TitReport.LerLoadHTML: TEventoCarga;
begin
Result:=frReport1.LoadHTML;
end;
function TitReport.LerLoadXML: TEventoCarga;
begin
Result := frReport1.LoadXML;
if frReport1.XMLField.HasAttribute('XLSExportTag') then btExportarXLS.Visible := True;
end;
function TitReport.LerPrintReport: TEventoImpressao;
begin
Result:=frReport1.PrintReport;
end;
procedure TitReport.PreencheDataSet(piMemoryDataSet: TJvMemoryData; piCollectionField: utField);
var
lmarc: acEnumerator;
lFieldIndicador: utField;
I: integer;
lNomeAtributo: string;
lTipoAtributo: TFieldType;
begin
lmarc := piCollectionField.GetFieldsEnumerator;
piMemoryDataSet.EmptyTable;
piMemoryDataSet.Edit;
try
while not lmarc.EOL do
begin
lFieldIndicador := utField(lmarc.Current);
piMemoryDataSet.Append;
for I := 0 to piMemoryDataSet.FieldDefs.Count-1 do
begin
lNomeAtributo := piMemoryDataSet.FieldDefs[I].Name;
lTipoAtributo := piMemoryDataSet.FieldDefs[I].DataType;
if lFieldIndicador.HasAttribute(lNomeAtributo) then
begin
case lTipoAtributo of
ftString: piMemoryDataSet.FieldByName(lNomeAtributo).Value := lFieldIndicador.AttributeByName(lNomeAtributo).AsString;
ftInteger: piMemoryDataSet.FieldByName(lNomeAtributo).Value := lFieldIndicador.AttributeByName(lNomeAtributo).AsInteger;
ftBoolean: piMemoryDataSet.FieldByName(lNomeAtributo).Value := lFieldIndicador.AttributeByName(lNomeAtributo).AsBoolean;
ftFloat: piMemoryDataSet.FieldByName(lNomeAtributo).Value := lFieldIndicador.AttributeByName(lNomeAtributo).AsFloat;
ftCurrency: piMemoryDataSet.FieldByName(lNomeAtributo).Value := lFieldIndicador.AttributeByName(lNomeAtributo).AsCurrency;
ftDate: piMemoryDataSet.FieldByName(lNomeAtributo).Value := lFieldIndicador.AttributeByName(lNomeAtributo).AsDate;
ftTime: piMemoryDataSet.FieldByName(lNomeAtributo).Value := lFieldIndicador.AttributeByName(lNomeAtributo).AsTime;
ftDateTime: piMemoryDataSet.FieldByName(lNomeAtributo).Value := lFieldIndicador.AttributeByName(lNomeAtributo).AsDateTime;
ftVariant: piMemoryDataSet.FieldByName(lNomeAtributo).Value := lFieldIndicador.AttributeByName(lNomeAtributo).ASVariant;
end;
end;
end;
lmarc.MoveNext;
end;
finally
lmarc.Free;
end;
end;
function TitReport.RemoveXMLStyleSheetHeaderLine(piXMLStringIn: string): string;
var
lXMLStream: TStringStream;
lXMLStringList: TStringList;
lStringEnum: TStringsEnumerator;
lXMLString: string;
lCount: integer;
begin
Result := '';
lXMLStream := TStringStream.Create(piXMLStringIn);
try
lXMLStringList := TStringList.Create;
try
lXMLStringList.LoadFromStream(lXMLStream);
lStringEnum := lXMLStringList.GetEnumerator;
try
lCount := 0;
lStringEnum.MoveNext;
lXMLString := lStringEnum.GetCurrent;
while (AnsiContainsStr(lXMLString, '<?')) do
begin
lXMLString := lStringEnum.GetCurrent;
lStringEnum.MoveNext;
if AnsiContainsStr(lXMLString, 'xml-stylesheet') then
begin
lXMLStringList.Delete(lCount);
end;
Inc(lCount);
end;
Result := lXMLStringList.Text;
finally
lStringEnum.Free;
end;
finally
lXMLStringList.Free;
end;
finally
lXMLStream.Free;
end;
end;
procedure TitReport.TabularXML(piFieldIn, piJoinField, poFieldOut: utField);
var
lField: utField;
lAttributesEnum,
lFieldsEnum: acEnumerator;
lCurrAttribute: utAttribute;
begin
lField := utField.Create;
lField.Name := 'ROW';
if Assigned(piJoinField) then lField.Assign(piJoinField);
lAttributesEnum := piFieldIn.GetAttibutesEnumerator;
try
while not lAttributesEnum.EOL do
begin
lCurrAttribute := lAttributesEnum.Current as utAttribute;
lField.AddAttribute(lCurrAttribute.Name).Value := lCurrAttribute.Value;
lAttributesEnum.MoveNext;
end;
finally
lAttributesEnum.Free;
end;
if piFieldIn.HasFields then
begin
lFieldsEnum := piFieldIn.GetFieldsEnumerator;
try
while not lFieldsEnum.EOL do
begin
TabularXML(utField(lFieldsEnum.Current), lField, poFieldOut);
lFieldsEnum.MoveNext;
end;
finally
lFieldsEnum.Free;
end;
end
else poFieldOut.AddField(lField.Name).Assign(lField);
lField.Free;
end;
initialization
OleInitialize(nil);
finalization
OleUninitialize;
end.
No preview for this file type
object siBuscaObjetos: TsiBuscaObjetos
Left = 0
Top = 0
Width = 527
Height = 71
AutoScroll = True
TabOrder = 0
end
unit siuBuscaObjetos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, itumain, ComCtrls;
type
TsiBuscaObjetos = class(TFrame)
private
{ Private declarations }
protected
FListViewObj: TListView;
procedure setListViewObj(const Value: TListView); virtual;
public
{ Public declarations }
constructor Create(aowner:TComponent); overload; override;
constructor Create(aowner:TComponent; piInterfaceController: itMain; piEntityCode: string); reintroduce; overload; virtual;
procedure BuscaObjetosInicializacaoInterface; virtual; abstract;
function Version: integer; virtual; abstract;
property ListViewObj: TListView read FListViewObj write setListViewObj;
end;
TsiBuscaObjetosClass = class of TsiBuscaObjetos;
var
siBuscaObjetos: TsiBuscaObjetos;
implementation
{$R *.dfm}
{ TsiBuscaObjetosBasicaPortal1 }
{ TsiBuscaObjetos }
constructor TsiBuscaObjetos.Create(aowner: TComponent);
begin
inherited;
end;
constructor TsiBuscaObjetos.Create(aowner: TComponent; piInterfaceController: itMain; piEntityCode: string);
begin
self.Create(aowner);
end;
procedure TsiBuscaObjetos.setListViewObj(const Value: TListView);
begin
FListViewObj := Value;
end;
end.
inherited siBuscaObjetosBasicaPortal: TsiBuscaObjetosBasicaPortal
Width = 521
Height = 68
ParentFont = False
ExplicitWidth = 521
ExplicitHeight = 68
object Button1: TButton
Left = 5
Top = 8
Width = 0
Height = 25
Caption = 'Button1'
Default = True
TabOrder = 0
OnClick = Button1Click
end
end
unit siuBuscaObjetosBasicaPortal;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls,
StdCtrls, DB, jvtypes, ituMain, utuMessage,
XMLIntf, acuContainers,
msxmldom, ExtCtrls,
XMLDoc, CommCtrl, acuMenuManager, ActnList, ActnMenus, ActnMan, CategoryButtons, ButtonGroup,
Buttons, siuBuscaObjetos, ituUIController;
type
TsiBuscaObjetosBasicaPortal = class(TsiBuscaObjetos)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
FPanelWarning: TPanel;
FColumnsHint: TStringList;
FUseCaseActions: acObjectList; //TMenuActionUseCase list, atribuido externamente;
fMaxLinhas : Integer;
fInterfaceController: itMain;
fEntityCode: string;
FActionID: string;
FNomeBuscador: string;
function GetNivel: integer;
procedure SetUseCaseActions(const Value: acObjectList);
procedure SetNomeBuscador(const Value: string);
procedure ShowPanelWarning;
procedure FrameResize(Sender: TObject);
protected
FMenuBuscador: TButtonGroup;
procedure ClearListViewObj;
procedure ClearViewPanel;
procedure BuscaObjetos; virtual;
procedure ResizeColumns; virtual;
procedure PreencherMensagemBuscaObjetos(piMessage: mxMessage); virtual;
procedure ChecarResultado(Dataset: TDataset);
property InterfaceFromForm: itMain read fInterfaceController;
function GetParamsDetailsRequest(piSuccessCallBackProcedure: itCallBackProcedure; piFailureCallBackProcedure: itCallBackProcedure = nil): acRequest;
procedure setListViewObj(const Value: TListView); override;
procedure MontaMenuBuscador;
public
{ Public declarations }
constructor Create(aowner:TComponent); overload; override;
constructor Create(aowner:TComponent; piInterfaceController: itMain; piEntityCode: string); reintroduce; overload; override;
destructor Destroy; override;
procedure BuscaObjetosInicializacaoInterface; override;
//Comportamento do ListView FListViewObj
function GetItemAtX(piListView: TListView; var Col: integer): TListItem;
procedure ListViewCustomDrawSubItem(Sender: TCustomListView; Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure ListViewMouseClick(Sender: TObject);
procedure ListViewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure ListViewGetSubItemImage(Sender: TObject; Item: TListItem; SubItem: Integer; var ImageIndex: Integer);
procedure ListViewCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure ForceShowHint;
//////////////////////////////////////
procedure SortMethod(Sender: TObject; Column: Integer; var AMethod: TJvSortMethod); virtual;
procedure GetInitInterface(piMessage: mxMessage); virtual;
procedure Inicializar(piXML: string); overload; virtual;
procedure Inicializar(piField: utField); overload; virtual;
procedure SetParamsDetails(piField: utField); virtual;
procedure Inicializa; virtual;
property UseCaseActions: acObjectList read FUseCaseActions write SetUseCaseActions;
property ViewPanel: TListView read FListViewObj;
property MaxLinhas: Integer read fMaxLinhas write fMaxLinhas;
property EntityCode: string read fEntityCode;
property Nivel: integer read GetNivel;
property ActionID: string read FActionID write FActionID;
property NomeBuscador: string read FNomeBuscador write SetNomeBuscador;
procedure PreencherGrid(piXML:string); overload; virtual;
procedure PreencherGrid(piField:utField); overload; virtual;
procedure SetLabelsInGrid(piNode: IXMLNode); overload; virtual;
procedure SetLabelsInGrid(piField: utField); overload; virtual;
function Version: integer; override;
function NewRequest(piID: cardinal): mxRequestMessage;
end;
implementation
{$R *.dfm}
uses acuObject;
procedure TsiBuscaObjetosBasicaPortal.ClearListViewObj;
var i: integer;
begin
FListViewObj.Items.BeginUpdate;
try
if self.Version = 1 then
begin
for i := 0 to pred(FListViewObj.Items.Count) do
begin
TObject(FListViewObj.Items[i].Data).Free;
end;
end;
FListViewObj.Items.Clear;
finally
FListViewObj.Items.EndUpdate;
end;
end;
procedure TsiBuscaObjetosBasicaPortal.ClearViewPanel;
begin
end;
procedure TsiBuscaObjetosBasicaPortal.Button1Click(Sender: TObject);
begin
if self.Version = 1 then ClearListViewObj;
self.BuscaObjetos;
end;
procedure TsiBuscaObjetosBasicaPortal.ChecarResultado(Dataset: TDataset);
begin
if Dataset.RecordCount >= Maxlinhas then
MessageDlg('Ateno: A consulta retorna mais de 100 registros.'
+ #13 +'Apenas os 100 primeiros registros sero exibidos,'
+ #13 + 'para obter resultados mais especficos mude os filtros da busca.'
,mtWarning, [mbOK], 0);
end;
constructor TsiBuscaObjetosBasicaPortal.Create(aowner: TComponent);
begin
inherited;
FColumnsHint := TStringList.Create;
FUseCaseActions := nil;
FListViewObj := TListView.Create(self);
fListViewObj.ShowHint := true;
fListViewObj.ViewStyle := vsReport;
// FListViewObj.Align := alclient;
fListViewObj.RowSelect := true;
fListViewObj.ReadOnly := true;
FListViewObj.OnCustomDrawSubItem := ListViewCustomDrawSubItem;
FListViewObj.OnClick := ListViewMouseClick;
FListViewObj.OnMouseMove := ListViewMouseMove;
FListViewObj.OnGetSubItemImage := ListViewGetSubItemImage;
FListViewObj.OnCustomDrawItem := ListViewCustomDrawItem;
FListViewObj.HotTrack := True;
FListViewObj.DoubleBuffered := true;
FMenuBuscador := TButtonGroup.Create(self);
FMenuBuscador.ButtonOptions := [gboFullSize, gboShowCaptions];
FMenuBuscador.BorderStyle := bsNone;
FMenuBuscador.Align := alRight;
FMenuBuscador.Width := 100;
FMenuBuscador.Parent := self;
FPanelWarning := TPanel.Create(self);
FPanelWarning.Parent := FListViewObj;
FPanelWarning.BorderStyle := bsNone;
FPanelWarning.BevelOuter := bvNone;
FPanelWarning.BevelInner := bvNone;
FPanelWarning.Width := 300;
FPanelWarning.height := 50;
FPanelWarning.Color := $00996633;
FPanelWarning.Font.Color := clwhite;
FPanelWarning.Font.Size := 10;
FPanelWarning.Caption := 'Nenhum registro encontrado';
FPanelWarning.Hide;
Self.OnResize := FrameResize;
end;
constructor TsiBuscaObjetosBasicaPortal.Create(aowner: TComponent; piInterfaceController: itMain; piEntityCode: string);
begin
inherited;
fMaxlinhas := 100;
self.fInterfaceController := piInterfaceController;
self.fEntityCode := piEntityCode;
FListViewObj.SmallImages := fInterfaceController.IconList;
FMenuBuscador.Images := fInterfaceController.IconList;
end;
destructor TsiBuscaObjetosBasicaPortal.Destroy;
begin
FColumnsHint.Free;
inherited;
end;
procedure TsiBuscaObjetosBasicaPortal.ForceShowHint;
begin
Application.ActivateHint(mouse.cursorpos);
end;
procedure TsiBuscaObjetosBasicaPortal.FrameResize(Sender: TObject);
begin
if (FPanelWarning.Visible) and (assigned(FPanelWarning.Parent)) then
begin
FPanelWarning.Left := (FListViewObj.Width div 2) - (FPanelWarning.Width div 2);
FPanelWarning.Top := (FListViewObj.height div 2) - (FPanelWarning.height div 2);
end;
end;
procedure TsiBuscaObjetosBasicaPortal.SortMethod(Sender: TObject; Column: Integer; var AMethod: TJvSortMethod);
begin
AMethod := smAutomatic;
end;
procedure TsiBuscaObjetosBasicaPortal.BuscaObjetosInicializacaoInterface;
var
lMessage: mxRequestMessage;
begin
lMessage := self.NewRequest(UM_GET_PARAMS_INICIALIZATION);
lMessage.Fields.AddField('ENTITY').AsString := self.EntityCode;
lMessage.Fields.AddField('ACTIONID').AsString := self.ActionID;
self.GetInitInterface(lMessage);
Self.InterfaceFromForm.PostMessage(lMessage);
end;
function TsiBuscaObjetosBasicaPortal.GetParamsDetailsRequest(piSuccessCallBackProcedure: itCallBackProcedure; piFailureCallBackProcedure: itCallBackProcedure = nil): acRequest;
begin
Result := Self.InterfaceFromForm.NewRequest(UM_GET_PARAMS_DETAILS, piSuccessCallBackProcedure, piFailureCallBackProcedure);
Result.Message.Fields.AddField('ENTITY').AsString := self.EntityCode;
Result.Message.Fields.AddField('ACTIONID').AsString := self.ActionID;
end;
procedure TsiBuscaObjetosBasicaPortal.BuscaObjetos;
begin
ClearListViewObj;
end;
procedure TsiBuscaObjetosBasicaPortal.Inicializar(piField: utField);
begin
end;
procedure TsiBuscaObjetosBasicaPortal.ListViewMouseClick(Sender: TObject);
var lCol: integer;
lListItem: TListItem;
lListView: TListView;
lMenuAction: TMenuActionUseCase;
begin
//Obtem qual item e qual coluna o usurio est clicnado
lListView := sender as TListView;
lListItem := GetItemAtX(lListView, lCol);
if assigned(lListItem) then
if lListView.Columns[lCol].Tag <> 0 then
begin
//Obtem os dados do caso de uso que ser executado, previamente guardado na propriedade tag da coluna
lMenuAction := TMenuActionUseCase(Pointer(lListView.Columns[lCol].Tag));
//o Data do listitem possio o IDO do objeto
lMenuAction.ExecuteObject(integer(lListItem.Data));
end;
end;
procedure TsiBuscaObjetosBasicaPortal.ListViewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var lCol: integer;
lListItem: TListItem;
lListView: TListView;
begin
Application.HintPause := 100;
lListView := Sender as TListView;
lListView.Hint := '';
lListItem := GetItemAtX(sender as TListView, lCol);
if assigned(lListItem) then
begin
if lListView.Columns[lCol].Tag <> 0 then
begin
lListView.Hint := FColumnsHint[lCol];
lListView.Cursor := crHandPoint;
ForceShowHint;
end
else
begin
lListView.Cursor := crDefault;
end;
end
else
begin
lListView.Cursor := crDefault;
end;
end;
procedure TsiBuscaObjetosBasicaPortal.MontaMenuBuscador;
var lAction: TAction;
lEnumUseCaseAction: acEnumerator;
lButton: TGrpButtonItem;
begin
if assigned(FUseCaseActions) then
begin
lEnumUseCaseAction := FUseCaseActions.GetEnumerator;;
try
while not lEnumUseCaseAction.EOL do
begin
case TMenuActionUseCase(lEnumUseCaseAction.current).ViewUseCaseType of
mavMenu:
begin
lAction := TAction.Create(nil);
lAction.Caption := TMenuActionUseCase(lEnumUseCaseAction.current).Name;
lButton := TGrpButtonItem.Create(FMenuBuscador.Items);
lButton.Action := lAction;
lButton.ImageIndex := TMenuActionUseCase(lEnumUseCaseAction.current).IconCode;
// lMenuItem := FMenuBuscador.AddMenuItem(nil, lAction);
lAction.OnExecute := TMenuActionUseCase(lEnumUseCaseAction.current).ExecuteWithNullObject;
end;
end;
lEnumUseCaseAction.MoveNext;
end;
finally
lEnumUseCaseAction.Free;
end;
end;
end;
procedure TsiBuscaObjetosBasicaPortal.ListViewCustomDrawSubItem(Sender: TCustomListView; Item: TListItem;
SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean);
var lListView: TListView;
begin
lListView := Sender as TListView;
// lListView.Height := ((Item.DisplayRect(drBounds).Bottom - Item.DisplayRect(drBounds).Top) * lListView.Items.Count) + 40;
if lListView.Columns.Count > 1 then
if lListView.Columns[SubItem].Tag <> 0 then
begin
lListView.Canvas.Font.Color := clBlue;
lListView.Canvas.Font.Style := [fsUnderline];
end;
end;
procedure TsiBuscaObjetosBasicaPortal.ListViewGetSubItemImage(Sender: TObject; Item: TListItem; SubItem: Integer;
var ImageIndex: Integer);
var lListView: TListView;
lMenuAction: TMenuActionUseCase;
begin
lListView := Sender as TListView;
if lListView.Columns[SubItem + 1].Tag <> 0 then
begin
lMenuAction := TMenuActionUseCase(pointer(lListView.Columns[SubItem + 1].Tag));
ImageIndex := lMenuAction.IconCode;
end;
end;
procedure TsiBuscaObjetosBasicaPortal.ListViewCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
inherited;
if Odd(Item.Index) then
begin
// sender.Canvas.Font.Color := clBlack;
sender.Canvas.Brush.Color := $00F0F0F0;
end
else
begin
// sender.Canvas.Font.Color := clBlack;
sender.Canvas.Brush.Color := clWhite;
end;
end;
procedure TsiBuscaObjetosBasicaPortal.Inicializar(piXML: string);
begin
end;
procedure TsiBuscaObjetosBasicaPortal.PreencherGrid(piField: utField);
var
ListItem: TListItem;
lEnum: acEnumerator;
lField: utField;
lAttributeEnum: acEnumerator;
lEnumUseCaseAction: acEnumerator;
lMenuAction: TMenuActionUseCase;
lObjectsField: utField;
lObjectsFound, lObjectsReturned: Integer;
begin
ClearListViewObj;
try
if piField.HasField('Objects') then
begin
lObjectsField := piField.FieldByName('Objects');
if lObjectsField.HasAttribute('Found') and lObjectsField.HasAttribute('Returned') then
begin
lObjectsFound := lObjectsField.AttributeByName('Found').AsInteger;
lObjectsReturned := lObjectsField.AttributeByName('Returned').AsInteger;
if lObjectsReturned < lObjectsFound then
begin
Application.MessageBox(PCHAR(Format('%d itens foram encontrados, entretanto apenas os %d primeiros sero mostrados. Seja mais especfico na busca.',[lObjectsFound, lObjectsReturned])), 'Ateno', MB_ICONEXCLAMATION);
end;
end;
FPanelWarning.Hide;
self.ListViewObj.Items.BeginUpdate;
try
lEnum := lObjectsField.GetFieldsEnumerator;
try
if not lEnum.EOL then
begin
while not lEnum.EOL do
begin
if self.ListViewObj.Columns.Count = 0 then self.SetLabelsInGrid(piField);
lField := utField(lEnum.Current);
ListItem := self.ListViewObj.Items.Add;
ListItem.ImageIndex := -1;
lAttributeEnum := lField.GetAttibutesEnumerator;
try
if not lAttributeEnum.EOL then
begin
if utAttribute(lAttributeEnum.Current).Name <> 'OID' then Raise Exception.Create('IDO do objeto no encontrado.');
ListItem.Data := pointer(strtoint(utAttribute(lAttributeEnum.Current).AsString));
lAttributeEnum.MoveNext;
end;
if not lAttributeEnum.EOL then
begin
ListItem.Caption := utAttribute(lAttributeEnum.Current).AsString;
lAttributeEnum.MoveNext;
end;
while not lAttributeEnum.EOL do
begin
ListItem.SubItems.Add(utAttribute(lAttributeEnum.Current).AsString);
lAttributeEnum.MoveNext;
end;
finally
lAttributeEnum.Free;
end;
if assigned(FUseCaseActions) then
begin
//Colunas utilizadas para disparar caso de uso
lEnumUseCaseAction := FUseCaseActions.GetEnumerator;
try
while not lEnumUseCaseAction.EOL do
begin
lMenuAction := TMenuActionUseCase(lEnumUseCaseAction.current);
if lMenuAction.ViewUseCaseType = mavList then
//ListItem.SubItems.Add(lMenuAction.Name);
ListItem.SubItems.Add('');
lEnumUseCaseAction.MoveNext;
end;
finally
lEnumUseCaseAction.Free;
end;
end;
lEnum.MoveNext;
end;
end
else
ShowPanelWarning;
finally
lEnum.Free;
end;
finally
self.ListViewObj.Items.EndUpdate;
end;
end;
finally
self.ResizeColumns;
Screen.Cursor := crDefault;
end;
end;
procedure TsiBuscaObjetosBasicaPortal.PreencherGrid(piXML: string);
var
lXMLDocumento: TXMLDocument;
lIXMLDocumento: IXMLDocument;
lUserNode: IXMLNode;
li, lj: integer;
ListItem: TListItem;
begin
ClearListViewObj;
lXMLDocumento := TXMLDocument.Create(nil);
lXMLDocumento.DOMVendor := MSXML_DOM;
lIXMLDocumento := lXMLDocumento;
lIXMLDocumento.LoadFromXML(piXML);
lIXMLDocumento.Active := True;
try
if not lIXMLDocumento.IsEmptyDoc then
begin
if lIXMLDocumento.DocumentElement.HasChildNodes then
begin
if self.ListViewObj.Columns.Count = 0 then
begin
if lIXMLDocumento.DocumentElement.ChildNodes.Count > 0 then
begin
self.SetLabelsInGrid(lIXMLDocumento.DocumentElement);
end;
end;
self.ListViewObj.Items.BeginUpdate;
try
for li := 0 to lIXMLDocumento.DocumentElement.ChildNodes.Count - 1 do
begin
if lIXMLDocumento.DocumentElement.ChildNodes[li].NodeName <> 'Labels' then
begin
lUserNode := lIXMLDocumento.DocumentElement.ChildNodes[li];
ListItem := self.ListViewObj.Items.Add as TListItem;
if self.ListViewObj.Columns.Count >= 2 then
begin
ListItem.Caption := lUserNode.AttributeNodes[1].Text;
for lj := 2 to pred(lUserNode.AttributeNodes.Count) do
begin
ListItem.SubItems.Add(lUserNode.AttributeNodes[lj].Text);
end;
end;
if not lUserNode.HasAttribute('OID') then Raise Exception.Create('IDO do objeto no encontrado.');
ListItem.Data := pointer(strtoint(lUserNode.Attributes['OID']));
end;
end;
finally
self.ListViewObj.Items.EndUpdate;
end;
end;
end;
finally
Screen.Cursor := crDefault;
end;
end;
procedure TsiBuscaObjetosBasicaPortal.SetLabelsInGrid(piField: utField);
var lEnum: acEnumerator;
lAttributeEnum, lEnumUseCaseAction: acEnumerator;
lListColumn: TListColumn;
begin
LockWindowUpdate(self.ListViewObj.handle);
self.ListViewObj.Items.BeginUpdate;
try
self.ListViewObj.Columns.Clear;
begin
if piField.HasField('Objects') then
begin
lEnum := piField.FieldByName('Objects').GetFieldsEnumerator;
try
if not lEnum.EOL then
begin
lAttributeEnum := utField(lEnum.Current).GetAttibutesEnumerator;
try
if not lAttributeEnum.EOL then lAttributeEnum.MoveNext; // Ignora attributo OID que e sempre o primeiro
while not lAttributeEnum.EOL do
begin
lListColumn := Self.ListViewObj.Columns.Add;
lListColumn.Caption := utField(lAttributeEnum.Current).Name;
lListColumn.ImageIndex := -1;
FColumnsHint.Add('');
lAttributeEnum.MoveNext;
end;
finally
lAttributeEnum.Free;
end;
end;
finally
lEnum.Free
end;
end;
if assigned(FUseCaseActions) then
begin
lEnumUseCaseAction := FUseCaseActions.GetEnumerator;;
try
while not lEnumUseCaseAction.EOL do
begin
case TMenuActionUseCase(lEnumUseCaseAction.current).ViewUseCaseType of
mavList:
begin
lListColumn := Self.ListViewObj.Columns.Add;
// lListColumn.Caption := TMenuActionUseCase(lEnumUseCaseAction.current).Name;
FColumnsHint.Add(TMenuActionUseCase(lEnumUseCaseAction.current).Hint);
//Utiliza a tag da coluna como ponteiro, guardando qual o caso de uso que ser executado
//ao clicar em um item desta coluna
lListColumn.Tag := integer(TMenuActionUseCase(lEnumUseCaseAction.current));
lListColumn.ImageIndex := -1;
end;
end;
lEnumUseCaseAction.MoveNext;
end;
Self.ListViewObj.Columns.Add;
finally
lEnumUseCaseAction.Free;
end;
end;
end;
finally
self.ListViewObj.Items.EndUpdate;
LockWindowUpdate(0);
end;
end;
procedure TsiBuscaObjetosBasicaPortal.setListViewObj(const Value: TListView);
begin
Self.OnResize := nil;
FPanelWarning.Parent := nil;
if assigned(FListViewObj) then FListViewObj.free;
FListViewObj := Value;
FPanelWarning.DoubleBuffered := true;
FPanelWarning.Parent := FListViewObj;
Self.OnResize := FrameResize;
end;
procedure TsiBuscaObjetosBasicaPortal.SetNomeBuscador(const Value: string);
begin
FNomeBuscador := Value;
end;
procedure TsiBuscaObjetosBasicaPortal.SetParamsDetails(piField: utField);
begin
end;
procedure TsiBuscaObjetosBasicaPortal.SetUseCaseActions(const Value: acObjectList);
begin
FUseCaseActions := Value;
MontaMenuBuscador;
end;
procedure TsiBuscaObjetosBasicaPortal.ShowPanelWarning;
begin
FPanelWarning.Left := (FListViewObj.Width div 2) - (FPanelWarning.Width div 2);
FPanelWarning.Top := (FListViewObj.height div 2) - (FPanelWarning.height div 2);
FPanelWarning.Show;
end;
procedure TsiBuscaObjetosBasicaPortal.SetLabelsInGrid(piNode: IXMLNode);
var
lLabels: IXMLNode;
li: integer;
begin
self.ListViewObj.Columns.Clear;
if assigned(piNode.ChildNodes.FindNode('Labels')) then
begin
lLabels := piNode.ChildNodes.Nodes['Labels'];
for li := 0 to Pred(lLabels.ChildNodes.Count) do
begin
Self.ListViewObj.Columns.Add.Caption := lLabels.ChildNodes.Nodes[li].NodeName;
end;
end
else
begin
lLabels := piNode.ChildNodes[0];
for li := 1 to Pred(lLabels.AttributeNodes.Count) do
begin
Self.ListViewObj.Columns.Add.Caption := lLabels.AttributeNodes[li].NodeName;
end;
end;
Self.ResizeColumns;
end;
procedure TsiBuscaObjetosBasicaPortal.GetInitInterface(piMessage: mxMessage);
begin
end;
function TsiBuscaObjetosBasicaPortal.GetItemAtX(piListView: TListView; var Col: integer): TListItem;
var
pt: TPoint;
hittestinfo: TLVHitTestInfo;
begin
Col := -1;
result := nil;
pt := piListView.ScreenToClient( mouse.cursorpos );
FillChar( hittestinfo, sizeof( hittestinfo ), 0 );
hittestinfo.pt := pt;
If -1 <> piListView.perform( LVM_SUBITEMHITTEST, 0, lparam(@hittestinfo)) Then
begin
col := hittestinfo.iSubItem;
result := piListView.items[hittestinfo.iItem];
end;
if not assigned(result) then
begin
result := piListView.GetItemAt( pt.x, pt.y );
If assigned(result) then Col := 0;
end;end;
procedure TsiBuscaObjetosBasicaPortal.PreencherMensagemBuscaObjetos(piMessage: mxMessage);
begin
if not piMessage.Fields.HasField('ENTITY') then
piMessage.Fields.AddField('ENTITY').AsString := self.EntityCode;
piMessage.Fields.AddField('ACTIONID').AsString := self.ActionID;
end;
procedure TsiBuscaObjetosBasicaPortal.ResizeColumns;
var li: integer;
begin
if self.ListViewObj.Columns.Count > 0 then
begin
Self.ListViewObj.Items.BeginUpdate;
try
for li := pred(self.ListViewObj.Columns.Count) downto 0 do
begin
Self.ListViewObj.Columns.Items[li].Width := -2;
end;
finally
self.ListViewObj.Columns[0].Width := self.ListViewObj.Columns[0].Width + 20;
Self.ListViewObj.Items.EndUpdate;
end;
end;
end;
procedure TsiBuscaObjetosBasicaPortal.Inicializa;
begin
end;
function TsiBuscaObjetosBasicaPortal.Version: integer;
begin
Result := 4;
end;
function TsiBuscaObjetosBasicaPortal.GetNivel: integer;
begin
result := fInterfaceController.Level;
end;
function TsiBuscaObjetosBasicaPortal.NewRequest(piID: cardinal): mxRequestMessage;
begin
result := mxRequestMessage.Create(piID, Self.InterfaceFromForm.UseCaseAddress, Self.InterfaceFromForm.Address);
end;
end.
object siBuscaObjetosBasicaV3: TsiBuscaObjetosBasicaV3 inherited siBuscaObjetosBasicaV3: TsiBuscaObjetosBasicaV3
Left = 0
Top = 0
Width = 572 Width = 572
Height = 69 Height = 69
TabOrder = 0
TabStop = True TabStop = True
ExplicitWidth = 572
ExplicitHeight = 69
object Button1: TButton object Button1: TButton
Left = 5 Left = 5
Top = 8 Top = 8
......
unit siuBuscaObjetosBasicaV3;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls,
StdCtrls, DB, JvListView, jvtypes, ituMain, utuMessage,
XMLIntf,
msxmldom, ituUIController,
XMLDoc, siuBuscaObjetos;
type
TsiBuscaObjetosBasicaV3 = class(TsiBuscaObjetos)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
fMaxLinhas : Integer;
fInterfaceController: itMain;
fEntityCode: string;
function GetNivel: integer;
protected
procedure ClearListViewObj;
procedure ClearViewPanel; //Manter compatibilidade com o legado.
procedure setListViewObj(const Value: TListView); override;
procedure BuscaObjetos; virtual;
procedure ResizeColumns; virtual;
procedure PreencherMensagemBuscaObjetos(piMessage: mxMessage); virtual;
procedure ChecarResultado(Dataset: TDataset);
property InterfaceFromForm: itMain read fInterfaceController;
function GetParamsDetailsRequest(piSuccessCallBackProcedure: itCallBackProcedure; piFailureCallBackProcedure: itCallBackProcedure = nil): acRequest;
public
{ Public declarations }
constructor Create(aowner:TComponent); overload; override;
constructor Create(aowner:TComponent; piInterfaceController: itMain; piEntityCode: string); reintroduce; overload; override;
procedure BuscaObjetosInicializacaoInterface; override;
procedure SortMethod(Sender: TObject; Column: Integer; var AMethod: TJvSortMethod); virtual;
procedure GetInitInterface(piMessage: mxMessage); virtual;
procedure Inicializar(piXML: string); overload; virtual;
procedure Inicializar(piField: utField); overload; virtual;
procedure SetParamsDetails(piField: utField); virtual;
procedure Inicializa; virtual;
property MaxLinhas: Integer read fMaxLinhas write fMaxLinhas;
property EntityCode: string read fEntityCode;
property Nivel: integer read GetNivel;
property ViewPanel: TListView read FListViewObj write setListViewObj;
procedure PreencherGrid(piXML:string); overload; virtual;
procedure PreencherGrid(piField:utField); overload; virtual;
procedure SetLabelsInGrid(piNode: IXMLNode); overload; virtual;
procedure SetLabelsInGrid(piField: utField); overload; virtual;
function Version: integer; override;
function NewRequest(piID: cardinal): mxRequestMessage;
end;
implementation
{$R *.dfm}
uses acuObject;
procedure TsiBuscaObjetosBasicaV3.ClearListViewObj;
var i: integer;
begin
if self.Version = 1 then
begin
for i := 0 to pred(FListViewObj.Items.Count) do
begin
TObject(FListViewObj.Items.Item[i].Data).Free;
end;
end;
FListViewObj.Items.Clear;
end;
procedure TsiBuscaObjetosBasicaV3.ClearViewPanel;
begin
ClearListViewObj;
end;
procedure TsiBuscaObjetosBasicaV3.Button1Click(Sender: TObject);
begin
if self.Version = 1 then ClearListViewObj;
self.BuscaObjetos;
self.ResizeColumns;
end;
procedure TsiBuscaObjetosBasicaV3.ChecarResultado(Dataset: TDataset);
begin
if Dataset.RecordCount >= Maxlinhas then
MessageDlg('Ateno: A consulta retorna mais de 100 registros.'
+ #13 +'Apenas os 100 primeiros registros sero exibidos,'
+ #13 + 'para obter resultados mais especficos mude os filtros da busca.'
,mtWarning, [mbOK], 0);
end;
constructor TsiBuscaObjetosBasicaV3.Create(aowner: TComponent);
begin
inherited;
end;
constructor TsiBuscaObjetosBasicaV3.Create(aowner: TComponent; piInterfaceController: itMain; piEntityCode: string);
begin
Self.Create(aowner);
fMaxlinhas := 100;
self.fInterfaceController := piInterfaceController;
self.fEntityCode := piEntityCode;
if self.Version = 3 then self.BuscaObjetosInicializacaoInterface;
end;
procedure TsiBuscaObjetosBasicaV3.SortMethod(Sender: TObject; Column: Integer; var AMethod: TJvSortMethod);
begin
AMethod := smAutomatic;
end;
procedure TsiBuscaObjetosBasicaV3.BuscaObjetosInicializacaoInterface;
var
lMessage: mxRequestMessage;
begin
lMessage := self.NewRequest(UM_GET_PARAMS_INICIALIZATION);
lMessage.Fields.AddField('ENTITY').AsString := self.EntityCode;
self.GetInitInterface(lMessage);
Self.InterfaceFromForm.PostMessage(lMessage);
end;
function TsiBuscaObjetosBasicaV3.GetParamsDetailsRequest(piSuccessCallBackProcedure: itCallBackProcedure; piFailureCallBackProcedure: itCallBackProcedure = nil): acRequest;
begin
Result := Self.InterfaceFromForm.NewRequest(UM_GET_PARAMS_DETAILS, piSuccessCallBackProcedure, piFailureCallBackProcedure);
Result.Message.Fields.AddField('ENTITY').AsString := self.EntityCode;
end;
procedure TsiBuscaObjetosBasicaV3.BuscaObjetos;
begin
end;
procedure TsiBuscaObjetosBasicaV3.Inicializar(piField: utField);
begin
end;
procedure TsiBuscaObjetosBasicaV3.Inicializar(piXML: string);
begin
end;
procedure TsiBuscaObjetosBasicaV3.PreencherGrid(piField: utField);
var
ListItem: TJvListItem;
lEnum: acEnumerator;
lField: utField;
lAttributeEnum: acEnumerator;
begin
ClearListViewObj;
try
if piField.HasField('Objects') then
begin
if self.ListViewObj.Columns.Count = 0 then self.SetLabelsInGrid(piField);
self.ListViewObj.Items.BeginUpdate;
try
lEnum := piField.FieldByName('Objects').GetFieldsEnumerator;
try
while not lEnum.EOL do
begin
lField := utField(lEnum.Current);
ListItem := self.ListViewObj.Items.Add as TJvListItem;
lAttributeEnum := lField.GetAttibutesEnumerator;
try
if not lAttributeEnum.EOL then
begin
if utAttribute(lAttributeEnum.Current).Name <> 'OID' then Raise Exception.Create('IDO do objeto no encontrado.');
ListItem.Data := pointer(strtoint(utAttribute(lAttributeEnum.Current).AsString));
lAttributeEnum.MoveNext;
end;
if not lAttributeEnum.EOL then
begin
ListItem.Caption := utAttribute(lAttributeEnum.Current).AsString;
lAttributeEnum.MoveNext;
end;
while not lAttributeEnum.EOL do
begin
ListItem.SubItems.Add(utAttribute(lAttributeEnum.Current).AsString);
lAttributeEnum.MoveNext;
end;
finally
lAttributeEnum.Free;
end;
lEnum.MoveNext;
end;
finally
lEnum.Free;
end;
finally
self.ListViewObj.Items.EndUpdate;
end;
end;
finally
Screen.Cursor := crDefault;
end;
end;
procedure TsiBuscaObjetosBasicaV3.PreencherGrid(piXML: string);
var
lXMLDocumento: TXMLDocument;
lIXMLDocumento: IXMLDocument;
lUserNode: IXMLNode;
li, lj: integer;
ListItem: TJvListItem;
begin
ClearListViewObj;
lXMLDocumento := TXMLDocument.Create(nil);
lXMLDocumento.DOMVendor := MSXML_DOM;
lIXMLDocumento := lXMLDocumento;
lIXMLDocumento.LoadFromXML(piXML);
lIXMLDocumento.Active := True;
try
if not lIXMLDocumento.IsEmptyDoc then
begin
if lIXMLDocumento.DocumentElement.HasChildNodes then
begin
if self.ListViewObj.Columns.Count = 0 then
begin
if lIXMLDocumento.DocumentElement.ChildNodes.Count > 0 then
begin
self.SetLabelsInGrid(lIXMLDocumento.DocumentElement);
end;
end;
self.ListViewObj.Items.BeginUpdate;
try
for li := 0 to lIXMLDocumento.DocumentElement.ChildNodes.Count - 1 do
begin
if lIXMLDocumento.DocumentElement.ChildNodes[li].NodeName <> 'Labels' then
begin
lUserNode := lIXMLDocumento.DocumentElement.ChildNodes[li];
ListItem := self.ListViewObj.Items.Add as TJvListItem;
if self.ListViewObj.Columns.Count >= 2 then
begin
ListItem.Caption := lUserNode.AttributeNodes[1].Text;
for lj := 2 to pred(lUserNode.AttributeNodes.Count) do
begin
ListItem.SubItems.Add(lUserNode.AttributeNodes[lj].Text);
end;
end;
if not lUserNode.HasAttribute('OID') then Raise Exception.Create('IDO do objeto no encontrado.');
ListItem.Data := pointer(strtoint(lUserNode.Attributes['OID']));
end;
end;
finally
self.ListViewObj.Items.EndUpdate;
end;
end;
end;
finally
Screen.Cursor := crDefault;
end;
end;
procedure TsiBuscaObjetosBasicaV3.SetLabelsInGrid(piField: utField);
var lEnum: acEnumerator;
lAttributeEnum: acEnumerator;
begin
self.ListViewObj.Columns.Clear;
begin
if piField.HasField('Objects') then
begin
lEnum := piField.FieldByName('Objects').GetFieldsEnumerator;
try
if not lEnum.EOL then
begin
lAttributeEnum := utField(lEnum.Current).GetAttibutesEnumerator;
try
if not lAttributeEnum.EOL then lAttributeEnum.MoveNext; // Ignora attributo OID que e sempre o primeiro
while not lAttributeEnum.EOL do
begin
Self.ListViewObj.Columns.Add.Caption := utField(lAttributeEnum.Current).Name;
lAttributeEnum.MoveNext;
end;
finally
lAttributeEnum.Free;
end;
end;
finally
lEnum.Free
end;
end;
end;
Self.ResizeColumns;
end;
procedure TsiBuscaObjetosBasicaV3.SetParamsDetails(piField: utField);
begin
end;
procedure TsiBuscaObjetosBasicaV3.SetLabelsInGrid(piNode: IXMLNode);
var
lLabels: IXMLNode;
li: integer;
begin
self.ListViewObj.Columns.Clear;
if assigned(piNode.ChildNodes.FindNode('Labels')) then
begin
lLabels := piNode.ChildNodes.Nodes['Labels'];
for li := 0 to Pred(lLabels.ChildNodes.Count) do
begin
Self.ListViewObj.Columns.Add.Caption := lLabels.ChildNodes.Nodes[li].NodeName;
end;
end
else
begin
lLabels := piNode.ChildNodes[0];
for li := 1 to Pred(lLabels.AttributeNodes.Count) do
begin
Self.ListViewObj.Columns.Add.Caption := lLabels.AttributeNodes[li].NodeName;
end;
end;
Self.ResizeColumns;
end;
procedure TsiBuscaObjetosBasicaV3.GetInitInterface(piMessage: mxMessage);
begin
end;
procedure TsiBuscaObjetosBasicaV3.PreencherMensagemBuscaObjetos(piMessage: mxMessage);
begin
end;
procedure TsiBuscaObjetosBasicaV3.ResizeColumns;
var li: integer;
begin
Self.ListViewObj.Items.BeginUpdate;
try
for li := pred(self.ListViewObj.Columns.Count) downto 0 do
begin
Self.ListViewObj.Columns.Items[li].Width := -2;
end;
finally
Self.ListViewObj.Items.EndUpdate;
end;
end;
procedure TsiBuscaObjetosBasicaV3.Inicializa;
begin
end;
procedure TsiBuscaObjetosBasicaV3.SetListViewObj(const Value: TListView);
begin
self.FListViewObj := Value;
self.Inicializa;
self.ResizeColumns;
end;
function TsiBuscaObjetosBasicaV3.Version: integer;
begin
Result := 3;
end;
function TsiBuscaObjetosBasicaV3.GetNivel: integer;
begin
result := fInterfaceController.Level;
end;
function TsiBuscaObjetosBasicaV3.NewRequest(piID: cardinal): mxRequestMessage;
begin
result := mxRequestMessage.Create(piID, Self.InterfaceFromForm.UseCaseAddress, Self.InterfaceFromForm.Address);
end;
end.
inherited siBuscaObjetosPerfil: TsiBuscaObjetosPerfil
Width = 651
Height = 56
ExplicitWidth = 651
ExplicitHeight = 56
object Label1: TLabel [0]
Left = 11
Top = 20
Width = 31
Height = 13
Caption = 'Name:'
end
object edtName: TEdit
Left = 64
Top = 17
Width = 385
Height = 21
TabOrder = 1
end
end
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
File added
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
File added
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
...@@ -30,6 +30,8 @@ xcopy /y %TEMP%\utuLink.dcu . ...@@ -30,6 +30,8 @@ xcopy /y %TEMP%\utuLink.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\utuLinkSock.dcu . xcopy /y %TEMP%\utuLinkSock.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\utuLinkHttp.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\utuMessage.dcu . xcopy /y %TEMP%\utuMessage.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\utuRequest.dcu . xcopy /y %TEMP%\utuRequest.dcu .
...@@ -224,8 +226,14 @@ xcopy /y %TEMP%\synaip.dcu . ...@@ -224,8 +226,14 @@ xcopy /y %TEMP%\synaip.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ldapsend.dcu . xcopy /y %TEMP%\ldapsend.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\httpsend.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\asn1util.dcu . xcopy /y %TEMP%\asn1util.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ssl_openssl.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ssl_openssl_lib.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\cxuSession.dcu . xcopy /y %TEMP%\cxuSession.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuSecuritySession.dcu . xcopy /y %TEMP%\acuSecuritySession.dcu .
...@@ -248,6 +256,12 @@ xcopy /y %TEMP%\acuSQLDialectSQLServer.dcu . ...@@ -248,6 +256,12 @@ xcopy /y %TEMP%\acuSQLDialectSQLServer.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuSQLDialectOracle.dcu . xcopy /y %TEMP%\acuSQLDialectOracle.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\KAZip.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuVersionInfo.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuRandomNumber.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\nguProfile.dcu . xcopy /y %TEMP%\nguProfile.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
...@@ -259,14 +273,40 @@ IF ERRORLEVEL 1 GOTO ENDERROR ...@@ -259,14 +273,40 @@ IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuBanestesLDAPSecurityDriver.dcu . xcopy /y %TEMP%\acuBanestesLDAPSecurityDriver.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuMd5.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuCorretorBansegSecurityDriver.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\nguUsuarioInternet.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\nguUsuarioInternetMaster.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\nguUsuarioInternetSubMaster.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\nguEventoUsuarioInternet.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\nguTipoEventoUsuarioInternet.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\nguTipoUsuarioInternet.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\nguFuncaoInternet.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\ucuCadastroPerfil.dcu . xcopy /y %TEMP%\ucuCadastroPerfil.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\sucuBuscaObjetosPerfil.dcu . xcopy /y %TEMP%\sucuBuscaObjetosPerfil.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuRandomNumber.dcu . xcopy /y %TEMP%\ucuPortal.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\acuVersionInfo.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR
xcopy /y %TEMP%\cxuUseCase.dcu .
IF ERRORLEVEL 1 GOTO ENDERROR IF ERRORLEVEL 1 GOTO ENDERROR
GOTO ENDOK GOTO ENDOK
:ENDERROR :ENDERROR
......
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment