Commit 1484da027fd29076177de03c98925c664512fc6a

Authored by anderson.peterle@previdencia.gov.br
1 parent 4736288a
Exists in master

Atualizacao de repositorio para criacao de pacote de instalacao para versao 2.6.0

git-svn-id: http://svn.softwarepublico.gov.br/svn/cacic/cacic/trunk/agente-windows@890 fecfc0c7-e812-0410-ae72-849f08638ee7
CACIC_Library.pas
@@ -54,7 +54,9 @@ uses @@ -54,7 +54,9 @@ uses
54 MD5, 54 MD5,
55 DCPcrypt2, 55 DCPcrypt2,
56 DCPrijndael, 56 DCPrijndael,
57 - DCPbase64; 57 + DCPbase64,
  58 + ActiveX,
  59 + ComObj;
58 type 60 type
59 61
60 { ------------------------------------------------------------------------------ 62 { ------------------------------------------------------------------------------
@@ -104,6 +106,7 @@ type @@ -104,6 +106,7 @@ type
104 function isWindowsAdmin() : boolean; 106 function isWindowsAdmin() : boolean;
105 function createSampleProcess(p_cmd: string; p_wait: boolean; p_showWindow : word = SW_HIDE): boolean; 107 function createSampleProcess(p_cmd: string; p_wait: boolean; p_showWindow : word = SW_HIDE): boolean;
106 procedure showTrayIcon(p_visible:boolean); 108 procedure showTrayIcon(p_visible:boolean);
  109 + procedure addApplicationToFirewall(p_EntryName:string;p_ApplicationPathAndExe:string; p_Enabled : boolean);
107 end; 110 end;
108 111
109 {*------------------------------------------------------------------------------ 112 {*------------------------------------------------------------------------------
@@ -248,6 +251,39 @@ begin @@ -248,6 +251,39 @@ begin
248 end; 251 end;
249 252
250 {*------------------------------------------------------------------------------ 253 {*------------------------------------------------------------------------------
  254 + Insere exceção na FireWall nativa do MS-Windows
  255 +
  256 + @param p_EntryName String Nome da exceção
  257 + @param p_ApplicationPathAndExe String Caminho e nome da aplicação
  258 + @param p_Enabled Boolean Estado da exceção
  259 +-------------------------------------------------------------------------------}
  260 +procedure TCACIC_Windows.addApplicationToFirewall(p_EntryName:string;p_ApplicationPathAndExe:string; p_Enabled : boolean);
  261 +var fwMgr,app:OleVariant;
  262 + profile:OleVariant;
  263 +Const NET_FW_PROFILE_DOMAIN = 0;
  264 + NET_FW_PROFILE_STANDARD = 1;
  265 + NET_FW_IP_VERSION_ANY = 2;
  266 + NET_FW_IP_PROTOCOL_UDP = 17;
  267 + NET_FW_IP_PROTOCOL_TCP = 6;
  268 + NET_FW_SCOPE_ALL = 0;
  269 + NET_FW_SCOPE_LOCAL_SUBNET = 1;
  270 +begin
  271 + CoInitialize(nil);
  272 +
  273 + fwMgr := CreateOLEObject('HNetCfg.FwMgr');
  274 + profile := fwMgr.LocalPolicy.CurrentProfile;
  275 + app := CreateOLEObject('HNetCfg.FwAuthorizedApplication');
  276 + app.ProcessImageFileName := p_ApplicationPathAndExe;
  277 + app.Name := p_EntryName;
  278 + app.Scope := NET_FW_SCOPE_ALL;
  279 + app.IpVersion := NET_FW_IP_VERSION_ANY;
  280 + app.Enabled := p_Enabled;
  281 + profile.AuthorizedApplications.Add(app);
  282 +
  283 + CoUninitialize;
  284 +end;
  285 +
  286 +{*------------------------------------------------------------------------------
251 Retorna array de elementos com base em separador 287 Retorna array de elementos com base em separador
252 288
253 @param p_String String contendo campos e valores separados por caracter ou string 289 @param p_String String contendo campos e valores separados por caracter ou string
@@ -890,3 +926,4 @@ begin @@ -890,3 +926,4 @@ begin
890 end; 926 end;
891 927
892 end. 928 end.
  929 +
cacic2.res
No preview for this file type
cacicservice/CACICsvc.res
No preview for this file type
cacicservice/CACICsvcMain.pas
@@ -26,12 +26,25 @@ uses @@ -26,12 +26,25 @@ uses
26 SvcMgr, 26 SvcMgr,
27 strUtils, 27 strUtils,
28 ExtCtrls, 28 ExtCtrls,
29 - CACIC_Library; 29 + CACIC_Library,
  30 + Psapi,
  31 + tlhelp32,
  32 + JwaWinNT, { As units com prefixo Jwa constam do Pacote Jedi_API22a }
  33 + JwaWinBase, { que pode ser obtido em http://sourceforge.net/projects/jedi-apilib/files/JEDI%20Windows%20API/JEDI%20API%202.2a%20and%20WSCL%200.9.2a/jedi_api22a_jwscl092a.zip/download }
  34 + JwaWtsApi32,
  35 + JwaWinSvc,
  36 + JwaWinType,
  37 + JwaNtStatus;
30 38
31 var 39 var
32 boolStarted : boolean; 40 boolStarted : boolean;
33 g_oCacic : TCACIC; 41 g_oCacic : TCACIC;
34 42
  43 +//
  44 +const
  45 + SE_DEBUG_NAME = 'SeDebugPrivilege';
  46 +//
  47 +
35 type 48 type
36 TCACICservice = class(TService) 49 TCACICservice = class(TService)
37 Timer_CHKsis: TTimer; 50 Timer_CHKsis: TTimer;
@@ -47,6 +60,7 @@ type @@ -47,6 +60,7 @@ type
47 procedure logDEBUG(Msg : String); 60 procedure logDEBUG(Msg : String);
48 Procedure WMEndSession(var Msg : TWMEndSession) ; message WM_ENDSESSION; 61 Procedure WMEndSession(var Msg : TWMEndSession) ; message WM_ENDSESSION;
49 procedure ExecutaCACIC; 62 procedure ExecutaCACIC;
  63 + function startapp : integer;
50 public 64 public
51 { Public declarations } 65 { Public declarations }
52 66
@@ -56,9 +70,154 @@ type @@ -56,9 +70,154 @@ type
56 var 70 var
57 CACICservice: TCACICservice; 71 CACICservice: TCACICservice;
58 72
  73 +function CreateEnvironmentBlock(var lpEnvironment: Pointer;
  74 + hToken: THandle;
  75 + bInherit: BOOL): BOOL; stdcall; external 'userenv';
  76 +function DestroyEnvironmentBlock(pEnvironment: Pointer): BOOL; stdcall; external 'userenv';
  77 +
59 implementation 78 implementation
60 79
61 {$R *.DFM} 80 {$R *.DFM}
  81 +
  82 +// Solução adaptada a partir do exemplo contido em http://www.codeproject.com/KB/vista-security/VistaSessions.aspx?msg=2750630
  83 +// para execução a partir de token do WinLogon, possibilitando a exibição do ícone da aplicação na bandeja do systray em
  84 +// plataforma MS-VISTA.
  85 +function TCACICservice.startapp : integer;
  86 +var
  87 + pi : PROCESS_INFORMATION;
  88 + si : STARTUPINFO;
  89 + bresult : boolean;
  90 + dwSessionId,winlogonPid : DWORD;
  91 + hUserToken,hUserTokenDup,hPToken,hProcess,hsnap : THANDLE;
  92 + dwCreationFlags : DWORD;
  93 + procEntry : TPROCESSENTRY32;
  94 + winlogonSessId : DWORD;
  95 + tp : TOKEN_PRIVILEGES;
  96 + // luid : TLargeInteger;
  97 + abcd, abc, dup : integer;
  98 + lpenv : pointer;
  99 + iResultOfCreateProcessAsUser : integer;
  100 +
  101 +begin
  102 + Result := 0;
  103 + bresult := false;
  104 +
  105 + //TOKEN_ADJUST_SESSIONID := 256;
  106 +
  107 + // Log the client on to the local computer.
  108 +
  109 +
  110 + dwSessionId := WTSGetActiveConsoleSessionId();
  111 + hSnap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  112 + if (hSnap = INVALID_HANDLE_VALUE) then
  113 + begin
  114 + result := 1;
  115 + exit;
  116 + end;
  117 +
  118 + procEntry.dwSize := sizeof(TPROCESSENTRY32);
  119 +
  120 + if (not Process32First(hSnap, procEntry)) then
  121 + begin
  122 + result := 1;
  123 + exit;
  124 + end;
  125 +
  126 + repeat
  127 + if (comparetext(procEntry.szExeFile, 'winlogon.exe') = 0) then
  128 + begin
  129 + // We found a winlogon process...
  130 +
  131 + // make sure it's running in the console session
  132 +
  133 + winlogonSessId := 0;
  134 + if (ProcessIdToSessionId(procEntry.th32ProcessID, winlogonSessId) and (winlogonSessId = dwSessionId)) then
  135 + begin
  136 + winlogonPid := procEntry.th32ProcessID;
  137 + break;
  138 + end;
  139 + end;
  140 +
  141 + until (not Process32Next(hSnap, procEntry));
  142 +
  143 + ////////////////////////////////////////////////////////////////////////
  144 +
  145 + WTSQueryUserToken(dwSessionId, hUserToken);
  146 + dwCreationFlags := NORMAL_PRIORITY_CLASS or CREATE_NEW_CONSOLE;
  147 + ZeroMemory(@si, sizeof(STARTUPINFO));
  148 + si.cb := sizeof(STARTUPINFO);
  149 + si.lpDesktop := 'winsta0\default';
  150 + ZeroMemory(@pi, sizeof(pi));
  151 + hProcess := OpenProcess(MAXIMUM_ALLOWED,FALSE,winlogonPid);
  152 +
  153 + if(not OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY
  154 + or TOKEN_DUPLICATE or TOKEN_ASSIGN_PRIMARY or TOKEN_ADJUST_SESSIONID
  155 + or TOKEN_READ or TOKEN_WRITE, hPToken)) then
  156 + begin
  157 + abcd := GetLastError();
  158 + logDEBUG('Process token open Error: ' + inttostr(GetLastError()));
  159 + end;
  160 +
  161 + if (not LookupPrivilegeValue(nil,SE_DEBUG_NAME,tp.Privileges[0].Luid)) then
  162 + begin
  163 + logDEBUG('Lookup Privilege value Error: ' + inttostr(GetLastError()));
  164 + end;
  165 +
  166 + tp.PrivilegeCount := 1;
  167 + tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
  168 +
  169 + DuplicateTokenEx(hPToken,MAXIMUM_ALLOWED,Nil,SecurityIdentification,TokenPrimary,hUserTokenDup);
  170 + dup := GetLastError();
  171 +
  172 + // Adjust Token privilege
  173 +
  174 + SetTokenInformation(hUserTokenDup,TokenSessionId,pointer(dwSessionId),sizeof(DWORD));
  175 +
  176 + if (not AdjustTokenPrivileges(hUserTokenDup,FALSE,@tp,sizeof(TOKEN_PRIVILEGES),nil,nil)) then
  177 + begin
  178 + abc := GetLastError();
  179 + logDEBUG('Adjust Privilege value Error: ' + inttostr(GetLastError()));
  180 + end;
  181 +
  182 + if (GetLastError() = ERROR_NOT_ALL_ASSIGNED) then
  183 + begin
  184 + logDEBUG('Token does not have the provilege');
  185 + end;
  186 +
  187 + lpEnv := nil;
  188 +
  189 + if(CreateEnvironmentBlock(lpEnv,hUserTokenDup,TRUE)) then
  190 + begin
  191 + dwCreationFlags := dwCreationFlags or CREATE_UNICODE_ENVIRONMENT;
  192 + end
  193 + else
  194 + lpEnv := nil;
  195 +
  196 + // Launch the process in the client's logon session.
  197 + bResult := CreateProcessAsUser( hUserTokenDup, // client's access token
  198 + PAnsiChar(g_oCacic.getCacicPath + 'cacic2.exe'), // file to execute
  199 + nil, // command line
  200 + nil, // pointer to process SECURITY_ATTRIBUTES
  201 + nil, // pointer to thread SECURITY_ATTRIBUTES
  202 + FALSE, // handles are not inheritable
  203 + dwCreationFlags, // creation flags
  204 + lpEnv, // pointer to new environment block
  205 + PAnsiChar(g_oCacic.getCacicPath), // name of current directory
  206 + si, // pointer to STARTUPINFO structure
  207 + pi // receives information about new process
  208 + );
  209 +
  210 + // End impersonation of client.
  211 + //GetLastError Shud be 0
  212 + iResultOfCreateProcessAsUser := GetLastError();
  213 +
  214 + //Perform All the Close Handles tasks
  215 + CloseHandle(hProcess);
  216 + CloseHandle(hUserToken);
  217 + CloseHandle(hUserTokenDup);
  218 + CloseHandle(hPToken);
  219 +end;
  220 +//
62 procedure TCACICservice.WMEndSession(var Msg : TWMEndSession) ; 221 procedure TCACICservice.WMEndSession(var Msg : TWMEndSession) ;
63 begin 222 begin
64 if Msg.EndSession = TRUE then 223 if Msg.EndSession = TRUE then
@@ -166,7 +325,7 @@ end; @@ -166,7 +325,7 @@ end;
166 procedure TCACICservice.ExecutaCACIC; 325 procedure TCACICservice.ExecutaCACIC;
167 Begin 326 Begin
168 CACICservice.logDEBUG('TCACICservice.ExecutaCACIC : deleteFile => '+g_oCacic.getCacicPath + 'aguarde_CACIC.txt'); 327 CACICservice.logDEBUG('TCACICservice.ExecutaCACIC : deleteFile => '+g_oCacic.getCacicPath + 'aguarde_CACIC.txt');
169 - DeleteFile(g_oCacic.getCacicPath + 'aguarde_CACIC.txt'); 328 + DeleteFile(PAnsiChar(g_oCacic.getCacicPath + 'aguarde_CACIC.txt'));
170 Sleep(3000); 329 Sleep(3000);
171 330
172 // Se o arquivo indicador de execução não existir... 331 // Se o arquivo indicador de execução não existir...
@@ -174,7 +333,7 @@ Begin @@ -174,7 +333,7 @@ Begin
174 Begin 333 Begin
175 // Executo o CHKsis, verificando a estrutura do sistema 334 // Executo o CHKsis, verificando a estrutura do sistema
176 Try 335 Try
177 - CACICservice.logDEBUG('TCACICservice.ExecutaCACIC : winExec => '+g_oCacic.getWinDir + 'chksis.exe'); 336 + CACICservice.logDEBUG('TCACICservice.ExecutaCACIC : createSampleProcess => '+g_oCacic.getWinDir + 'chksis.exe');
178 g_oCacic.createSampleProcess(g_oCacic.getWinDir + 'chksis.exe',false,SW_HIDE); 337 g_oCacic.createSampleProcess(g_oCacic.getWinDir + 'chksis.exe',false,SW_HIDE);
179 Except 338 Except
180 End; 339 End;
@@ -184,8 +343,17 @@ Begin @@ -184,8 +343,17 @@ Begin
184 343
185 // Executo o Agente Principal do CACIC 344 // Executo o Agente Principal do CACIC
186 Try 345 Try
187 - CACICservice.logDEBUG('TCACICservice.ExecutaCACIC : winExec => '+g_oCacic.getCacicPath + 'cacic2.exe');  
188 - g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'cacic2.exe',false,SW_NORMAL); 346 + // Execução diferenciada para >= VISTA devido ao impedimento de escrita na Notification Area imposta a processos/serviços.
  347 + if (g_oCacic.isWindowsGEVista) then
  348 + Begin
  349 + CACICservice.logDEBUG('TCACICservice.ExecutaCACIC invocando CACICservice.startapp para execução de "'+g_oCacic.getCacicPath + 'cacic2.exe'+'"');
  350 + CACICservice.startapp;
  351 + End
  352 + else
  353 + Begin
  354 + CACICservice.logDEBUG('TCACICservice.ExecutaCACIC : createSampleProcess => '+g_oCacic.getCacicPath + 'cacic2.exe');
  355 + g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'cacic2.exe',false,SW_NORMAL);
  356 + End;
189 Except 357 Except
190 End; 358 End;
191 End; 359 End;
chkcacic/FormConfig.dfm
@@ -18,7 +18,7 @@ object Configs: TConfigs @@ -18,7 +18,7 @@ object Configs: TConfigs
18 TextHeight = 13 18 TextHeight = 13
19 object gbOpcional: TGroupBox 19 object gbOpcional: TGroupBox
20 Left = 5 20 Left = 5
21 - Top = 83 21 + Top = 91
22 Width = 480 22 Width = 480
23 Height = 219 23 Height = 219
24 Caption = 'Opcional' 24 Caption = 'Opcional'
@@ -100,7 +100,7 @@ object Configs: TConfigs @@ -100,7 +100,7 @@ object Configs: TConfigs
100 Left = 5 100 Left = 5
101 Top = 8 101 Top = 8
102 Width = 480 102 Width = 480
103 - Height = 64 103 + Height = 76
104 Caption = 'Obrigat'#243'rio' 104 Caption = 'Obrigat'#243'rio'
105 Font.Charset = DEFAULT_CHARSET 105 Font.Charset = DEFAULT_CHARSET
106 Font.Color = clWindowText 106 Font.Color = clWindowText
@@ -123,7 +123,7 @@ object Configs: TConfigs @@ -123,7 +123,7 @@ object Configs: TConfigs
123 ParentFont = False 123 ParentFont = False
124 end 124 end
125 object Label_cacic_dir: TLabel 125 object Label_cacic_dir: TLabel
126 - Left = 271 126 + Left = 260
127 Top = 19 127 Top = 19
128 Width = 103 128 Width = 103
129 Height = 13 129 Height = 13
@@ -135,19 +135,45 @@ object Configs: TConfigs @@ -135,19 +135,45 @@ object Configs: TConfigs
135 Font.Style = [] 135 Font.Style = []
136 ParentFont = False 136 ParentFont = False
137 end 137 end
  138 + object Label1: TLabel
  139 + Left = 8
  140 + Top = 57
  141 + Width = 195
  142 + Height = 12
  143 + Caption = 'Informe apenas o endere'#231'o IP ou nome (DNS)'
  144 + Font.Charset = DEFAULT_CHARSET
  145 + Font.Color = clBlue
  146 + Font.Height = -9
  147 + Font.Name = 'Arial'
  148 + Font.Style = []
  149 + ParentFont = False
  150 + end
  151 + object Label2: TLabel
  152 + Left = 259
  153 + Top = 57
  154 + Width = 212
  155 + Height = 12
  156 + Caption = 'Pasta a ser criada na unidade padr'#227'o (HomeDrive)'
  157 + Font.Charset = DEFAULT_CHARSET
  158 + Font.Color = clBlue
  159 + Font.Height = -9
  160 + Font.Name = 'Arial'
  161 + Font.Style = []
  162 + ParentFont = False
  163 + end
138 end 164 end
139 object Edit_ip_serv_cacic: TEdit 165 object Edit_ip_serv_cacic: TEdit
140 Left = 13 166 Left = 13
141 Top = 42 167 Top = 42
142 - Width = 200 168 + Width = 195
143 Height = 21 169 Height = 21
144 MaxLength = 100 170 MaxLength = 100
145 TabOrder = 0 171 TabOrder = 0
146 end 172 end
147 object Edit_cacic_dir: TEdit 173 object Edit_cacic_dir: TEdit
148 - Left = 276 174 + Left = 265
149 Top = 42 175 Top = 42
150 - Width = 200 176 + Width = 211
151 Height = 21 177 Height = 21
152 MaxLength = 100 178 MaxLength = 100
153 TabOrder = 1 179 TabOrder = 1
chkcacic/FormConfig.pas
@@ -53,6 +53,8 @@ type @@ -53,6 +53,8 @@ type
53 btSair: TButton; 53 btSair: TButton;
54 pnVersao: TPanel; 54 pnVersao: TPanel;
55 lbVersao: TLabel; 55 lbVersao: TLabel;
  56 + Label1: TLabel;
  57 + Label2: TLabel;
56 procedure Button_GravarClick(Sender: TObject); 58 procedure Button_GravarClick(Sender: TObject);
57 procedure ckboxExibeInformacoesClick(Sender: TObject); 59 procedure ckboxExibeInformacoesClick(Sender: TObject);
58 procedure btSairClick(Sender: TObject); 60 procedure btSairClick(Sender: TObject);
chkcacic/chkcacic.res
No preview for this file type
chkcacic/main.pas
@@ -655,35 +655,6 @@ begin @@ -655,35 +655,6 @@ begin
655 FormConfig.Configs.ShowModal; 655 FormConfig.Configs.ShowModal;
656 end; 656 end;
657 657
658 -Function Explode(Texto, Separador : String) : TStrings;  
659 -var  
660 - strItem : String;  
661 - ListaAuxUTILS : TStrings;  
662 - NumCaracteres,  
663 - TamanhoSeparador,  
664 - I : Integer;  
665 -Begin  
666 - ListaAuxUTILS := TStringList.Create;  
667 - strItem := '';  
668 - NumCaracteres := Length(Texto);  
669 - TamanhoSeparador := Length(Separador);  
670 - I := 1;  
671 - While I <= NumCaracteres Do  
672 - Begin  
673 - If ((Copy(Texto,I,TamanhoSeparador) = Separador) and (Texto[I-1]<>'?')) or (I = NumCaracteres) Then  
674 - Begin  
675 - if (I = NumCaracteres) then strItem := strItem + Texto[I];  
676 - ListaAuxUTILS.Add(trim(strItem));  
677 - strItem := '';  
678 - I := I + (TamanhoSeparador-1);  
679 - end  
680 - Else  
681 - if (Texto[I]<>'?') then strItem := strItem + Texto[I];  
682 - I := I + 1;  
683 - End;  
684 - Explode := ListaAuxUTILS;  
685 -end;  
686 -  
687 Function FTP(p_Host : String; p_Port : String; p_Username : String; p_Password : String; p_PathServer : String; p_File : String; p_Dest : String) : Boolean; 658 Function FTP(p_Host : String; p_Port : String; p_Username : String; p_Password : String; p_PathServer : String; p_File : String; p_Dest : String) : Boolean;
688 var IdFTP : TIdFTP; 659 var IdFTP : TIdFTP;
689 begin 660 begin
@@ -743,6 +714,42 @@ begin @@ -743,6 +714,42 @@ begin
743 End; 714 End;
744 end; 715 end;
745 716
  717 +// Função para fixar o HomeDrive como letra para a pasta do CACIC
  718 +function TrataCacicDir(strCacicDir : String) : String;
  719 +var tstrCacicDir1,
  720 + tstrCacicDir2 : TStrings;
  721 + intAUX : integer;
  722 +Begin
  723 + Result := strCacicDir;
  724 + // Crio um array separado por ":" (Para o caso de ter sido informada a letra da unidade)
  725 + tstrCacicDir1 := TStrings.Create;
  726 + tstrCacicDir1 := g_oCacic.explode(strCacicDir,':');
  727 +
  728 + if (tstrCacicDir1.Count > 1) then
  729 + Begin
  730 + tstrCacicDir2 := TStrings.Create;
  731 + // Ignoro a letra informada...
  732 + // Certifico-me de que as barras são invertidas... (erros acontecem)
  733 + // Crio um array quebrado por "\"
  734 + Result := StringReplace(tstrCacicDir1[1],'/','\',[rfReplaceAll]);
  735 + tstrCacicDir2 := g_oCacic.explode(Result,'\');
  736 +
  737 + // Inicializo retorno com a unidade raiz do Sistema Operacional
  738 + // Concateno ao retorno as partes que formarão o caminho completo do CACIC
  739 + Result := g_oCacic.getHomeDrive;
  740 + for intAux := 0 to (tstrCacicDir2.Count-1) do
  741 + if (tstrCacicDir2[intAux] <> '') then
  742 + Result := Result + tstrCacicDir2[intAux] + '\';
  743 + tstrCacicDir2.Free;
  744 + End
  745 + else
  746 + Result := g_oCacic.getHomeDrive + strCacicDir + '\';
  747 +
  748 + tstrCacicDir1.Free;
  749 +
  750 + Result := StringReplace(Result,'\\','\',[rfReplaceAll]);
  751 +End;
  752 +
746 procedure GravaConfiguracoes; 753 procedure GravaConfiguracoes;
747 var chkcacic_ini : TextFile; 754 var chkcacic_ini : TextFile;
748 begin 755 begin
@@ -790,6 +797,7 @@ begin @@ -790,6 +797,7 @@ begin
790 Writeln(chkcacic_ini,'# ser colocados todos os arquivos executáveis para uso do CACIC, pois, quando da necessidade de download'); 797 Writeln(chkcacic_ini,'# ser colocados todos os arquivos executáveis para uso do CACIC, pois, quando da necessidade de download');
791 Writeln(chkcacic_ini,'# de módulo, o arquivo será apenas copiado e não será necessário o FTP:'); 798 Writeln(chkcacic_ini,'# de módulo, o arquivo será apenas copiado e não será necessário o FTP:');
792 Writeln(chkcacic_ini,'# cacic2.exe ............=> Agente Principal'); 799 Writeln(chkcacic_ini,'# cacic2.exe ............=> Agente Principal');
  800 + Writeln(chkcacic_ini,'# cacicsvc.exe ..........=> Serviço para Sustentação do Agente Principal');
793 Writeln(chkcacic_ini,'# ger_cols.exe ..........=> Gerente de Coletas'); 801 Writeln(chkcacic_ini,'# ger_cols.exe ..........=> Gerente de Coletas');
794 Writeln(chkcacic_ini,'# srcacicsrv.exe ........=> Suporte Remoto Seguro'); 802 Writeln(chkcacic_ini,'# srcacicsrv.exe ........=> Suporte Remoto Seguro');
795 Writeln(chkcacic_ini,'# chksis.exe ............=> Check System Routine (chkcacic residente)'); 803 Writeln(chkcacic_ini,'# chksis.exe ............=> Check System Routine (chkcacic residente)');
@@ -812,6 +820,7 @@ begin @@ -812,6 +820,7 @@ begin
812 Writeln(chkcacic_ini,'# d:\chkcacic.ini'); 820 Writeln(chkcacic_ini,'# d:\chkcacic.ini');
813 Writeln(chkcacic_ini,'# \modulos'); 821 Writeln(chkcacic_ini,'# \modulos');
814 Writeln(chkcacic_ini,'# cacic2.exe'); 822 Writeln(chkcacic_ini,'# cacic2.exe');
  823 + Writeln(chkcacic_ini,'# cacicsvc.exe');
815 Writeln(chkcacic_ini,'# chksis.exe'); 824 Writeln(chkcacic_ini,'# chksis.exe');
816 Writeln(chkcacic_ini,'# col_anvi.exe'); 825 Writeln(chkcacic_ini,'# col_anvi.exe');
817 Writeln(chkcacic_ini,'# col_comp.exe'); 826 Writeln(chkcacic_ini,'# col_comp.exe');
@@ -841,7 +850,7 @@ begin @@ -841,7 +850,7 @@ begin
841 850
842 // Escrita dos parâmetros obrigatórios 851 // Escrita dos parâmetros obrigatórios
843 Writeln(chkcacic_ini,'ip_serv_cacic='+v_ip_serv_cacic); 852 Writeln(chkcacic_ini,'ip_serv_cacic='+v_ip_serv_cacic);
844 - Writeln(chkcacic_ini,'cacic_dir='+g_oCacic.getHomeDrive + Configs.Edit_cacic_dir.text+'\'); 853 + Writeln(chkcacic_ini,'cacic_dir='+TrataCacicDir(Configs.Edit_cacic_dir.text));
845 Writeln(chkcacic_ini,'exibe_informacoes='+v_exibe_informacoes); 854 Writeln(chkcacic_ini,'exibe_informacoes='+v_exibe_informacoes);
846 855
847 // Escrita dos valores opcionais quando existirem 856 // Escrita dos valores opcionais quando existirem
@@ -849,7 +858,7 @@ begin @@ -849,7 +858,7 @@ begin
849 Writeln(chkcacic_ini,'te_instala_informacoes_extras='+ StringReplace(v_te_instala_informacoes_extras,#13#10,'*13*10',[rfReplaceAll])); 858 Writeln(chkcacic_ini,'te_instala_informacoes_extras='+ StringReplace(v_te_instala_informacoes_extras,#13#10,'*13*10',[rfReplaceAll]));
850 CloseFile(chkcacic_ini); {Fecha o arquivo texto} 859 CloseFile(chkcacic_ini); {Fecha o arquivo texto}
851 860
852 - g_oCacic.setCacicPath(g_oCacic.getHomeDrive + Configs.Edit_cacic_dir.text+'\'); 861 + g_oCacic.setCacicPath(TrataCacicDir(Configs.Edit_cacic_dir.text));
853 except 862 except
854 end; 863 end;
855 end; 864 end;
@@ -889,55 +898,14 @@ begin @@ -889,55 +898,14 @@ begin
889 Result := FileList; 898 Result := FileList;
890 end; 899 end;
891 end; 900 end;
892 -procedure LiberaFireWall(p_objeto:string);  
893 -begin  
894 - LogDebug('Rotina para Liberação de FireWall...');  
895 - Try  
896 - if (g_oCacic.isWindowsGEVista()) then // Se >= WinVISTA...  
897 - Begin  
898 - if (trim(GetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\'+StringReplace(p_objeto+'.exe','\','?\',[rfReplaceAll])))='') then  
899 - Begin  
900 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\'+StringReplace(p_objeto+'.exe','\','?\',[rfReplaceAll]),p_objeto+'.exe:*:Enabled:'+p_objeto);  
901 - End  
902 - else  
903 - LogDebug('Exceção para "'+p_objeto+'" já existente.');  
904 -  
905 - if (trim(GetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\'+StringReplace(p_objeto+'.exe','\','?\',[rfReplaceAll])))='') then  
906 - Begin  
907 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\'+StringReplace(p_objeto+'.exe','\','?\',[rfReplaceAll]),p_objeto+'.exe:*:Enabled:'+p_objeto);  
908 - End  
909 - else  
910 - LogDebug('Exceção para "'+p_objeto+'" já existente.');  
911 -  
912 - End  
913 - else  
914 - Begin  
915 - if (trim(GetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\'+StringReplace(p_objeto+'.exe','\','?\',[rfReplaceAll])))='') then  
916 - Begin  
917 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\'+StringReplace(p_objeto+'.exe','\','?\',[rfReplaceAll]),p_objeto+'.exe:*:Enabled:'+p_objeto);  
918 - End  
919 - else  
920 - LogDebug('Exceção para "'+p_objeto+'" já existente.');  
921 -  
922 - if (trim(GetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\'+StringReplace(p_objeto+'.exe','\','?\',[rfReplaceAll])))='') then  
923 - Begin  
924 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\'+StringReplace(p_objeto+'.exe','\','?\',[rfReplaceAll]),p_objeto+'.exe:*:Enabled:'+p_objeto);  
925 - End  
926 - else  
927 - LogDebug('Exceção para "'+p_objeto+'" já existente.');  
928 901
929 - End  
930 - Except  
931 - LogDebug('Problema adicionando "'+p_objeto+'" à lista de exceções do FireWall!');  
932 - End;  
933 -end;  
934 902
935 Function ChecaVersoesAgentes(p_strNomeAgente : String) : integer; // 2.2.0.16 903 Function ChecaVersoesAgentes(p_strNomeAgente : String) : integer; // 2.2.0.16
936 var strNomeAgente : String; 904 var strNomeAgente : String;
937 v_array_NomeAgente : TStrings; 905 v_array_NomeAgente : TStrings;
938 intAux : integer; 906 intAux : integer;
939 Begin 907 Begin
940 - v_array_NomeAgente := explode(p_strNomeAgente,'); 908 + v_array_NomeAgente := g_oCacic.explode(p_strNomeAgente,');
941 909
942 v_versao_REM := XML_RetornaValor(StringReplace(StrUpper(PChar(v_array_NomeAgente[v_array_NomeAgente.count-1])),'.EXE','',[rfReplaceAll]), v_retorno); 910 v_versao_REM := XML_RetornaValor(StringReplace(StrUpper(PChar(v_array_NomeAgente[v_array_NomeAgente.count-1])),'.EXE','',[rfReplaceAll]), v_retorno);
943 v_versao_LOC := GetVersionInfo(p_strNomeAgente); 911 v_versao_LOC := GetVersionInfo(p_strNomeAgente);
@@ -1188,6 +1156,9 @@ begin @@ -1188,6 +1156,9 @@ begin
1188 v_te_instala_informacoes_extras := StringReplace(GetValorChaveRegIni('Cacic2', 'te_instala_informacoes_extras', ExtractFilePath(Application.Exename) + '\chkcacic.ini'),'*13*10',#13#10,[rfReplaceAll]); 1156 v_te_instala_informacoes_extras := StringReplace(GetValorChaveRegIni('Cacic2', 'te_instala_informacoes_extras', ExtractFilePath(Application.Exename) + '\chkcacic.ini'),'*13*10',#13#10,[rfReplaceAll]);
1189 End; 1157 End;
1190 1158
  1159 + // Tratamento do diretório informado para o CACIC, para que seja na unidade HomeDrive
  1160 + v_cacic_dir := TrataCacicDir(v_cacic_dir);
  1161 +
1191 g_oCacic.setCacicPath(v_cacic_dir); 1162 g_oCacic.setCacicPath(v_cacic_dir);
1192 1163
1193 if DirectoryExists(g_oCacic.getCacicPath + 'Temp\Debugs') then 1164 if DirectoryExists(g_oCacic.getCacicPath + 'Temp\Debugs') then
@@ -1265,35 +1236,35 @@ begin @@ -1265,35 +1236,35 @@ begin
1265 Try 1236 Try
1266 Begin 1237 Begin
1267 // Liberando as conexões de Saída para o FTP 1238 // Liberando as conexões de Saída para o FTP
1268 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\FTP-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getHomeDrive+'system32\\ftp.exe|Name=Programa de transferência de arquivos|Desc=Programa de transferência de arquivos|Edge=FALSE|');  
1269 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\FTP-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getHomeDrive+'system32\\ftp.exe|Name=Programa de transferência de arquivos|Desc=Programa de transferência de arquivos|Edge=FALSE|');  
1270 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\FTP-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getHomeDrive+'system32\\ftp.exe|Name=Programa de transferência de arquivos|Desc=Programa de transferência de arquivos|Edge=FALSE|');  
1271 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\FTP-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getHomeDrive+'system32\\ftp.exe|Name=Programa de transferência de arquivos|Desc=Programa de transferência de arquivos|Edge=FALSE|'); 1239 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\FTP-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getHomeDrive+'system32\\ftp.exe|Name=FTP|Desc=Programa de transferência de arquivos|Edge=FALSE|');
  1240 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\FTP-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getHomeDrive+'system32\\ftp.exe|Name=FTP|Desc=Programa de transferência de arquivos|Edge=FALSE|');
  1241 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\FTP-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getHomeDrive+'system32\\ftp.exe|Name=FTP|Desc=Programa de transferência de arquivos|Edge=FALSE|');
  1242 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\FTP-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getHomeDrive+'system32\\ftp.exe|Name=FTP|Desc=Programa de transferência de arquivos|Edge=FALSE|');
1272 1243
1273 // Liberando as conexões de Saída para o Ger_Cols 1244 // Liberando as conexões de Saída para o Ger_Cols
1274 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-GERCOLS-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\ger_cols.exe|Name=Módulo Gerente de Coletas do Sistema CACIC|Desc=Módulo Gerente de Coletas do Sistema CACIC|Edge=FALSE|');  
1275 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-GERCOLS-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\ger_cols.exe|Name=Módulo Gerente de Coletas do Sistema CACIC|Desc=Módulo Gerente de Coletas do Sistema CACIC|Edge=FALSE|');  
1276 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-GERCOLS-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\ger_cols.exe|Name=Módulo Gerente de Coletas do Sistema CACIC|Desc=Módulo Gerente de Coletas do Sistema CACIC|Edge=FALSE|');  
1277 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-GERCOLS-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\ger_cols.exe|Name=Módulo Gerente de Coletas do Sistema CACIC|Desc=Módulo Gerente de Coletas do Sistema CACIC|Edge=FALSE|'); 1245 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-GERCOLS-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\ger_cols.exe|Name=GerCOLS|Desc=Módulo Gerente de Coletas do Sistema CACIC|Edge=FALSE|');
  1246 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-GERCOLS-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\ger_cols.exe|Name=GerCOLS|Desc=Módulo Gerente de Coletas do Sistema CACIC|Edge=FALSE|');
  1247 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-GERCOLS-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\ger_cols.exe|Name=GerCOLS|Desc=Módulo Gerente de Coletas do Sistema CACIC|Edge=FALSE|');
  1248 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-GERCOLS-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\ger_cols.exe|Name=GerCOLS|Desc=Módulo Gerente de Coletas do Sistema CACIC|Edge=FALSE|');
1278 1249
1279 // Liberando as conexões de Saída para o SrCACICsrv 1250 // Liberando as conexões de Saída para o SrCACICsrv
1280 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-SRCACICSRV-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\srcacicsrv.exe|Name=Módulo Suporte Remoto Seguro do Sistema CACIC|Desc=Módulo Suporte Remoto Seguro do Sistema CACIC|Edge=FALSE|');  
1281 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-SRCACICSRV-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\srcacicsrv.exe|Name=Módulo Suporte Remoto Seguro do Sistema CACIC|Desc=Módulo Suporte Remoto Seguro do Sistema CACIC|Edge=FALSE|');  
1282 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-SRCACICSRV-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\srcacicsrv.exe|Name=Módulo Suporte Remoto Seguro do Sistema CACIC|Desc=Módulo Suporte Remoto Seguro do Sistema CACIC|Edge=FALSE|');  
1283 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-SRCACICSRV-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\srcacicsrv.exe|Name=Módulo Suporte Remoto Seguro do Sistema CACIC|Desc=Módulo Suporte Remoto Seguro do Sistema CACIC|Edge=FALSE|'); 1251 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-SRCACICSRV-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\srcacicsrv.exe|Name=srCACICsrv|Desc=Módulo Suporte Remoto Seguro do Sistema CACIC|Edge=FALSE|');
  1252 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-SRCACICSRV-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\srcacicsrv.exe|Name=srCACICsrv|Desc=Módulo Suporte Remoto Seguro do Sistema CACIC|Edge=FALSE|');
  1253 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-SRCACICSRV-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\srcacicsrv.exe|Name=srCACICsrv|Desc=Módulo Suporte Remoto Seguro do Sistema CACIC|Edge=FALSE|');
  1254 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-SRCACICSRV-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getCacicPath+'modulos\\srcacicsrv.exe|Name=srCACICsrv|Desc=Módulo Suporte Remoto Seguro do Sistema CACIC|Edge=FALSE|');
1284 1255
1285 // Liberando as conexões de Saída para o ChkCacic 1256 // Liberando as conexões de Saída para o ChkCacic
1286 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKCACIC-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+ExtractFilePath(Application.Exename) + '\chkcacic.exe|Name=chkcacic.exe|Desc=chkcacic.exe|Edge=FALSE|');  
1287 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKCACIC-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+ExtractFilePath(Application.Exename) + '\chkcacic.exe|Name=chkcacic.exe|Desc=chkcacic.exe|Edge=FALSE|');  
1288 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKCACIC-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+ExtractFilePath(Application.Exename) + '\chkcacic.exe|Name=chkcacic.exe|Desc=chkcacic.exe|Edge=FALSE|');  
1289 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKCACIC-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+ExtractFilePath(Application.Exename) + '\chkcacic.exe|Name=chkcacic.exe|Desc=chkcacic.exe|Edge=FALSE|'); 1257 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKCACIC-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+ExtractFilePath(Application.Exename) + '\chkcacic.exe|Name=chkCACIC|Desc=Módulo Verificador de Integridade e Instalador do Sistema CACIC|Edge=FALSE|');
  1258 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKCACIC-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+ExtractFilePath(Application.Exename) + '\chkcacic.exe|Name=chkCACIC|Desc=Módulo Verificador de Integridade e Instalador do Sistema CACIC|Edge=FALSE|');
  1259 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKCACIC-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+ExtractFilePath(Application.Exename) + '\chkcacic.exe|Name=chkCACIC|Desc=Módulo Verificador de Integridade e Instalador do Sistema CACIC|Edge=FALSE|');
  1260 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKCACIC-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+ExtractFilePath(Application.Exename) + '\chkcacic.exe|Name=chkCACIC|Desc=Módulo Verificador de Integridade e Instalador do Sistema CACIC|Edge=FALSE|');
1290 1261
1291 - // Liberando as conexões de Saída para o ChkSis  
1292 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKSIS-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getWinDir + 'chksis.exe|Name=Módulo Verificador de Integridade do Sistema CACIC|Desc=Módulo Verificador de Integridade do Sistema CACIC|Edge=FALSE|');  
1293 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKSIS-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getWinDir + 'chksis.exe|Name=Módulo Verificador de Integridade do Sistema CACIC|Desc=Módulo Verificador de Integridade do Sistema CACIC|Edge=FALSE|');  
1294 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKSIS-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getWinDir + 'chksis.exe|Name=Módulo Verificador de Integridade do Sistema CACIC|Desc=Módulo Verificador de Integridade do Sistema CACIC|Edge=FALSE|');  
1295 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKSIS-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getWinDir + 'chksis.exe|Name=Módulo Verificador de Integridade do Sistema CACIC|Desc=Módulo Verificador de Integridade do Sistema CACIC|Edge=FALSE|');  
1296 1262
  1263 + // Liberando as conexões de Saída para o ChkSis
  1264 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKSIS-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getWinDir + 'chksis.exe|Name=chkSIS|Desc=Módulo Verificador de Integridade do Sistema CACIC|Edge=FALSE|');
  1265 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKSIS-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getWinDir + 'chksis.exe|Name=chkSIS|Desc=Módulo Verificador de Integridade do Sistema CACIC|Edge=FALSE|');
  1266 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKSIS-Out-TCP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|Profile=Private|App='+g_oCacic.getWinDir + 'chksis.exe|Name=chkSIS|Desc=Módulo Verificador de Integridade do Sistema CACIC|Edge=FALSE|');
  1267 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\CACIC-CHKSIS-Out-UDP','v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=17|Profile=Private|App='+g_oCacic.getWinDir + 'chksis.exe|Name=chkSIS|Desc=Módulo Verificador de Integridade do Sistema CACIC|Edge=FALSE|');
1297 End 1268 End
1298 Except 1269 Except
1299 LogDebug('Problema Liberando Policies de FireWall!'); 1270 LogDebug('Problema Liberando Policies de FireWall!');
@@ -1304,8 +1275,8 @@ begin @@ -1304,8 +1275,8 @@ begin
1304 // Acrescento o ChkCacic e srCACICsrv às exceções do FireWall nativo... 1275 // Acrescento o ChkCacic e srCACICsrv às exceções do FireWall nativo...
1305 {chkcacic} 1276 {chkcacic}
1306 LogDebug('Inserindo "'+ExtractFilePath(Application.Exename) + 'chkcacic" nas exceções do FireWall!'); 1277 LogDebug('Inserindo "'+ExtractFilePath(Application.Exename) + 'chkcacic" nas exceções do FireWall!');
1307 - LiberaFireWall(ExtractFilePath(Application.Exename) + 'chkcacic');  
1308 - LiberaFireWall(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe'); 1278 + g_oCacic.addApplicationToFirewall('chkCACIC - Instalador do Sistema CACIC',ExtractFilePath(Application.Exename) + Application.Exename,true);
  1279 + g_oCacic.addApplicationToFirewall('srCACICsrv - Módulo de Suporte Remoto Seguro do Sistema CACIC',g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe',true);
1309 End; 1280 End;
1310 Except 1281 Except
1311 End; 1282 End;
@@ -1569,22 +1540,22 @@ begin @@ -1569,22 +1540,22 @@ begin
1569 XML_RetornaValor('TE_HASH_GER_COLS', v_retorno), 1540 XML_RetornaValor('TE_HASH_GER_COLS', v_retorno),
1570 g_oCacic.getCacicPath + 'modulos'); 1541 g_oCacic.getCacicPath + 'modulos');
1571 1542
1572 - // Caso exista a pasta "modulos", copio todos os executáveis para a pasta Cacic\modulos, exceto cacic2.exe, ger_cols.exe e chksis.exe  
1573 - if (v_modulos <> '') then  
1574 - Begin  
1575 - v_array_modulos := explode(v_modulos,'#');  
1576 - For intAux := 0 To v_array_modulos.count -1 Do  
1577 - Begin  
1578 - if (v_array_modulos[intAux]<>'cacic2.exe') and  
1579 - (v_array_modulos[intAux]<>'ger_cols.exe') and  
1580 - (v_array_modulos[intAux]<>'chksis.exe') then  
1581 - Begin  
1582 - LogDiario('Copiando '+v_array_modulos[intAux]+' de '+ExtractFilePath(Application.Exename)+'modulos\');  
1583 - CopyFile(PChar(ExtractFilePath(Application.Exename) + 'modulos\'+v_array_modulos[intAux]), PChar(g_oCacic.getCacicPath + 'modulos\'+v_array_modulos[intAux]),false);  
1584 - FileSetAttr (PChar(g_oCacic.getCacicPath + 'modulos\'+v_array_modulos[intAux]),0); // Retira os atributos do arquivo para evitar o erro FILE ACCESS DENIED em máquinas 2000  
1585 - End;  
1586 - End;  
1587 - End; 1543 + // Caso exista a pasta "modulos", copio todos os executáveis para a pasta Cacic\modulos, exceto cacic2.exe, ger_cols.exe e chksis.exe
  1544 + if (v_modulos <> '') then
  1545 + Begin
  1546 + v_array_modulos := g_oCacic.explode(v_modulos,'#');
  1547 + For intAux := 0 To v_array_modulos.count -1 Do
  1548 + Begin
  1549 + if (v_array_modulos[intAux]<>'cacic2.exe') and
  1550 + (v_array_modulos[intAux]<>'ger_cols.exe') and
  1551 + (v_array_modulos[intAux]<>'chksis.exe') then
  1552 + Begin
  1553 + LogDiario('Copiando '+v_array_modulos[intAux]+' de '+ExtractFilePath(Application.Exename)+'modulos\');
  1554 + CopyFile(PChar(ExtractFilePath(Application.Exename) + 'modulos\'+v_array_modulos[intAux]), PChar(g_oCacic.getCacicPath + 'modulos\'+v_array_modulos[intAux]),false);
  1555 + FileSetAttr (PChar(g_oCacic.getCacicPath + 'modulos\'+v_array_modulos[intAux]),0); // Retira os atributos do arquivo para evitar o erro FILE ACCESS DENIED em máquinas 2000
  1556 + End;
  1557 + End;
  1558 + End;
1588 1559
1589 // ATENÇÃO: 1560 // ATENÇÃO:
1590 // Após testes no Vista, percebí que o firewall nativo interrompia o FTP e truncava o agente com tamanho zero... 1561 // Após testes no Vista, percebí que o firewall nativo interrompia o FTP e truncava o agente com tamanho zero...
@@ -1611,15 +1582,18 @@ begin @@ -1611,15 +1582,18 @@ begin
1611 1582
1612 {chksis} 1583 {chksis}
1613 LogDebug('Inserindo "'+g_oCacic.getWinDir + 'chksis" nas exceções do FireWall!'); 1584 LogDebug('Inserindo "'+g_oCacic.getWinDir + 'chksis" nas exceções do FireWall!');
1614 - LiberaFireWall(g_oCacic.getWinDir + 'chksis'); 1585 + //LiberaFireWall(g_oCacic.getWinDir + 'chksis');
  1586 + g_oCacic.addApplicationToFirewall('chkSIS - Módulo Verificador de Integridade do Sistema CACIC',g_oCacic.getWinDir + 'chksis.exe',true);
1615 1587
1616 {ger_cols} 1588 {ger_cols}
1617 LogDebug('Inserindo "'+g_oCacic.getCacicPath + 'modulos\ger_cols" nas exceções do FireWall!'); 1589 LogDebug('Inserindo "'+g_oCacic.getCacicPath + 'modulos\ger_cols" nas exceções do FireWall!');
1618 - LiberaFireWall(g_oCacic.getCacicPath + 'modulos\ger_cols'); 1590 +// LiberaFireWall(g_oCacic.getCacicPath + 'modulos\ger_cols');
  1591 + g_oCacic.addApplicationToFirewall('gerCOLS - Módulo Gerente de Coletas do Sistema CACIC',g_oCacic.getCacicPath+'modulos\ger_cols.exe',true);
1619 1592
1620 {srcacicsrv} 1593 {srcacicsrv}
1621 LogDebug('Inserindo "'+g_oCacic.getCacicPath + 'modulos\srcacicsrv" nas exceções do FireWall!'); 1594 LogDebug('Inserindo "'+g_oCacic.getCacicPath + 'modulos\srcacicsrv" nas exceções do FireWall!');
1622 - LiberaFireWall(g_oCacic.getCacicPath + 'modulos\srcacicsrv'); 1595 + //LiberaFireWall(g_oCacic.getCacicPath + 'modulos\srcacicsrv');
  1596 + g_oCacic.addApplicationToFirewall('srCACICsrv - Módulo Servidor de Suporte Remoto Seguro do Sistema CACIC',g_oCacic.getCacicPath+'modulos\srcacicsrv.exe',true);
1623 1597
1624 Except 1598 Except
1625 End; 1599 End;
@@ -1732,6 +1706,10 @@ begin @@ -1732,6 +1706,10 @@ begin
1732 else 1706 else
1733 LogDiario('Não instalei o CACICservice. Já está rodando...'); 1707 LogDiario('Não instalei o CACICservice. Já está rodando...');
1734 End; 1708 End;
  1709 +
  1710 + if Posso_Rodar_CACIC and not bool_CommandLine then
  1711 + MessageDLG(#13#10+'ATENÇÃO! É recomendável a reinicialização do sistema para início de ações do CACIC.',mtError,[mbOK],0);
  1712 +
1735 End 1713 End
1736 else 1714 else
1737 LogDebug('Chave de Auto-Execução já existente ou Execução já iniciada...'); 1715 LogDebug('Chave de Auto-Execução já existente ou Execução já iniciada...');
chksis/chksis.dpr
@@ -103,6 +103,42 @@ begin @@ -103,6 +103,42 @@ begin
103 Result := VerFmt(PJVersionInfo1.FixedFileInfo.dwFileVersionMS, PJVersionInfo1.FixedFileInfo.dwFileVersionLS); 103 Result := VerFmt(PJVersionInfo1.FixedFileInfo.dwFileVersionMS, PJVersionInfo1.FixedFileInfo.dwFileVersionLS);
104 end; 104 end;
105 105
  106 +// Função para fixar o HomeDrive como letra para a pasta do CACIC
  107 +function TrataCacicDir(strCacicDir : String) : String;
  108 +var tstrCacicDir1,
  109 + tstrCacicDir2 : TStrings;
  110 + intAUX : integer;
  111 +Begin
  112 + Result := strCacicDir;
  113 + // Crio um array separado por ":" (Para o caso de ter sido informada a letra da unidade)
  114 + tstrCacicDir1 := TStrings.Create;
  115 + tstrCacicDir1 := g_oCacic.explode(strCacicDir,':');
  116 +
  117 + if (tstrCacicDir1.Count > 1) then
  118 + Begin
  119 + tstrCacicDir2 := TStrings.Create;
  120 + // Ignoro a letra informada...
  121 + // Certifico-me de que as barras são invertidas... (erros acontecem)
  122 + // Crio um array quebrado por "\"
  123 + Result := StringReplace(tstrCacicDir1[1],'/','\',[rfReplaceAll]);
  124 + tstrCacicDir2 := g_oCacic.explode(Result,'\');
  125 +
  126 + // Inicializo retorno com a unidade raiz do Sistema Operacional
  127 + // Concateno ao retorno as partes que formarão o caminho completo do CACIC
  128 + Result := g_oCacic.getHomeDrive;
  129 + for intAux := 0 to (tstrCacicDir2.Count-1) do
  130 + if (tstrCacicDir2[intAux] <> '') then
  131 + Result := Result + tstrCacicDir2[intAux] + '\';
  132 + tstrCacicDir2.Free;
  133 + End
  134 + else
  135 + Result := g_oCacic.getHomeDrive + strCacicDir + '\';
  136 +
  137 + tstrCacicDir1.Free;
  138 +
  139 + Result := StringReplace(Result,'\\','\',[rfReplaceAll]);
  140 +End;
  141 +
106 procedure log_DEBUG(p_msg:string); 142 procedure log_DEBUG(p_msg:string);
107 Begin 143 Begin
108 if v_Debugs then log_diario('(v.'+getVersionInfo(ParamStr(0))+') DEBUG - '+p_msg); 144 if v_Debugs then log_diario('(v.'+getVersionInfo(ParamStr(0))+') DEBUG - '+p_msg);
@@ -640,7 +676,7 @@ begin @@ -640,7 +676,7 @@ begin
640 v_cacic_dir := GetValorChaveRegIni('Cacic2', 'cacic_dir' , ExtractFilePath(ParamStr(0)) + 'chksis.ini'); 676 v_cacic_dir := GetValorChaveRegIni('Cacic2', 'cacic_dir' , ExtractFilePath(ParamStr(0)) + 'chksis.ini');
641 v_rem_cacic_v0x := GetValorChaveRegIni('Cacic2', 'rem_cacic_v0x', ExtractFilePath(ParamStr(0)) + 'chksis.ini'); 677 v_rem_cacic_v0x := GetValorChaveRegIni('Cacic2', 'rem_cacic_v0x', ExtractFilePath(ParamStr(0)) + 'chksis.ini');
642 678
643 - g_oCacic.setCacicPath(v_cacic_dir); 679 + g_oCacic.setCacicPath(TrataCacicDir(v_cacic_dir));
644 680
645 v_Debugs := false; 681 v_Debugs := false;
646 if DirectoryExists(g_oCacic.getCacicPath + 'Temp\Debugs') then 682 if DirectoryExists(g_oCacic.getCacicPath + 'Temp\Debugs') then
@@ -652,36 +688,43 @@ begin @@ -652,36 +688,43 @@ begin
652 End; 688 End;
653 End; 689 End;
654 690
  691 + log_DEBUG('setCacicPath "'+g_oCacic.getCacicPath+'"');
  692 +
  693 + log_DEBUG('Verificando recepção do parâmetro rem_cacic_v0x...');
655 // Caso o parâmetro rem_cacic_v0x seja "S/s" removo a chave/valor de execução do Cacic antigo 694 // Caso o parâmetro rem_cacic_v0x seja "S/s" removo a chave/valor de execução do Cacic antigo
656 if (LowerCase(v_rem_cacic_v0x)='s') then 695 if (LowerCase(v_rem_cacic_v0x)='s') then
657 begin 696 begin
658 - //log_diario('Excluindo chave de execução do CACIC',ExtractFilePath(ParamStr(0))); 697 + log_DEBUG('Excluindo chave de execução do CACIC');
659 DelValorReg('HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\cacic'); 698 DelValorReg('HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\cacic');
660 end; 699 end;
661 700
  701 + log_DEBUG('Verificando existência da pasta "'+g_oCacic.getCacicPath+'"');
662 // Verifico a existência do diretório configurado para o Cacic, normalmente CACIC 702 // Verifico a existência do diretório configurado para o Cacic, normalmente CACIC
663 if not DirectoryExists(g_oCacic.getCacicPath) then 703 if not DirectoryExists(g_oCacic.getCacicPath) then
664 begin 704 begin
665 - //log_diario('Criando diretório ' + Dir,ExtractFilePath(ParamStr(0))); 705 + log_DEBUG('Criando diretório ' + g_oCacic.getCacicPath);
666 ForceDirectories(g_oCacic.getCacicPath); 706 ForceDirectories(g_oCacic.getCacicPath);
667 end; 707 end;
668 708
  709 + log_DEBUG('Verificando existência da pasta "'+g_oCacic.getCacicPath+'modulos"');
669 // Para eliminar versão 20014 e anteriores que provavelmente não fazem corretamente o AutoUpdate 710 // Para eliminar versão 20014 e anteriores que provavelmente não fazem corretamente o AutoUpdate
670 if not DirectoryExists(g_oCacic.getCacicPath+'modulos') then 711 if not DirectoryExists(g_oCacic.getCacicPath+'modulos') then
671 begin 712 begin
672 - log_diario('Excluindo '+ g_oCacic.getCacicPath + 'cacic2.exe'); 713 + log_DEBUG('Excluindo '+ g_oCacic.getCacicPath + 'cacic2.exe');
673 Matar(g_oCacic.getCacicPath,'cacic2.exe'); 714 Matar(g_oCacic.getCacicPath,'cacic2.exe');
674 - log_diario('Criando diretório ' + g_oCacic.getCacicPath + 'modulos'); 715 + log_DEBUG('Criando diretório ' + g_oCacic.getCacicPath + 'modulos');
675 ForceDirectories(g_oCacic.getCacicPath + 'modulos'); 716 ForceDirectories(g_oCacic.getCacicPath + 'modulos');
676 end; 717 end;
677 718
  719 + log_DEBUG('Verificando existência da pasta "'+g_oCacic.getCacicPath+'temp"');
678 // Crio o SubDiretório TEMP, caso não exista 720 // Crio o SubDiretório TEMP, caso não exista
679 if not DirectoryExists(g_oCacic.getCacicPath+'temp') then 721 if not DirectoryExists(g_oCacic.getCacicPath+'temp') then
680 begin 722 begin
681 - log_diario('Criando diretório ' + g_oCacic.getCacicPath + 'temp'); 723 + log_DEBUG('Criando diretório ' + g_oCacic.getCacicPath + 'temp');
682 ForceDirectories(g_oCacic.getCacicPath + 'temp'); 724 ForceDirectories(g_oCacic.getCacicPath + 'temp');
683 end; 725 end;
684 726
  727 + log_DEBUG('Verificando existência dos agentes principais "'+g_oCacic.getCacicPath+'cacic2.exe" e "'+g_oCacic.getCacicPath + 'modulos\ger_cols.exe"');
685 // Verifico existência dos dois principais objetos 728 // Verifico existência dos dois principais objetos
686 If (not FileExists(g_oCacic.getCacicPath + 'cacic2.exe')) or (not FileExists(g_oCacic.getCacicPath + 'modulos\ger_cols.exe')) Then 729 If (not FileExists(g_oCacic.getCacicPath + 'cacic2.exe')) or (not FileExists(g_oCacic.getCacicPath + 'modulos\ger_cols.exe')) Then
687 Begin 730 Begin
@@ -705,27 +748,28 @@ begin @@ -705,27 +748,28 @@ begin
705 v_te_senha_login_serv_updates := XML_RetornaValor('te_senha_login_serv_updates' , Response_Config.DataString); 748 v_te_senha_login_serv_updates := XML_RetornaValor('te_senha_login_serv_updates' , Response_Config.DataString);
706 v_te_path_serv_updates := XML_RetornaValor('te_path_serv_updates' , Response_Config.DataString); 749 v_te_path_serv_updates := XML_RetornaValor('te_path_serv_updates' , Response_Config.DataString);
707 750
708 - log_diario(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::');  
709 - log_diario(':::::::::::::::: VALORES OBTIDOS NO Gerente WEB :::::::::::::::');  
710 - log_diario(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::');  
711 - log_diario('Servidor de updates......................: '+v_te_serv_updates);  
712 - log_diario('Porta do servidor de updates.............: '+v_nu_porta_serv_updates);  
713 - log_diario('Usuário para login no servidor de updates: '+v_nm_usuario_login_serv_updates);  
714 - log_diario('Pasta no servidor de updates.............: '+v_te_path_serv_updates);  
715 - log_diario(' ');  
716 - log_diario('Versões dos Agentes Principais:');  
717 - log_diario('------------------------------');  
718 - log_diario('Cacic2 - Agente do Systray.........: '+XML_RetornaValor('CACIC2', v_retorno));  
719 - log_diario('Ger_Cols - Gerente de Coletas........: '+XML_RetornaValor('GER_COLS', v_retorno));  
720 - log_diario('ChkSis - Verificador de Integridade: '+XML_RetornaValor('CHKSIS', v_retorno));  
721 - log_diario(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::');  
722 -  
723 - Except log_diario('Falha no contato com ' + 'http://' + v_ip_serv_cacic + '/cacic2/ws/get_config.php'); 751 + log_DEBUG(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::');
  752 + log_DEBUG(':::::::::::::::: VALORES OBTIDOS NO Gerente WEB :::::::::::::::');
  753 + log_DEBUG(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::');
  754 + log_DEBUG('Servidor de updates......................: '+v_te_serv_updates);
  755 + log_DEBUG('Porta do servidor de updates.............: '+v_nu_porta_serv_updates);
  756 + log_DEBUG('Usuário para login no servidor de updates: '+v_nm_usuario_login_serv_updates);
  757 + log_DEBUG('Pasta no servidor de updates.............: '+v_te_path_serv_updates);
  758 + log_DEBUG(' ');
  759 + log_DEBUG('Versões dos Agentes Principais:');
  760 + log_DEBUG('------------------------------');
  761 + log_DEBUG('Cacic2 - Agente do Systray.........: '+XML_RetornaValor('CACIC2', v_retorno));
  762 + log_DEBUG('Ger_Cols - Gerente de Coletas........: '+XML_RetornaValor('GER_COLS', v_retorno));
  763 + log_DEBUG('ChkSis - Verificador de Integridade: '+XML_RetornaValor('CHKSIS', v_retorno));
  764 + log_DEBUG(':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::');
  765 +
  766 + Except log_DEBUG('Falha no contato com ' + 'http://' + v_ip_serv_cacic + '/cacic2/ws/get_config.php');
724 End; 767 End;
725 768
726 Request_Config.Free; 769 Request_Config.Free;
727 Response_Config.Free; 770 Response_Config.Free;
728 771
  772 + log_DEBUG('Verificando existência do agente "'+g_oCacic.getCacicPath+'cacic2.exe"');
729 // Verificação de versão do cacic2.exe e exclusão em caso de versão antiga 773 // Verificação de versão do cacic2.exe e exclusão em caso de versão antiga
730 If (FileExists(g_oCacic.getCacicPath + 'cacic2.exe')) Then 774 If (FileExists(g_oCacic.getCacicPath + 'cacic2.exe')) Then
731 Begin 775 Begin
@@ -745,6 +789,7 @@ begin @@ -745,6 +789,7 @@ begin
745 Matar(g_oCacic.getCacicPath, 'cacic2.exe'); 789 Matar(g_oCacic.getCacicPath, 'cacic2.exe');
746 End; 790 End;
747 791
  792 + log_DEBUG('Verificando existência do agente "'+g_oCacic.getCacicPath+'modulos\ger_cols.exe"');
748 // Verificação de versão do ger_cols.exe e exclusão em caso de versão antiga 793 // Verificação de versão do ger_cols.exe e exclusão em caso de versão antiga
749 If (FileExists(g_oCacic.getCacicPath + 'modulos\ger_cols.exe')) Then 794 If (FileExists(g_oCacic.getCacicPath + 'modulos\ger_cols.exe')) Then
750 Begin 795 Begin
@@ -764,7 +809,7 @@ begin @@ -764,7 +809,7 @@ begin
764 809
765 End; 810 End;
766 811
767 - 812 + log_DEBUG('Nova Verificação de existência do agente "'+g_oCacic.getCacicPath+'cacic2.exe"');
768 // Tento detectar o Agente Principal e faço FTP caso não exista 813 // Tento detectar o Agente Principal e faço FTP caso não exista
769 If not FileExists(g_oCacic.getCacicPath + 'cacic2.exe') Then 814 If not FileExists(g_oCacic.getCacicPath + 'cacic2.exe') Then
770 begin 815 begin
@@ -782,6 +827,7 @@ begin @@ -782,6 +827,7 @@ begin
782 bool_download_CACIC2 := true; 827 bool_download_CACIC2 := true;
783 end; 828 end;
784 829
  830 + log_DEBUG('Nova Verificação de existência do agente "'+g_oCacic.getCacicPath+'modulos\ger_cols.exe"');
785 // Tento detectar o Gerente de Coletas e faço FTP caso não exista 831 // Tento detectar o Gerente de Coletas e faço FTP caso não exista
786 If (not FileExists(g_oCacic.getCacicPath + 'modulos\ger_cols.exe')) Then 832 If (not FileExists(g_oCacic.getCacicPath + 'modulos\ger_cols.exe')) Then
787 begin 833 begin
@@ -806,16 +852,16 @@ begin @@ -806,16 +852,16 @@ begin
806 Sleep(5000); 852 Sleep(5000);
807 853
808 // Caso o Cacic tenha sido baixado executo-o com parâmetro de configuração de servidor 854 // Caso o Cacic tenha sido baixado executo-o com parâmetro de configuração de servidor
809 - if Posso_Rodar_CACIC or not bool_ExistsAutoRun then  
810 - Begin  
811 - log_diario('Executando '+g_oCacic.getCacicPath + 'cacic2.exe /ip_serv_cacic=' + v_ip_serv_cacic); 855 + if Posso_Rodar_CACIC or not bool_ExistsAutoRun then
  856 + Begin
  857 + log_diario('Executando '+g_oCacic.getCacicPath + 'cacic2.exe /ip_serv_cacic=' + v_ip_serv_cacic);
812 858
813 - // Caso tenha havido download de agentes principais, executar coletas imediatamente...  
814 - if (bool_download_CACIC2) then  
815 - g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'cacic2.exe /ip_serv_cacic=' + v_ip_serv_cacic+ ' /execute', false)  
816 - else  
817 - g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'cacic2.exe /ip_serv_cacic=' + v_ip_serv_cacic , false);  
818 - End; 859 + // Caso tenha havido download de agentes principais, executar coletas imediatamente...
  860 + if (bool_download_CACIC2) then
  861 + g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'cacic2.exe /ip_serv_cacic=' + v_ip_serv_cacic+ ' /execute', false)
  862 + else
  863 + g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'cacic2.exe /ip_serv_cacic=' + v_ip_serv_cacic , false);
  864 + End;
819 end; 865 end;
820 866
821 const 867 const
chksis/chksis.res
No preview for this file type
col_anvi/col_anvi.res
No preview for this file type
col_comp/col_comp.res
No preview for this file type
col_hard/col_hard.res
No preview for this file type
col_moni/col_moni.res
No preview for this file type
col_patr/col_patr.res
No preview for this file type
col_patr/main_col_patr.pas
@@ -967,7 +967,7 @@ Begin @@ -967,7 +967,7 @@ Begin
967 MessageDlg('Atenção: é necessário o preenchimento/atualização das informações de Patrimônio e Localização Física deste computador. Por favor, confirme as informações que serão apresentadas na tela que será exibida a seguir.', mtInformation, [mbOk], 0); 967 MessageDlg('Atenção: é necessário o preenchimento/atualização das informações de Patrimônio e Localização Física deste computador. Por favor, confirme as informações que serão apresentadas na tela que será exibida a seguir.', mtInformation, [mbOk], 0);
968 boolColeta := true; 968 boolColeta := true;
969 end 969 end
970 - Else if (GetValorDatMemoria('Patrimonio.dt_ultima_renovacao_patrim',v_tstrCipherOpened)= '') then 970 + Else if (GetValorDatMemoria('Patrimonio.dt_ultima_renovacao',v_tstrCipherOpened)= '') then
971 Begin 971 Begin
972 // Solicita o cadastramento de informações de patrimõnio caso ainda não tenha sido cadastrado. 972 // Solicita o cadastramento de informações de patrimõnio caso ainda não tenha sido cadastrado.
973 boolColeta := true; 973 boolColeta := true;
col_soft/col_soft.res
No preview for this file type
col_undi/col_undi.res
No preview for this file type
ger_cols/ger_cols.dpr
@@ -1104,7 +1104,7 @@ Begin @@ -1104,7 +1104,7 @@ Begin
1104 end; 1104 end;
1105 1105
1106 procedure GetInfoPatrimonio; 1106 procedure GetInfoPatrimonio;
1107 -var strDt_ultima_renovacao_patrim, 1107 +var strDt_ultima_renovacao,
1108 strUltimaRedeObtida, 1108 strUltimaRedeObtida,
1109 strRetorno, 1109 strRetorno,
1110 strIntervaloRenovacaoPatrimonio : string; 1110 strIntervaloRenovacaoPatrimonio : string;
@@ -1121,7 +1121,7 @@ Begin @@ -1121,7 +1121,7 @@ Begin
1121 Request_Ger_Cols.Free; 1121 Request_Ger_Cols.Free;
1122 1122
1123 strUltimaRedeObtida := GetValorDatMemoria('Patrimonio.ultima_rede_obtida', v_tstrCipherOpened); 1123 strUltimaRedeObtida := GetValorDatMemoria('Patrimonio.ultima_rede_obtida', v_tstrCipherOpened);
1124 - strDt_ultima_renovacao_patrim := GetValorDatMemoria('Patrimonio.dt_ultima_renovacao_patrim', v_tstrCipherOpened); 1124 + strDt_ultima_renovacao := GetValorDatMemoria('Patrimonio.dt_ultima_renovacao', v_tstrCipherOpened);
1125 1125
1126 // Inicializa como "N' os valores de Remanejamento e Renovação que serão lidos pelo módulo de Coleta de Informações Patrimoniais. 1126 // Inicializa como "N' os valores de Remanejamento e Renovação que serão lidos pelo módulo de Coleta de Informações Patrimoniais.
1127 SetValorDatMemoria('Patrimonio.in_alteracao_fisica', 'N', v_tstrCipherOpened); 1127 SetValorDatMemoria('Patrimonio.in_alteracao_fisica', 'N', v_tstrCipherOpened);
@@ -1138,7 +1138,7 @@ Begin @@ -1138,7 +1138,7 @@ Begin
1138 Begin 1138 Begin
1139 intHoje := StrToInt(FormatDateTime('yyyymmdd', Date)); 1139 intHoje := StrToInt(FormatDateTime('yyyymmdd', Date));
1140 strIntervaloRenovacaoPatrimonio := GetValorDatMemoria('Configs.NU_INTERVALO_RENOVACAO_PATRIMONIO', v_tstrCipherOpened); 1140 strIntervaloRenovacaoPatrimonio := GetValorDatMemoria('Configs.NU_INTERVALO_RENOVACAO_PATRIMONIO', v_tstrCipherOpened);
1141 - if ((strUltimaRedeObtida <> '') and (strIntervaloRenovacaoPatrimonio <> '') and ((intHoje - StrToInt64(strDt_ultima_renovacao_patrim)) >= strtoint(strIntervaloRenovacaoPatrimonio))) or 1141 + if ((strUltimaRedeObtida <> '') and (strIntervaloRenovacaoPatrimonio <> '') and ((intHoje - StrToInt64(strDt_ultima_renovacao)) >= strtoint(strIntervaloRenovacaoPatrimonio))) or
1142 (GetValorDatMemoria('Configs.IN_COLETA_FORCADA_PATR', v_tstrCipherOpened) = 'S') Then 1142 (GetValorDatMemoria('Configs.IN_COLETA_FORCADA_PATR', v_tstrCipherOpened) = 'S') Then
1143 Begin 1143 Begin
1144 // E neste caso seto como "S" o valor de Renovação de Informações para ser lido pelo módulo de Coleta de Informações Patrimoniais. 1144 // E neste caso seto como "S" o valor de Renovação de Informações para ser lido pelo módulo de Coleta de Informações Patrimoniais.
@@ -1297,15 +1297,10 @@ Begin @@ -1297,15 +1297,10 @@ Begin
1297 log_DEBUG('Verificando necessidade de FTP para "'+p_Nome_Modulo +'" ('+p_File+')'); 1297 log_DEBUG('Verificando necessidade de FTP para "'+p_Nome_Modulo +'" ('+p_File+')');
1298 Result := 0; 1298 Result := 0;
1299 Try 1299 Try
1300 -  
1301 if (trim(p_Dir_Temp)='') then 1300 if (trim(p_Dir_Temp)='') then
1302 - Begin  
1303 - v_Dir_Temp := p_Dir_Inst;  
1304 - End 1301 + v_Dir_Temp := p_Dir_Inst
1305 else 1302 else
1306 - Begin  
1307 - v_Dir_Temp := g_oCacic.getCacicPath + p_Dir_Temp;  
1308 - End; 1303 + v_Dir_Temp := g_oCacic.getCacicPath + p_Dir_Temp;
1309 1304
1310 v_versao_disponivel := ''; 1305 v_versao_disponivel := '';
1311 v_versao_atual := ''; 1306 v_versao_atual := '';
@@ -1345,11 +1340,9 @@ Begin @@ -1345,11 +1340,9 @@ Begin
1345 else 1340 else
1346 Begin 1341 Begin
1347 strHashLocal := g_oCacic.getFileHash(p_Dir_Inst + p_File + '.exe'); 1342 strHashLocal := g_oCacic.getFileHash(p_Dir_Inst + p_File + '.exe');
  1343 +
1348 strHashRemoto := GetValorDatMemoria('Configs.TE_HASH_'+UpperCase(p_File), v_tstrCipherOpened); 1344 strHashRemoto := GetValorDatMemoria('Configs.TE_HASH_'+UpperCase(p_File), v_tstrCipherOpened);
1349 - // TESTE  
1350 - //if (UpperCase(p_File) = 'GER_COLS') or (UpperCase(p_File) = 'CACIC2') then  
1351 - // strHashLocal := strHashRemoto;  
1352 - // 1345 +
1353 log_DEBUG('Ver_UPD => '+p_File+' [strHashLocal]: '+strHashLocal+' [strHashRemoto]: '+strHashRemoto); 1346 log_DEBUG('Ver_UPD => '+p_File+' [strHashLocal]: '+strHashLocal+' [strHashRemoto]: '+strHashRemoto);
1354 if ((strHashRemoto <> '') and (strHashLocal <> strHashRemoto)) or (v_Tamanho_Arquivo = '0') or (v_Tamanho_Arquivo = '-1') or (trim(GetVersionInfo(p_Dir_Inst + p_File + '.exe'))='0.0.0.0') then 1347 if ((strHashRemoto <> '') and (strHashLocal <> strHashRemoto)) or (v_Tamanho_Arquivo = '0') or (v_Tamanho_Arquivo = '-1') or (trim(GetVersionInfo(p_Dir_Inst + p_File + '.exe'))='0.0.0.0') then
1355 Begin 1348 Begin
@@ -1555,7 +1548,7 @@ End; @@ -1555,7 +1548,7 @@ End;
1555 1548
1556 procedure Patrimnio1Click(Sender: TObject); 1549 procedure Patrimnio1Click(Sender: TObject);
1557 begin 1550 begin
1558 - SetValorDatMemoria('Patrimonio.dt_ultima_renovacao_patrim','', v_tstrCipherOpened); 1551 + SetValorDatMemoria('Patrimonio.dt_ultima_renovacao','0', v_tstrCipherOpened);
1559 if ChecaAgente(g_oCacic.getCacicPath + 'modulos', 'ini_cols.exe') then 1552 if ChecaAgente(g_oCacic.getCacicPath + 'modulos', 'ini_cols.exe') then
1560 g_oCacic.createSampleProcess( g_oCacic.getCacicPath + 'modulos\ini_cols.exe /CacicPath='+g_oCacic.getCacicPath+' /p_ModulosOpcoes=col_patr,wait,user#', CACIC_PROCESS_WAIT ); 1553 g_oCacic.createSampleProcess( g_oCacic.getCacicPath + 'modulos\ini_cols.exe /CacicPath='+g_oCacic.getCacicPath+' /p_ModulosOpcoes=col_patr,wait,user#', CACIC_PROCESS_WAIT );
1561 1554
@@ -2436,6 +2429,7 @@ Begin @@ -2436,6 +2429,7 @@ Begin
2436 SetValorDatMemoria('Configs.TE_JANELAS_EXCECAO' ,g_oCacic.deCrypt(XML_RetornaValor('te_janelas_excecao' , strRetorno)) , v_tstrCipherOpened); 2429 SetValorDatMemoria('Configs.TE_JANELAS_EXCECAO' ,g_oCacic.deCrypt(XML_RetornaValor('te_janelas_excecao' , strRetorno)) , v_tstrCipherOpened);
2437 SetValorDatMemoria('TcpIp.TE_ENDERECOS_MAC_INVALIDOS' ,g_oCacic.deCrypt(XML_RetornaValor('te_enderecos_mac_invalidos' , strRetorno)) , v_tstrCipherOpened); 2430 SetValorDatMemoria('TcpIp.TE_ENDERECOS_MAC_INVALIDOS' ,g_oCacic.deCrypt(XML_RetornaValor('te_enderecos_mac_invalidos' , strRetorno)) , v_tstrCipherOpened);
2438 SetValorDatMemoria('Configs.NU_PORTA_SRCACIC' ,g_oCacic.deCrypt(XML_RetornaValor('nu_porta_srcacic' , strRetorno)) , v_tstrCipherOpened); 2431 SetValorDatMemoria('Configs.NU_PORTA_SRCACIC' ,g_oCacic.deCrypt(XML_RetornaValor('nu_porta_srcacic' , strRetorno)) , v_tstrCipherOpened);
  2432 + SetValorDatMemoria('Configs.ID_LOCAL' ,g_oCacic.deCrypt(XML_RetornaValor('id_local' , strRetorno)) , v_tstrCipherOpened);
2439 SetValorDatMemoria('Configs.NU_TIMEOUT_SRCACIC' ,g_oCacic.deCrypt(XML_RetornaValor('nu_timeout_srcacic' , strRetorno)) , v_tstrCipherOpened); 2433 SetValorDatMemoria('Configs.NU_TIMEOUT_SRCACIC' ,g_oCacic.deCrypt(XML_RetornaValor('nu_timeout_srcacic' , strRetorno)) , v_tstrCipherOpened);
2440 SetValorDatMemoria('Configs.CS_PERMITIR_DESATIVAR_SRCACIC' ,g_oCacic.deCrypt(XML_RetornaValor('cs_permitir_desativar_srcacic' , strRetorno)) , v_tstrCipherOpened); 2434 SetValorDatMemoria('Configs.CS_PERMITIR_DESATIVAR_SRCACIC' ,g_oCacic.deCrypt(XML_RetornaValor('cs_permitir_desativar_srcacic' , strRetorno)) , v_tstrCipherOpened);
2441 SetValorDatMemoria('Configs.DT_HR_COLETA_FORCADA' ,stringreplace(stringreplace(stringreplace(g_oCacic.deCrypt(XML_RetornaValor('dt_hr_coleta_forcada' , strRetorno)),'-','',[rfReplaceAll]),' ','',[rfReplaceAll]),':','',[rfReplaceAll]), v_tstrCipherOpened); 2435 SetValorDatMemoria('Configs.DT_HR_COLETA_FORCADA' ,stringreplace(stringreplace(stringreplace(g_oCacic.deCrypt(XML_RetornaValor('dt_hr_coleta_forcada' , strRetorno)),'-','',[rfReplaceAll]),' ','',[rfReplaceAll]),':','',[rfReplaceAll]), v_tstrCipherOpened);
@@ -2509,6 +2503,7 @@ Begin @@ -2509,6 +2503,7 @@ Begin
2509 // /ip_serv_cacic => Endereço IP do Módulo Gerente. Ex.: 10.71.0.212 2503 // /ip_serv_cacic => Endereço IP do Módulo Gerente. Ex.: 10.71.0.212
2510 // /cacic_dir => Diretório para instalação do Cacic na estação. Ex.: Cacic 2504 // /cacic_dir => Diretório para instalação do Cacic na estação. Ex.: Cacic
2511 // /coletas => Chamada para ativação das coletas 2505 // /coletas => Chamada para ativação das coletas
  2506 + // /recuperaSR => Chamada para tentativa de recuperação do módulo srCACIC
2512 // /patrimonio => Chamada para ativação do Formulário de Patrimônio 2507 // /patrimonio => Chamada para ativação do Formulário de Patrimônio
2513 // UpdatePrincipal => Atualização do Agente Principal 2508 // UpdatePrincipal => Atualização do Agente Principal
2514 // Chamada com parâmetros pelo chkcacic.exe ou linha de comando 2509 // Chamada com parâmetros pelo chkcacic.exe ou linha de comando
@@ -2544,6 +2539,19 @@ Begin @@ -2544,6 +2539,19 @@ Begin
2544 Sair; 2539 Sair;
2545 end; 2540 end;
2546 2541
  2542 + // Chamada efetuada pelo Cacic2.exe quando o usuário clica no menu "Ativar Suporte Remoto" e o módulo srCACICsrv.exe não
  2543 + // tem seu HashCode validado
  2544 + If FindCmdLineSwitch('recuperaSR', True) Then
  2545 + Begin
  2546 + log_DEBUG('Opção /recuperaSR recebida...');
  2547 + v_acao_gercols := 'Verificando/Recuperando srCACIC.';
  2548 + log_DEBUG('Chamando Verificador/Atualizador...');
  2549 + Ver_UPD('srcacicsrv','Suporte Remoto Seguro',g_oCacic.getCacicPath + 'modulos\','',false);
  2550 + Finalizar(false);
  2551 + CriaTXT(g_oCacic.getCacicPath+'temp','recuperaSR');
  2552 + Sair;
  2553 + End;
  2554 +
2547 For intAux := 1 to ParamCount do 2555 For intAux := 1 to ParamCount do
2548 Begin 2556 Begin
2549 if LowerCase(Copy(ParamStr(intAux),1,15)) = '/ip_serv_cacic=' then 2557 if LowerCase(Copy(ParamStr(intAux),1,15)) = '/ip_serv_cacic=' then
@@ -3258,9 +3266,10 @@ Begin @@ -3258,9 +3266,10 @@ Begin
3258 CriaTXT(g_oCacic.getCacicPath,'ger_erro'); 3266 CriaTXT(g_oCacic.getCacicPath,'ger_erro');
3259 Finalizar(false); 3267 Finalizar(false);
3260 SetValorDatMemoria('Erro_Fatal_Descricao', v_acao_gercols, v_tstrCipherOpened); 3268 SetValorDatMemoria('Erro_Fatal_Descricao', v_acao_gercols, v_tstrCipherOpened);
  3269 + Sair;
3261 End; 3270 End;
3262 End; 3271 End;
3263 - g_oCacic.Free; 3272 +// g_oCacic.Free;
3264 End; 3273 End;
3265 3274
3266 begin 3275 begin
ger_cols/ger_cols.res
No preview for this file type
ini_cols/ini_cols.res
No preview for this file type
@@ -1435,15 +1435,271 @@ object FormularioGeral: TFormularioGeral @@ -1435,15 +1435,271 @@ object FormularioGeral: TFormularioGeral
1435 Left = 674 1435 Left = 674
1436 Top = 114 1436 Top = 114
1437 Bitmap = { 1437 Bitmap = {
1438 - 494C010103000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600  
1439 - 0000000000003600000028000000400000001000000001002000000000000010 1438 + 494C010104000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
  1439 + 0000000000003600000028000000400000003000000001002000000000000030
  1440 + 0000000000000000000000000000000000000000000000000000000000000000
  1441 + 0000000000000000000000000000000000000000000000000000000000000000
  1442 + 0000000000000000000000000000000000000000000000000000000000000000
  1443 + 0000000000000000000000000000000000000000000000000000000000000000
  1444 + 0000000000000000000000000000000000000000000000000000000000000000
  1445 + 0000000000000000000000000000000000000000000000000000000000000000
  1446 + 0000000000000000000000000000000000000000000000000000000000000000
  1447 + 0000000000000000000000000000000000000000000000000000000000000000
  1448 + 0000000000000000000000000000000000000000000000000000000000000000
  1449 + 0000000000000000000000000000000000000000000000000000000000000000
  1450 + 0000000000000000000000000000000000000000000000000000000000000000
  1451 + 0000000000000000000000000000000000000000000000000000000000000000
  1452 + 0000000000000000000000000000000000000000000000000000000000000000
  1453 + 0000000000000000000000000000000000000000000000000000000000000000
  1454 + 0000000000000000000000000000000000000000000000000000000000000000
  1455 + 0000000000000000000000000000000000000000000000000000000000000000
  1456 + 0000000000000000000000000000000000000000000000000000000000000000
  1457 + 0000000000000000000000000000000000000000000000000000000000000000
  1458 + 0000000000000000000000000000000000000000000000000000000000000000
  1459 + 0000000000000000000000000000000000000000000000000000000000000000
  1460 + 0000000000000000000000000000000000000000000000000000000000000000
  1461 + 0000000000000000000000000000000000000000000000000000000000000000
  1462 + 0000000000000000000000000000000000000000000000000000000000000000
  1463 + 0000000000000000000000000000000000000000000000000000000000000000
  1464 + 0000000000000000000000000000000000000000000000000000000000000000
  1465 + 0000000000000000000000000000000000000000000000000000000000000000
  1466 + 0000000000000000000000000000000000000000000000000000000000000000
  1467 + 0000000000000000000000000000000000000000000000000000000000000000
  1468 + 0000000000000000000000000000000000000000000000000000000000000000
  1469 + 0000000000000000000000000000000000000000000000000000000000000000
  1470 + 0000000000000000000000000000000000000000000000000000000000000000
  1471 + 0000000000000000000000000000000000000000000000000000000000000000
  1472 + 0000000000000000000000000000000000000000000000000000000000000000
  1473 + 0000000000000000000000000000000000000000000000000000000000000000
  1474 + 0000000000000000000000000000000000000000000000000000000000000000
  1475 + 0000000000000000000000000000000000000000000000000000000000000000
  1476 + 0000000000000000000000000000000000000000000000000000000000000000
  1477 + 0000000000000000000000000000000000000000000000000000000000000000
  1478 + 0000000000000000000000000000000000000000000000000000000000000000
  1479 + 0000000000000000000000000000000000000000000000000000000000000000
  1480 + 0000000000000000000000000000000000000000000000000000000000000000
  1481 + 0000000000000000000000000000000000000000000000000000000000000000
  1482 + 0000000000000000000000000000000000000000000000000000000000000000
  1483 + 0000000000000000000000000000000000000000000000000000000000000000
  1484 + 0000000000000000000000000000000000000000000000000000000000000000
  1485 + 0000000000000000000000000000000000000000000000000000000000000000
  1486 + 0000000000000000000000000000000000000000000000000000000000000000
  1487 + 0000000000000000000000000000000000000000000000000000000000000000
  1488 + 0000000000000000000000000000000000000000000000000000000000000000
  1489 + 0000000000000000000000000000000000000000000000000000000000000000
  1490 + 0000000000000000000000000000000000000000000000000000000000000000
  1491 + 0000000000000000000000000000000000000000000000000000000000000000
  1492 + 0000000000000000000000000000000000000000000000000000000000000000
  1493 + 0000000000000000000000000000000000000000000000000000000000000000
  1494 + 0000000000000000000000000000000000000000000000000000000000000000
  1495 + 0000000000000000000000000000000000000000000000000000000000000000
  1496 + 0000000000000000000000000000000000000000000000000000000000000000
  1497 + 0000000000000000000000000000000000000000000000000000000000000000
  1498 + 0000000000000000000000000000000000000000000000000000000000000000
  1499 + 0000000000000000000000000000000000000000000000000000000000000000
  1500 + 0000000000000000000000000000000000000000000000000000000000000000
  1501 + 0000000000000000000000000000000000000000000000000000000000000000
  1502 + 0000000000000000000000000000000000000000000000000000000000000000
  1503 + 0000000000000000000000000000000000000000000000000000000000000000
  1504 + 0000000000000000000000000000000000000000000000000000000000000000
  1505 + 0000000000000000000000000000000000000000000000000000000000000000
  1506 + 0000000000000000000000000000000000000000000000000000000000000000
  1507 + 0000000000000000000000000000000000000000000000000000000000000000
  1508 + 0000000000000000000000000000000000000000000000000000000000000000
  1509 + 0000000000000000000000000000000000000000000000000000000000000000
  1510 + 0000000000000000000000000000000000000000000000000000000000000000
  1511 + 0000000000000000000000000000000000000000000000000000000000000000
  1512 + 0000000000000000000000000000000000000000000000000000000000000000
  1513 + 0000000000000000000000000000000000000000000000000000000000000000
  1514 + 0000000000000000000000000000000000000000000000000000000000000000
  1515 + 0000000000000000000000000000000000000000000000000000000000000000
  1516 + 0000000000000000000000000000000000000000000000000000000000000000
  1517 + 0000000000000000000000000000000000000000000000000000000000000000
  1518 + 0000000000000000000000000000000000000000000000000000000000000000
  1519 + 0000000000000000000000000000000000000000000000000000000000000000
  1520 + 0000000000000000000000000000000000000000000000000000000000000000
  1521 + 0000000000000000000000000000000000000000000000000000000000000000
  1522 + 0000000000000000000000000000000000000000000000000000000000000000
  1523 + 0000000000000000000000000000000000000000000000000000000000000000
  1524 + 0000000000000000000000000000000000000000000000000000000000000000
  1525 + 0000000000000000000000000000000000000000000000000000000000000000
  1526 + 0000000000000000000000000000000000000000000000000000000000000000
  1527 + 0000000000000000000000000000000000000000000000000000000000000000
  1528 + 0000000000000000000000000000000000000000000000000000000000000000
  1529 + 0000000000000000000000000000000000000000000000000000000000000000
  1530 + 0000000000000000000000000000000000000000000000000000000000000000
  1531 + 0000000000000000000000000000000000000000000000000000000000000000
  1532 + 0000000000000000000000000000000000000000000000000000000000000000
  1533 + 0000000000000000000000000000000000000000000000000000000000000000
  1534 + 0000000000000000000000000000000000000000000000000000000000000000
  1535 + 0000000000000000000000000000000000000000000000000000000000000000
  1536 + 0000000000000000000000000000000000000000000000000000000000000000
  1537 + 0000000000000000000000000000000000000000000000000000000000000000
  1538 + 0000000000000000000000000000000000000000000000000000000000000000
  1539 + 0000000000000000000000000000000000000000000000000000000000000000
  1540 + 0000000000000000000000000000000000000000000000000000000000000000
  1541 + 0000000000000000000000000000000000000000000000000000000000000000
  1542 + 0000000000000000000000000000000000000000000000000000000000000000
  1543 + 0000000000000000000000000000000000000000000000000000000000000000
  1544 + 0000000000000000000000000000000000000000000000000000000000000000
  1545 + 0000000000000000000000000000000000000000000000000000000000000000
  1546 + 0000000000000000000000000000000000000000000000000000000000000000
  1547 + 0000000000000000000000000000000000000000000000000000000000000000
  1548 + 0000000000000000000000000000000000000000000000000000000000000000
  1549 + 0000000000000000000000000000000000000000000000000000000000000000
  1550 + 0000000000000000000000000000000000000000000000000000000000000000
  1551 + 0000000000000000000000000000000000000000000000000000000000000000
  1552 + 0000000000000000000000000000000000000000000000000000000000000000
  1553 + 0000000000000000000000000000000000000000000000000000000000000000
  1554 + 0000000000000000000000000000000000000000000000000000000000000000
  1555 + 0000000000000000000000000000000000000000000000000000000000000000
  1556 + 0000000000000000000000000000000000000000000000000000000000000000
  1557 + 0000000000000000000000000000000000000000000000000000000000000000
  1558 + 0000000000000000000000000000000000000000000000000000000000000000
  1559 + 0000000000000000000000000000000000000000000000000000000000000000
  1560 + 0000000000000000000000000000000000000000000000000000000000000000
  1561 + 0000000000000000000000000000000000000000000000000000000000000000
  1562 + 0000000000000000000000000000000000000000000000000000000000000000
  1563 + 0000000000000000000000000000000000000000000000000000000000000000
  1564 + 0000000000000000000000000000000000000000000000000000000000000000
  1565 + 0000000000000000000000000000000000000000000000000000000000000000
  1566 + 0000000000000000000000000000000000000000000000000000000000000000
  1567 + 0000000000000000000000000000000000000000000000000000000000000000
  1568 + 0000000000000000000000000000000000000000000000000000000000000000
  1569 + 0000000000000000000000000000000000000000000000000000000000000000
  1570 + 0000000000000000000000000000000000000000000000000000000000000000
  1571 + 0000000000000000000000000000000000000000000000000000000000000000
  1572 + 0000000000000000000000000000000000000000000000000000000000000000
  1573 + 0000000000000000000000000000000000000000000000000000000000000000
  1574 + 0000000000000000000000000000000000000000000000000000000000000000
  1575 + 0000000000000000000000000000000000000000000000000000000000000000
  1576 + 0000000000000000000000000000000000000000000000000000000000000000
  1577 + 0000000000000000000000000000000000000000000000000000000000000000
  1578 + 0000000000000000000000000000000000000000000000000000000000000000
  1579 + 0000000000000000000000000000000000000000000000000000000000000000
  1580 + 0000000000000000000000000000000000000000000000000000000000000000
  1581 + 0000000000000000000000000000000000000000000000000000000000000000
  1582 + 0000000000000000000000000000000000000000000000000000000000000000
  1583 + 0000000000000000000000000000000000000000000000000000000000000000
  1584 + 0000000000000000000000000000000000000000000000000000000000000000
  1585 + 0000000000000000000000000000000000000000000000000000000000000000
  1586 + 0000000000000000000000000000000000000000000000000000000000000000
  1587 + 0000000000000000000000000000000000000000000000000000000000000000
  1588 + 0000000000000000000000000000000000000000000000000000000000000000
  1589 + 0000000000000000000000000000000000000000000000000000000000000000
  1590 + 0000000000000000000000000000000000000000000000000000000000000000
  1591 + 0000000000000000000000000000000000000000000000000000000000000000
  1592 + 0000000000000000000000000000000000000000000000000000000000000000
  1593 + 0000000000000000000000000000000000000000000000000000000000000000
  1594 + 0000000000000000000000000000000000000000000000000000000000000000
  1595 + 0000000000000000000000000000000000000000000000000000000000000000
  1596 + 0000000000000000000000000000000000000000000000000000000000000000
  1597 + 0000000000000000000000000000000000000000000000000000000000000000
  1598 + 0000000000000000000000000000000000000000000000000000000000000000
  1599 + 0000000000000000000000000000000000000000000000000000000000000000
  1600 + 0000000000000000000000000000000000000000000000000000000000000000
  1601 + 0000000000000000000000000000000000000000000000000000000000000000
  1602 + 0000000000000000000000000000000000000000000000000000000000000000
  1603 + 0000000000000000000000000000000000000000000000000000000000000000
  1604 + 0000000000000000000000000000000000000000000000000000000000000000
  1605 + 0000000000000000000000000000000000000000000000000000000000000000
  1606 + 0000000000000000000000000000000000000000000000000000000000000000
  1607 + 0000000000000000000000000000000000000000000000000000000000000000
  1608 + 0000000000000000000000000000000000000000000000000000000000000000
  1609 + 0000000000000000000000000000000000000000000000000000000000000000
  1610 + 0000000000000000000000000000000000000000000000000000000000000000
  1611 + 0000000000000000000000000000000000000000000000000000000000000000
  1612 + 0000000000000000000000000000000000000000000000000000000000000000
  1613 + 0000000000000000000000000000000000000000000000000000000000000000
  1614 + 0000000000000000000000000000000000000000000000000000000000000000
  1615 + 0000000000000000000000000000000000000000000000000000000000000000
  1616 + 0000000000000000000000000000000000000000000000000000000000000000
  1617 + 0000000000000000000000000000000000000000000000000000000000000000
  1618 + 0000000000000000000000000000000000000000000000000000000000000000
  1619 + 0000000000000000000000000000000000000000000000000000000000000000
  1620 + 0000000000000000000000000000000000000000000000000000000000000000
  1621 + 0000000000000000000000000000000000000000000000000000000000000000
  1622 + 0000000000000000000000000000000000000000000000000000000000000000
  1623 + 0000000000000000000000000000000000000000000000000000000000000000
  1624 + 0000000000000000000000000000000000000000000000000000000000000000
  1625 + 0000000000000000000000000000000000000000000000000000000000000000
  1626 + 0000000000000000000000000000000000000000000000000000000000000000
  1627 + 0000000000000000000000000000000000000000000000000000000000000000
  1628 + 0000000000000000000000000000000000000000000000000000000000000000
  1629 + 0000000000000000000000000000000000000000000000000000000000000000
  1630 + 0000000000000000000000000000000000000000000000000000000000000000
  1631 + 0000000000000000000000000000000000000000000000000000000000000000
  1632 + 0000000000000000000000000000000000000000000000000000000000000000
  1633 + 0000000000000000000000000000000000000000000000000000000000000000
  1634 + 0000000000000000000000000000000000000000000000000000000000000000
  1635 + 0000000000000000000000000000000000000000000000000000000000000000
  1636 + 0000000000000000000000000000000000000000000000000000000000000000
  1637 + 0000000000000000000000000000000000000000000000000000000000000000
  1638 + 0000000000000000000000000000000000000000000000000000000000000000
  1639 + 0000000000000000000000000000000000000000000000000000000000000000
  1640 + 0000000000000000000000000000000000000000000000000000000000000000
  1641 + 0000000000000000000000000000000000000000000000000000000000000000
  1642 + 0000000000000000000000000000000000000000000000000000000000000000
  1643 + 0000000000000000000000000000000000000000000000000000000000000000
  1644 + 0000000000000000000000000000000000000000000000000000000000000000
  1645 + 0000000000000000000000000000000000000000000000000000000000000000
  1646 + 0000000000000000000000000000000000000000000000000000000000000000
  1647 + 0000000000000000000000000000000000000000000000000000000000000000
  1648 + 0000000000000000000000000000000000000000000000000000000000000000
  1649 + 0000000000000000000000000000000000000000000000000000000000000000
  1650 + 0000000000000000000000000000000000000000000000000000000000000000
  1651 + 0000000000000000000000000000000000000000000000000000000000000000
  1652 + 0000000000000000000000000000000000000000000000000000000000000000
  1653 + 0000000000000000000000000000000000000000000000000000000000000000
  1654 + 0000000000000000000000000000000000000000000000000000000000000000
  1655 + 0000000000000000000000000000000000000000000000000000000000000000
  1656 + 0000000000000000000000000000000000000000000000000000000000000000
  1657 + 0000000000000000000000000000000000000000000000000000000000000000
  1658 + 0000000000000000000000000000000000000000000000000000000000000000
  1659 + 0000000000000000000000000000000000000000000000000000000000000000
  1660 + 0000000000000000000000000000000000000000000000000000000000000000
  1661 + 0000000000000000000000000000000000000000000000000000000000000000
  1662 + 0000000000000000000000000000000000000000000000000000000000000000
  1663 + 0000000000000000000000000000000000000000000000000000000000000000
  1664 + 0000000000000000000000000000000000000000000000000000000000000000
  1665 + 0000000000000000000000000000000000000000000000000000000000000000
  1666 + 0000000000000000000000000000000000000000000000000000000000000000
  1667 + 0000000000000000000000000000000000000000000000000000000000000000
  1668 + 0000000000000000000000000000000000000000000000000000000000000000
  1669 + 0000000000000000000000000000000000000000000000000000000000000000
  1670 + 0000000000000000000000000000000000000000000000000000000000000000
  1671 + 0000000000000000000000000000000000000000000000000000000000000000
  1672 + 0000000000000000000000000000000000000000000000000000000000000000
  1673 + 0000000000000000000000000000000000000000000000000000000000000000
  1674 + 0000000000000000000000000000000000000000000000000000000000000000
  1675 + 0000000000000000000000000000000000000000000000000000000000000000
  1676 + 0000000000000000000000000000000000000000000000000000000000000000
  1677 + 0000000000000000000000000000000000000000000000000000000000000000
  1678 + 0000000000000000000000000000000000000000000000000000000000000000
  1679 + 0000000000000000000000000000000000000000000000000000000000000000
  1680 + 0000000000000000000000000000000000000000000000000000000000000000
  1681 + 0000000000000000000000000000000000000000000000000000000000000000
  1682 + 0000000000000000000000000000000000000000000000000000000000000000
  1683 + 0000000000000000000000000000000000000000000000000000000000000000
  1684 + 0000000000000000000000000000000000000000000000000000000000000000
  1685 + 0000000000000000000000000000000000000000000000000000000000000000
  1686 + 0000000000000000000000000000000000000000000000000000000000000000
  1687 + 0000000000000000000000000000000000000000000000000000000000000000
  1688 + 0000000000000000000000000000000000000000000000000000000000000000
  1689 + 0000000000000000000000000000000000000000000000000000000000000000
  1690 + 0000000000000000000000000000000000000000000000000000000000000000
  1691 + 0000000000000000000000000000000000000000000000000000000000000000
  1692 + 0000000000000000000000000000000000000000000000000000000000000000
  1693 + 0000000000000000000000000000000000000000000000000000000000000000
  1694 + 0000000000000000000000000000000000000000000000000000000000000000
  1695 + 0000000000000000000000000000000000000000000000000000000000000000
1440 00000000000000000000000000000000000000000000021C7800000000000000 1696 00000000000000000000000000000000000000000000021C7800000000000000
1441 0000000000000000000000000000000000000000000000000000000000000000 1697 0000000000000000000000000000000000000000000000000000000000000000
1442 0000000000000000000000125B000000000000000000C0C4D7FF000000000000 1698 0000000000000000000000125B000000000000000000C0C4D7FF000000000000
1443 00001E1E1EFF0000000000000000000000000000000000000000000000000000 1699 00001E1E1EFF0000000000000000000000000000000000000000000000000000
1444 00000000000000000000F0F1F5FF0000000000000000C0C4D7FF000000000000 1700 00000000000000000000F0F1F5FF0000000000000000C0C4D7FF000000000000
1445 0000000000000000000000000000000000000000000000000000000000000000 1701 0000000000000000000000000000000000000000000000000000000000000000
1446 - 00000000000000000000F0F1F5FF000000000000000000000000000000000000 1702 + 00000000000000000000F0F1F5FF0000000000000000404040FF000000000000
1447 0000000000000000000000000000000000000000000000000000000000000000 1703 0000000000000000000000000000000000000000000000000000000000000000
1448 000000000000000000000000000000000000000000000032FD00000000000000 1704 000000000000000000000000000000000000000000000032FD00000000000000
1449 0000000000000000000000000000000000000000000000000000000000000000 1705 0000000000000000000000000000000000000000000000000000000000000000
@@ -1451,127 +1707,135 @@ object FormularioGeral: TFormularioGeral @@ -1451,127 +1707,135 @@ object FormularioGeral: TFormularioGeral
1451 00001E1E1EFFB9B9B9FF00000000000000000000000000000000000000000000 1707 00001E1E1EFFB9B9B9FF00000000000000000000000000000000000000000000
1452 000000000000405EDCFF002BDCFF00000000404B7BFF0032FDFF000000000000 1708 000000000000405EDCFF002BDCFF00000000404B7BFF0032FDFF000000000000
1453 00000000000000000000000000001E1E1EFF1E1E1EFF1E1E1EFF000000000000 1709 00000000000000000000000000001E1E1EFF1E1E1EFF1E1E1EFF000000000000
1454 - 000000000000405EDCFF002BDCFF000000000000000000000000000000000000 1710 + 000000000000405EDCFF002BDCFF0000000000000000003AFFFF000000000000
1455 0000000000000000000000000000000000000000000000000000000000000000 1711 0000000000000000000000000000000000000000000000000000000000000000
1456 - 000000000000000000000000000000000000305159000032FD00163886000000 1712 + 0000000000000025B6FF223172FF00000000305159000032FD00163886000000
1457 0000000000000000000000000000000000000000000000000000000000000000 1713 0000000000000000000000000000000000000000000000000000000000000000
1458 000000000000163886000032FD001E333A000C32A8FF0131F6FFC0C7E3FF0000 1714 000000000000163886000032FD001E333A000C32A8FF0131F6FFC0C7E3FF0000
1459 00001E1E1EFF1E1E1EFFC0C0C0FF000000000000000000000000000000000000 1715 00001E1E1EFF1E1E1EFFC0C0C0FF000000000000000000000000000000000000
1460 000000000000032FDBFF002EF0FFC0C3CCFF0C32A8FF0131F6FFC0C7E3FF0000 1716 000000000000032FDBFF002EF0FFC0C3CCFF0C32A8FF0131F6FFC0C7E3FF0000
1461 000000000000000000001E1E1EFF0000FFFF0000FFFF1E1E1EFF000000000000 1717 000000000000000000001E1E1EFF0000FFFF0000FFFF1E1E1EFF000000000000
1462 - 000000000000032FDBFF002EF0FFC0C3CCFF0000000000000000000000000000 1718 + 000000000000032FDBFF002EF0FFC0C3CCFF1A2179FF0037FFFF313476FF0000
1463 0000000000000000000000000000000000000000000000000000000000000000 1719 0000000000000000000000000000000000000000000000000000000000000000
1464 - 00000000000000000000000000000000000083DADC009DFFFE0083DADC000000 1720 + 000000000000002CFFFF0028FCFF0000000083DADC009DFFFE0083DADC000000
1465 00000000000025375E005078C900679AFE00679AFE004B71BB00000000000000 1721 00000000000025375E005078C900679AFE00679AFE004B71BB00000000000000
1466 00000000000092F3F3009DFFFE005F9DA00098F8F7FF6AB1B3FFB8D3D3FF0000 1722 00000000000092F3F3009DFFFE005F9DA00098F8F7FF6AB1B3FFB8D3D3FF0000
1467 00001E1E1EFF62F6FFFF1E1E1EFF2E4065FFAFBFDEFFD0D7E8FF000000000000 1723 00001E1E1EFF62F6FFFF1E1E1EFF2E4065FFAFBFDEFFD0D7E8FF000000000000
1468 000000000000A6FCFCFF88E3E3FFD7E9EAFF98F8F7FF6AB1B3FFB8D3D3FF0000 1724 000000000000A6FCFCFF88E3E3FFD7E9EAFF98F8F7FF6AB1B3FFB8D3D3FF0000
1469 000000000000CCD2DDFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF000000000000 1725 000000000000CCD2DDFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF000000000000
1470 - 000000000000A6FCFCFF88E3E3FFD7E9EAFF0000000000000000000000000000  
1471 - 0000000000000000000000000000000000000000000000000000000000000000  
1472 - 0000000000000000000000000000000000001126080098FDFC0030554500354F 1726 + 000000000000A6FCFCFF88E3E3FFD7E9EAFF7DD0CEFF365860FF72BCB8FF438D
  1727 + C6FF64C9FCFF95DFF9FFA7E2EDFFA7E0EAFFA7DFE8FFA5E0E8FF88D2F4FF61C7
  1728 + F4FF0000000096F6EAFFA5FFF8FF000000001126080098FDFC0030554500354F
1473 85006DA2FF00679AFE00679AFE0039558E004262A400679AFE00679AFE006DA2 1729 85006DA2FF00679AFE00679AFE0039558E004262A400679AFE00679AFE006DA2
1474 FF0000000000345951008FEEEB0011211100487E6AFF9BFEFDFFA8B9B8FFD2DB 1730 FF0000000000345951008FEEEB0011211100487E6AFF9BFEFDFFA8B9B8FFD2DB
1475 EEFF1E1E1EFF4AE9F4FF5EEDFFFF1E1E1EFF5074B9FF679AFEFF6BA0FFFF3B59 1731 EEFF1E1E1EFF4AE9F4FF5EEDFFFF1E1E1EFF5074B9FF679AFEFF6BA0FFFF3B59
1476 95FF000000008FE6E7FF8AE5E4FFC4C9C6FF487E6AFF9BFEFDFFA8B9B8FFD2DB 1732 95FF000000008FE6E7FF8AE5E4FFC4C9C6FF487E6AFF9BFEFDFFA8B9B8FFD2DB
1477 EEFF689CFAFF679AFEFF6394F3FF2F4673FF334C7DFF679AFEFF6BA0FFFF3B59 1733 EEFF689CFAFF679AFEFF6394F3FF2F4673FF334C7DFF679AFEFF6BA0FFFF3B59
1478 - 95FF000000008FE6E7FF8AE5E4FFC4C9C6FF0000000000000000000000000000  
1479 - 0000000000000000000000000000000000000000000000000000000000000000  
1480 - 0000000000000000000000000000000000000000000070E136001D2C49002EB8 1734 + 95FF000000008FE6E7FF8AE5E4FFC4C9C6FF3D5D53FFA5FFFFFF5B9699FF617B
  1735 + 9AFFF1B982FFF8CBA2FFF9E2C6FFBEC1B1FFC2C7BDFFD6CFC0FFFFDDC0FF8381
  1736 + 88FF00000000A8FFFFFF82D4D8FF000000000000000070E136001D2C49002EB8
1481 E700679AFE00679AFE002A3F6900679AFE00679AFE002F477700679AFE00679A 1737 E700679AFE00679AFE002A3F6900679AFE00679AFE002F477700679AFE00679A
1482 FE002EB8E7001E333A0070E1360000000000587251FF51A42AFF41639EFF5097 1738 FE002EB8E7001E333A0070E1360000000000587251FF51A42AFF41639EFF5097
1483 E8FF1E1E1EFF45E8F2FF5EEAFFFF5FEEFFFF1E1E1EFF4F72B0FF679AFEFF6498 1739 E8FF1E1E1EFF45E8F2FF5EEAFFFF5FEEFFFF1E1E1EFF4F72B0FF679AFEFF6498
1484 FAFF4B93DFFF468F25FF61C330FF00000000587251FF51A42AFF41639EFF5097 1740 FAFF4B93DFFF468F25FF61C330FF00000000587251FF51A42AFF41639EFF5097
1485 E8FF679AFEFF679AFEFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF679AFEFF6498 1741 E8FF679AFEFF679AFEFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF679AFEFF6498
1486 - FAFF4B93DFFF468F25FF61C330FF000000000000000000000000000000000000  
1487 - 0000000000000000000000000000000000000000000000000000000000000000  
1488 - 000000000000000000000000000000000000000000004262A400679AFE0030C0 1742 + FAFF4B93DFFF468F25FF61C330FF00000000000000004A9526FF355159FF4E9B
  1743 + E7FFECC195FFD0ECFDFFE0EDF2FF7EB1C8FF8EBDD2FF86BCD5FFAED1E2FF9A98
  1744 + B8FF4775CCFF4DA11BFF4C9820FF00000000000000004262A400679AFE0030C0
1489 F00030C0F0006494F800679AFE00679AFE00679AFE00679AFE005F91F0002EB8 1745 F00030C0F0006494F800679AFE00679AFE00679AFE00679AFE005F91F0002EB8
1490 E70030C8F9006DA2FF004B71BB0000000000D2D2D4FF2F5B1EFF3FA2E2FF3F99 1746 E70030C8F9006DA2FF004B71BB0000000000D2D2D4FF2F5B1EFF3FA2E2FF3F99
1491 D9FF42A0E3FF1E1E1EFF5EEAFFFF5EEAFFFF61F2FFFF1E1E1EFF4E72B8FF33B5 1747 D9FF42A0E3FF1E1E1EFF5EEAFFFF5EEAFFFF61F2FFFF1E1E1EFF4E72B8FF33B5
1492 E9FF33B9EDFF36577FFFA3AEB5FF00000000D2D2D4FF2F5B1EFF3FA2E2FF3F99 1748 E9FF33B9EDFF36577FFFA3AEB5FF00000000D2D2D4FF2F5B1EFF3FA2E2FF3F99
1493 D9FF42A0E3FF679AFEFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF5F95F3FF33B5 1749 D9FF42A0E3FF679AFEFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF5F95F3FF33B5
1494 - E9FF33B9EDFF36577FFFA3AEB5FF000000000000000000000000000000000000  
1495 - 0000000000000000000000000000000000000000000000000000000000000000  
1496 - 000000000000000000000000000000000000679AFE00679AFE00679AFE00679A 1750 + E9FF33B9EDFF36577FFFA3AEB5FF0000000000000000315F23FF449BEAFF4389
  1751 + CEFF93A8B1FFFFE8BFFFE0EAE9FF8CC6DAFF95CADDFFDDDDCFFFEED7BDFF30AF
  1752 + E0FF2DBDE9FF375848FF0000000000000000679AFE00679AFE00679AFE00679A
1497 FE005F91F000679AFE00679AFE00679AFE00679AFE00679AFE00679AFE005690 1753 FE005F91F000679AFE00679AFE00679AFE00679AFE00679AFE00679AFE005690
1498 E600679AFE00679AFE00679AFE005A88E2006090EEFF679AFEFF679AFEFF40A1 1754 E600679AFE00679AFE00679AFE005A88E2006090EEFF679AFEFF679AFEFF40A1
1499 E1FF5C93EFFF1E1E1EFF5FEDFFFF5EEAFFFF5EEAFFFF60F1FFFF1E1E1EFF2C8D 1755 E1FF5C93EFFF1E1E1EFF5FEDFFFF5EEAFFFF5EEAFFFF60F1FFFF1E1E1EFF2C8D
1500 B1FF6498FAFF679AFEFF679AFEFFCBD0DAFF6090EEFF679AFEFF679AFEFF40A1 1756 B1FF6498FAFF679AFEFF679AFEFFCBD0DAFF6090EEFF679AFEFF679AFEFF40A1
1501 E1FF5C93EFFF679AFEFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF679AFEFF38B0 1757 E1FF5C93EFFF679AFEFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF679AFEFF38B0
1502 - EAFF6498FAFF679AFEFF679AFEFFCBD0DAFF0000000000000000000000000000  
1503 - 0000000000000000000000000000000000000000000000000000000000000000  
1504 - 0000000000000000000000000000000000004262A400679AFE00679AFE00679A 1758 + EAFF6498FAFF679AFEFF679AFEFFCBD0DAFF4568ACFF699EFFFF669AFFFF4998
  1759 + E4FF5785DDFFC5B4B0FFFEE4C3FFFFE0B7FFFFE3BCFFF3D5BAFF7F9BE3FF2CB1
  1760 + DEFF6C96FFFF699EFFFF6FA6FFFF000000004262A400679AFE00679AFE00679A
1505 FE005A88E2005078C9004262A400679AFE00679AFE005781D9004B71BB005781 1761 FE005A88E2005078C9004262A400679AFE00679AFE005781D9004B71BB005781
1506 D900679AFE00679AFE00679AFE004669B0006597F9FF679AFEFF679AFEFF1E1E 1762 D900679AFE00679AFE00679AFE004669B0006597F9FF679AFEFF679AFEFF1E1E
1507 1EFF55EBFFFF55EAFFFF5EEAFFFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E 1763 1EFF55EBFFFF55EAFFFF5EEAFFFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E
1508 1EFF5F8DE7FF679AFEFF679AFEFF526385FF6597F9FF679AFEFF679AFEFF679A 1764 1EFF5F8DE7FF679AFEFF679AFEFF526385FF6597F9FF679AFEFF679AFEFF679A
1509 FEFF6394F6FF6090EFFF1E1E1EFF0000FFFF0000FFFF0000FFFF1E1E1EFF6395 1765 FEFF6394F6FF6090EFFF1E1E1EFF0000FFFF0000FFFF0000FFFF1E1E1EFF6395
1510 - F7FF679AFEFF679AFEFF679AFEFF526385FF0000000000000000000000000000  
1511 - 0000000000000000000000000000000000000000000000000000000000000000  
1512 - 000000000000000000000000000000000000000000003D5C99005E8DE900679A 1766 + F7FF679AFEFF679AFEFF679AFEFF526385FF5680D6FF6698FFFF6699FFFF6699
  1767 + FFFF6A9FFFFF699DFFFF8C95B7FFFFEAC1FFFBDAB3FF689DFFFF6A9FFFFF6A9F
  1768 + FFFF6699FFFF6699FFFF6DA4FFFF181F2AFF000000003D5C99005E8DE900679A
1513 FE00679AFE00679AFE00679AFE00679AFE00679AFE00679AFE00679AFE00679A 1769 FE00679AFE00679AFE00679AFE00679AFE00679AFE00679AFE00679AFE00679A
1514 FE00679AFE005A88E20025375E000000000004070BFF6190F0FF6698FCFF1E1E 1770 FE00679AFE005A88E20025375E000000000004070BFF6190F0FF6698FCFF1E1E
1515 1EFF4FE9F5FF5EEAFFFF5EEAFFFF5FEEFFFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E 1771 1EFF4FE9F5FF5EEAFFFF5EEAFFFF5FEEFFFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E
1516 1EFF1E1E1EFF6496F7FF263A5EFFD0D0D0FF04070BFF6190F0FF6698FCFF679A 1772 1EFF1E1E1EFF6496F7FF263A5EFFD0D0D0FF04070BFF6190F0FF6698FCFF679A
1517 FEFF6BA0FFFF679AFEFF679AFEFF2F4F90FF0000FFFF0000FFFF0000FFFF1E1E 1773 FEFF6BA0FFFF679AFEFF679AFEFF2F4F90FF0000FFFF0000FFFF0000FFFF1E1E
1518 - 1EFF6699FDFF6496F7FF263A5EFFD0D0D0FF0000000000000000000000000000  
1519 - 0000000000000000000000000000000000000000000000000000000000000000  
1520 - 0000000000000000000000000000000000000000000000000000000000000000 1774 + 1EFF6699FDFF6496F7FF263A5EFFD0D0D0FF262626FF679AF0FF6FA6FFFF6BA1
  1775 + FFFF5F8FEFFF9997A5FFF7DCBFFF8EBCD9FF9EBFCFFFE2C4ACFF5E84D3FF6495
  1776 + F9FF6EA5FFFF699EFFFF141B29FF000000000000000000000000000000000000
1521 0000000000000000000000000000000000000000000000000000000000000000 1777 0000000000000000000000000000000000000000000000000000000000000000
1522 000000000000000000000000000000000000404040FF000000FF000000FF0203 1778 000000000000000000000000000000000000404040FF000000FF000000FF0203
1523 03FF034F5EFF5EEBFFFF5EEAFFFF5EEAFFFF23E2F8FF1F2228FF0F1626FF0206 1779 03FF034F5EFF5EEBFFFF5EEAFFFF5EEAFFFF23E2F8FF1F2228FF0F1626FF0206
1524 0CFF000000FF000000FF000000FF00000000404040FF000000FF000000FF0203 1780 0CFF000000FF000000FF000000FF00000000404040FF000000FF000000FF0203
1525 03FF0000FFFF0000FFFF1E1E1EFF476BB2FF2A3F6AFF0000FFFF0000FFFF1E1E 1781 03FF0000FFFF0000FFFF1E1E1EFF476BB2FF2A3F6AFF0000FFFF0000FFFF1E1E
1526 - 1EFF000000FF000000FF000000FF000000000000000000000000000000000000  
1527 - 0000000000000000000000000000000000000000000000000000000000000000  
1528 - 0000000000000000000000000000000000000000000000092E00000724000007 1782 + 1EFF000000FF000000FF000000FF000000005A5A5AFF000000FF000000FF0000
  1783 + 00FF675B54FFFFDEB4FFE1F1F6FF8EC1D0FF9BCADAFFF3E1CCFFE7CBB3FF0000
  1784 + 00FF000000FF000000FF000000FF000000000000000000092E00000724000007
1529 2400000724000007240000072400000724000007240000072400000724000007 1785 2400000724000007240000072400000724000007240000072400000724000007
1530 2400000724000007240000092E000000000000000000000109FF000109FF0001 1786 2400000724000007240000092E000000000000000000000109FF000109FF0001
1531 09FF1E1E1EFF5AEFFDFF5EEAFFFF5EEAFFFF5EEAFFFF149DADFF0D0D0EFF0001 1787 09FF1E1E1EFF5AEFFDFF5EEAFFFF5EEAFFFF5EEAFFFF149DADFF0D0D0EFF0001
1532 09FF000109FF000109FF000105FF0000000000000000000109FF000109FF0001 1788 09FF000109FF000109FF000105FF0000000000000000000109FF000109FF0001
1533 09FF0000FFFF0000FFFF1E1E1EFF1E1E1EFF000109FF1E1E1EFF0000FFFF1E1E 1789 09FF0000FFFF0000FFFF1E1E1EFF1E1E1EFF000109FF1E1E1EFF0000FFFF1E1E
1534 - 1EFF000109FF000109FF000105FF000000000000000000000000000000000000  
1535 - 0000000000000000000000000000000000000000000000000000000000000000  
1536 - 00000000000000000000000000000000000000000000000000004DBCB1004DBC 1790 + 1EFF000109FF000109FF000105FF0000000000000000000207FF000104FF0001
  1791 + 04FFFBC78DFFFAECC8FFFAE8C0FFFEDEA9FFFCE3B8FFFAE6C3FFFFF8DAFF644A
  1792 + 35FF000104FF000104FF525256FF0000000000000000000000004DBCB1004DBC
1537 B1004DBCB1004DBCB1004DBCB1004DBCB1004DBCB1004DBCB1004DBCB1004DBC 1793 B1004DBCB1004DBCB1004DBCB1004DBCB1004DBCB1004DBCB1004DBCB1004DBC
1538 B1004DBCB1004DBCB1000000000000000000000000001B3C7DFF144486FF1444 1794 B1004DBCB1004DBCB1000000000000000000000000001B3C7DFF144486FF1444
1539 86FF1E1E1EFF0AA2B7FF5EEAFFFF5EEAFFFF5EEAFFFF5EEAFFFF10353AFF1E1E 1795 86FF1E1E1EFF0AA2B7FF5EEAFFFF5EEAFFFF5EEAFFFF5EEAFFFF10353AFF1E1E
1540 1EFF144486FF134081FFD0D2E0FF00000000000000001B3C7DFF144486FF1444 1796 1EFF144486FF134081FFD0D2E0FF00000000000000001B3C7DFF144486FF1444
1541 86FF0000FFFF0000FFFF0000FFFF1E1E1EFF1E1E1EFF0000FFFF0000FFFF1E1E 1797 86FF0000FFFF0000FFFF0000FFFF1E1E1EFF1E1E1EFF0000FFFF0000FFFF1E1E
1542 - 1EFF1E1E1EFF134081FFD0D2E0FF000000000000000000000000000000000000  
1543 - 0000000000000000000000000000000000000000000000000000000000000000  
1544 - 0000000000000000000000000000000000000000000000000000296355002757 1798 + 1EFF1E1E1EFF134081FFD0D2E0FF0000000000000000424857FF317D92FF2C72
  1799 + A8FF3599D9FF4DB1EAFF5CBBF0FF5CBAEDFF5BB9ECFF5BB9EBFF429FDAFF2A87
  1800 + C5FF2D7288FF20566AFF00000000000000000000000000000000296355002757
1545 BC006DC1830027636C00325B7F0034662900113562003C6C960060B150001247 1801 BC006DC1830027636C00325B7F0034662900113562003C6C960060B150001247
1546 A1005693AB0000000000000000000000000000000000000000005E8A57FF061C 1802 A1005693AB0000000000000000000000000000000000000000005E8A57FF061C
1547 62FF355B54FF1D311FFF5DEEFFFF5EEAFFFF5EEAFFFF5EEAFFFF2AC4D5FF1D1F 1803 62FF355B54FF1D311FFF5DEEFFFF5EEAFFFF5EEAFFFF5EEAFFFF2AC4D5FF1D1F
1548 1CFF0B165DFFE9FAF5FF000000000000000000000000000000005E8A57FF061C 1804 1CFF0B165DFFE9FAF5FF000000000000000000000000000000005E8A57FF061C
1549 62FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF1E1E 1805 62FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF1E1E
1550 - 1EFF1E1E1EFFE9FAF5FF00000000000000000000000000000000000000000000  
1551 - 0000000000000000000000000000000000000000000000000000000000000000  
1552 - 00000000000000000000000000000000000000000000000000001854B8006ABD 1806 + 1EFF1E1E1EFFE9FAF5FF00000000000000000000000000000000346A29FF326A
  1807 + B6FF61A7D4FF53A5D9FF51A5D9FF4FA5D9FF50A5D9FF50A4D9FF5BA5D7FF65A7
  1808 + D3FF01168FFF83BEBEFF000000000000000000000000000000001854B8006ABD
1553 FE006ECE4F000B3AB70073C1D4005AB32B000333EE0089E9FF006BD335000026 1809 FE006ECE4F000B3AB70073C1D4005AB32B000333EE0089E9FF006BD335000026
1554 C10077C7CB004E9F2A00000000000000000000000000D0D7F5FF54AE4DFF1946 1810 C10077C7CB004E9F2A00000000000000000000000000D0D7F5FF54AE4DFF1946
1555 E0FF88ECB6FF418E54FF54F0FFFF5EEAFFFF5EEAFFFF5EEAFFFF5EEAFFFF1768 1811 E0FF88ECB6FF418E54FF54F0FFFF5EEAFFFF5EEAFFFF5EEAFFFF5EEAFFFF1768
1556 74FF1E1E1EFF78D39AFF000000000000000000000000D0D7F5FF54AE4DFF1946 1812 74FF1E1E1EFF78D39AFF000000000000000000000000D0D7F5FF54AE4DFF1946
1557 E0FF5FA87CFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E 1813 E0FF5FA87CFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E
1558 - 1EFF1E1E1EFF78D39AFF00000000000000000000000000000000000000000000  
1559 - 0000000000000000000000000000000000000000000000000000000000000000  
1560 - 0000000000000000000000000000000000000000000000000000000000000000 1814 + 1EFF1E1E1EFF78D39AFF00000000000000000000000000000000266A74FF3A79
  1815 + FFFF89EA7FFF1F5E6EFF3370FFFF89ED84FF2E7452FF1F54FFFF8EF0A4FF357F
  1816 + 52FF1B4EFDFF83E1B0FF00000000000000000000000000000000000000000000
1561 000075CD91003B855B000000000000000000000000000000000063B55900205C 1817 000075CD91003B855B000000000000000000000000000000000063B55900205C
1562 8E000000000000000000000000000000000000000000000000006BC061FF1E4A 1818 8E000000000000000000000000000000000000000000000000006BC061FF1E4A
1563 CFFF77CBC0FF639D64FF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E 1819 CFFF77CBC0FF639D64FF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E
1564 1EFF555555FF1E1E1EFF000000000000000000000000000000006BC061FF1E4A 1820 1EFF555555FF1E1E1EFF000000000000000000000000000000006BC061FF1E4A
1565 CFFF77CBC0FF639D64FF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E 1821 CFFF77CBC0FF639D64FF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E
1566 - 1EFF557FEFFF88E1B9FF00000000000000000000000000000000000000000000  
1567 - 0000000000000000000000000000000000000000000000000000000000000000  
1568 - 000000000000000000000000000000000000424D3E000000000000003E000000  
1569 - 2800000040000000100000000100010000000000800000000000000000000000  
1570 - 000000000000000000000000FFFFFF00BFFDB7FDBFFD0000BFFD33F93E390000  
1571 - 1FF811F81C380000183810381838000000080008000800008001000100010000  
1572 - 8001000100010000000000000000000000000000000000000001000000000000  
1573 - 80010001000100008001800180010000C003800180010000C007C003C0030000  
1574 - C003800380030000F3CFC003C003000000000000000000000000000000000000 1822 + 1EFF557FEFFF88E1B9FF000000000000000000000000000000004F8F44FF1B3D
  1823 + C0FF7ABCB0FF519442FF1B3CBAFF71B6BAFF60A549FF1538ABFF6BA9C5FF63A7
  1824 + 47FF1338A6FF89C4C9FF0000000000000000424D3E000000000000003E000000
  1825 + 2800000040000000300000000100010000000000800100000000000000000000
  1826 + 000000000000000000000000FFFFFF0000000000000000000000000000000000
  1827 + 0000000000000000000000000000000000000000000000000000000000000000
  1828 + 0000000000000000000000000000000000000000000000000000000000000000
  1829 + 0000000000000000000000000000000000000000000000000000000000000000
  1830 + 0000000000000000000000000000000000000000000000000000000000000000
  1831 + 0000000000000000000000000000000000000000000000000000000000000000
  1832 + 0000000000000000000000000000000000000000000000000000000000000000
  1833 + 0000000000000000000000000000000000000000000000000000000000000000
  1834 + 00000000000000000000000000000000BFFDB7FDBFFDBFFFBFFD33F93E39BFF9
  1835 + 1FF811F81C381FF9183810381838000900080008000800098001000100018001
  1836 + 8001000100018003000000000000000100000000000000000001000000000001
  1837 + 80010001000100018001800180018001C003800180018003C007C003C003C003
  1838 + C00380038003C003F3CFC003C003C00300000000000000000000000000000000
1575 000000000000} 1839 000000000000}
1576 end 1840 end
1577 end 1841 end
@@ -40,6 +40,7 @@ uses @@ -40,6 +40,7 @@ uses
40 CACIC_Library, 40 CACIC_Library,
41 ImgList, 41 ImgList,
42 Graphics; 42 Graphics;
  43 +
43 //IdTCPServer; 44 //IdTCPServer;
44 //IdFTPServer; 45 //IdFTPServer;
45 46
@@ -53,7 +54,7 @@ var @@ -53,7 +54,7 @@ var
53 v_versao, 54 v_versao,
54 v_DataCacic2DAT, 55 v_DataCacic2DAT,
55 v_Tamanho_Arquivo, 56 v_Tamanho_Arquivo,
56 - strConfigsPatrimonio : string; 57 + strConfigsPatrimonio : string;
57 58
58 var 59 var
59 BatchFile : TStringList; 60 BatchFile : TStringList;
@@ -63,10 +64,11 @@ var @@ -63,10 +64,11 @@ var
63 64
64 var 65 var
65 g_intTaskBarAtual, 66 g_intTaskBarAtual,
66 - g_intTaskBarAnterior : integer; 67 + g_intTaskBarAnterior : integer;
67 68
68 var 69 var
69 - boolDebugs : Boolean; 70 + boolDebugs,
  71 + boolWinIniChange : Boolean;
70 72
71 var 73 var
72 g_oCacic: TCACIC; 74 g_oCacic: TCACIC;
@@ -185,7 +187,7 @@ type @@ -185,7 +187,7 @@ type
185 procedure Mnu_InfosPatrimoniaisClick(Sender: TObject); 187 procedure Mnu_InfosPatrimoniaisClick(Sender: TObject);
186 procedure HabilitaTCP; 188 procedure HabilitaTCP;
187 procedure HabilitaPatrimonio; 189 procedure HabilitaPatrimonio;
188 - procedure HabilitaSuporteRemoto; 190 + procedure HabilitaSuporteRemoto;
189 procedure Matar(v_dir,v_files: string); 191 procedure Matar(v_dir,v_files: string);
190 Procedure DelValorReg(Chave: String); 192 Procedure DelValorReg(Chave: String);
191 193
@@ -219,7 +221,7 @@ type @@ -219,7 +221,7 @@ type
219 Function RetornaValorVetorUON1(id1 : string) : String; 221 Function RetornaValorVetorUON1(id1 : string) : String;
220 Function RetornaValorVetorUON1a(id1a : string) : String; 222 Function RetornaValorVetorUON1a(id1a : string) : String;
221 Function RetornaValorVetorUON2(id2, idLocal: string) : String; 223 Function RetornaValorVetorUON2(id2, idLocal: string) : String;
222 - procedure Invoca_GerCols(Sender: TObject;p_acao:string); 224 + procedure Invoca_GerCols(p_acao:string);
223 function GetVersionInfo(p_File: string):string; 225 function GetVersionInfo(p_File: string):string;
224 function VerFmt(const MS, LS: DWORD): string; 226 function VerFmt(const MS, LS: DWORD): string;
225 procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND; 227 procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
@@ -228,16 +230,22 @@ type @@ -228,16 +230,22 @@ type
228 // Shutdown do Windows e "derrubar" o Cacic. 230 // Shutdown do Windows e "derrubar" o Cacic.
229 procedure WMQueryEndSession(var Msg : TWMQueryEndSession); Message WM_QUERYENDSESSION; 231 procedure WMQueryEndSession(var Msg : TWMQueryEndSession); Message WM_QUERYENDSESSION;
230 procedure WMMENUSELECT(var msg: TWMMENUSELECT); message WM_MENUSELECT; 232 procedure WMMENUSELECT(var msg: TWMMENUSELECT); message WM_MENUSELECT;
  233 + protected
  234 + procedure WndProc(var Message: TMessage); override;
231 public 235 public
232 Function Implode(p_Array : TStrings ; p_Separador : String) : String; 236 Function Implode(p_Array : TStrings ; p_Separador : String) : String;
233 function GetFolderDate(Folder: string): TDateTime; 237 function GetFolderDate(Folder: string): TDateTime;
234 Function CipherClose : String; 238 Function CipherClose : String;
  239 + Procedure CipherCloseGenerico(p_TstrCipherOpened : TStrings; p_StrFileName : String);
235 Function CipherOpen : TStrings; 240 Function CipherOpen : TStrings;
  241 + Procedure CipherOpenGenerico(var p_TstrCipherOpened : TStrings; p_StrFileName : String);
236 Function Explode(Texto, Separador : String) : TStrings; 242 Function Explode(Texto, Separador : String) : TStrings;
237 Function GetValorDatMemoria(p_Chave : String; p_tstrCipherOpened : TStrings) : String; 243 Function GetValorDatMemoria(p_Chave : String; p_tstrCipherOpened : TStrings) : String;
238 Procedure SetValorDatMemoria(p_Chave : string; p_Valor : String; p_tstrCipherOpened : TStrings); 244 Procedure SetValorDatMemoria(p_Chave : string; p_Valor : String; p_tstrCipherOpened : TStrings);
239 function URLDecode(const S: string): string; 245 function URLDecode(const S: string): string;
240 Function XML_RetornaValor(Tag : String; Fonte : String): String; 246 Function XML_RetornaValor(Tag : String; Fonte : String): String;
  247 + Procedure EqualizaInformacoesPatrimoniais;
  248 + Function SetValorChaveRegEdit(Chave: String; Dado: Variant): Variant;
241 end; 249 end;
242 250
243 var FormularioGeral : TFormularioGeral; 251 var FormularioGeral : TFormularioGeral;
@@ -248,8 +256,14 @@ implementation @@ -248,8 +256,14 @@ implementation
248 256
249 {$R *.dfm} 257 {$R *.dfm}
250 258
251 -Uses StrUtils, Inifiles, frmConfiguracoes, frmSenha, frmLog,  
252 - Math,LibXmlParser,WinVNC; 259 +Uses StrUtils,
  260 + Inifiles,
  261 + frmConfiguracoes,
  262 + frmSenha,
  263 + frmLog,
  264 + Math,
  265 + LibXmlParser,
  266 + WinVNC;
253 267
254 // Estruturas de dados para armazenar os itens da uon1, uon1a e uon2 268 // Estruturas de dados para armazenar os itens da uon1, uon1a e uon2
255 type 269 type
@@ -302,6 +316,17 @@ begin @@ -302,6 +316,17 @@ begin
302 (VetorUON2[I].id_local = idLocal) Then Result := VetorUON2[I].nm2; 316 (VetorUON2[I].id_local = idLocal) Then Result := VetorUON2[I].nm2;
303 end; 317 end;
304 318
  319 +procedure TFormularioGeral.WndProc(var Message: TMessage);
  320 +begin
  321 + case Message.Msg of
  322 + WM_WININICHANGE :
  323 + Begin
  324 + // Esta mensagem é recebida quando efetuado LogOff/LogOn em máquinas com VISTA,
  325 + boolWinIniChange := true;
  326 + End;
  327 + end;
  328 + inherited;
  329 +end;
305 procedure TFormularioGeral.MontaVetoresPatrimonio(p_strConfigs : String); 330 procedure TFormularioGeral.MontaVetoresPatrimonio(p_strConfigs : String);
306 var Parser : TXmlParser; 331 var Parser : TXmlParser;
307 i : integer; 332 i : integer;
@@ -473,6 +498,7 @@ Begin @@ -473,6 +498,7 @@ Begin
473 if (tstrJANELAS.Count > 0) then 498 if (tstrJANELAS.Count > 0) then
474 for intAux := 0 to tstrJANELAS.Count-1 Do 499 for intAux := 0 to tstrJANELAS.Count-1 Do
475 Begin 500 Begin
  501 +
476 h := FormularioGeral.FindWindowByTitle(tstrJANELAS[intAux]); 502 h := FormularioGeral.FindWindowByTitle(tstrJANELAS[intAux]);
477 if h <> 0 then intContaJANELAS := 1; 503 if h <> 0 then intContaJANELAS := 1;
478 break; 504 break;
@@ -546,8 +572,10 @@ var @@ -546,8 +572,10 @@ var
546 Found: Integer; 572 Found: Integer;
547 Date: TDateTime; 573 Date: TDateTime;
548 begin 574 begin
549 - if Folder[Length(folder)] = '\' then  
550 - Delete(Folder, Length(folder), 1); 575 +
  576 + if (Folder[Length(folder)] = '\') then
  577 + Folder := Copy(Folder,0,Length(Folder)-1);
  578 +
551 Result := 0; 579 Result := 0;
552 Found := FindFirst(Folder, faDirectory, Rec); 580 Found := FindFirst(Folder, faDirectory, Rec);
553 try 581 try
@@ -610,6 +638,42 @@ begin @@ -610,6 +638,42 @@ begin
610 log_DEBUG(g_oCacic.getCacicPath + g_oCacic.getDatFileName+' fechado com sucesso!'); 638 log_DEBUG(g_oCacic.getCacicPath + g_oCacic.getDatFileName+' fechado com sucesso!');
611 end; 639 end;
612 640
  641 +Procedure TFormularioGeral.CipherCloseGenerico(p_TstrCipherOpened : TStrings; p_StrFileName : String);
  642 +var v_DatFile : TextFile;
  643 + intAux : integer;
  644 + v_strCipherOpenImploded ,
  645 + v_strCipherClosed : string;
  646 +begin
  647 +
  648 + log_DEBUG('Fechando '+p_StrFileName);
  649 + if boolDebugs then
  650 + for intAux := 0 to (p_TstrCipherOpened.Count-1) do
  651 + log_DEBUG('Posição ['+inttostr(intAux)+']='+p_TstrCipherOpened[intAux]);
  652 +
  653 + try
  654 + FileSetAttr (p_StrFileName,0); // Retira os atributos do arquivo para evitar o erro FILE ACCESS DENIED em máquinas 2000
  655 +
  656 + log_DEBUG('Localizando arquivo: '+p_StrFileName);
  657 + AssignFile(v_DatFile,p_StrFileName); {Associa o arquivo a uma variável do tipo TextFile}
  658 + {$IOChecks off}
  659 + log_DEBUG('Abrindo arquivo: '+p_StrFileName);
  660 + ReWrite(v_DatFile); {Abre o arquivo texto}
  661 + {$IOChecks on}
  662 + log_DEBUG('Append(2) no arquivo: '+p_StrFileName);
  663 + Append(v_DatFile);
  664 + log_DEBUG('Criando vetor para criptografia.');
  665 + v_strCipherOpenImploded := Implode(p_TstrCipherOpened,g_oCacic.getSeparatorKey);
  666 +
  667 + log_DEBUG('Salvando a string "'+v_strCipherOpenImploded+'" em '+p_StrFileName);
  668 + v_strCipherClosed := g_oCacic.enCrypt(v_strCipherOpenImploded);
  669 + Writeln(v_DatFile,v_strCipherClosed); {Grava a string Texto no arquivo texto}
  670 + CloseFile(v_DatFile);
  671 + except
  672 + log_diario('ERRO NA GRAVAÇÃO DO ARQUIVO DE CONFIGURAÇÕES.('+ p_StrFileName+')');
  673 + end;
  674 + log_DEBUG(p_StrFileName+' fechado com sucesso!');
  675 +end;
  676 +
613 function TFormularioGeral.Get_File_Size(sFileToExamine: string; bInKBytes: Boolean): string; 677 function TFormularioGeral.Get_File_Size(sFileToExamine: string; bInKBytes: Boolean): string;
614 var 678 var
615 SearchRec: TSearchRec; 679 SearchRec: TSearchRec;
@@ -694,6 +758,54 @@ begin @@ -694,6 +758,54 @@ begin
694 else log_DEBUG(g_oCacic.getCacicPath + g_oCacic.getDatFileName + ' ainda não alterado! Não foi necessário reabrí-lo.'); 758 else log_DEBUG(g_oCacic.getCacicPath + g_oCacic.getDatFileName + ' ainda não alterado! Não foi necessário reabrí-lo.');
695 end; 759 end;
696 760
  761 +Procedure TFormularioGeral.CipherOpenGenerico(var p_TstrCipherOpened : TStrings; p_StrFileName : String);
  762 +var v_DatFile : TextFile;
  763 + strClosedAUX,
  764 + strOpenedAUX : String;
  765 +begin
  766 + if FileExists(p_StrFileName) then
  767 + begin
  768 + log_DEBUG(p_StrFileName+' já existe!');
  769 + AssignFile(v_DatFile,p_StrFileName);
  770 + log_DEBUG('Abrindo '+p_StrFileName);
  771 +
  772 + {$IOChecks off}
  773 + Reset(v_DatFile);
  774 + {$IOChecks on}
  775 +
  776 + log_DEBUG('Verificação de Existência.');
  777 + if (IOResult <> 0)then // Arquivo não existe, será recriado.
  778 + begin
  779 + log_DEBUG('Recriando "'+p_StrFileName+'"');
  780 + Rewrite (v_DatFile);
  781 + log_DEBUG('Inserindo Primeira Linha.');
  782 + Append(v_DatFile);
  783 + end;
  784 +
  785 + log_DEBUG('Lendo '+p_StrFileName);
  786 +
  787 + Readln(v_DatFile,strClosedAUX);
  788 +
  789 + log_DEBUG('Povoando Variável');
  790 + while not EOF(v_DatFile) do Readln(v_DatFile,strClosedAUX);
  791 + log_DEBUG('Fechando '+p_StrFileName);
  792 + CloseFile(v_DatFile);
  793 + log_DEBUG('Chamando Criptografia de conteúdo');
  794 + strOpenedAUX := g_oCacic.deCrypt(strClosedAUX);
  795 + end;
  796 + if (trim(strOpenedAUX)<>'') then
  797 + p_TstrCipherOpened := explode(strOpenedAUX,g_oCacic.getSeparatorKey)
  798 + else
  799 + Begin
  800 + p_TstrCipherOpened := explode('Configs.ID_SO'+g_oCacic.getSeparatorKey+ g_oCacic.getWindowsStrId() +g_oCacic.getSeparatorKey+
  801 + 'Configs.Endereco_WS'+g_oCacic.getSeparatorKey+'/cacic2/ws/',g_oCacic.getSeparatorKey+'Patrimonio.dt_ultima_renovacao'+g_oCacic.getSeparatorKey+ '0');
  802 + log_DEBUG(p_StrFileName+' Inexistente. Criado o DAT em memória.');
  803 + End;
  804 +
  805 + if p_TstrCipherOpened.Count mod 2 = 0 then
  806 + p_TstrCipherOpened.Add('');
  807 +end;
  808 +
697 Procedure TFormularioGeral.SetValorDatMemoria(p_Chave : string; p_Valor : String; p_tstrCipherOpened : TStrings); 809 Procedure TFormularioGeral.SetValorDatMemoria(p_Chave : string; p_Valor : String; p_tstrCipherOpened : TStrings);
698 var v_Aux : string; 810 var v_Aux : string;
699 begin 811 begin
@@ -718,6 +830,57 @@ begin @@ -718,6 +830,57 @@ begin
718 log_DEBUG('Resgatando Chave: "'+p_Chave+'" de MemoryDAT => "'+Result+'"'); 830 log_DEBUG('Resgatando Chave: "'+p_Chave+'" de MemoryDAT => "'+Result+'"');
719 end; 831 end;
720 832
  833 +function TFormularioGeral.SetValorChaveRegEdit(Chave: String; Dado: Variant): Variant;
  834 +var RegEditSet: TRegistry;
  835 + RegDataType: TRegDataType;
  836 + strRootKey, strKey, strValue : String;
  837 + ListaAuxSet : TStrings;
  838 + I : Integer;
  839 +begin
  840 + ListaAuxSet := g_oCacic.explode(Chave, '\');
  841 + strRootKey := ListaAuxSet[0];
  842 + For I := 1 To ListaAuxSet.Count - 2 Do
  843 + strKey := strKey + ListaAuxSet[I] + '\';
  844 + strValue := ListaAuxSet[ListaAuxSet.Count - 1];
  845 +
  846 + RegEditSet := TRegistry.Create;
  847 + try
  848 + log_DEBUG('Em TFormularioGeral.SetValorChaveRegEdit: Abrindo Registry para Escrita => Root: "'+strRootKey+ '" Key: "'+strKey+'"');
  849 + RegEditSet.Access := KEY_WRITE;
  850 + RegEditSet.Rootkey := GetRootKey(strRootKey);
  851 +
  852 + if RegEditSet.OpenKey(strKey, True) then
  853 + Begin
  854 + RegDataType := RegEditSet.GetDataType(strValue);
  855 +
  856 + // Sempre será String
  857 + RegDataType := rdString;
  858 +
  859 + if RegDataType = rdString then
  860 + begin
  861 + RegEditSet.WriteString(strValue, Dado);
  862 + end
  863 + else if RegDataType = rdExpandString then
  864 + begin
  865 + RegEditSet.WriteExpandString(strValue, Dado);
  866 + end
  867 + else if RegDataType = rdInteger then
  868 + begin
  869 + RegEditSet.WriteInteger(strValue, Dado);
  870 + end
  871 + else
  872 + begin
  873 + RegEditSet.WriteString(strValue, Dado);
  874 + end;
  875 +
  876 + end;
  877 + finally
  878 + RegEditSet.CloseKey;
  879 + end;
  880 + ListaAuxSet.Free;
  881 + RegEditSet.Free;
  882 +end;
  883 +
721 function TFormularioGeral.VerFmt(const MS, LS: DWORD): string; 884 function TFormularioGeral.VerFmt(const MS, LS: DWORD): string;
722 // Format the version number from the given DWORDs containing the info 885 // Format the version number from the given DWORDs containing the info
723 begin 886 begin
@@ -912,26 +1075,26 @@ begin @@ -912,26 +1075,26 @@ begin
912 while result=0 do 1075 while result=0 do
913 begin 1076 begin
914 log_DEBUG('Tentativa de Exclusão de "'+v_dir + SearchRec.Name+'"'); 1077 log_DEBUG('Tentativa de Exclusão de "'+v_dir + SearchRec.Name+'"');
915 - DeleteFile(v_dir+SearchRec.Name); 1078 + DeleteFile(PAnsiChar(v_dir+SearchRec.Name));
916 Result:=FindNext(SearchRec); 1079 Result:=FindNext(SearchRec);
917 end; 1080 end;
918 end; 1081 end;
919 1082
920 procedure TFormularioGeral.HabilitaTCP; 1083 procedure TFormularioGeral.HabilitaTCP;
921 Begin 1084 Begin
  1085 + FormularioGeral.EqualizaInformacoesPatrimoniais;
922 // Desabilita/Habilita a opção de Informações de TCP/IP 1086 // Desabilita/Habilita a opção de Informações de TCP/IP
923 - Mnu_InfosTCP.Enabled := False;  
924 - if (getValorDatMemoria('TcpIp.TE_NOME_HOST' ,v_tstrCipherOpened) +  
925 - getValorDatMemoria('TcpIp.TE_IP' ,v_tstrCipherOpened) +  
926 - getValorDatMemoria('TcpIp.ID_IP_REDE' ,v_tstrCipherOpened) +  
927 - getValorDatMemoria('TcpIp.TE_DOMINIO_DNS' ,v_tstrCipherOpened) +  
928 - getValorDatMemoria('TcpIp.TE_DNS_PRIMARIO' ,v_tstrCipherOpened) +  
929 - getValorDatMemoria('TcpIp.TE_DNS_SECUNDARIO' ,v_tstrCipherOpened) +  
930 - getValorDatMemoria('TcpIp.TE_GATEWAY' ,v_tstrCipherOpened) +  
931 - getValorDatMemoria('TcpIp.TE_MASCARA' ,v_tstrCipherOpened) +  
932 - getValorDatMemoria('TcpIp.TE_SERV_DHCP' ,v_tstrCipherOpened) +  
933 - getValorDatMemoria('TcpIp.TE_WINS_PRIMARIO' ,v_tstrCipherOpened) +  
934 - getValorDatMemoria('TcpIp.TE_WINS_SECUNDARIO',v_tstrCipherOpened) <> '') then Mnu_InfosTCP.Enabled := True; 1087 + Mnu_InfosTCP.Enabled := (getValorDatMemoria('TcpIp.TE_NOME_HOST' ,v_tstrCipherOpened) +
  1088 + getValorDatMemoria('TcpIp.TE_IP' ,v_tstrCipherOpened) +
  1089 + getValorDatMemoria('TcpIp.ID_IP_REDE' ,v_tstrCipherOpened) +
  1090 + getValorDatMemoria('TcpIp.TE_DOMINIO_DNS' ,v_tstrCipherOpened) +
  1091 + getValorDatMemoria('TcpIp.TE_DNS_PRIMARIO' ,v_tstrCipherOpened) +
  1092 + getValorDatMemoria('TcpIp.TE_DNS_SECUNDARIO' ,v_tstrCipherOpened) +
  1093 + getValorDatMemoria('TcpIp.TE_GATEWAY' ,v_tstrCipherOpened) +
  1094 + getValorDatMemoria('TcpIp.TE_MASCARA' ,v_tstrCipherOpened) +
  1095 + getValorDatMemoria('TcpIp.TE_SERV_DHCP' ,v_tstrCipherOpened) +
  1096 + getValorDatMemoria('TcpIp.TE_WINS_PRIMARIO' ,v_tstrCipherOpened) +
  1097 + getValorDatMemoria('TcpIp.TE_WINS_SECUNDARIO',v_tstrCipherOpened) <> '');
935 End; 1098 End;
936 1099
937 Function TFormularioGeral.Explode(Texto, Separador : String) : TStrings; 1100 Function TFormularioGeral.Explode(Texto, Separador : String) : TStrings;
@@ -978,17 +1141,13 @@ end; @@ -978,17 +1141,13 @@ end;
978 procedure TFormularioGeral.HabilitaPatrimonio; 1141 procedure TFormularioGeral.HabilitaPatrimonio;
979 Begin 1142 Begin
980 // Desabilita/Habilita a opção de Informações Patrimoniais 1143 // Desabilita/Habilita a opção de Informações Patrimoniais
981 - Mnu_InfosPatrimoniais.Enabled := False;  
982 - if (getValorDatMemoria('Configs.CS_COLETA_PATRIMONIO',v_tstrCipherOpened) = 'S') then Mnu_InfosPatrimoniais.Enabled := True; 1144 + Mnu_InfosPatrimoniais.Enabled := (getValorDatMemoria('Configs.CS_COLETA_PATRIMONIO',v_tstrCipherOpened) = 'S');
983 End; 1145 End;
984 1146
985 procedure TFormularioGeral.HabilitaSuporteRemoto; 1147 procedure TFormularioGeral.HabilitaSuporteRemoto;
986 Begin 1148 Begin
987 // Desabilita/Habilita a opção de Suporte Remoto 1149 // Desabilita/Habilita a opção de Suporte Remoto
988 - Mnu_SuporteRemoto.Enabled := False;  
989 - if (getValorDatMemoria('Configs.CS_SUPORTE_REMOTO',v_tstrCipherOpened) = 'S') and  
990 - (FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe')) then  
991 - Mnu_SuporteRemoto.Enabled := True; 1150 + Mnu_SuporteRemoto.Enabled := (getValorDatMemoria('Configs.CS_SUPORTE_REMOTO',v_tstrCipherOpened) = 'S') and (FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe'));
992 End; 1151 End;
993 1152
994 1153
@@ -1071,13 +1230,16 @@ var strAux, @@ -1071,13 +1230,16 @@ var strAux,
1071 v_Aguarde : TextFile; 1230 v_Aguarde : TextFile;
1072 v_SystemDrive : TStrings; 1231 v_SystemDrive : TStrings;
1073 begin 1232 begin
  1233 +
1074 // Essas variáveis ajudarão a controlar o redesenho do ícone no systray, 1234 // Essas variáveis ajudarão a controlar o redesenho do ícone no systray,
1075 // evitando o "roubo" do foco. 1235 // evitando o "roubo" do foco.
1076 g_intTaskBarAtual := 0; 1236 g_intTaskBarAtual := 0;
1077 g_intTaskBarAnterior := 0; 1237 g_intTaskBarAnterior := 0;
1078 - 1238 + boolWinIniChange := false;
  1239 +
1079 // Não mostrar o formulário... 1240 // Não mostrar o formulário...
1080 Application.ShowMainForm:=false; 1241 Application.ShowMainForm:=false;
  1242 +
1081 g_oCacic := TCACIC.Create; 1243 g_oCacic := TCACIC.Create;
1082 1244
1083 g_oCacic.setBoolCipher(true); 1245 g_oCacic.setBoolCipher(true);
@@ -1086,7 +1248,6 @@ begin @@ -1086,7 +1248,6 @@ begin
1086 1248
1087 1249
1088 Try 1250 Try
1089 -  
1090 g_oCacic.setCacicPath(getValorChaveRegIni('Cacic2','cacic_dir',g_oCacic.getWinDir + 'chksis.ini')) ; 1251 g_oCacic.setCacicPath(getValorChaveRegIni('Cacic2','cacic_dir',g_oCacic.getWinDir + 'chksis.ini')) ;
1091 1252
1092 if not DirectoryExists(g_oCacic.getCacicPath + 'Temp') then 1253 if not DirectoryExists(g_oCacic.getCacicPath + 'Temp') then
@@ -1121,9 +1282,9 @@ begin @@ -1121,9 +1282,9 @@ begin
1121 Writeln(v_Aguarde,'Futuramente penso em colocar aqui o pID, para possibilitar finalização via software externo...'); 1282 Writeln(v_Aguarde,'Futuramente penso em colocar aqui o pID, para possibilitar finalização via software externo...');
1122 Append(v_Aguarde); 1283 Append(v_Aguarde);
1123 1284
1124 - v_DataCacic2DAT := '';  
1125 - v_tstrCipherOpened := TStrings.Create;  
1126 - v_tstrCipherOpened := CipherOpen; 1285 + v_DataCacic2DAT := '';
  1286 + v_tstrCipherOpened := TStrings.Create;
  1287 + v_tstrCipherOpened := CipherOpen;
1127 1288
1128 if FileExists(g_oCacic.getCacicPath + 'cacic2.ini') then 1289 if FileExists(g_oCacic.getCacicPath + 'cacic2.ini') then
1129 Begin 1290 Begin
@@ -1146,6 +1307,13 @@ begin @@ -1146,6 +1307,13 @@ begin
1146 Matar(g_oCacic.getCacicPath,'cacic2.ini'); 1307 Matar(g_oCacic.getCacicPath,'cacic2.ini');
1147 End; 1308 End;
1148 1309
  1310 + // Procedimento para que sejam igualadas as informações de patrimônio caso seja usado o MapaCACIC
  1311 + EqualizaInformacoesPatrimoniais;
  1312 +
  1313 + // Inicializo bloqueando o módulo de suporte remoto seguro na FireWall nativa.
  1314 + if FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe') then
  1315 + g_oCacic.addApplicationToFirewall('srCACIC - Suporte Remoto Seguro do Sistema CACIC',g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe', false);
  1316 +
1149 if (ParamCount > 0) then //Caso o Cacic2 seja chamado com passagem de parâmetros... 1317 if (ParamCount > 0) then //Caso o Cacic2 seja chamado com passagem de parâmetros...
1150 Begin 1318 Begin
1151 // Parâmetros possíveis (aceitos) 1319 // Parâmetros possíveis (aceitos)
@@ -1190,7 +1358,7 @@ begin @@ -1190,7 +1358,7 @@ begin
1190 ShutdownEmExecucao := False; 1358 ShutdownEmExecucao := False;
1191 1359
1192 // Não mostrar o formulário... 1360 // Não mostrar o formulário...
1193 - Application.ShowMainForm:=false; 1361 + //Application.ShowMainForm:=false;
1194 1362
1195 Try 1363 Try
1196 // A chamada abaixo define os valores usados pelo agente principal. 1364 // A chamada abaixo define os valores usados pelo agente principal.
@@ -1200,6 +1368,7 @@ begin @@ -1200,6 +1368,7 @@ begin
1200 End; 1368 End;
1201 1369
1202 InicializaTray; 1370 InicializaTray;
  1371 +
1203 CipherClose; 1372 CipherClose;
1204 End 1373 End
1205 else 1374 else
@@ -1211,14 +1380,43 @@ begin @@ -1211,14 +1380,43 @@ begin
1211 Except 1380 Except
1212 log_diario('PROBLEMAS NA INICIALIZAÇÃO (2)'); 1381 log_diario('PROBLEMAS NA INICIALIZAÇÃO (2)');
1213 End; 1382 End;
1214 -  
1215 end; 1383 end;
1216 1384
  1385 +Procedure TFormularioGeral.EqualizaInformacoesPatrimoniais;
  1386 +var tstrAUX : TStrings;
  1387 +Begin
  1388 + tstrAUX := TStrings.Create;
  1389 + CipherOpenGenerico(tstrAUX,g_ocacic.getCacicPath + 'MapaCACIC.dat');
  1390 +
  1391 + // Caso as informações patrimoniais coletadas pelo MapaCACIC sejam mais atuais, obtenho-as...
  1392 + if (getValorDatMemoria('Patrimonio.dt_ultima_renovacao',v_tstrCipherOpened) = '') or
  1393 + (StrToInt64(getValorDatMemoria('Patrimonio.dt_ultima_renovacao',tstrAUX)) > StrToInt64(getValorDatMemoria('Patrimonio.dt_ultima_renovacao',v_tstrCipherOpened))) then
  1394 + Begin
  1395 + SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1' , getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1' ,tstrAUX), v_tstrCipherOpened);
  1396 + SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1a', getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1a',tstrAUX), v_tstrCipherOpened);
  1397 + SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2' , getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2' ,tstrAUX), v_tstrCipherOpened);
  1398 + SetValorDatMemoria('Patrimonio.id_local' , getValorDatMemoria('Patrimonio.id_local' ,tstrAUX), v_tstrCipherOpened);
  1399 + SetValorDatMemoria('Patrimonio.te_localizacao_complementar' , getValorDatMemoria('Patrimonio.te_localizacao_complementar' ,tstrAUX), v_tstrCipherOpened);
  1400 + SetValorDatMemoria('Patrimonio.te_info_patrimonio1' , getValorDatMemoria('Patrimonio.te_info_patrimonio1' ,tstrAUX), v_tstrCipherOpened);
  1401 + SetValorDatMemoria('Patrimonio.te_info_patrimonio2' , getValorDatMemoria('Patrimonio.te_info_patrimonio2' ,tstrAUX), v_tstrCipherOpened);
  1402 + SetValorDatMemoria('Patrimonio.te_info_patrimonio3' , getValorDatMemoria('Patrimonio.te_info_patrimonio3' ,tstrAUX), v_tstrCipherOpened);
  1403 + SetValorDatMemoria('Patrimonio.te_info_patrimonio4' , getValorDatMemoria('Patrimonio.te_info_patrimonio4' ,tstrAUX), v_tstrCipherOpened);
  1404 + SetValorDatMemoria('Patrimonio.te_info_patrimonio5' , getValorDatMemoria('Patrimonio.te_info_patrimonio5' ,tstrAUX), v_tstrCipherOpened);
  1405 + SetValorDatMemoria('Patrimonio.te_info_patrimonio6' , getValorDatMemoria('Patrimonio.te_info_patrimonio6' ,tstrAUX), v_tstrCipherOpened);
  1406 + SetValorDatMemoria('Patrimonio.ultima_rede_obtida' , getValorDatMemoria('Patrimonio.ultima_rede_obtida' ,tstrAUX), v_tstrCipherOpened);
  1407 + SetValorDatMemoria('Patrimonio.dt_ultima_renovacao' , getValorDatMemoria('Patrimonio.dt_ultima_renovacao' ,tstrAUX), v_tstrCipherOpened);
  1408 + SetValorDatMemoria('Patrimonio.Configs' , getValorDatMemoria('Patrimonio.Configs' ,tstrAUX), v_tstrCipherOpened);
  1409 +
  1410 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio1', getValorDatMemoria('Patrimonio.te_info_patrimonio1',tstrAUX));
  1411 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio4', getValorDatMemoria('Patrimonio.te_info_patrimonio4',tstrAUX));
  1412 + End;
  1413 + tstrAUX.Free;
  1414 +End;
  1415 +
1217 procedure TFormularioGeral.SetaVariaveisGlobais; 1416 procedure TFormularioGeral.SetaVariaveisGlobais;
1218 var v_aux : string; 1417 var v_aux : string;
1219 Begin 1418 Begin
1220 Try 1419 Try
1221 -  
1222 // Inicialização do indicador de SENHA JÁ INFORMADA 1420 // Inicialização do indicador de SENHA JÁ INFORMADA
1223 SetValorDatMemoria('Configs.SJI','',v_tstrCipherOpened); 1421 SetValorDatMemoria('Configs.SJI','',v_tstrCipherOpened);
1224 1422
@@ -1239,9 +1437,13 @@ Begin @@ -1239,9 +1437,13 @@ Begin
1239 Timer_Nu_Exec_Apos.Interval := strtoint(getValorDatMemoria('Configs.NU_EXEC_APOS',v_tstrCipherOpened)) * 60000; 1437 Timer_Nu_Exec_Apos.Interval := strtoint(getValorDatMemoria('Configs.NU_EXEC_APOS',v_tstrCipherOpened)) * 60000;
1240 1438
1241 // Se for a primeiríssima execução do agente naquela máquina (após sua instalação) já faz todas as coletas configuradas, sem esperar os minutos definidos pelo administrador. 1439 // Se for a primeiríssima execução do agente naquela máquina (após sua instalação) já faz todas as coletas configuradas, sem esperar os minutos definidos pelo administrador.
  1440 + // Também armazena os Hash-Codes dos módulos principais, evitando novo download...
1242 If (getValorDatMemoria('Configs.NU_EXEC_APOS',v_tstrCipherOpened) = '12345') then // Flag usada na inicialização. Só entra nesse if se for a primeira execução do cacic após carregado. 1441 If (getValorDatMemoria('Configs.NU_EXEC_APOS',v_tstrCipherOpened) = '12345') then // Flag usada na inicialização. Só entra nesse if se for a primeira execução do cacic após carregado.
1243 begin 1442 begin
1244 Timer_Nu_Exec_Apos.Interval := 60000; // 60 segundos para chamar Ger_Cols /coletas 1443 Timer_Nu_Exec_Apos.Interval := 60000; // 60 segundos para chamar Ger_Cols /coletas
  1444 + SetValorDatMemoria('Configs.TE_HASH_CACIC2' , g_oCacic.getFileHash(ParamStr(0)) ,v_tstrCipherOpened);
  1445 + SetValorDatMemoria('Configs.TE_HASH_GER_COLS', g_oCacic.getFileHash(g_oCacic.getCacicPath + 'modulos\ger_cols.exe'),v_tstrCipherOpened);
  1446 + SetValorDatMemoria('Configs.TE_HASH_CHKSIS' , g_oCacic.getFileHash(g_oCacic.getWinDir + 'chksis.exe') ,v_tstrCipherOpened);
1245 end 1447 end
1246 else log_diario('Executar as ações automaticamente a cada ' +getValorDatMemoria('Configs.NU_INTERVALO_EXEC',v_tstrCipherOpened) + ' horas.'); 1448 else log_diario('Executar as ações automaticamente a cada ' +getValorDatMemoria('Configs.NU_INTERVALO_EXEC',v_tstrCipherOpened) + ' horas.');
1247 1449
@@ -1322,8 +1524,7 @@ begin @@ -1322,8 +1524,7 @@ begin
1322 If (getValorDatMemoria('Configs.SJI',v_tstrCipherOpened) = 'S') Then Finaliza; 1524 If (getValorDatMemoria('Configs.SJI',v_tstrCipherOpened) = 'S') Then Finaliza;
1323 end; 1525 end;
1324 1526
1325 -procedure TFormularioGeral.Invoca_GerCols(Sender: TObject;p_acao:string);  
1326 -var v_versao : string; 1527 +procedure TFormularioGeral.Invoca_GerCols(p_acao:string);
1327 begin 1528 begin
1328 Matar(g_oCacic.getCacicPath + 'temp\','*.txt'); 1529 Matar(g_oCacic.getCacicPath + 'temp\','*.txt');
1329 Matar(g_oCacic.getCacicPath + 'temp\','*.ini'); 1530 Matar(g_oCacic.getCacicPath + 'temp\','*.ini');
@@ -1335,6 +1536,7 @@ begin @@ -1335,6 +1536,7 @@ begin
1335 CipherClose; 1536 CipherClose;
1336 log_diario('Invocando Gerente de Coletas com ação: "'+p_acao+'"'); 1537 log_diario('Invocando Gerente de Coletas com ação: "'+p_acao+'"');
1337 Timer_Nu_Exec_Apos.Enabled := False; 1538 Timer_Nu_Exec_Apos.Enabled := False;
  1539 + Log_DEBUG('Criando Processo Ger_Cols...');
1338 g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'modulos\GER_COLS.EXE /'+p_acao+' /CacicPath='+g_oCacic.getCacicPath,false,SW_HIDE); 1540 g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'modulos\GER_COLS.EXE /'+p_acao+' /CacicPath='+g_oCacic.getCacicPath,false,SW_HIDE);
1339 End 1541 End
1340 else 1542 else
@@ -1441,7 +1643,7 @@ begin @@ -1441,7 +1643,7 @@ begin
1441 1643
1442 1644
1443 log_DEBUG('Primeira chamada ao Gerente de Coletas...'); 1645 log_DEBUG('Primeira chamada ao Gerente de Coletas...');
1444 - Invoca_GerCols(nil,'coletas'); 1646 + Invoca_GerCols('coletas');
1445 sleep(3000); // Pausa para início do Gerente de Coletas e criação do arquivo temp\aguarde_GER.txt 1647 sleep(3000); // Pausa para início do Gerente de Coletas e criação do arquivo temp\aguarde_GER.txt
1446 1648
1447 InicializaTray; 1649 InicializaTray;
@@ -1545,7 +1747,7 @@ begin @@ -1545,7 +1747,7 @@ begin
1545 1747
1546 // Agora o Gerente de Coletas será invocado para fazer a atualização da versão do Agente Principal 1748 // Agora o Gerente de Coletas será invocado para fazer a atualização da versão do Agente Principal
1547 log_diario('Invocando Gerente de Coletas para Atualização do Agente Principal.'); 1749 log_diario('Invocando Gerente de Coletas para Atualização do Agente Principal.');
1548 - Invoca_GerCols(nil,'UpdatePrincipal'); 1750 + Invoca_GerCols('UpdatePrincipal');
1549 log_diario('Finalizando... (Atualização em aproximadamente 20 segundos).'); 1751 log_diario('Finalizando... (Atualização em aproximadamente 20 segundos).');
1550 Finaliza; 1752 Finaliza;
1551 End; 1753 End;
@@ -1561,7 +1763,7 @@ begin @@ -1561,7 +1763,7 @@ begin
1561 if (intContaExec = 2) then 1763 if (intContaExec = 2) then
1562 Begin 1764 Begin
1563 log_DEBUG('Segunda chamada ao Gerente de Coletas...'); 1765 log_DEBUG('Segunda chamada ao Gerente de Coletas...');
1564 - Invoca_GerCols(nil,'coletas'); 1766 + Invoca_GerCols('coletas');
1565 intContaExec := 3; 1767 intContaExec := 3;
1566 End; 1768 End;
1567 1769
@@ -1602,37 +1804,43 @@ begin @@ -1602,37 +1804,43 @@ begin
1602 end; 1804 end;
1603 1805
1604 procedure TFormularioGeral.Mnu_InfosPatrimoniaisClick(Sender: TObject); 1806 procedure TFormularioGeral.Mnu_InfosPatrimoniaisClick(Sender: TObject);
1605 -var v_abre_janela_patrimonio : boolean; 1807 +var boolAbreJanelaPatrimonio : boolean;
  1808 + tstrAUX : TStrings;
1606 begin 1809 begin
1607 -v_abre_janela_patrimonio := true;  
1608 -If (( getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1' ,v_tstrCipherOpened)+  
1609 - getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2' ,v_tstrCipherOpened)+  
1610 - getValorDatMemoria('Patrimonio.te_localizacao_complementar' ,v_tstrCipherOpened)+  
1611 - getValorDatMemoria('Patrimonio.te_info_patrimonio1' ,v_tstrCipherOpened)+  
1612 - getValorDatMemoria('Patrimonio.te_info_patrimonio2' ,v_tstrCipherOpened)+  
1613 - getValorDatMemoria('Patrimonio.te_info_patrimonio3' ,v_tstrCipherOpened)+  
1614 - getValorDatMemoria('Patrimonio.te_info_patrimonio4' ,v_tstrCipherOpened)+  
1615 - getValorDatMemoria('Patrimonio.te_info_patrimonio5' ,v_tstrCipherOpened)+  
1616 - getValorDatMemoria('Patrimonio.te_info_patrimonio6' ,v_tstrCipherOpened)+  
1617 - getValorDatMemoria('Patrimonio.ultima_rede_obtida' ,v_tstrCipherOpened))<>'') then  
1618 - Begin  
1619 - SetValorDatMemoria('Configs.SJI','',v_tstrCipherOpened);  
1620 - CriaFormSenha(nil);  
1621 - formSenha.ShowModal;  
1622 - if (getValorDatMemoria('Configs.SJI',v_tstrCipherOpened)<>'S') then  
1623 - Begin  
1624 - v_abre_janela_patrimonio := false;  
1625 - End;  
1626 - End; 1810 + tstrAUX := TStrings.Create;
  1811 + tstrAUX := v_tstrCipherOpened;
  1812 +
  1813 + boolAbreJanelaPatrimonio := true;
  1814 + If (( getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1' ,tstrAUX)+
  1815 + getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2' ,tstrAUX)+
  1816 + getValorDatMemoria('Patrimonio.te_localizacao_complementar' ,tstrAUX)+
  1817 + getValorDatMemoria('Patrimonio.te_info_patrimonio1' ,tstrAUX)+
  1818 + getValorDatMemoria('Patrimonio.te_info_patrimonio2' ,tstrAUX)+
  1819 + getValorDatMemoria('Patrimonio.te_info_patrimonio3' ,tstrAUX)+
  1820 + getValorDatMemoria('Patrimonio.te_info_patrimonio4' ,tstrAUX)+
  1821 + getValorDatMemoria('Patrimonio.te_info_patrimonio5' ,tstrAUX)+
  1822 + getValorDatMemoria('Patrimonio.te_info_patrimonio6' ,tstrAUX)+
  1823 + getValorDatMemoria('Patrimonio.ultima_rede_obtida' ,tstrAUX))<>'') then
  1824 + Begin
  1825 + SetValorDatMemoria('Configs.SJI','',tstrAUX);
  1826 + CriaFormSenha(nil);
  1827 + formSenha.ShowModal;
  1828 + if (getValorDatMemoria('Configs.SJI',tstrAUX)<>'S') then
  1829 + Begin
  1830 + boolAbreJanelaPatrimonio := false;
  1831 + End;
  1832 + End;
1627 1833
1628 -if (v_abre_janela_patrimonio) then  
1629 - begin  
1630 - if (ChecaGERCOLS) then  
1631 - Begin  
1632 - ChecaCONFIGS;  
1633 - Invoca_GerCols(nil,'patrimonio');  
1634 - End;  
1635 - end; 1834 + tstrAUX.Free;
  1835 +
  1836 + if (boolAbreJanelaPatrimonio) then
  1837 + begin
  1838 + if (ChecaGERCOLS) then
  1839 + Begin
  1840 + ChecaCONFIGS;
  1841 + Invoca_GerCols('patrimonio');
  1842 + End;
  1843 + end;
1636 end; 1844 end;
1637 1845
1638 //======================================================================= 1846 //=======================================================================
@@ -1643,28 +1851,30 @@ procedure TFormularioGeral.InicializaTray; @@ -1643,28 +1851,30 @@ procedure TFormularioGeral.InicializaTray;
1643 var Icon : TIcon; 1851 var Icon : TIcon;
1644 v_intStatus : integer; 1852 v_intStatus : integer;
1645 v_strHint : String; 1853 v_strHint : String;
1646 -const NORMAL = 0;  
1647 - OCUPADO = 1;  
1648 - DESCONFIGURADO = 2; 1854 +const NORMAL = 0; // Normal
  1855 + OCUPADO = 1; // Raio - Coletando
  1856 + DESCONFIGURADO = 2; // Interrogação - Identificando Host
  1857 + AGUARDE = 3; // Ampulheta - Aguardando ação local (recuperação de agentes, etc.)
1649 begin 1858 begin
1650 Icon := TIcon.Create; 1859 Icon := TIcon.Create;
1651 1860
1652 // Monto a frase a ser colocada no Hint 1861 // Monto a frase a ser colocada no Hint
1653 v_strHint := 'CACIC v:' + getVersionInfo(ParamStr(0)); 1862 v_strHint := 'CACIC v:' + getVersionInfo(ParamStr(0));
1654 if not (getValorDatMemoria('TcpIp.TE_IP',v_tstrCipherOpened) = '') then 1863 if not (getValorDatMemoria('TcpIp.TE_IP',v_tstrCipherOpened) = '') then
1655 - v_strHint := v_strHint + char(13) + char(10);  
1656 - v_strHint := v_strHint + 'IP: '+ getValorDatMemoria('TcpIp.TE_IP',v_tstrCipherOpened); 1864 + v_strHint := v_strHint + chr(13) + chr(10) + 'IP: '+ getValorDatMemoria('TcpIp.TE_IP',v_tstrCipherOpened);
1657 1865
1658 // Mostro a versão no painel de Informações Gerais 1866 // Mostro a versão no painel de Informações Gerais
1659 pnVersao.Caption := 'V. ' + getVersionInfo(ParamStr(0)); 1867 pnVersao.Caption := 'V. ' + getVersionInfo(ParamStr(0));
1660 1868
1661 // Estrutura do tray icon sendo criada. 1869 // Estrutura do tray icon sendo criada.
1662 NotifyStruc.cbSize := SizeOf(NotifyStruc); 1870 NotifyStruc.cbSize := SizeOf(NotifyStruc);
1663 - NotifyStruc.Wnd := Handle; 1871 + NotifyStruc.Wnd := self.Handle;
1664 NotifyStruc.uID := 1; 1872 NotifyStruc.uID := 1;
1665 NotifyStruc.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE; 1873 NotifyStruc.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE;
1666 NotifyStruc.uCallbackMessage := WM_MYMESSAGE; //User defined message 1874 NotifyStruc.uCallbackMessage := WM_MYMESSAGE; //User defined message
1667 1875
  1876 + //RegisterClass(@NotifyStruc);
  1877 +
1668 // Tento apagar os arquivos indicadores de ações de coletas 1878 // Tento apagar os arquivos indicadores de ações de coletas
1669 FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_GER.txt'); 1879 FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_GER.txt');
1670 FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_INI.txt'); 1880 FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_INI.txt');
@@ -1677,20 +1887,33 @@ begin @@ -1677,20 +1887,33 @@ begin
1677 Begin 1887 Begin
1678 if not (FormularioGeral.getValorDatMemoria('Configs.ConexaoOK',v_tstrCipherOpened)='S') then 1888 if not (FormularioGeral.getValorDatMemoria('Configs.ConexaoOK',v_tstrCipherOpened)='S') then
1679 Begin 1889 Begin
1680 - v_strHint := v_strHint + ' SERVIDOR NÃO ENCONTRADO!'; 1890 + v_strHint := v_strHint + ' IDENTIFICANDO HOSPEDEIRO...';
1681 v_intStatus := DESCONFIGURADO; 1891 v_intStatus := DESCONFIGURADO;
1682 End; 1892 End;
1683 End 1893 End
1684 else 1894 else
1685 Begin 1895 Begin
1686 - v_intStatus := OCUPADO;  
1687 - v_strHint := 'Aguarde...'; 1896 + if FileExists(g_oCacic.getCacicPath+'temp\recuperasr.txt') then
  1897 + Begin
  1898 + v_intStatus := AGUARDE;
  1899 + v_strHint := 'Aguarde...';
  1900 + End
  1901 + else
  1902 + Begin
  1903 + v_strHint := v_strHint + chr(13) + chr(10) + ' Coletas em Execução...';
  1904 + v_intStatus := OCUPADO;
  1905 + End;
1688 End; 1906 End;
1689 1907
1690 imgList_Icones.GetIcon(v_intStatus,Icon); 1908 imgList_Icones.GetIcon(v_intStatus,Icon);
1691 1909
1692 NotifyStruc.hIcon := Icon.Handle; 1910 NotifyStruc.hIcon := Icon.Handle;
1693 - 1911 + {
  1912 + if Self.Icon.Handle > 0 then
  1913 + NotifyStruc.hIcon := Icon.Handle
  1914 + else
  1915 + NotifyStruc.hIcon := Application.Icon.Handle;
  1916 + }
1694 log_DEBUG('Setando o HINT do Systray para: "'+v_strHint+'"'); 1917 log_DEBUG('Setando o HINT do Systray para: "'+v_strHint+'"');
1695 1918
1696 // Atualiza o conteúdo do tip da bandeja 1919 // Atualiza o conteúdo do tip da bandeja
@@ -1698,14 +1921,17 @@ begin @@ -1698,14 +1921,17 @@ begin
1698 1921
1699 if (getValorDatMemoria('Configs.IN_EXIBE_BANDEJA',v_tstrCipherOpened) <> 'N') Then 1922 if (getValorDatMemoria('Configs.IN_EXIBE_BANDEJA',v_tstrCipherOpened) <> 'N') Then
1700 Begin 1923 Begin
  1924 + log_DEBUG('Adicionando Ícone da aplicação ao Systray...');
1701 Shell_NotifyIcon(NIM_ADD, @NotifyStruc); 1925 Shell_NotifyIcon(NIM_ADD, @NotifyStruc);
1702 End 1926 End
1703 else 1927 else
1704 Begin 1928 Begin
  1929 + log_DEBUG('Retirando Ícone do Systray...');
1705 Shell_NotifyIcon(HIDE_WINDOW,@NotifyStruc); 1930 Shell_NotifyIcon(HIDE_WINDOW,@NotifyStruc);
1706 Shell_NotifyIcon(NIM_Delete,@NotifyStruc); 1931 Shell_NotifyIcon(NIM_Delete,@NotifyStruc);
1707 End; 1932 End;
1708 - Shell_NotifyIcon(nim_Modify,@NotifyStruc); 1933 + log_DEBUG('Aplicando Modificação de Ícone do Systray...');
  1934 + Shell_NotifyIcon(NIM_MODIFY,@NotifyStruc);
1709 1935
1710 Application.ProcessMessages; 1936 Application.ProcessMessages;
1711 1937
@@ -1725,8 +1951,10 @@ end; @@ -1725,8 +1951,10 @@ end;
1725 procedure TFormularioGeral.TrayMessage(var Msg: TMessage); 1951 procedure TFormularioGeral.TrayMessage(var Msg: TMessage);
1726 var Posicao : TPoint; 1952 var Posicao : TPoint;
1727 begin 1953 begin
  1954 +
1728 if (Msg.LParam=WM_RBUTTONDOWN) then 1955 if (Msg.LParam=WM_RBUTTONDOWN) then
1729 Begin 1956 Begin
  1957 +
1730 Mnu_InfosPatrimoniais.Enabled := False; 1958 Mnu_InfosPatrimoniais.Enabled := False;
1731 // Habilita a opção de menu caso a coleta de patrimonio esteja habilitado. 1959 // Habilita a opção de menu caso a coleta de patrimonio esteja habilitado.
1732 HabilitaPatrimonio; 1960 HabilitaPatrimonio;
@@ -1786,7 +2014,7 @@ begin @@ -1786,7 +2014,7 @@ begin
1786 2014
1787 CipherClose; 2015 CipherClose;
1788 CipherOpen; 2016 CipherOpen;
1789 - 2017 +
1790 ST_VL_NomeHost.Caption := getValorDatMemoria('TcpIp.TE_NOME_HOST' ,v_tstrCipherOpened); 2018 ST_VL_NomeHost.Caption := getValorDatMemoria('TcpIp.TE_NOME_HOST' ,v_tstrCipherOpened);
1791 ST_VL_IPEstacao.Caption := getValorDatMemoria('TcpIp.TE_IP' ,v_tstrCipherOpened); 2019 ST_VL_IPEstacao.Caption := getValorDatMemoria('TcpIp.TE_IP' ,v_tstrCipherOpened);
1792 ST_VL_MacAddress.Caption := getValorDatMemoria('TcpIp.TE_NODE_ADDRESS' ,v_tstrCipherOpened); 2020 ST_VL_MacAddress.Caption := getValorDatMemoria('TcpIp.TE_NODE_ADDRESS' ,v_tstrCipherOpened);
@@ -1804,6 +2032,7 @@ begin @@ -1804,6 +2032,7 @@ begin
1804 v_conta_perfis := 1; 2032 v_conta_perfis := 1;
1805 v_conta_infos_coletadas := 0; 2033 v_conta_infos_coletadas := 0;
1806 v_tripa_perfis := '*'; 2034 v_tripa_perfis := '*';
  2035 +
1807 while v_tripa_perfis <> '' do 2036 while v_tripa_perfis <> '' do
1808 begin 2037 begin
1809 2038
@@ -1843,6 +2072,7 @@ begin @@ -1843,6 +2072,7 @@ begin
1843 2072
1844 End; 2073 End;
1845 End; 2074 End;
  2075 + Application.ProcessMessages;
1846 End; 2076 End;
1847 End; 2077 End;
1848 End; 2078 End;
@@ -1885,6 +2115,8 @@ begin @@ -1885,6 +2115,8 @@ begin
1885 IfThen(v_array_infos_coletadas[3]='0','Sem Coleta para Envio ao Gerente WEB!', 2115 IfThen(v_array_infos_coletadas[3]='0','Sem Coleta para Envio ao Gerente WEB!',
1886 IfThen(v_array_infos_coletadas[3]='99999999','Problema no Processo de Coleta!','Status Desconhecido!')))); 2116 IfThen(v_array_infos_coletadas[3]='99999999','Problema no Processo de Coleta!','Status Desconhecido!'))));
1887 listaColetas.Items[intAux-1].SubItems.Add(strAux); 2117 listaColetas.Items[intAux-1].SubItems.Add(strAux);
  2118 +
  2119 + Application.ProcessMessages;
1888 End; 2120 End;
1889 End 2121 End
1890 End 2122 End
@@ -1894,7 +2126,9 @@ begin @@ -1894,7 +2126,9 @@ begin
1894 listSistemasMonitorados.Items[0].Caption := 'Não Há Coletas Registradas Nesta Data'; 2126 listSistemasMonitorados.Items[0].Caption := 'Não Há Coletas Registradas Nesta Data';
1895 End; 2127 End;
1896 2128
1897 - strConfigsPatrimonio := GetValorDatMemoria('Patrimonio.Configs' , v_tstrCipherOpened); 2129 + FormularioGeral.EqualizaInformacoesPatrimoniais;
  2130 +
  2131 + strConfigsPatrimonio := GetValorDatMemoria('Patrimonio.Configs', v_tstrCipherOpened);
1898 MontaVetoresPatrimonio(strConfigsPatrimonio); 2132 MontaVetoresPatrimonio(strConfigsPatrimonio);
1899 2133
1900 if (strConfigsPatrimonio = '') then 2134 if (strConfigsPatrimonio = '') then
@@ -1919,6 +2153,7 @@ begin @@ -1919,6 +2153,7 @@ begin
1919 st_vl_Etiqueta3.Caption := GetValorDatMemoria('Patrimonio.te_localizacao_complementar',v_tstrCipherOpened); 2153 st_vl_Etiqueta3.Caption := GetValorDatMemoria('Patrimonio.te_localizacao_complementar',v_tstrCipherOpened);
1920 2154
1921 2155
  2156 + FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta4 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta4', strConfigsPatrimonio))+'"');
1922 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta4', strConfigsPatrimonio)) = 'S') then 2157 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta4', strConfigsPatrimonio)) = 'S') then
1923 begin 2158 begin
1924 st_lb_Etiqueta4.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta4', strConfigsPatrimonio)); 2159 st_lb_Etiqueta4.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta4', strConfigsPatrimonio));
@@ -1932,6 +2167,7 @@ begin @@ -1932,6 +2167,7 @@ begin
1932 st_vl_etiqueta4.Visible := false; 2167 st_vl_etiqueta4.Visible := false;
1933 End; 2168 End;
1934 2169
  2170 + FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta5 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta5', strConfigsPatrimonio))+'"');
1935 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta5', strConfigsPatrimonio)) = 'S') then 2171 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta5', strConfigsPatrimonio)) = 'S') then
1936 begin 2172 begin
1937 st_lb_Etiqueta5.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta5', strConfigsPatrimonio)); 2173 st_lb_Etiqueta5.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta5', strConfigsPatrimonio));
@@ -1945,7 +2181,7 @@ begin @@ -1945,7 +2181,7 @@ begin
1945 st_vl_etiqueta5.Visible := false; 2181 st_vl_etiqueta5.Visible := false;
1946 End; 2182 End;
1947 2183
1948 - 2184 + FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta6 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta6', strConfigsPatrimonio))+'"');
1949 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta6', strConfigsPatrimonio)) = 'S') then 2185 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta6', strConfigsPatrimonio)) = 'S') then
1950 begin 2186 begin
1951 st_lb_Etiqueta6.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta6', strConfigsPatrimonio)); 2187 st_lb_Etiqueta6.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta6', strConfigsPatrimonio));
@@ -1959,7 +2195,7 @@ begin @@ -1959,7 +2195,7 @@ begin
1959 st_vl_etiqueta6.Visible := false; 2195 st_vl_etiqueta6.Visible := false;
1960 End; 2196 End;
1961 2197
1962 - 2198 + FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta7 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta7', strConfigsPatrimonio))+'"');
1963 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta7', strConfigsPatrimonio)) = 'S') then 2199 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta7', strConfigsPatrimonio)) = 'S') then
1964 begin 2200 begin
1965 st_lb_Etiqueta7.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta7', strConfigsPatrimonio)); 2201 st_lb_Etiqueta7.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta7', strConfigsPatrimonio));
@@ -1973,7 +2209,7 @@ begin @@ -1973,7 +2209,7 @@ begin
1973 st_vl_etiqueta7.Visible := false; 2209 st_vl_etiqueta7.Visible := false;
1974 End; 2210 End;
1975 2211
1976 - 2212 + FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta8 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta8', strConfigsPatrimonio))+'"');
1977 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta8', strConfigsPatrimonio)) = 'S') then 2213 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta8', strConfigsPatrimonio)) = 'S') then
1978 begin 2214 begin
1979 st_lb_Etiqueta8.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta8', strConfigsPatrimonio)); 2215 st_lb_Etiqueta8.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta8', strConfigsPatrimonio));
@@ -1987,7 +2223,7 @@ begin @@ -1987,7 +2223,7 @@ begin
1987 st_vl_etiqueta8.Visible := false; 2223 st_vl_etiqueta8.Visible := false;
1988 End; 2224 End;
1989 2225
1990 - 2226 + FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta9 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta9', strConfigsPatrimonio))+'"');
1991 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta9', strConfigsPatrimonio)) = 'S') then 2227 if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta9', strConfigsPatrimonio)) = 'S') then
1992 begin 2228 begin
1993 st_lb_Etiqueta9.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta9', strConfigsPatrimonio)); 2229 st_lb_Etiqueta9.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta9', strConfigsPatrimonio));
@@ -2021,10 +2257,10 @@ begin @@ -2021,10 +2257,10 @@ begin
2021 WHILE Parser.Scan DO 2257 WHILE Parser.Scan DO
2022 Begin 2258 Begin
2023 if (Parser.CurPartType in [ptContent, ptCData]) Then // Process Parser.CurContent field here 2259 if (Parser.CurPartType in [ptContent, ptCData]) Then // Process Parser.CurContent field here
2024 - begin 2260 + begin
2025 if (UpperCase(Parser.CurName) = UpperCase(Tag)) then 2261 if (UpperCase(Parser.CurName) = UpperCase(Tag)) then
2026 Result := RemoveZerosFimString(Parser.CurContent); 2262 Result := RemoveZerosFimString(Parser.CurContent);
2027 - end; 2263 + end;
2028 end; 2264 end;
2029 Parser.Free; 2265 Parser.Free;
2030 log_DEBUG('XML Parser retornando: "'+Result+'" para Tag "'+Tag+'"'); 2266 log_DEBUG('XML Parser retornando: "'+Result+'" para Tag "'+Tag+'"');
@@ -2183,24 +2419,23 @@ begin @@ -2183,24 +2419,23 @@ begin
2183 end; 2419 end;
2184 } 2420 }
2185 procedure TFormularioGeral.Mnu_SuporteRemotoClick(Sender: TObject); 2421 procedure TFormularioGeral.Mnu_SuporteRemotoClick(Sender: TObject);
2186 -var boolAux : boolean;  
2187 - v_strPalavraChave, 2422 +var v_strPalavraChave,
2188 v_strTeSO, 2423 v_strTeSO,
2189 v_strTeNodeAddress, 2424 v_strTeNodeAddress,
2190 v_strNuPortaSR, 2425 v_strNuPortaSR,
2191 v_strNuTimeOutSR : String; 2426 v_strNuTimeOutSR : String;
2192 - fileAguarde : TextFile; 2427 + intPausaRecupera : integer;
  2428 + fileAguarde : TextFile;
2193 begin 2429 begin
2194 if boolServerON then // Ordeno ao SrCACICsrv que auto-finalize 2430 if boolServerON then // Ordeno ao SrCACICsrv que auto-finalize
2195 Begin 2431 Begin
2196 Log_Diario('Desativando Suporte Remoto Seguro.'); 2432 Log_Diario('Desativando Suporte Remoto Seguro.');
2197 2433
2198 - {  
2199 - WinExec(PChar(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -kill'), SW_NORMAL);  
2200 - }  
2201 -  
2202 g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -kill',false,SW_HIDE); 2434 g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -kill',false,SW_HIDE);
2203 2435
  2436 + // Bloqueio o módulo de suporte remoto seguro na FireWall nativa.
  2437 + g_oCacic.addApplicationToFirewall('srCACIC - Suporte Remoto Seguro do Sistema CACIC',g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe', false);
  2438 +
2204 boolServerON := false; 2439 boolServerON := false;
2205 End 2440 End
2206 else 2441 else
@@ -2229,15 +2464,6 @@ begin @@ -2229,15 +2464,6 @@ begin
2229 v_strNuPortaSR := trim(FormularioGeral.getValorDatMemoria('Configs.NU_PORTA_SRCACIC' , v_tstrCipherOpened)); 2464 v_strNuPortaSR := trim(FormularioGeral.getValorDatMemoria('Configs.NU_PORTA_SRCACIC' , v_tstrCipherOpened));
2230 v_strNuTimeOutSR := trim(FormularioGeral.getValorDatMemoria('Configs.NU_TIMEOUT_SRCACIC' , v_tstrCipherOpened)); 2465 v_strNuTimeOutSR := trim(FormularioGeral.getValorDatMemoria('Configs.NU_TIMEOUT_SRCACIC' , v_tstrCipherOpened));
2231 2466
2232 - log_DEBUG('Invocando "'+g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -start [' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor', v_tstrCipherOpened)) + ']' +  
2233 - '[' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.Endereco_WS' , v_tstrCipherOpened)) + ']' +  
2234 - '[' + v_strTeSO + ']' +  
2235 - '[' + v_strTeNodeAddress + ']' +  
2236 - '[' + v_strPalavraChave + ']' +  
2237 - '[' + g_oCacic.getCacicPath + 'Temp\' + ']' +  
2238 - '[' + v_strNuPortaSR + ']' +  
2239 - '[' + v_strNuTimeOutSR + ']');  
2240 -  
2241 // Detectar versão do Windows antes de fazer a chamada seguinte... 2467 // Detectar versão do Windows antes de fazer a chamada seguinte...
2242 try 2468 try
2243 AssignFile(fileAguarde,g_oCacic.getCacicPath + 'Temp\aguarde_srCACIC.txt'); 2469 AssignFile(fileAguarde,g_oCacic.getCacicPath + 'Temp\aguarde_srCACIC.txt');
@@ -2255,33 +2481,61 @@ begin @@ -2255,33 +2481,61 @@ begin
2255 Finally 2481 Finally
2256 End; 2482 End;
2257 2483
2258 - {  
2259 - WinExec(PChar(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -start [' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor', v_tstrCipherOpened)) + ']' +  
2260 - '[' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.Endereco_WS' , v_tstrCipherOpened)) + ']' +  
2261 - '[' + v_strTeSO + ']' +  
2262 - '[' + v_strTeNodeAddress + ']' +  
2263 - '[' + v_strPalavraChave + ']' +  
2264 - '[' + g_oCacic.getCacicPath + 'Temp\' + ']' +  
2265 - '[' + v_strNuPortaSR + ']' +  
2266 - '[' + v_strNuTimeOutSR + ']'),SW_NORMAL);  
2267 - }  
2268 - g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -start [' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor', v_tstrCipherOpened)) + ']' +  
2269 - '[' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.Endereco_WS' , v_tstrCipherOpened)) + ']' +  
2270 - '[' + v_strTeSO + ']' +  
2271 - '[' + v_strTeNodeAddress + ']' +  
2272 - '[' + v_strPalavraChave + ']' +  
2273 - '[' + g_oCacic.getCacicPath + 'Temp\' + ']' +  
2274 - '[' + v_strNuPortaSR + ']' +  
2275 - '[' + v_strNuTimeOutSR + ']',false,SW_NORMAL);  
2276 -  
2277 - BoolServerON := true;  
2278 - End; 2484 + log_DEBUG('Verificando validade do módulo srCACICsrv para chamada!');
  2485 +
  2486 + log_DEBUG('g_oCacic.getFileHash('+g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe'+') = "'+g_oCacic.getFileHash(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe'+'"'));
  2487 +
  2488 + log_DEBUG('FormularioGeral.GetValorDatMemoria(Configs.TE_HASH_SRCACICSRV) = "'+FormularioGeral.GetValorDatMemoria('Configs.TE_HASH_SRCACICSRV', v_tstrCipherOpened)+'"');
2279 2489
  2490 + // Executarei o srCACICsrv após batimento do HASHCode
  2491 + if (g_oCacic.getFileHash(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe') = FormularioGeral.GetValorDatMemoria('Configs.TE_HASH_SRCACICSRV', v_tstrCipherOpened)) then
  2492 + Begin
  2493 + log_DEBUG('Invocando "'+g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -start [' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor', v_tstrCipherOpened)) + ']' +
  2494 + '[' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.Endereco_WS' , v_tstrCipherOpened)) + ']' +
  2495 + '[' + v_strTeSO + ']' +
  2496 + '[' + v_strTeNodeAddress + ']' +
  2497 + '[' + v_strPalavraChave + ']' +
  2498 + '[' + g_oCacic.getCacicPath + 'Temp\' + ']' +
  2499 + '[' + v_strNuPortaSR + ']' +
  2500 + '[' + v_strNuTimeOutSR + ']');
  2501 +
  2502 + // Libero o módulo de suporte remoto seguro na FireWall nativa.
  2503 + g_oCacic.addApplicationToFirewall('srCACIC - Suporte Remoto Seguro do Sistema CACIC',g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe', true);
  2504 +
  2505 + g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -start [' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor', v_tstrCipherOpened)) + ']' +
  2506 + '[' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.Endereco_WS' , v_tstrCipherOpened)) + ']' +
  2507 + '[' + v_strTeSO + ']' +
  2508 + '[' + v_strTeNodeAddress + ']' +
  2509 + '[' + v_strPalavraChave + ']' +
  2510 + '[' + g_oCacic.getCacicPath + 'Temp\' + ']' +
  2511 + '[' + v_strNuPortaSR + ']' +
  2512 + '[' + v_strNuTimeOutSR + ']',false,SW_NORMAL);
  2513 + BoolServerON := true;
  2514 + End
  2515 + else
  2516 + Begin
  2517 + Log_Diario('Execução de srCACICsrv impedida por falta de integridade!');
  2518 + Log_Diario('Providenciando nova cópia.');
  2519 + Matar(g_oCacic.getCacicPath + 'modulos\','srcacicsrv.exe');
  2520 + Invoca_GerCols('recuperaSR');
  2521 + intPausaRecupera := 0;
  2522 + while (intPausaRecupera < 10) do
  2523 + Begin
  2524 + Sleep(3000);
  2525 + if FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe') then
  2526 + intPausaRecupera := 10;
  2527 + inc(intPausaRecupera);
  2528 + End;
  2529 + if FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe') then
  2530 + Mnu_SuporteRemotoClick(nil);
  2531 + End;
  2532 + End;
2280 end; 2533 end;
2281 2534
2282 procedure TFormularioGeral.Popup_Menu_ContextoPopup(Sender: TObject); 2535 procedure TFormularioGeral.Popup_Menu_ContextoPopup(Sender: TObject);
2283 begin 2536 begin
2284 VerificaDebugs; 2537 VerificaDebugs;
  2538 +
2285 if (getValorDatMemoria('Configs.CS_SUPORTE_REMOTO',v_tstrCipherOpened) = 'S') and 2539 if (getValorDatMemoria('Configs.CS_SUPORTE_REMOTO',v_tstrCipherOpened) = 'S') and
2286 (FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe')) then 2540 (FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe')) then
2287 Mnu_SuporteRemoto.Enabled := true 2541 Mnu_SuporteRemoto.Enabled := true
@@ -2314,19 +2568,20 @@ begin @@ -2314,19 +2568,20 @@ begin
2314 end; 2568 end;
2315 2569
2316 procedure TFormularioGeral.Timer_InicializaTrayTimer(Sender: TObject); 2570 procedure TFormularioGeral.Timer_InicializaTrayTimer(Sender: TObject);
2317 -begin 2571 +Begin
  2572 +
2318 Timer_InicializaTray.Enabled := false; 2573 Timer_InicializaTray.Enabled := false;
2319 2574
2320 g_intTaskBarAtual := FindWindow('Shell_TrayWnd', Nil); 2575 g_intTaskBarAtual := FindWindow('Shell_TrayWnd', Nil);
2321 - Log_DEBUG('g_intTaskBarAnterior: '+ intToStr(g_intTaskBarAnterior));  
2322 - Log_DEBUG('g_intTaskBarAtual: ' + intToStr(g_intTaskBarAtual));  
2323 2576
2324 - if (g_intTaskBarAnterior = 0) and (g_intTaskBarAtual > 0) then  
2325 - InicializaTray; 2577 + if ((g_intTaskBarAnterior = 0) and (g_intTaskBarAtual > 0)) or
  2578 + (boolWinIniChange) then
  2579 + Begin
  2580 + InicializaTray;
  2581 + End;
2326 2582
2327 g_intTaskBarAnterior := g_intTaskBarAtual; 2583 g_intTaskBarAnterior := g_intTaskBarAtual;
2328 2584
2329 Timer_InicializaTray.Enabled := true; 2585 Timer_InicializaTray.Enabled := true;
2330 end; 2586 end;
2331 -  
2332 end. 2587 end.
mapa/acesso.dfm
@@ -143,10 +143,12 @@ object frmAcesso: TfrmAcesso @@ -143,10 +143,12 @@ object frmAcesso: TfrmAcesso
143 00000007C000FC000000000FC000FC000000002FC000FC000000000FC000F800 143 00000007C000FC000000000FC000FC000000002FC000FC000000000FC000F800
144 00000007C000F80000000007C000F80000000007C000F80000000007C000FC00 144 00000007C000F80000000007C000F80000000007C000F80000000007C000FC00
145 0000000FC000FC000000000FC000FDAD8035B5BFC000} 145 0000000FC000FC000000000FC000FDAD8035B5BFC000}
  146 + KeyPreview = True
146 OldCreateOrder = False 147 OldCreateOrder = False
147 Position = poDesktopCenter 148 Position = poDesktopCenter
148 OnActivate = FormActivate 149 OnActivate = FormActivate
149 OnCreate = FormCreate 150 OnCreate = FormCreate
  151 + OnKeyDown = FormKeyDown
150 OnShow = FormShow 152 OnShow = FormShow
151 PixelsPerInch = 96 153 PixelsPerInch = 96
152 TextHeight = 13 154 TextHeight = 13
@@ -156,7 +158,7 @@ object frmAcesso: TfrmAcesso @@ -156,7 +158,7 @@ object frmAcesso: TfrmAcesso
156 Width = 300 158 Width = 300
157 Height = 12 159 Height = 12
158 AutoSize = False 160 AutoSize = False
159 - Caption = 'Servidor: ABCDEFGHIJKLMNOP' 161 + Caption = 'Servidor de Aplica'#231#227'o: ABCDEFGHIJKLMNOP'
160 Font.Charset = DEFAULT_CHARSET 162 Font.Charset = DEFAULT_CHARSET
161 Font.Color = clWindowText 163 Font.Color = clWindowText
162 Font.Height = -9 164 Font.Height = -9
@@ -253,8 +255,8 @@ object frmAcesso: TfrmAcesso @@ -253,8 +255,8 @@ object frmAcesso: TfrmAcesso
253 Alignment = taCenter 255 Alignment = taCenter
254 AutoSize = False 256 AutoSize = False
255 Caption = 257 Caption =
256 - 'ATEN'#199#195'O: O usu'#225'rio deve estar cadastrado no Gerente WEB com n'#237've' +  
257 - 'l "T'#233'cnico"' 258 + 'ATEN'#199#195'O: O usu'#225'rio deve estar cadastrado no Gerente WEB e deve t' +
  259 + 'er acesso PRIM'#193'RIO ou SECUND'#193'RIO a este local'
258 Font.Charset = DEFAULT_CHARSET 260 Font.Charset = DEFAULT_CHARSET
259 Font.Color = clNavy 261 Font.Color = clNavy
260 Font.Height = -11 262 Font.Height = -11
mapa/acesso.pas
@@ -57,6 +57,9 @@ type @@ -57,6 +57,9 @@ type
57 Shift: TShiftState); 57 Shift: TShiftState);
58 procedure tm_MensagemTimer(Sender: TObject); 58 procedure tm_MensagemTimer(Sender: TObject);
59 procedure FormActivate(Sender: TObject); 59 procedure FormActivate(Sender: TObject);
  60 + Procedure VerificaVersao;
  61 + procedure FormKeyDown(Sender: TObject; var Key: Word;
  62 + Shift: TShiftState);
60 private 63 private
61 { Private declarations } 64 { Private declarations }
62 public 65 public
@@ -84,6 +87,7 @@ begin @@ -84,6 +87,7 @@ begin
84 Request_mapa.Values['nm_acesso'] := frmMapaCacic.g_oCacic.enCrypt(edNomeUsuarioAcesso.Text); 87 Request_mapa.Values['nm_acesso'] := frmMapaCacic.g_oCacic.enCrypt(edNomeUsuarioAcesso.Text);
85 Request_mapa.Values['te_senha'] := frmMapaCacic.g_oCacic.EnCrypt(edSenhaAcesso.Text); 88 Request_mapa.Values['te_senha'] := frmMapaCacic.g_oCacic.EnCrypt(edSenhaAcesso.Text);
86 Request_mapa.Values['cs_MapaCacic'] := frmMapaCacic.g_oCacic.EnCrypt('S'); 89 Request_mapa.Values['cs_MapaCacic'] := frmMapaCacic.g_oCacic.EnCrypt('S');
  90 + Request_mapa.Values['te_operacao'] := frmMapaCacic.g_oCacic.EnCrypt('Autentication');
87 Request_mapa.Values['te_versao_mapa'] := frmMapaCacic.g_oCacic.EnCrypt(frmMapaCacic.getVersionInfo(ParamStr(0))); 91 Request_mapa.Values['te_versao_mapa'] := frmMapaCacic.g_oCacic.EnCrypt(frmMapaCacic.getVersionInfo(ParamStr(0)));
88 92
89 strRetorno := frmMapaCacic.ComunicaServidor('mapa_acesso.php', Request_mapa, 'Autenticando o Acesso...'); 93 strRetorno := frmMapaCacic.ComunicaServidor('mapa_acesso.php', Request_mapa, 'Autenticando o Acesso...');
@@ -91,13 +95,6 @@ begin @@ -91,13 +95,6 @@ begin
91 95
92 if (frmMapaCacic.XML_RetornaValor('STATUS', strRetorno)='OK') then 96 if (frmMapaCacic.XML_RetornaValor('STATUS', strRetorno)='OK') then
93 Begin 97 Begin
94 - str_local_Aux := trim(frmMapaCacic.g_oCacic.deCrypt(frmMapaCacic.XML_RetornaValor('TE_VERSAO_MAPA',strRetorno)));  
95 - if (str_local_Aux <> '') then  
96 - Begin  
97 - MessageDLG(#13#10#13#10+'ATENÇÃO! Foi disponibilizada a versão "'+str_local_Aux+'".'+#13#10#13#10+'Acesse o gerente cacic na opção "Repositório" e baixe o programa "MapaCACIC"!'+#13#10,mtWarning,[mbOK],0);  
98 - btCancela.Click;  
99 - End;  
100 -  
101 str_local_Aux := trim(frmMapaCacic.g_oCacic.deCrypt(frmMapaCacic.XML_RetornaValor('ID_USUARIO',strRetorno))); 98 str_local_Aux := trim(frmMapaCacic.g_oCacic.deCrypt(frmMapaCacic.XML_RetornaValor('ID_USUARIO',strRetorno)));
102 if (str_local_Aux <> '') then 99 if (str_local_Aux <> '') then
103 Begin 100 Begin
@@ -107,7 +104,7 @@ begin @@ -107,7 +104,7 @@ begin
107 End 104 End
108 else 105 else
109 Begin 106 Begin
110 - str_local_Aux := 'Usuário/Senha incorretos ou Nível de acesso não permitido!'; 107 + str_local_Aux := 'Usuário/Senha incorretos ou Usuário sem Acesso Primário/Secundário a este local!';
111 End 108 End
112 End 109 End
113 else 110 else
@@ -135,12 +132,41 @@ begin @@ -135,12 +132,41 @@ begin
135 Application.ProcessMessages; 132 Application.ProcessMessages;
136 133
137 if (frmMapaCacic.boolAcessoOK) then 134 if (frmMapaCacic.boolAcessoOK) then
138 - Close 135 + self.Close
139 else 136 else
140 Begin 137 Begin
141 edNomeUsuarioAcesso.AutoSelect := false; 138 edNomeUsuarioAcesso.AutoSelect := false;
142 edNomeUsuarioAcesso.SetFocus; 139 edNomeUsuarioAcesso.SetFocus;
  140 + End;
  141 +end;
  142 +
  143 +Procedure TfrmAcesso.VerificaVersao;
  144 +var Request_mapa : TStringList;
  145 + strRetorno,
  146 + strAUX : String;
  147 + boolVersaoOK : Boolean;
  148 +begin
  149 + boolVersaoOK := false;
  150 + Request_mapa:=TStringList.Create;
  151 +
  152 + // Envio dos dados ao DataBase...
  153 + Request_mapa.Values['cs_MapaCacic'] := frmMapaCacic.g_oCacic.EnCrypt('S');
  154 + Request_mapa.Values['te_operacao'] := frmMapaCacic.g_oCacic.EnCrypt('Autentication');
  155 + Request_mapa.Values['te_versao_mapa'] := frmMapaCacic.g_oCacic.EnCrypt(frmMapaCacic.getVersionInfo(ParamStr(0)));
  156 +
  157 + strRetorno := frmMapaCacic.ComunicaServidor('mapa_acesso.php', Request_mapa, 'Verificando Versão...');
  158 + Request_mapa.free;
  159 +
  160 + if (frmMapaCacic.XML_RetornaValor('STATUS', strRetorno)='OK') then
  161 + Begin
  162 + strAUX := trim(frmMapaCacic.g_oCacic.deCrypt(frmMapaCacic.XML_RetornaValor('TE_VERSAO_MAPA',strRetorno)));
  163 + if (strAUX = '') then
  164 + boolVersaoOK := true
  165 + else
  166 + MessageDLG(#13#10#13#10+'ATENÇÃO! Foi disponibilizada a versão "'+strAUX+'".'+#13#10#13#10+'Acesse o gerente cacic na opção "Repositório" e baixe o programa "MapaCACIC"!'+#13#10,mtWarning,[mbOK],0);
143 End 167 End
  168 + else
  169 + MessageDLG(#13#10#13#10+'ATENÇÃO! Há problema na comunicação com o módulo Gerente WEB.'+#13#10#13#10,mtWarning,[mbOK],0);
144 end; 170 end;
145 171
146 172
@@ -148,16 +174,17 @@ procedure TfrmAcesso.btCancelaClick(Sender: TObject); @@ -148,16 +174,17 @@ procedure TfrmAcesso.btCancelaClick(Sender: TObject);
148 begin 174 begin
149 lbMsg_Erro_Senha.Caption := 'Aguarde... Finalizando!'; 175 lbMsg_Erro_Senha.Caption := 'Aguarde... Finalizando!';
150 Application.ProcessMessages; 176 Application.ProcessMessages;
151 - Application.Terminate; 177 + Self.Close;
  178 + boolFinalizar := true;
152 end; 179 end;
153 180
154 procedure TfrmAcesso.FormCreate(Sender: TObject); 181 procedure TfrmAcesso.FormCreate(Sender: TObject);
155 begin 182 begin
156 - intPausaPadrao := 3000; //(3 mil milisegundos = 3 segundos)  
157 - frmAcesso.lbVersao.Caption := 'Versão: ' + frmMapaCacic.GetVersionInfo(ParamStr(0));  
158 -// frmMapaCacic.tStringsCipherOpened := frmMapaCacic.CipherOpen(frmMapaCacic.g_oCacic.getCacicPath + frmMapaCacic.g_oCacic.getDatFileName);  
159 - frmMapaCacic.lbNomeServidorWEB.Caption := 'Servidor: '+frmMapaCacic.GetValorDatMemoria('Configs.EnderecoServidor', frmMapaCacic.tStringsCipherOpened);  
160 - frmMapaCacic.lbMensagens.Caption := 'Entrada de Dados para Autenticação no Módulo Gerente WEB Cacic'; 183 + intPausaPadrao := 3000; //(3 mil milisegundos = 3 segundos)
  184 + frmAcesso.lbVersao.Caption := 'Versão: ' + frmMapaCacic.GetVersionInfo(ParamStr(0));
  185 + frmMapaCacic.lbNomeServidorWEB.Caption := 'Servidor de Aplicação: '+frmMapaCacic.GetValorDatMemoria('Configs.EnderecoServidor', frmMapaCacic.tStringsMapaCACIC);
  186 + frmMapaCacic.lbMensagens.Caption := 'Entrada de Dados para Autenticação no Módulo Gerente WEB Cacic';
  187 + VerificaVersao;
161 end; 188 end;
162 189
163 procedure TfrmAcesso.edNomeUsuarioAcessoKeyUp(Sender: TObject; 190 procedure TfrmAcesso.edNomeUsuarioAcessoKeyUp(Sender: TObject;
@@ -195,7 +222,7 @@ end; @@ -195,7 +222,7 @@ end;
195 procedure TfrmAcesso.FormActivate(Sender: TObject); 222 procedure TfrmAcesso.FormActivate(Sender: TObject);
196 var strAux : String; 223 var strAux : String;
197 begin 224 begin
198 - strAux := 'Servidor: ' + frmMapaCacic.GetValorDatMemoria('Configs.EnderecoServidor', frmMapaCacic.tStringsCipherOpened); 225 + strAux := 'Servidor de Aplicação: ' + frmMapaCacic.GetValorDatMemoria('Configs.EnderecoServidor', frmMapaCacic.tStringsMapaCACIC);
199 if not (strAux = '') then 226 if not (strAux = '') then
200 Begin 227 Begin
201 frmAcesso.lbNomeServidorWEB.Caption := strAux; 228 frmAcesso.lbNomeServidorWEB.Caption := strAux;
@@ -207,4 +234,16 @@ begin @@ -207,4 +234,16 @@ begin
207 End; 234 End;
208 end; 235 end;
209 236
  237 +procedure TfrmAcesso.FormKeyDown(Sender: TObject; var Key: Word;
  238 + Shift: TShiftState);
  239 +begin
  240 + IF (key = VK_RETURN) then
  241 + Begin
  242 + if (edNomeUsuarioAcesso.Focused) and (trim(edNomeUsuarioAcesso.Text) <> '') then
  243 + edSenhaAcesso.SetFocus
  244 + else if (edSenhaAcesso.Focused) and (trim(edSenhaAcesso.Text) <> '') then
  245 + btAcessoClick(nil);
  246 + End;
  247 +end;
  248 +
210 end. 249 end.
mapa/main_mapa.dfm
@@ -148,6 +148,7 @@ object frmMapaCacic: TfrmMapaCacic @@ -148,6 +148,7 @@ object frmMapaCacic: TfrmMapaCacic
148 Visible = True 148 Visible = True
149 OnActivate = FormActivate 149 OnActivate = FormActivate
150 OnClose = FormClose 150 OnClose = FormClose
  151 + OnCreate = FormCreate
151 PixelsPerInch = 96 152 PixelsPerInch = 96
152 TextHeight = 13 153 TextHeight = 13
153 object lbNomeServidorWEB: TLabel 154 object lbNomeServidorWEB: TLabel
mapa/main_mapa.pas
@@ -54,7 +54,8 @@ var @@ -54,7 +54,8 @@ var
54 var v_Aguarde : TextFile; 54 var v_Aguarde : TextFile;
55 55
56 var 56 var
57 - boolDebugs : boolean; 57 + boolDebugs,
  58 + boolFinalizar : boolean;
58 59
59 type 60 type
60 TfrmMapaCacic = class(TForm) 61 TfrmMapaCacic = class(TForm)
@@ -89,13 +90,12 @@ type @@ -89,13 +90,12 @@ type
89 lbVersao: TLabel; 90 lbVersao: TLabel;
90 91
91 procedure mapa; 92 procedure mapa;
92 - procedure Grava_Debugs(strMsg : String);  
93 function SetValorChaveRegEdit(Chave: String; Dado: Variant): Variant; 93 function SetValorChaveRegEdit(Chave: String; Dado: Variant): Variant;
94 function GetValorChaveRegEdit(Chave: String): Variant; 94 function GetValorChaveRegEdit(Chave: String): Variant;
95 function GetRootKey(strRootKey: String): HKEY; 95 function GetRootKey(strRootKey: String): HKEY;
96 Function RemoveCaracteresEspeciais(Texto, p_Fill : String; p_start, p_end:integer) : String; 96 Function RemoveCaracteresEspeciais(Texto, p_Fill : String; p_start, p_end:integer) : String;
97 - Function CipherClose(p_DatFileName : string; p_tstrCipherOpened : TStrings) : String;  
98 - Function CipherOpen(p_DatFileName : string) : TStrings; 97 + Procedure CipherClose(p_DatFileName : string; p_tstrCipherOpened : TStrings);
  98 + Procedure CipherOpen(p_DatFileName : string; var p_tstrCipherOpened : TStrings);
99 Function GetValorDatMemoria(p_Chave : String; p_tstrCipherOpened : TStrings) : String; 99 Function GetValorDatMemoria(p_Chave : String; p_tstrCipherOpened : TStrings) : String;
100 procedure MontaCombos(p_strConfigs : String); 100 procedure MontaCombos(p_strConfigs : String);
101 procedure MontaInterface(p_strConfigs : String); 101 procedure MontaInterface(p_strConfigs : String);
@@ -128,8 +128,9 @@ type @@ -128,8 +128,9 @@ type
128 function SearchFile(p_Drive,p_File:string) : boolean; 128 function SearchFile(p_Drive,p_File:string) : boolean;
129 procedure GetSubDirs(Folder:string; sList:TStringList); 129 procedure GetSubDirs(Folder:string; sList:TStringList);
130 procedure Mensagem(p_strMsg : String; p_boolAlerta : boolean; p_intPausaSegundos : integer); 130 procedure Mensagem(p_strMsg : String; p_boolAlerta : boolean; p_intPausaSegundos : integer);
131 - procedure FormActivate(Sender: TObject);  
132 procedure cb_id_unid_organizacional_nivel1aChange(Sender: TObject); 131 procedure cb_id_unid_organizacional_nivel1aChange(Sender: TObject);
  132 + procedure FormActivate(Sender: TObject);
  133 + procedure FormCreate(Sender: TObject);
133 private 134 private
134 strId_unid_organizacional_nivel1, 135 strId_unid_organizacional_nivel1,
135 strId_unid_organizacional_nivel1a, 136 strId_unid_organizacional_nivel1a,
@@ -146,9 +147,8 @@ type @@ -146,9 +147,8 @@ type
146 boolAcessoOK : boolean; 147 boolAcessoOK : boolean;
147 strId_usuario : String; 148 strId_usuario : String;
148 g_oCacic : TCACIC; 149 g_oCacic : TCACIC;
149 - tStringsDadosPatrimonio,  
150 - tStringsCipherOpened,  
151 - tStringsTripa1 : TStrings; 150 + tStringsCACIC,
  151 + tStringsMapaCACIC : TStrings;
152 end; 152 end;
153 153
154 var 154 var
@@ -290,43 +290,6 @@ procedure TfrmMapaCacic.log_DEBUG(p_msg:string); @@ -290,43 +290,6 @@ procedure TfrmMapaCacic.log_DEBUG(p_msg:string);
290 Begin 290 Begin
291 if boolDebugs then log_diario('(v.'+getVersionInfo(ParamStr(0))+') DEBUG - '+p_msg); 291 if boolDebugs then log_diario('(v.'+getVersionInfo(ParamStr(0))+') DEBUG - '+p_msg);
292 End; 292 End;
293 -procedure TfrmMapaCacic.Grava_Debugs(strMsg : String);  
294 -var  
295 - DebugsFile : TextFile;  
296 - strDataArqLocal, strDataAtual, v_file_debugs : string;  
297 -begin  
298 - try  
299 - v_file_debugs := g_oCacic.getCacicPath + '\debug_mapa.txt';  
300 - FileSetAttr (v_file_debugs,0); // Retira os atributos do arquivo para evitar o erro FILE ACCESS DENIED em máquinas 2000  
301 - AssignFile(DebugsFile,v_file_debugs); {Associa o arquivo a uma variável do tipo TextFile}  
302 -  
303 - {$IOChecks off}  
304 - Reset(DebugsFile); {Abre o arquivo texto}  
305 - {$IOChecks on}  
306 -  
307 - if (IOResult <> 0) then // Arquivo não existe, será recriado.  
308 - begin  
309 - Rewrite(DebugsFile);  
310 - Append(DebugsFile);  
311 - Writeln(DebugsFile,FormatDateTime('dd/mm hh:nn:ss : ', Now) + '======================> Iniciando o Debug <=======================');  
312 - end;  
313 - DateTimeToString(strDataArqLocal, 'yyyymmdd', FileDateToDateTime(Fileage(v_file_debugs)));  
314 - DateTimeToString(strDataAtual , 'yyyymmdd', Date);  
315 -  
316 - if (strDataAtual <> strDataArqLocal) then // Se o arquivo não é da data atual...  
317 - begin  
318 - Rewrite(DebugsFile); //Cria/Recria o arquivo  
319 - Append(DebugsFile);  
320 - Writeln(DebugsFile,FormatDateTime('dd/mm hh:nn:ss : ', Now) + '======================> Iniciando o Debug <=======================');  
321 - end;  
322 -  
323 - Append(DebugsFile);  
324 - Writeln(DebugsFile,FormatDateTime('dd/mm hh:nn:ss : ', Now) + strMsg); {Grava a string Texto no arquivo texto}  
325 - CloseFile(DebugsFile); {Fecha o arquivo texto}  
326 - except  
327 - log_diario('Erro na gravação do Debug!');  
328 - end;  
329 -end;  
330 293
331 // Função criada devido a divergências entre os valores retornados pelos métodos dos componentes MSI e seus Reports. 294 // Função criada devido a divergências entre os valores retornados pelos métodos dos componentes MSI e seus Reports.
332 function TfrmMapaCacic.Parse(p_ClassName, p_SectionName, p_DataName:string; p_Report : TStringList) : String; 295 function TfrmMapaCacic.Parse(p_ClassName, p_SectionName, p_DataName:string; p_Report : TStringList) : String;
@@ -411,7 +374,7 @@ procedure TfrmMapaCacic.Finalizar(p_pausa:boolean); @@ -411,7 +374,7 @@ procedure TfrmMapaCacic.Finalizar(p_pausa:boolean);
411 Begin 374 Begin
412 Mensagem('Finalizando MapaCacic...',false,0); 375 Mensagem('Finalizando MapaCacic...',false,0);
413 376
414 - CipherClose(g_oCacic.getCacicPath + g_oCacic.getDatFileName, tStringsCipherOpened); 377 + CipherClose(g_oCacic.getCacicPath + 'MapaCACIC.dat', tStringsMapaCACIC);
415 Apaga_Temps; 378 Apaga_Temps;
416 if p_pausa then sleep(2000); // Pausa de 2 segundos para conclusão de operações de arquivos. 379 if p_pausa then sleep(2000); // Pausa de 2 segundos para conclusão de operações de arquivos.
417 Sair; 380 Sair;
@@ -488,14 +451,14 @@ Begin @@ -488,14 +451,14 @@ Begin
488 tStringListAuxRequest.Values['cs_compress'] := '0'; 451 tStringListAuxRequest.Values['cs_compress'] := '0';
489 452
490 453
491 - strEnderecoWS := GetValorDatMemoria('Configs.Endereco_WS', tStringsCipherOpened);  
492 - strEnderecoServidor := GetValorDatMemoria('Configs.EnderecoServidor', tStringsCipherOpened); 454 + strEnderecoWS := GetValorDatMemoria('Configs.Endereco_WS', tStringsCACIC);
  455 + strEnderecoServidor := GetValorDatMemoria('Configs.EnderecoServidor', tStringsCACIC);
493 456
494 if (trim(strEnderecoWS)='') then 457 if (trim(strEnderecoWS)='') then
495 strEnderecoWS := '/cacic2/ws/'; 458 strEnderecoWS := '/cacic2/ws/';
496 459
497 if (trim(strEnderecoServidor)='') then 460 if (trim(strEnderecoServidor)='') then
498 - strEnderecoServidor := Trim(GetValorChaveRegIni('Cacic2','ip_serv_cacic',g_oCacic.getCacicPath + 'MapaCacic.ini')); 461 + strEnderecoServidor := Trim(GetValorChaveRegIni('Cacic2','ip_serv_cacic',g_oCacic.getCacicPath + 'cacic2.ini'));
499 462
500 strEndereco := 'http://' + strEnderecoServidor + strEnderecoWS + URL; 463 strEndereco := 'http://' + strEnderecoServidor + strEnderecoWS + URL;
501 464
@@ -634,7 +597,7 @@ begin @@ -634,7 +597,7 @@ begin
634 end; 597 end;
635 end; 598 end;
636 599
637 -Function TfrmMapaCacic.CipherClose(p_DatFileName : string; p_tstrCipherOpened : TStrings) : String; 600 +Procedure TfrmMapaCacic.CipherClose(p_DatFileName : string; p_tstrCipherOpened : TStrings);
638 var strCipherOpenImploded : string; 601 var strCipherOpenImploded : string;
639 txtFileDatFile : TextFile; 602 txtFileDatFile : TextFile;
640 begin 603 begin
@@ -658,7 +621,7 @@ begin @@ -658,7 +621,7 @@ begin
658 end; 621 end;
659 end; 622 end;
660 623
661 -Function TfrmMapaCacic.CipherOpen(p_DatFileName : string) : TStrings; 624 +Procedure TfrmMapaCacic.CipherOpen(p_DatFileName : string; var p_tstrCipherOpened : TStrings);
662 var v_DatFile : TextFile; 625 var v_DatFile : TextFile;
663 v_strCipherOpened, 626 v_strCipherOpened,
664 v_strCipherClosed : string; 627 v_strCipherClosed : string;
@@ -683,17 +646,17 @@ begin @@ -683,17 +646,17 @@ begin
683 strCipherOpened:= g_oCacic.deCrypt(v_strCipherClosed); 646 strCipherOpened:= g_oCacic.deCrypt(v_strCipherClosed);
684 end; 647 end;
685 if (trim(strCipherOpened)<>'') then 648 if (trim(strCipherOpened)<>'') then
686 - Result := g_oCacic.explode(strCipherOpened,'=CacicIsFree=') 649 + p_tstrCipherOpened := g_oCacic.explode(strCipherOpened,'=CacicIsFree=')
687 else 650 else
688 - Result := g_oCacic.explode('Configs.ID_SO'+g_oCacic.getSeparatorKey+g_oCacic.getWindowsStrId() +g_oCacic.getSeparatorKey+'Configs.Endereco_WS'+g_oCacic.getSeparatorKey+'/cacic2/ws/',g_oCacic.getSeparatorKey); 651 + p_tstrCipherOpened := g_oCacic.explode('Configs.ID_SO'+g_oCacic.getSeparatorKey+g_oCacic.getWindowsStrId() +g_oCacic.getSeparatorKey+'Configs.Endereco_WS'+g_oCacic.getSeparatorKey+'/cacic2/ws/',g_oCacic.getSeparatorKey+'Patrimonio.dt_ultima_renovacao'+g_oCacic.getSeparatorKey+'0');
689 652
690 - if Result.Count mod 2 = 0 then  
691 - Result.Add(''); 653 + if p_tstrCipherOpened.Count mod 2 = 0 then
  654 + p_tstrCipherOpened.Add('');
692 655
693 log_DEBUG('MemoryDAT aberto com sucesso!'); 656 log_DEBUG('MemoryDAT aberto com sucesso!');
694 if boolDebugs then 657 if boolDebugs then
695 - for intLoop := 0 to (Result.Count-1) do  
696 - log_DEBUG('Posição ['+inttostr(intLoop)+'] do MemoryDAT: '+Result[intLoop]); 658 + for intLoop := 0 to (p_tstrCipherOpened.Count-1) do
  659 + log_DEBUG('Posição ['+inttostr(intLoop)+'] do MemoryDAT: '+p_tstrCipherOpened[intLoop]);
697 660
698 end; 661 end;
699 662
@@ -702,7 +665,7 @@ begin @@ -702,7 +665,7 @@ begin
702 log_DEBUG('Gravando Chave: "'+p_Chave+ '" => "'+p_Valor+'"'); 665 log_DEBUG('Gravando Chave: "'+p_Chave+ '" => "'+p_Valor+'"');
703 // Exemplo: p_Chave => Configs.nu_ip_servidor : p_Valor => 10.71.0.120 666 // Exemplo: p_Chave => Configs.nu_ip_servidor : p_Valor => 10.71.0.120
704 if (p_tstrCipherOpened.IndexOf(p_Chave)<>-1) then 667 if (p_tstrCipherOpened.IndexOf(p_Chave)<>-1) then
705 - p_tstrCipherOpened[tStringsCipherOpened.IndexOf(p_Chave)+1] := p_Valor 668 + p_tstrCipherOpened[p_tstrCipherOpened.IndexOf(p_Chave)+1] := p_Valor
706 else 669 else
707 Begin 670 Begin
708 p_tstrCipherOpened.Add(p_Chave); 671 p_tstrCipherOpened.Add(p_Chave);
@@ -803,71 +766,71 @@ end; @@ -803,71 +766,71 @@ end;
803 766
804 procedure TfrmMapaCacic.RecuperaValoresAnteriores(p_strConfigs : String); 767 procedure TfrmMapaCacic.RecuperaValoresAnteriores(p_strConfigs : String);
805 begin 768 begin
806 - Mensagem('Recuperando Valores Anteriores...',false,intPausaPadrao div 3); 769 + Mensagem('Recuperando Valores Anteriores...',false,intPausaPadrao div 3);
807 770
808 - strId_unid_organizacional_nivel1 := GetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1',tStringsCipherOpened);  
809 - if (strId_unid_organizacional_nivel1='') then  
810 - strId_unid_organizacional_nivel1 := g_oCacic.deCrypt(XML.XML_RetornaValor('ID_UON1', p_strConfigs)); 771 + strId_unid_organizacional_nivel1 := GetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1',tStringsMapaCACIC);
  772 + if (strId_unid_organizacional_nivel1='') then
  773 + strId_unid_organizacional_nivel1 := g_oCacic.deCrypt(XML.XML_RetornaValor('ID_UON1', p_strConfigs));
811 774
812 - strId_unid_organizacional_nivel1a := GetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1a',tStringsCipherOpened);  
813 - if (strId_unid_organizacional_nivel1a='') then  
814 - strId_unid_organizacional_nivel1a := g_oCacic.deCrypt(XML.XML_RetornaValor('ID_UON1a', p_strConfigs)); 775 + strId_unid_organizacional_nivel1a := GetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1a',tStringsMapaCACIC);
  776 + if (strId_unid_organizacional_nivel1a='') then
  777 + strId_unid_organizacional_nivel1a := g_oCacic.deCrypt(XML.XML_RetornaValor('ID_UON1a', p_strConfigs));
815 778
816 - strId_unid_organizacional_nivel2 := GetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2',tStringsCipherOpened);  
817 - if (strId_unid_organizacional_nivel2='') then  
818 - strId_unid_organizacional_nivel2 := g_oCacic.deCrypt(XML.XML_RetornaValor('ID_UON2', p_strConfigs)); 779 + strId_unid_organizacional_nivel2 := GetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2',tStringsMapaCACIC);
  780 + if (strId_unid_organizacional_nivel2='') then
  781 + strId_unid_organizacional_nivel2 := g_oCacic.deCrypt(XML.XML_RetornaValor('ID_UON2', p_strConfigs));
819 782
820 - strId_Local := GetValorDatMemoria('Patrimonio.id_local',tStringsCipherOpened);  
821 - if (strId_Local='') then  
822 - strId_Local := g_oCacic.deCrypt(XML.XML_RetornaValor('ID_LOCAL', p_strConfigs)); 783 + strId_Local := GetValorDatMemoria('Patrimonio.id_local',tStringsMapaCACIC);
  784 + if (strId_Local='') then
  785 + strId_Local := g_oCacic.deCrypt(XML.XML_RetornaValor('ID_LOCAL', p_strConfigs));
823 786
824 - Try  
825 - cb_id_unid_organizacional_nivel1.ItemIndex := cb_id_unid_organizacional_nivel1.Items.IndexOf(RetornaValorVetorUON1(strId_unid_organizacional_nivel1));  
826 - cb_id_unid_organizacional_nivel1Change(Nil); // Para filtrar os valores do combo2 de acordo com o valor selecionado no combo1  
827 - cb_id_unid_organizacional_nivel1a.ItemIndex := cb_id_unid_organizacional_nivel1a.Items.IndexOf(RetornaValorVetorUON1(strId_unid_organizacional_nivel1));  
828 - Except  
829 - end; 787 + Try
  788 + cb_id_unid_organizacional_nivel1.ItemIndex := cb_id_unid_organizacional_nivel1.Items.IndexOf(RetornaValorVetorUON1(strId_unid_organizacional_nivel1));
  789 + cb_id_unid_organizacional_nivel1Change(Nil); // Para filtrar os valores do combo2 de acordo com o valor selecionado no combo1
  790 + cb_id_unid_organizacional_nivel1a.ItemIndex := cb_id_unid_organizacional_nivel1a.Items.IndexOf(RetornaValorVetorUON1(strId_unid_organizacional_nivel1));
  791 + Except
  792 + end;
830 793
831 - Try  
832 - cb_id_unid_organizacional_nivel1a.ItemIndex := cb_id_unid_organizacional_nivel1a.Items.IndexOf(RetornaValorVetorUON1a(strId_unid_organizacional_nivel1a));  
833 - cb_id_unid_organizacional_nivel1aChange(Nil); // Para filtrar os valores do combo3 de acordo com o valor selecionado no combo2  
834 - cb_id_unid_organizacional_nivel2.ItemIndex := cb_id_unid_organizacional_nivel2.Items.IndexOf(RetornaValorVetorUON2(strId_unid_organizacional_nivel2,strId_Local));  
835 - Except  
836 - end; 794 + Try
  795 + cb_id_unid_organizacional_nivel1a.ItemIndex := cb_id_unid_organizacional_nivel1a.Items.IndexOf(RetornaValorVetorUON1a(strId_unid_organizacional_nivel1a));
  796 + cb_id_unid_organizacional_nivel1aChange(Nil); // Para filtrar os valores do combo3 de acordo com o valor selecionado no combo2
  797 + cb_id_unid_organizacional_nivel2.ItemIndex := cb_id_unid_organizacional_nivel2.Items.IndexOf(RetornaValorVetorUON2(strId_unid_organizacional_nivel2,strId_Local));
  798 + Except
  799 + end;
837 800
838 - lbEtiqueta1.Caption := g_oCacic.deCrypt(XML.XML_RetornaValor('te_etiqueta1', p_strConfigs));  
839 - lbEtiqueta1a.Caption := g_oCacic.deCrypt(XML.XML_RetornaValor('te_etiqueta1a', p_strConfigs)); 801 + lbEtiqueta1.Caption := g_oCacic.deCrypt(XML.XML_RetornaValor('te_etiqueta1', p_strConfigs));
  802 + lbEtiqueta1a.Caption := g_oCacic.deCrypt(XML.XML_RetornaValor('te_etiqueta1a', p_strConfigs));
840 803
841 - strTe_localizacao_complementar := GetValorDatMemoria('Patrimonio.te_localizacao_complementar',tStringsCipherOpened);  
842 - if (strTe_localizacao_complementar='') then strTe_localizacao_complementar := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_LOC_COMPL', p_strConfigs)); 804 + strTe_localizacao_complementar := GetValorDatMemoria('Patrimonio.te_localizacao_complementar',tStringsMapaCACIC);
  805 + if (strTe_localizacao_complementar='') then strTe_localizacao_complementar := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_LOC_COMPL', p_strConfigs));
843 806
844 - // Tentarei buscar informação gravada no Registry  
845 - strTe_info_patrimonio1 := GetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio1');  
846 - if (strTe_info_patrimonio1='') then  
847 - Begin  
848 - strTe_info_patrimonio1 := GetValorDatMemoria('Patrimonio.te_info_patrimonio1',tStringsCipherOpened);  
849 - End;  
850 - if (strTe_info_patrimonio1='') then strTe_info_patrimonio1 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO1', p_strConfigs)); 807 + // Tentarei buscar informação gravada no Registry
  808 + strTe_info_patrimonio1 := GetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio1');
  809 + if (strTe_info_patrimonio1='') then
  810 + Begin
  811 + strTe_info_patrimonio1 := GetValorDatMemoria('Patrimonio.te_info_patrimonio1',tStringsMapaCACIC);
  812 + End;
  813 + if (strTe_info_patrimonio1='') then strTe_info_patrimonio1 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO1', p_strConfigs));
851 814
852 - strTe_info_patrimonio2 := GetValorDatMemoria('Patrimonio.te_info_patrimonio2',tStringsCipherOpened);  
853 - if (strTe_info_patrimonio2='') then strTe_info_patrimonio2 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO2', p_strConfigs)); 815 + strTe_info_patrimonio2 := GetValorDatMemoria('Patrimonio.te_info_patrimonio2',tStringsMapaCACIC);
  816 + if (strTe_info_patrimonio2='') then strTe_info_patrimonio2 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO2', p_strConfigs));
854 817
855 - strTe_info_patrimonio3 := GetValorDatMemoria('Patrimonio.te_info_patrimonio3',tStringsCipherOpened);  
856 - if (strTe_info_patrimonio3='') then strTe_info_patrimonio3 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO3', p_strConfigs)); 818 + strTe_info_patrimonio3 := GetValorDatMemoria('Patrimonio.te_info_patrimonio3',tStringsMapaCACIC);
  819 + if (strTe_info_patrimonio3='') then strTe_info_patrimonio3 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO3', p_strConfigs));
857 820
858 - // Tentarei buscar informação gravada no Registry  
859 - strTe_info_patrimonio4 := GetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio4');  
860 - if (strTe_info_patrimonio4='') then  
861 - Begin  
862 - strTe_info_patrimonio4 := GetValorDatMemoria('Patrimonio.te_info_patrimonio4',tStringsCipherOpened);  
863 - End;  
864 - if (strTe_info_patrimonio4='') then strTe_info_patrimonio4 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO4', p_strConfigs)); 821 + // Tentarei buscar informação gravada no Registry
  822 + strTe_info_patrimonio4 := GetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio4');
  823 + if (strTe_info_patrimonio4='') then
  824 + Begin
  825 + strTe_info_patrimonio4 := GetValorDatMemoria('Patrimonio.te_info_patrimonio4',tStringsMapaCACIC);
  826 + End;
  827 + if (strTe_info_patrimonio4='') then strTe_info_patrimonio4 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO4', p_strConfigs));
865 828
866 - strTe_info_patrimonio5 := GetValorDatMemoria('Patrimonio.te_info_patrimonio5',tStringsCipherOpened);  
867 - if (strTe_info_patrimonio5='') then strTe_info_patrimonio5 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO5', p_strConfigs)); 829 + strTe_info_patrimonio5 := GetValorDatMemoria('Patrimonio.te_info_patrimonio5',tStringsMapaCACIC);
  830 + if (strTe_info_patrimonio5='') then strTe_info_patrimonio5 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO5', p_strConfigs));
868 831
869 - strTe_info_patrimonio6 := GetValorDatMemoria('Patrimonio.te_info_patrimonio6',tStringsCipherOpened);  
870 - if (strTe_info_patrimonio6='') then strTe_info_patrimonio6 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO6', p_strConfigs)); 832 + strTe_info_patrimonio6 := GetValorDatMemoria('Patrimonio.te_info_patrimonio6',tStringsMapaCACIC);
  833 + if (strTe_info_patrimonio6='') then strTe_info_patrimonio6 := g_oCacic.deCrypt(XML.XML_RetornaValor('TE_INFO6', p_strConfigs));
871 end; 834 end;
872 835
873 procedure TfrmMapaCacic.MontaCombos(p_strConfigs : String); 836 procedure TfrmMapaCacic.MontaCombos(p_strConfigs : String);
@@ -1014,7 +977,7 @@ begin @@ -1014,7 +977,7 @@ begin
1014 977
1015 if (Length(VetorUON1) = 0) then 978 if (Length(VetorUON1) = 0) then
1016 Begin 979 Begin
1017 - frmMapaCacic.Mensagem('ATENÇÃO! Verifique se esta subrede foi cadastrada no CACIC.',true,intPausaPadrao * 2); 980 + frmMapaCacic.Mensagem('ATENÇÃO! Não encontrei Entidades, Linhas de Negócio ou Órgãos cadastrados para esta subrede.',true,intPausaPadrao * 2);
1018 Finalizar(true); 981 Finalizar(true);
1019 End; 982 End;
1020 983
@@ -1103,6 +1066,8 @@ begin @@ -1103,6 +1066,8 @@ begin
1103 strIdUON1a := tstrAux[0]; 1066 strIdUON1a := tstrAux[0];
1104 strIdLocal := tstrAux[1]; 1067 strIdLocal := tstrAux[1];
1105 1068
  1069 + tstrAux.Free;
  1070 +
1106 Log_debug('strIdLocal = '+strIdLocal); 1071 Log_debug('strIdLocal = '+strIdLocal);
1107 cb_id_unid_organizacional_nivel2.Items.Clear; 1072 cb_id_unid_organizacional_nivel2.Items.Clear;
1108 cb_id_unid_organizacional_nivel2.Enabled := false; 1073 cb_id_unid_organizacional_nivel2.Enabled := false;
@@ -1145,85 +1110,78 @@ var strIdUON1, @@ -1145,85 +1110,78 @@ var strIdUON1,
1145 tstrListAux : TStringList; 1110 tstrListAux : TStringList;
1146 tstrAux : TStrings; 1111 tstrAux : TStrings;
1147 begin 1112 begin
1148 - Matar(g_oCacic.getCacicPath,'aguarde_CACIC.txt'); 1113 + tstrAux := TStrings.Create;
  1114 + tstrAux := g_oCacic.explode(VetorUON2Filtrado[cb_id_unid_organizacional_nivel2.ItemIndex],'#');
  1115 + Try
  1116 + strIdUON1 := VetorUON1[cb_id_unid_organizacional_nivel1.ItemIndex].id1;
  1117 + strIdUON2 := tstrAux[0];
  1118 + strIdLocal := tstrAux[1];
  1119 + Except
  1120 + end;
1149 1121
1150 - if FileExists(g_oCacic.getCacicPath + 'aguarde_CACIC.txt') then  
1151 - MessageDLG(#13#10+'ATENÇÃO!'+#13#10#13#10+  
1152 - 'Para o envio das informações, é necessário finalizar o Agente Principal do CACIC.',mtError,[mbOK],0)  
1153 - else  
1154 - Begin  
1155 - tstrAux := TStrings.Create;  
1156 - tstrAux := g_oCacic.explode(VetorUON2Filtrado[cb_id_unid_organizacional_nivel2.ItemIndex],'#');  
1157 - Try  
1158 - strIdUON1 := VetorUON1[cb_id_unid_organizacional_nivel1.ItemIndex].id1;  
1159 - strIdUON2 := tstrAux[0];  
1160 - strIdLocal := tstrAux[1];  
1161 - Except  
1162 - end;  
1163 -  
1164 - tstrAux := g_oCacic.explode(VetorUON1aFiltrado[cb_id_unid_organizacional_nivel1a.ItemIndex],'#');  
1165 - Try  
1166 - strIdUON1a := tstrAux[0];  
1167 - Except  
1168 - end;  
1169 -  
1170 - tstrAux.Free;  
1171 - Mensagem('Enviando Informações Coletadas ao Banco de Dados...',false,intPausaPadrao div 3);  
1172 - // Envio dos Dados Coletados ao Banco de Dados  
1173 - tstrListAux := TStringList.Create;  
1174 - tstrListAux.Values['te_node_address'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NODE_ADDRESS' , frmMapaCacic.tStringsCipherOpened));  
1175 - tstrListAux.Values['id_so'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('Configs.ID_SO' , frmMapaCacic.tStringsCipherOpened));  
1176 - tstrListAux.Values['te_so'] := g_oCacic.enCrypt(g_oCacic.getWindowsStrId());  
1177 - tstrListAux.Values['id_ip_rede'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.ID_IP_REDE' , frmMapaCacic.tStringsCipherOpened));  
1178 - tstrListAux.Values['te_ip'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_IP' , frmMapaCacic.tStringsCipherOpened));  
1179 - tstrListAux.Values['te_nome_computador'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NOME_COMPUTADOR' , frmMapaCacic.tStringsCipherOpened));  
1180 - tstrListAux.Values['te_workgroup'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_WORKGROUP' , frmMapaCacic.tStringsCipherOpened));  
1181 - tstrListAux.Values['id_usuario'] := g_oCacic.enCrypt(frmMapaCacic.strId_usuario);  
1182 - tstrListAux.Values['id_unid_organizacional_nivel1'] := g_oCacic.enCrypt(strIdUON1);  
1183 - tstrListAux.Values['id_unid_organizacional_nivel1a']:= g_oCacic.enCrypt(strIdUON1A);  
1184 - tstrListAux.Values['id_unid_organizacional_nivel2'] := g_oCacic.enCrypt(strIdUON2);  
1185 - tstrListAux.Values['te_localizacao_complementar' ] := g_oCacic.enCrypt(ed_te_localizacao_complementar.Text);  
1186 - tstrListAux.Values['te_info_patrimonio1' ] := g_oCacic.enCrypt(ed_te_info_patrimonio1.Text);  
1187 - tstrListAux.Values['te_info_patrimonio2' ] := g_oCacic.enCrypt(ed_te_info_patrimonio2.Text);  
1188 - tstrListAux.Values['te_info_patrimonio3' ] := g_oCacic.enCrypt(ed_te_info_patrimonio3.Text);  
1189 - tstrListAux.Values['te_info_patrimonio4' ] := g_oCacic.enCrypt(ed_te_info_patrimonio4.Text);  
1190 - tstrListAux.Values['te_info_patrimonio5' ] := g_oCacic.enCrypt(ed_te_info_patrimonio5.Text);  
1191 - tstrListAux.Values['te_info_patrimonio6' ] := g_oCacic.enCrypt(ed_te_info_patrimonio6.Text);  
1192 -  
1193 - log_DEBUG('Informações para contato com mapa_set_patrimonio:');  
1194 - log_DEBUG('te_node_address: '+tstrListAux.Values['te_node_address']);  
1195 - log_DEBUG('id_so: '+tstrListAux.Values['id_so']);  
1196 - log_DEBUG('te_so: '+tstrListAux.Values['te_so']);  
1197 - log_DEBUG('id_ip_rede: '+tstrListAux.Values['id_ip_rede']);  
1198 - log_DEBUG('te_ip: '+tstrListAux.Values['te_ip']);  
1199 - log_DEBUG('te_nome_computador: '+tstrListAux.Values['te_nome_computador']);  
1200 - log_DEBUG('te_workgroup: '+tstrListAux.Values['te_workgroup']);  
1201 -  
1202 - strRetorno := frmMapaCacic.ComunicaServidor('mapa_set_patrimonio.php', tstrListAux, '');  
1203 - tstrListAux.Free;  
1204 -  
1205 - if not (frmMapaCacic.XML_RetornaValor('STATUS', strRetorno)='OK') then  
1206 - Mensagem('ATENÇÃO: PROBLEMAS NO ENVIO DAS INFORMAÇÕES COLETADAS AO BANCO DE DADOS...',true,intPausaPadrao)  
1207 - else  
1208 - Begin  
1209 - Mensagem('Salvando Informações Coletadas em Base Local...',false,intPausaPadrao div 3);  
1210 - SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1', strIdUON1, tStringsCipherOpened);  
1211 - SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1a', strIdUON1a, tStringsCipherOpened);  
1212 - SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2' , strIdUON2, tStringsCipherOpened);  
1213 - SetValorDatMemoria('Patrimonio.id_local' , strIdLocal, tStringsCipherOpened);  
1214 - SetValorDatMemoria('Patrimonio.te_localizacao_complementar' , ed_te_localizacao_complementar.Text, tStringsCipherOpened);  
1215 - SetValorDatMemoria('Patrimonio.te_info_patrimonio1' , ed_te_info_patrimonio1.Text, tStringsCipherOpened);  
1216 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio1', ed_te_info_patrimonio1.Text);  
1217 - SetValorDatMemoria('Patrimonio.te_info_patrimonio2' , ed_te_info_patrimonio2.Text, tStringsCipherOpened);  
1218 - SetValorDatMemoria('Patrimonio.te_info_patrimonio3' , ed_te_info_patrimonio3.Text, tStringsCipherOpened);  
1219 - SetValorDatMemoria('Patrimonio.te_info_patrimonio4' , ed_te_info_patrimonio4.Text, tStringsCipherOpened);  
1220 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio4', ed_te_info_patrimonio4.Text);  
1221 - SetValorDatMemoria('Patrimonio.te_info_patrimonio5' , ed_te_info_patrimonio5.Text, tStringsCipherOpened);  
1222 - SetValorDatMemoria('Patrimonio.te_info_patrimonio6' , ed_te_info_patrimonio6.Text, tStringsCipherOpened);  
1223 - SetValorDatMemoria('Patrimonio.ultima_rede_obtida' , GetValorDatMemoria('TcpIp.ID_IP_REDE',frmMapaCacic.tStringsCipherOpened),tStringsCipherOpened);  
1224 - End;  
1225 - Finalizar(true);  
1226 - End; 1122 + tstrAux := g_oCacic.explode(VetorUON1aFiltrado[cb_id_unid_organizacional_nivel1a.ItemIndex],'#');
  1123 + Try
  1124 + strIdUON1a := tstrAux[0];
  1125 + Except
  1126 + end;
  1127 +
  1128 + tstrAux.Free;
  1129 + Mensagem('Enviando Informações Coletadas ao Banco de Dados...',false,intPausaPadrao div 3);
  1130 + // Envio dos Dados Coletados ao Banco de Dados
  1131 + tstrListAux := TStringList.Create;
  1132 + tstrListAux.Values['te_node_address'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NODE_ADDRESS' , frmMapaCacic.tStringsCACIC));
  1133 + tstrListAux.Values['id_so'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('Configs.ID_SO' , frmMapaCacic.tStringsCACIC));
  1134 + tstrListAux.Values['te_so'] := g_oCacic.enCrypt(g_oCacic.getWindowsStrId());
  1135 + tstrListAux.Values['id_ip_rede'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.ID_IP_REDE' , frmMapaCacic.tStringsCACIC));
  1136 + tstrListAux.Values['te_ip'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_IP' , frmMapaCacic.tStringsCACIC));
  1137 + tstrListAux.Values['te_nome_computador'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NOME_COMPUTADOR' , frmMapaCacic.tStringsCACIC));
  1138 + tstrListAux.Values['te_workgroup'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_WORKGROUP' , frmMapaCacic.tStringsCACIC));
  1139 + tstrListAux.Values['id_usuario'] := g_oCacic.enCrypt(frmMapaCacic.strId_usuario);
  1140 + tstrListAux.Values['id_unid_organizacional_nivel1'] := g_oCacic.enCrypt(strIdUON1);
  1141 + tstrListAux.Values['id_unid_organizacional_nivel1a']:= g_oCacic.enCrypt(strIdUON1A);
  1142 + tstrListAux.Values['id_unid_organizacional_nivel2'] := g_oCacic.enCrypt(strIdUON2);
  1143 + tstrListAux.Values['te_localizacao_complementar' ] := g_oCacic.enCrypt(ed_te_localizacao_complementar.Text);
  1144 + tstrListAux.Values['te_info_patrimonio1' ] := g_oCacic.enCrypt(ed_te_info_patrimonio1.Text);
  1145 + tstrListAux.Values['te_info_patrimonio2' ] := g_oCacic.enCrypt(ed_te_info_patrimonio2.Text);
  1146 + tstrListAux.Values['te_info_patrimonio3' ] := g_oCacic.enCrypt(ed_te_info_patrimonio3.Text);
  1147 + tstrListAux.Values['te_info_patrimonio4' ] := g_oCacic.enCrypt(ed_te_info_patrimonio4.Text);
  1148 + tstrListAux.Values['te_info_patrimonio5' ] := g_oCacic.enCrypt(ed_te_info_patrimonio5.Text);
  1149 + tstrListAux.Values['te_info_patrimonio6' ] := g_oCacic.enCrypt(ed_te_info_patrimonio6.Text);
  1150 +
  1151 + log_DEBUG('Informações para contato com mapa_set_patrimonio:');
  1152 + log_DEBUG('te_node_address: '+tstrListAux.Values['te_node_address']);
  1153 + log_DEBUG('id_so: '+tstrListAux.Values['id_so']);
  1154 + log_DEBUG('te_so: '+tstrListAux.Values['te_so']);
  1155 + log_DEBUG('id_ip_rede: '+tstrListAux.Values['id_ip_rede']);
  1156 + log_DEBUG('te_ip: '+tstrListAux.Values['te_ip']);
  1157 + log_DEBUG('te_nome_computador: '+tstrListAux.Values['te_nome_computador']);
  1158 + log_DEBUG('te_workgroup: '+tstrListAux.Values['te_workgroup']);
  1159 +
  1160 + strRetorno := frmMapaCacic.ComunicaServidor('mapa_set_patrimonio.php', tstrListAux, '');
  1161 + tstrListAux.Free;
  1162 +
  1163 + if not (frmMapaCacic.XML_RetornaValor('STATUS', strRetorno)='OK') then
  1164 + Mensagem('ATENÇÃO: PROBLEMAS NO ENVIO DAS INFORMAÇÕES COLETADAS AO BANCO DE DADOS...',true,intPausaPadrao)
  1165 + else
  1166 + Begin
  1167 + Mensagem('Salvando Informações Coletadas em Base Local...',false,intPausaPadrao div 3);
  1168 + SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1' , strIdUON1, tStringsMapaCACIC);
  1169 + SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1a', strIdUON1a, tStringsMapaCACIC);
  1170 + SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2' , strIdUON2, tStringsMapaCACIC);
  1171 + SetValorDatMemoria('Patrimonio.id_local' , strIdLocal, tStringsMapaCACIC);
  1172 + SetValorDatMemoria('Patrimonio.te_localizacao_complementar' , ed_te_localizacao_complementar.Text, tStringsMapaCACIC);
  1173 + SetValorDatMemoria('Patrimonio.te_info_patrimonio1' , ed_te_info_patrimonio1.Text, tStringsMapaCACIC);
  1174 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio1', ed_te_info_patrimonio1.Text);
  1175 + SetValorDatMemoria('Patrimonio.te_info_patrimonio2' , ed_te_info_patrimonio2.Text, tStringsMapaCACIC);
  1176 + SetValorDatMemoria('Patrimonio.te_info_patrimonio3' , ed_te_info_patrimonio3.Text, tStringsMapaCACIC);
  1177 + SetValorDatMemoria('Patrimonio.te_info_patrimonio4' , ed_te_info_patrimonio4.Text, tStringsMapaCACIC);
  1178 + SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio4', ed_te_info_patrimonio4.Text);
  1179 + SetValorDatMemoria('Patrimonio.te_info_patrimonio5' , ed_te_info_patrimonio5.Text, tStringsMapaCACIC);
  1180 + SetValorDatMemoria('Patrimonio.te_info_patrimonio6' , ed_te_info_patrimonio6.Text, tStringsMapaCACIC);
  1181 + SetValorDatMemoria('Patrimonio.ultima_rede_obtida' , GetValorDatMemoria('TcpIp.ID_IP_REDE',frmMapaCacic.tStringsCACIC),tStringsMapaCACIC);
  1182 + SetValorDatMemoria('Patrimonio.dt_ultima_renovacao' , FormatDateTime('yyyymmddhhnnss', Now),tStringsMapaCACIC);
  1183 + End;
  1184 + Finalizar(true);
1227 end; 1185 end;
1228 1186
1229 procedure TfrmMapaCacic.MontaInterface(p_strConfigs : String); 1187 procedure TfrmMapaCacic.MontaInterface(p_strConfigs : String);
@@ -1460,9 +1418,12 @@ end; @@ -1460,9 +1418,12 @@ end;
1460 1418
1461 procedure TfrmMapaCacic.mapa; 1419 procedure TfrmMapaCacic.mapa;
1462 var strConfigs : String; 1420 var strConfigs : String;
  1421 + tstrAUX : TStrings;
1463 begin 1422 begin
  1423 + tstrAUX := TStrings.Create;
  1424 +
1464 Try 1425 Try
1465 - strConfigs := GetValorDatMemoria('Patrimonio.Configs', frmMapaCacic.tStringsCipherOpened); 1426 + strConfigs := GetValorDatMemoria('Patrimonio.Configs', frmMapaCacic.tStringsMapaCACIC);
1466 gbLeiaComAtencao.Visible := true; 1427 gbLeiaComAtencao.Visible := true;
1467 gbInformacoesSobreComputador.Visible := true; 1428 gbInformacoesSobreComputador.Visible := true;
1468 MontaCombos(strConfigs); 1429 MontaCombos(strConfigs);
@@ -1480,128 +1441,137 @@ var intAux : integer; @@ -1480,128 +1441,137 @@ var intAux : integer;
1480 v_strCacicPath : String; 1441 v_strCacicPath : String;
1481 Request_mapa : TStringList; 1442 Request_mapa : TStringList;
1482 begin 1443 begin
1483 - g_oCacic := TCACIC.Create();  
1484 -  
1485 - g_oCacic.setBoolCipher(true);  
1486 - frmMapaCacic.lbVersao.Caption := 'Versão: ' + frmMapaCacic.GetVersionInfo(ParamStr(0));  
1487 - log_DEBUG('Versão do MapaCacic: '+frmMapaCacic.lbVersao.Caption);  
1488 -  
1489 - if (g_oCacic.isWindowsNTPlataform()) and (not g_oCacic.isWindowsAdmin()) then 1444 + if not boolFinalizar then
1490 Begin 1445 Begin
1491 - MessageDLG(#13#10+'ATENÇÃO! Essa aplicação requer execução com nível administrativo.',mtError,[mbOK],0);  
1492 - Sair;  
1493 - End  
1494 - else  
1495 - Begin  
1496 - frmMapaCacic.tStringsCipherOpened := TStrings.Create; 1446 + g_oCacic := TCACIC.Create();
1497 1447
1498 - // Buscarei o caminho do Sistema em \WinDIR\chkSIS.DAT  
1499 - frmMapaCacic.tStringsCipherOpened := CipherOpen(g_oCacic.getWinDir + 'chksis.dat');  
1500 - v_strCacicPath := GetValorDatMemoria('cacic2.cacic_dir',frmMapaCacic.tStringsCipherOpened); 1448 + g_oCacic.setBoolCipher(true);
  1449 + frmMapaCacic.lbVersao.Caption := 'Versão: ' + frmMapaCacic.GetVersionInfo(ParamStr(0));
1501 1450
1502 - if not (v_strCacicPath = '') then 1451 + if (g_oCacic.isWindowsNTPlataform()) and (not g_oCacic.isWindowsAdmin()) then
  1452 + MessageDLG(#13#10+'ATENÇÃO! Essa aplicação requer execução com nível administrativo.',mtError,[mbOK],0)
  1453 + else
1503 Begin 1454 Begin
1504 - g_oCacic.setCacicPath(v_strCacicPath);  
1505 -  
1506 - // A existência e bloqueio do arquivo abaixo evitará que o Cacic2.exe entre em ação  
1507 - AssignFile(v_Aguarde,g_oCacic.getCacicPath + 'temp\aguarde_MAPACACIC.txt'); {Associa o arquivo a uma variável do tipo TextFile}  
1508 - {$IOChecks off}  
1509 - Reset(v_Aguarde); {Abre o arquivo texto}  
1510 - {$IOChecks on}  
1511 - if (IOResult <> 0) then // Arquivo não existe, será recriado.  
1512 - Rewrite (v_Aguarde);  
1513 -  
1514 - Append(v_Aguarde);  
1515 - Writeln(v_Aguarde,'Apenas um pseudo-cookie para o Cacic2 esperar o término de MapaCACIC');  
1516 - Append(v_Aguarde);  
1517 -  
1518 - frmMapaCacic.tStringsCipherOpened := frmMapaCacic.CipherOpen(frmMapaCacic.g_oCacic.getCacicPath + frmMapaCacic.g_oCacic.getDatFileName);  
1519 - frmMapaCacic.lbNomeServidorWEB.Caption := 'Servidor: '+frmMapaCacic.GetValorDatMemoria('Configs.EnderecoServidor', frmMapaCacic.tStringsCipherOpened);  
1520 - frmMapaCacic.lbMensagens.Caption := 'Entrada de Dados para Autenticação no Módulo Gerente WEB Cacic';  
1521 - if (frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NODE_ADDRESS' , frmMapaCacic.tStringsCipherOpened)='') then  
1522 - Begin  
1523 - frmMapaCacic.boolAcessoOK := false;  
1524 - MessageDLG(#13#10+'Atenção! É necessário executar as coletas do Sistema Cacic.' + #13#10 + #13#10 +  
1525 - 'Caso o Sistema Cacic já esteja instalado, clique com botão direito' + #13#10 +  
1526 - 'sobre o ícone da bandeja, escolha a opção "Executar Agora" e aguarde' + #13#10 +  
1527 - 'o fim do processo.',mtError,[mbOK],0);  
1528 - frmMapaCacic.Finalizar(false);  
1529 - End  
1530 - else 1455 + frmMapaCacic.tStringsMapaCACIC := TStrings.Create;
  1456 +
  1457 + // Buscarei o caminho do Sistema em \WinDIR\chkSIS.DAT
  1458 + CipherOpen(g_oCacic.getWinDir + 'chksis.dat',frmMapaCacic.tStringsMapaCACIC);
  1459 + v_strCacicPath := GetValorDatMemoria('cacic2.cacic_dir',frmMapaCacic.tStringsMapaCACIC);
  1460 +
  1461 + if not (v_strCacicPath = '') then
1531 Begin 1462 Begin
1532 - Matar(g_oCacic.getCacicPath,'aguarde_CACIC.txt'); 1463 + frmMapaCacic.tStringsCACIC := TStrings.Create;
  1464 + g_oCacic.setCacicPath(v_strCacicPath);
1533 1465
1534 - if FileExists(g_oCacic.getCacicPath + 'aguarde_CACIC.txt') then  
1535 - Begin  
1536 - MessageDLG(#13#10+'ATENÇÃO! É necessário finalizar o Agente Principal do CACIC.',mtError,[mbOK],0);  
1537 - Sair;  
1538 - End; 1466 + // A existência e bloqueio do arquivo abaixo evitará que o Cacic2.exe entre em ação
  1467 + AssignFile(v_Aguarde,g_oCacic.getCacicPath + 'temp\aguarde_MAPACACIC.txt'); {Associa o arquivo a uma variável do tipo TextFile}
  1468 + {$IOChecks off}
  1469 + Reset(v_Aguarde); {Abre o arquivo texto}
  1470 + {$IOChecks on}
  1471 + if (IOResult <> 0) then // Arquivo não existe, será recriado.
  1472 + Rewrite (v_Aguarde);
1539 1473
1540 - boolDebugs := false;  
1541 - if DirectoryExists(g_oCacic.getCacicPath + 'Temp\Debugs') then  
1542 - Begin  
1543 - if (FormatDateTime('ddmmyyyy', GetFolderDate(g_oCacic.getCacicPath + 'Temp\Debugs')) = FormatDateTime('ddmmyyyy', date)) then  
1544 - Begin  
1545 - boolDebugs := true;  
1546 - log_DEBUG('Pasta "' + g_oCacic.getCacicPath + 'Temp\Debugs" com data '+FormatDateTime('dd-mm-yyyy', GetFolderDate(g_oCacic.getCacicPath + 'Temp\Debugs'))+' encontrada. DEBUG ativado.');  
1547 - End;  
1548 - End; 1474 + Append(v_Aguarde);
  1475 + Writeln(v_Aguarde,'Apenas um pseudo-cookie para o Cacic2 esperar o término de MapaCACIC');
  1476 + Append(v_Aguarde);
  1477 +
  1478 + CipherOpen(frmMapaCacic.g_oCacic.getCacicPath + frmMapaCacic.g_oCacic.getDatFileName,frmMapaCacic.tStringsCACIC);
  1479 +
  1480 + if not FileExists(frmMapaCacic.g_oCacic.getCacicPath + 'MapaCACIC.dat') then
  1481 + CopyFile(PChar(frmMapaCacic.g_oCacic.getCacicPath + frmMapaCacic.g_oCacic.getDatFileName), PChar(frmMapaCacic.g_oCacic.getCacicPath + 'MapaCACIC.dat'), true);
1549 1482
1550 - // Acessar...  
1551 - CriaFormSenha(nil);  
1552 - frmAcesso.ShowModal; 1483 + frmMapaCacic.CipherOpen(frmMapaCacic.g_oCacic.getCacicPath + 'MapaCACIC.dat',frmMapaCacic.tStringsMapaCACIC);
1553 1484
1554 - if not (boolAcessoOK) then  
1555 - Finalizar(true) 1485 + // Sobreponho as informações do MapaCACIC com informações do CACIC, caso sejam mais antigas
  1486 + if (GetValorDatMemoria('Patrimonio.dt_ultima_renovacao',tStringsMapaCACIC) = '') or
  1487 + (StrToInt64(GetValorDatMemoria('Patrimonio.dt_ultima_renovacao',tStringsMapaCACIC)) < StrToInt64(GetValorDatMemoria('Patrimonio.dt_ultima_renovacao',tStringsCACIC))) then
  1488 + frmMapaCacic.tStringsMapaCACIC := frmMapaCacic.tStringsCACIC;
  1489 +
  1490 + frmMapaCacic.lbNomeServidorWEB.Caption := 'Servidor de Aplicação: '+frmMapaCacic.GetValorDatMemoria('Configs.EnderecoServidor', frmMapaCacic.tStringsCACIC);
  1491 + frmMapaCacic.lbMensagens.Caption := 'Entrada de Dados para Autenticação no Módulo Gerente WEB Cacic';
  1492 + if (frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NODE_ADDRESS' , frmMapaCacic.tStringsCACIC)='') then
  1493 + Begin
  1494 + frmMapaCacic.boolAcessoOK := false;
  1495 + MessageDLG(#13#10+'Atenção! É necessário executar as coletas do Sistema Cacic.' + #13#10 + #13#10 +
  1496 + 'Caso o Sistema Cacic já esteja instalado, clique com botão direito' + #13#10 +
  1497 + 'sobre o ícone da bandeja, escolha a opção "Executar Agora" e aguarde' + #13#10 +
  1498 + 'o fim do processo.',mtError,[mbOK],0);
  1499 + frmMapaCacic.Finalizar(false);
  1500 + End
1556 else 1501 else
1557 Begin 1502 Begin
1558 - pnMensagens.Visible := true;  
1559 - Mensagem('Efetuando Comunicação com o Módulo Gerente WEB em "'+GetValorDatMemoria('Configs.EnderecoServidor', tStringsCipherOpened)+'"...',false,intPausaPadrao div 3);  
1560 - frmAcesso.Free;  
1561 -  
1562 - // Povoamento com dados de configurações da interface patrimonial  
1563 - // Solicita ao servidor as configurações para a Coleta de Informações de Patrimônio  
1564 - Request_mapa := TStringList.Create;  
1565 - Request_mapa.Values['te_node_address'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NODE_ADDRESS' , frmMapaCacic.tStringsCipherOpened));  
1566 - Request_mapa.Values['id_so'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('Configs.ID_SO' , frmMapaCacic.tStringsCipherOpened));  
1567 - Request_mapa.Values['te_so'] := g_oCacic.enCrypt(g_oCacic.getWindowsStrId());  
1568 - Request_mapa.Values['id_ip_rede'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.ID_IP_REDE' , frmMapaCacic.tStringsCipherOpened));  
1569 - Request_mapa.Values['te_ip'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_IP' , frmMapaCacic.tStringsCipherOpened));  
1570 - Request_mapa.Values['te_nome_computador']:= g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NOME_COMPUTADOR', frmMapaCacic.tStringsCipherOpened));  
1571 - Request_mapa.Values['te_workgroup'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_WORKGROUP' , frmMapaCacic.tStringsCipherOpened));  
1572 - Request_mapa.Values['id_usuario'] := g_oCacic.enCrypt(frmMapaCacic.strId_usuario);  
1573 -  
1574 - strRetorno := frmMapaCacic.ComunicaServidor('mapa_get_patrimonio.php', Request_mapa, '.');  
1575 -  
1576 - log_DEBUG('Retorno: "'+strRetorno+'"');  
1577 -  
1578 - if (frmMapaCacic.XML_RetornaValor('STATUS', strRetorno)='OK') then  
1579 - Begin  
1580 - Mensagem('Comunicação Efetuada com Sucesso! Salvando Configurações Obtidas...',false,intPausaPadrao div 3);  
1581 - frmMapaCacic.SetValorDatMemoria('Patrimonio.Configs', strRetorno, frmMapaCacic.tStringsCipherOpened)  
1582 - End  
1583 - else 1503 +
  1504 + boolDebugs := false;
  1505 + if DirectoryExists(g_oCacic.getCacicPath + 'Temp\Debugs') then
1584 Begin 1506 Begin
1585 - Mensagem('PROBLEMAS NA COMUNICAÇÃO COM O MÓDULO GERENTE WEB...',true,intPausaPadrao);  
1586 - Finalizar(true); 1507 + if (FormatDateTime('ddmmyyyy', GetFolderDate(g_oCacic.getCacicPath + 'Temp\Debugs')) = FormatDateTime('ddmmyyyy', date)) then
  1508 + Begin
  1509 + boolDebugs := true;
  1510 + log_DEBUG('Pasta "' + g_oCacic.getCacicPath + 'Temp\Debugs" com data '+FormatDateTime('dd-mm-yyyy', GetFolderDate(g_oCacic.getCacicPath + 'Temp\Debugs'))+' encontrada. DEBUG ativado.');
  1511 + End;
1587 End; 1512 End;
1588 1513
1589 - Request_mapa.Free; 1514 + log_DEBUG('Versão do MapaCacic: '+frmMapaCacic.lbVersao.Caption);
  1515 +
  1516 + // Acessar...
  1517 + CriaFormSenha(nil);
  1518 + frmAcesso.ShowModal;
1590 1519
1591 - mapa; 1520 + if boolFinalizar then
  1521 + Finalizar(false)
  1522 + else if boolAcessoOK then
  1523 + Begin
  1524 + pnMensagens.Visible := true;
  1525 + Mensagem('Efetuando Comunicação com o Módulo Gerente WEB em "'+GetValorDatMemoria('Configs.EnderecoServidor', tStringsCACIC)+'"...',false,intPausaPadrao div 3);
  1526 + frmAcesso.Free;
  1527 +
  1528 + // Povoamento com dados de configurações da interface patrimonial
  1529 + // Solicita ao servidor as configurações para a Coleta de Informações de Patrimônio
  1530 + Request_mapa := TStringList.Create;
  1531 + Request_mapa.Values['te_node_address'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NODE_ADDRESS' , frmMapaCacic.tStringsCACIC));
  1532 + Request_mapa.Values['id_so'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('Configs.ID_SO' , frmMapaCacic.tStringsCACIC));
  1533 + Request_mapa.Values['te_so'] := g_oCacic.enCrypt(g_oCacic.getWindowsStrId());
  1534 + Request_mapa.Values['id_ip_rede'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.ID_IP_REDE' , frmMapaCacic.tStringsCACIC));
  1535 + Request_mapa.Values['te_ip'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_IP' , frmMapaCacic.tStringsCACIC));
  1536 + Request_mapa.Values['te_nome_computador']:= g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_NOME_COMPUTADOR', frmMapaCacic.tStringsCACIC));
  1537 + Request_mapa.Values['te_workgroup'] := g_oCacic.enCrypt(frmMapaCacic.GetValorDatMemoria('TcpIp.TE_WORKGROUP' , frmMapaCacic.tStringsCACIC));
  1538 + Request_mapa.Values['id_usuario'] := g_oCacic.enCrypt(frmMapaCacic.strId_usuario);
  1539 +
  1540 + strRetorno := frmMapaCacic.ComunicaServidor('mapa_get_patrimonio.php', Request_mapa, '.');
  1541 +
  1542 + log_DEBUG('Retorno: "'+strRetorno+'"');
  1543 +
  1544 + if (frmMapaCacic.XML_RetornaValor('STATUS', strRetorno)='OK') then
  1545 + Begin
  1546 + Mensagem('Comunicação Efetuada com Sucesso! Salvando Configurações Obtidas...',false,intPausaPadrao div 3);
  1547 + frmMapaCacic.SetValorDatMemoria('Patrimonio.Configs', strRetorno, frmMapaCacic.tStringsMapaCACIC)
  1548 + End
  1549 + else
  1550 + Begin
  1551 + Mensagem('PROBLEMAS NA COMUNICAÇÃO COM O MÓDULO GERENTE WEB...',true,intPausaPadrao);
  1552 + Finalizar(true);
  1553 + End;
  1554 +
  1555 + Request_mapa.Free;
  1556 +
  1557 + mapa;
  1558 + End;
1592 End; 1559 End;
  1560 + End
  1561 + else
  1562 + Begin
  1563 + frmMapaCacic.boolAcessoOK := false;
  1564 + MessageDLG(#13#10+'Atenção! É necessário reinstalar o CACIC nesta estação.' + #13#10 + #13#10 +
  1565 + 'A estrutura encontra-se corrompida.' + #13#10,mtError,[mbOK],0);
  1566 + frmMapaCacic.Finalizar(false);
1593 End; 1567 End;
1594 - End  
1595 - else  
1596 - Begin  
1597 - frmMapaCacic.boolAcessoOK := false;  
1598 - MessageDLG(#13#10+'Atenção! É necessário reinstalar o CACIC nesta estação.' + #13#10 + #13#10 +  
1599 - 'A estrutura encontra-se corrompida.' + #13#10,mtError,[mbOK],0);  
1600 - frmMapaCacic.Finalizar(false);  
1601 End; 1568 End;
1602 - End;  
1603 - 1569 + End;
1604 end; 1570 end;
1605 1571
  1572 +procedure TfrmMapaCacic.FormCreate(Sender: TObject);
  1573 +begin
  1574 + boolFinalizar := false;
  1575 +end;
1606 1576
1607 end. 1577 end.
mapa/mapacacic.dpr
@@ -51,10 +51,11 @@ begin @@ -51,10 +51,11 @@ begin
51 end; 51 end;
52 FreeMemory(0); 52 FreeMemory(0);
53 end 53 end
54 - else begin  
55 - Application.Initialize;  
56 - Application.CreateForm(TfrmMapaCacic, frmMapaCacic);  
57 - Application.Run;  
58 - end; 54 + else
  55 + begin
  56 + Application.Initialize;
  57 + Application.CreateForm(TfrmMapaCacic, frmMapaCacic);
  58 + Application.Run;
  59 + end;
59 oCacic.Free(); 60 oCacic.Free();
60 end. 61 end.
mapa/mapacacic.res
No preview for this file type
vaca/vaca.res
No preview for this file type
vacon/vacon.res
No preview for this file type