Commit 3d86e0187e37600e4897389f48a1e0bef2e1eb01

Authored by anderson.peterle@previdencia.gov.br
1 parent 77874aea
Exists in master

Exclusão para posterior reposição com versão 2.6-Beta-2

git-svn-id: http://svn.softwarepublico.gov.br/svn/cacic/cacic/trunk/agente-windows@975 fecfc0c7-e812-0410-ae72-849f08638ee7
USBdetectClass.pas
@@ -1,164 +0,0 @@ @@ -1,164 +0,0 @@
1 -unit USBdetectClass;  
2 -// Código Original obtido em http://www.delphi3000.com/articles/article_4841.asp?SK=  
3 -interface  
4 -uses Windows, Messages, SysUtils, Classes;  
5 -  
6 -type  
7 - { Event Types }  
8 - TOnUsbChangeEvent = procedure(AObject : TObject;  
9 - const ADevType,AVendorID,  
10 - AProductID : string) of object;  
11 -  
12 - { USB Class }  
13 - TUsbClass = class(TObject)  
14 - private  
15 - FHandle : HWND;  
16 - FOnUsbRemoval,  
17 - FOnUsbInsertion : TOnUsbChangeEvent;  
18 - procedure GetUsbInfo(const ADeviceString : string;  
19 - out ADevType,AVendorID,  
20 - AProductID : string);  
21 - procedure WinMethod(var AMessage : TMessage);  
22 - procedure RegisterUsbHandler;  
23 - procedure WMDeviceChange(var AMessage : TMessage);  
24 - procedure Split(const Delimiter: Char;Input: string;const Strings: TStrings);  
25 - public  
26 - constructor Create;  
27 - destructor Destroy; override;  
28 - property OnUsbInsertion : TOnUsbChangeEvent read FOnUsbInsertion  
29 - write FOnUsbInsertion;  
30 - property OnUsbRemoval : TOnUsbChangeEvent read FOnUsbRemoval  
31 - write FOnUsbRemoval;  
32 - end;  
33 -  
34 -  
35 -  
36 -// -----------------------------------------------------------------------------  
37 -implementation  
38 -  
39 -type  
40 - // Win API Definitions  
41 - PDevBroadcastDeviceInterface = ^DEV_BROADCAST_DEVICEINTERFACE;  
42 - DEV_BROADCAST_DEVICEINTERFACE = record  
43 - dbcc_size : DWORD;  
44 - dbcc_devicetype : DWORD;  
45 - dbcc_reserved : DWORD;  
46 - dbcc_classguid : TGUID;  
47 - dbcc_name : char;  
48 - end;  
49 -  
50 -const  
51 - // Miscellaneous  
52 - GUID_DEVINTF_USB_DEVICE : TGUID = '{A5DCBF10-6530-11D2-901F-00C04FB951ED}';  
53 - USB_INTERFACE = $00000005; // Device interface class  
54 - USB_INSERTION = $8000; // System detected a new device  
55 - USB_REMOVAL = $8004; // Device is gone  
56 -  
57 -constructor TUsbClass.Create;  
58 -begin  
59 - inherited Create;  
60 - FHandle := AllocateHWnd(WinMethod);  
61 - RegisterUsbHandler;  
62 -end;  
63 -  
64 -destructor TUsbClass.Destroy;  
65 -begin  
66 - DeallocateHWnd(FHandle);  
67 - inherited Destroy;  
68 -end;  
69 -  
70 -procedure TUsbClass.GetUsbInfo(const ADeviceString : string;  
71 - out ADevType,AVendorID,  
72 - AProductID : string);  
73 -var sWork,sKey1 : string;  
74 - tstrAUX1,tstrAUX2 : TStringList;  
75 -begin  
76 - ADevType := '';  
77 - AVendorID := '';  
78 - AProductID := '';  
79 -  
80 - if ADeviceString <> '' then  
81 - Begin  
82 - sWork := copy(ADeviceString,pos('#',ADeviceString) + 1,1026);  
83 - sKey1 := copy(sWork,1,pos('#',sWork) - 1);  
84 -  
85 - tstrAUX1 := TStringList.Create;  
86 - tstrAUX2 := TStringList.Create;  
87 -  
88 - Split('&',sKey1,tstrAUX1);  
89 -  
90 - Split('_',tstrAUX1[0],tstrAUX2);  
91 - AVendorID := tstrAUX2[1];  
92 -  
93 - Split('_',tstrAUX1[1],tstrAUX2);  
94 - AProductID := tstrAUX2[1];  
95 -  
96 - tstrAUX1.Free;  
97 - tstrAUX2.Free;  
98 - End;  
99 -end;  
100 -  
101 -procedure TUsbClass.Split(const Delimiter: Char;  
102 - Input: string;  
103 - const Strings: TStrings) ;  
104 -begin  
105 - Assert(Assigned(Strings)) ;  
106 - Strings.Clear;  
107 - Strings.Delimiter := Delimiter;  
108 - Strings.DelimitedText := Input;  
109 -end;  
110 -  
111 -procedure TUsbClass.WMDeviceChange(var AMessage : TMessage);  
112 -var iDevType : integer;  
113 - sDevString,sDevType,  
114 - sVendorID,sProductID : string;  
115 - pData : PDevBroadcastDeviceInterface;  
116 -begin  
117 - if (AMessage.wParam = USB_INSERTION) or  
118 - (AMessage.wParam = USB_REMOVAL) then  
119 - Begin  
120 - pData := PDevBroadcastDeviceInterface(AMessage.LParam);  
121 - iDevType := pData^.dbcc_devicetype;  
122 -  
123 - // Se for um dispositivo USB...  
124 - if iDevType = USB_INTERFACE then  
125 - Begin  
126 - sDevString := PChar(@pData^.dbcc_name);  
127 -  
128 - GetUsbInfo(sDevString,sDevType,sVendorID,sProductID);  
129 -  
130 - // O evento é disparado conforme a mensagem  
131 - if (AMessage.wParam = USB_INSERTION) and Assigned(FOnUsbInsertion) then  
132 - FOnUsbInsertion(self,sDevType,sVendorID,sProductID);  
133 - if (AMessage.wParam = USB_REMOVAL) and Assigned(FOnUsbRemoval) then  
134 - FOnUsbRemoval(self,sDevType,sVendorID,sProductID);  
135 - End;  
136 - End;  
137 -end;  
138 -  
139 -procedure TUsbClass.WinMethod(var AMessage : TMessage);  
140 -begin  
141 - if (AMessage.Msg = WM_DEVICECHANGE) then  
142 - WMDeviceChange(AMessage)  
143 - else  
144 - AMessage.Result := DefWindowProc(FHandle,AMessage.Msg,  
145 - AMessage.wParam,AMessage.lParam);  
146 -end;  
147 -  
148 -  
149 -procedure TUsbClass.RegisterUsbHandler;  
150 -var rDbi : DEV_BROADCAST_DEVICEINTERFACE;  
151 - iSize : integer;  
152 -begin  
153 - iSize := SizeOf(DEV_BROADCAST_DEVICEINTERFACE);  
154 - ZeroMemory(@rDbi,iSize);  
155 - rDbi.dbcc_size := iSize;  
156 - rDbi.dbcc_devicetype := USB_INTERFACE;  
157 - rDbi.dbcc_reserved := 0;  
158 - rDbi.dbcc_classguid := GUID_DEVINTF_USB_DEVICE;  
159 - rDbi.dbcc_name := #0;  
160 - RegisterDeviceNotification(FHandle,@rDbi,DEVICE_NOTIFY_WINDOW_HANDLE);  
161 -end;  
162 -  
163 -  
164 -end.  
cacic2.dpr
@@ -1,67 +0,0 @@ @@ -1,67 +0,0 @@
1 -(**  
2 ----------------------------------------------------------------------------------------------------------------------------------------------------------------  
3 -Copyright 2000, 2001, 2002, 2003, 2004, 2005 Dataprev - Empresa de Tecnologia e Informações da Previdência Social, Brasil  
4 -  
5 -Este arquivo é parte do programa CACIC - Configurador Automático e Coletor de Informações Computacionais  
6 -  
7 -O CACIC é um software livre; você pode redistribui-lo e/ou modifica-lo dentro dos termos da Licença Pública Geral GNU como  
8 -publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença, ou (na sua opinião) qualquer versão.  
9 -  
10 -Este programa é distribuido na esperança que possa ser util, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAÇÂO a qualquer  
11 -MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.  
12 -  
13 -Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", junto com este programa, se não, escreva para a Fundação do Software  
14 -Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA  
15 ----------------------------------------------------------------------------------------------------------------------------------------------------------------  
16 -*)  
17 -  
18 -program cacic2;  
19 -  
20 -uses  
21 - Forms,  
22 - Windows,  
23 - main in 'main.pas' {FormularioGeral},  
24 - frmSenha in 'frmsenha.pas' {formSenha},  
25 - frmConfiguracoes in 'frmConfiguracoes.pas' {FormConfiguracoes},  
26 - frmLog in 'frmLog.pas' {FormLog},  
27 - LibXmlParser,  
28 - WinVNC in 'winvnc.pas',  
29 - CACIC_Library in 'CACIC_Library.pas',  
30 - USBdetectClass in 'USBdetectClass.pas';  
31 -  
32 -{$R *.res}  
33 -  
34 -const  
35 - CACIC_APP_NAME = 'cacic2';  
36 -  
37 -var  
38 - hwind:HWND;  
39 - oCacic : TCACIC;  
40 -  
41 -begin  
42 - oCacic := TCACIC.Create();  
43 -  
44 - if( oCacic.isAppRunning( CACIC_APP_NAME ) )  
45 - then begin  
46 - hwind := 0;  
47 - repeat // The string 'My app' must match your App Title (below)  
48 - hwind:=Windows.FindWindowEx(0,hwind,'TApplication', CACIC_APP_NAME );  
49 - until (hwind<>Application.Handle);  
50 - IF (hwind<>0) then  
51 - begin  
52 - Windows.ShowWindow(hwind,SW_SHOWNORMAL);  
53 - Windows.SetForegroundWindow(hwind);  
54 - end;  
55 - FreeMemory(0);  
56 - Halt(0);  
57 - end;  
58 -  
59 - oCacic.Free();  
60 -  
61 - // Preventing application button showing in the task bar  
62 - SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW );  
63 - Application.Initialize;  
64 - Application.Title := 'cacic2';  
65 - Application.CreateForm(TFormularioGeral, FormularioGeral);  
66 - Application.Run;  
67 -end.  
cacic2.res
No preview for this file type
frmsenha.dfm
@@ -1,204 +0,0 @@ @@ -1,204 +0,0 @@
1 -object formSenha: TformSenha  
2 - Left = 361  
3 - Top = 279  
4 - BorderIcons = [biSystemMenu]  
5 - BorderStyle = bsDialog  
6 - Caption = 'Senha'  
7 - ClientHeight = 126  
8 - ClientWidth = 244  
9 - Color = clBtnFace  
10 - Font.Charset = DEFAULT_CHARSET  
11 - Font.Color = clWindowText  
12 - Font.Height = -11  
13 - Font.Name = 'MS Sans Serif'  
14 - Font.Style = []  
15 - Icon.Data = {  
16 - 0000010001003030000000000000A80E00001600000028000000300000006000  
17 - 00000100080000000000800A0000000000000000000000000000000000000000  
18 - 0000FFFFFF001F59FD0070E1360077C7CB0027636C000017B900376F0B000012  
19 - 5B00A3FFFF0030C8F9004B71BB006494F800499C4A006DC183001B382D001954  
20 - A6003B938700002BF30036A2D9004DBCB100092D87008EF2D20025375E007ED7  
21 - F70000092E001C50D3004E9E1F0080E4910063B55900112608005F9DA0003955  
22 - 8E003055450061ABD000244D04003778F4005781D90063B5FE005FBC32003B85  
23 - 5B000534CA0074C7A9005D8F7E004282260017223B0073D463002D58260045B3  
24 - F9003875D50081DFB500416F73002F477700083CFF00338FC3002667870092F3  
25 - F3002EB8E7000021D500001DA000132127002757BC00021C780083DADC00447E  
26 - 45004262A400080E15005899B5003D9B9A00020245006EBEE00069ACB7005398  
27 - ED000C3CA2002E6C57007ADA79002842470053A830001F3D15004F8486000F48  
28 - BC001D2C49004C8BC10047AEA0006DA2FF006ECE4F00226197004390D400012E  
29 - DD0016388600264C320075CD910030515900113562000B31B60058A5F900549C  
30 - D80069CD300030797F0002114500325B7F0094FADE00274F190056AE24005078  
31 - C9006DA99C005E8DE900326B1C0047963900559095007ACDE1007BD6A2003F8E  
32 - 5700357D6C003C6C96002D6BFB0089E9C3004082ED0071BDC0003B66660089E9  
33 - FF007FD4BD000032FD0087E0EA00326EE7000024B00010244C001E333A002E5C  
34 - 14000026C10065BD490072C29A001941AD0016499800001B8E0084DCCB004893  
35 - 27003C8539002A3F6900205C8E0076CBF1000C1B0B00172E16004F8FDF0098FD  
36 - FC00478054001854B8003D791D0032596F00164DFD002C6E6E0064A7AB004181  
37 - D6000C151F000333EE004188CA0042746500294D28002FADDC001C3B05003466  
38 - 2900354F85003EAEEE006699F40035878500365C630030C0F00072D741008FEE  
39 - EB0053B13B004669B00034628A00519C3F003C96960002061000131D3000000B  
40 - 3A0060B150000129CE0087E3CF0073C1D4004D94F80063C32C004E9F2A003D5C  
41 - 99002C6D7B0085E6AA0076D86F001E4B3E005693AB002C64990074D850001D3D  
42 - 6300408E3F00679AFE00345951003A8964000B3AB700172B21005EA7D8000407  
43 - 0600316310005AB32B005A88E200B1FFFF00539DF700233C3A0005237D00144C  
44 - AF00537ED00053898D0018320600002FE7007ED2D80071D45A00296355001C59  
45 - A4000007240088E3E100102F810068ACA60042934B005F91F000265630004B7F  
46 - 7E000E2A4400418D35000E1724006BD335001246F6002662FE0076C4C1006FC6  
47 - 8D001247A1002C57860032611C006CBAD50036B1E700050F33005690E6004894  
48 - DA0075C5DF0073C89F0087E9B8000021B5002B494C003F9ADA009DFFFE005A97  
49 - 9800112111007DCFC6006ABDFE000630D5004260AD004F9D34003AA5E0000000  
50 - 0000000000000000000000000000000000000000000000000000000000000000  
51 - 0000000000000000000000000000000000003E08000000000000000000000000  
52 - 0000000000000000000000000000000000000000000000008608000000000000  
53 - 00087A5800000000000000000000000000000000000000000000000000000000  
54 - 0000000000000000D47A630000000000B0D47A7A7D0000000000000000000000  
55 - 0000000000000000000000000000000000000000000000B27A7A810000000000  
56 - 867A7A7AB2000000000000000000000000000000000000000000000000000000  
57 - 00000000000000587A7A7A08000000B07A7A7A7AD40000000000000000000000  
58 - 00000000000000000000000000000000000000000000867A7A7A7AD400000063  
59 - 587A7A7A12860000000000000000000000000000000000000000000000000000  
60 - 000000000000F47A7A7A7A581900005CEA817AFCC55900000000000000000000  
61 - 00000000000000000000000000000000000000000000595ED47AF4AB7F00003F  
62 - A8943BC069DC0000000000000000000000000000000000000000000000000000  
63 - 000000000000DC2BDB8633F76D003CDAF7387797CC3F00000000000000000000  
64 - 000000173434348A00000000000000000000000000A538CC4F3390F79700003F  
65 - F790F790F73F4C0000000000000017A1AA68CBDEC25454C26A250BB834000000  
66 - 0000000000E038F7A8F790F71F0000F80990F790F73F000000000000200B0C54  
67 - 5454C2C2C2C2C2C2C2545454C2D1B83400000000003338F7F790F709A500000F  
68 - 1FF7F790097600000000B8CB5454C2C2C2C2C25454C25454C2C2C2C2C25454C2  
69 - 0B170000003CD50990F790F8C600001E2CD29009E721C800A1D15454C2C2C2C2  
70 - C2C2546820202041CB54C2C2C2C2C2C254DEAA000000C33F09A8E093F900008D  
71 - B72C334F402399AAC254C2C2C2C2C2C2C2C220B8AA0BAAAA204154C2C2C2C2C2  
72 - C2C2542500C8C991D29C882C00000000660388881B5AFD4857DEC2C2C2C2C2C2  
73 - 54A141CBC2C254C22520B854C2C2C2C2C2C2EFF08F2D80B788B7034E00000000  
74 - F94D03E41B510CF639FF6AC2C2C2C2C2CB8A6AC2C2C2C2C2C2CB3468C2C2C2C2  
75 - C2EFED398F257F67E4032C0000000000004E27B69DBEA29BF6A6FFEFC2C2C2C2  
76 - DECBC2C2C2C2C2C2C2C2CBCBC2C2C20C8FEDA6575730C0EBE4B78E0000000000  
77 - 00429F9351489EA657F6A6ED8FC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C20C8F  
78 - A6A69B570A9EEF7F93D3000000000000992541F96AC28F9EA65757A6398F0CC2  
79 - C2C2C2C2C2C2C2C2C2C2C2C2C2DEF00A399BF60A9E8F540B8D0BA10000000000  
80 - 68C20CCBC2C2C28F9E0AF69B36EFC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2EF36  
81 - 9BF60A138FC2C2C2CBC2A38A00000041C2C2C2C2C2C2C2C28F9EA6F0DEC2C2C2  
82 - C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2CBF60A13EFC2C2C2C2C2C2C2A35100AFC2  
83 - C2C2C2C2C2C2C2C2C2EF9BDEC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2  
84 - EF9BDEC2C2C2C2C2C2C2C2C2CB002DC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2  
85 - C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C22DAFC2  
86 - C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2  
87 - C2C2C2C2C2C2C2C2C2C2C2C2C2AF0041C2C2C2C2C2C2C2C2C2C20CCB25D1680B  
88 - AA4125C2C2C2C2C2C2C22541AA0B68D125CB0CC2C2C2C2C2C2C2C2C2AA000000  
89 - 4154C2C2C2C2C2C2C2C2682020B841AA0B0B0CC2C2C2C2C2C2C20C0B0BAA41B8  
90 - 2020D1C2C2C2C2C2C2C2DE1700000000426A0CC2C2C2C2C2C2C2C25454C2C2C2  
91 - C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C25454C2C2C2C2C2C2C2A3510000000000  
92 - 00AFB825CB6A0CC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2  
93 - C2C2C2C20CDECBCBAA17C80000000000000000009951A1AA682525CBCBCB6A6A  
94 - DEDE0C0CC2C2C2C20C0CDE6A6ACBCBCB2525D1AA2017AFAE0000000000000000  
95 - 000000000000000000C842E3AF2D51178A34A120B8CBCBB820348A17512DAFE3  
96 - 42AE000000000000000000000000000000000000000000000000000000000000  
97 - 0000000000343400000000000000000000000000000000000000000000000000  
98 - 0000000000000000000000000000000000000000002D17000000000000000000  
99 - 0000000000000000000000000000000000000000000000000000000000000000  
100 - 0000000000C8AF00000000000000000000000000000000000000000000000000  
101 - 00AE19D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9EED9D9D9D9D9D9D9D9D9  
102 - D9D9D9D9D9D9D9D9D919AE00000000000063F4F4F4F4F4F4F4F4F4F4F4F4F4F4  
103 - F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F43BB00000000000  
104 - 00003E15CF3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E  
105 - 3E3E3E3E3E3E3ECF1508000000000000000000BC531414141414141414141414  
106 - 1414141414141414141414141414141414141414141414110F00000000000000  
107 - 00000000A444AD44ADAD44ADADADAD44AD44ADAD44ADAD44AD44ADAD44AD44AD  
108 - AD44AD4444AD449600000000000000000000000000002F4C7E63D321CE080F1E  
109 - 77E308668D770899664C7F081E9DF563E1D3217F455A00000000000000000000  
110 - 00000000D4D7821F3D7D6B0E1FFC05C9B3643A6CA0DA5E5DCA1F723ADFB14784  
111 - E90783BD067100B30000000000000000000000007A37A787CD3A70BB870210B7  
112 - 16227A71FEF731C5612A8C3AB9A7FA7529E21CF1E55688160000000000000000  
113 - 000000007AD86174263AC4D61673C54D32EC35374D90F058B68378B256A7795F  
114 - 81DD4BB402D088740400000000000000000000B27A92B6F3FB3A71556524C5A9  
115 - 6FB4358BCAA8609ACAE87829D8E432268170BB040250B7320400000000000000  
116 - 000000007A56E4745F3A702E87E6D0B7742235B94D90982961F2183A37A779B5  
117 - 29C11C6E951088160000000000000000000000007A96BFFA75B2891CD5953788  
118 - 65527A0DACF71A85E4E7C7124AD67B7C5088BA469A62B7650000000000000000  
119 - 0000000029001D000049005B43B22800B300004D0087B2004DD500B2001DB400  
120 - 8B008300002800FA000000000000000000000000000000000000000000000000  
121 - 000000000000000000000000000000000000000000000000000000000000FFFF  
122 - FFFFFFFF0000F3FFFFFFFFCF0000E3FFFFFFFFC70000C1FFFFFFFF870000C1FF  
123 - FFFFFF83000081FFFFFFFF03000080FFFFFFFF01000080FFFFFFFF01000080FF  
124 - FFFFFF01000000FFF83FFE010000807F0001FE01000080FC00003E01000080F0  
125 - 00000E01000080400000070100008000000002030000C000000000030000C000  
126 - 000000070000E000000000070000E0000000000F0000C000000000070000C000  
127 - 0000000300008000000000010000000000000001000000000000000000000000  
128 - 0000000000008000000000010000C00000000003000080000000000500008000  
129 - 0000000300008000000000030000C000000000030000C000000000030000C000  
130 - 000000070000E000000000070000E000000000070000E000000000070000F000  
131 - 0000000F0000F8000000001F0000FC000000003F0000FF00000000FF0000FC00  
132 - 000000BF0000FC000000003F0000FC000000001F0000F8000000001F0000FC00  
133 - 0000003F0000FC000000003F0000FD685A4A56BF0000FFFFFFFFFFFF0000}  
134 - OldCreateOrder = False  
135 - Position = poScreenCenter  
136 - OnClose = FormClose  
137 - PixelsPerInch = 96  
138 - TextHeight = 13  
139 - object Lb_Texto_Senha: TLabel  
140 - Left = 8  
141 - Top = 7  
142 - Width = 234  
143 - Height = 26  
144 - Caption =  
145 - 'Essa op'#231#227'o requer que seja informada a senha que foi configurada' +  
146 - ' pelo administrador do CACIC. '  
147 - WordWrap = True  
148 - end  
149 - object Lb_Senha: TLabel  
150 - Left = 10  
151 - Top = 48  
152 - Width = 34  
153 - Height = 13  
154 - Caption = 'Senha:'  
155 - end  
156 - object Lb_Msg_Erro_Senha: TLabel  
157 - Left = 91  
158 - Top = 68  
159 - Width = 3  
160 - Height = 13  
161 - Alignment = taCenter  
162 - Color = clBtnFace  
163 - Font.Charset = DEFAULT_CHARSET  
164 - Font.Color = clRed  
165 - Font.Height = -11  
166 - Font.Name = 'MS Sans Serif'  
167 - Font.Style = []  
168 - ParentColor = False  
169 - ParentFont = False  
170 - end  
171 - object EditSenha: TEdit  
172 - Left = 50  
173 - Top = 41  
174 - Width = 185  
175 - Height = 21  
176 - PasswordChar = '*'  
177 - TabOrder = 0  
178 - end  
179 - object Bt_OK_Senha: TButton  
180 - Left = 34  
181 - Top = 92  
182 - Width = 83  
183 - Height = 25  
184 - Caption = '&OK'  
185 - Default = True  
186 - TabOrder = 1  
187 - OnClick = Bt_OK_SenhaClick  
188 - end  
189 - object Bt_Cancelar_Senha: TButton  
190 - Left = 134  
191 - Top = 92  
192 - Width = 83  
193 - Height = 25  
194 - Cancel = True  
195 - Caption = '&Cancelar'  
196 - TabOrder = 2  
197 - OnClick = Bt_Cancelar_SenhaClick  
198 - end  
199 - object Tm_Senha: TTimer  
200 - Interval = 3000  
201 - OnTimer = Tm_SenhaTimer  
202 - Top = 72  
203 - end  
204 -end  
@@ -1,1841 +0,0 @@ @@ -1,1841 +0,0 @@
1 -object FormularioGeral: TFormularioGeral  
2 - Left = 300  
3 - Top = 107  
4 - HorzScrollBar.Visible = False  
5 - VertScrollBar.Visible = False  
6 - BiDiMode = bdLeftToRight  
7 - BorderIcons = []  
8 - BorderStyle = bsSingle  
9 - Caption = 'CACIC - Informa'#231#245'es Gerais'  
10 - ClientHeight = 597  
11 - ClientWidth = 716  
12 - Color = clBtnFace  
13 - Font.Charset = DEFAULT_CHARSET  
14 - Font.Color = clWindowText  
15 - Font.Height = -11  
16 - Font.Name = 'MS Sans Serif'  
17 - Font.Style = []  
18 - Icon.Data = {  
19 - 0000010001003030000000000000A80E00001600000028000000300000006000  
20 - 00000100080000000000800A0000000000000000000000000000000000000000  
21 - 0000FFFFFF001F59FD0070E1360077C7CB0027636C000017B900376F0B000012  
22 - 5B00A3FFFF0030C8F9004B71BB006494F800499C4A006DC183001B382D001954  
23 - A6003B938700002BF30036A2D9004DBCB100092D87008EF2D20025375E007ED7  
24 - F70000092E001C50D3004E9E1F0080E4910063B55900112608005F9DA0003955  
25 - 8E003055450061ABD000244D04003778F4005781D90063B5FE005FBC32003B85  
26 - 5B000534CA0074C7A9005D8F7E004282260017223B0073D463002D58260045B3  
27 - F9003875D50081DFB500416F73002F477700083CFF00338FC3002667870092F3  
28 - F3002EB8E7000021D500001DA000132127002757BC00021C780083DADC00447E  
29 - 45004262A400080E15005899B5003D9B9A00020245006EBEE00069ACB7005398  
30 - ED000C3CA2002E6C57007ADA79002842470053A830001F3D15004F8486000F48  
31 - BC001D2C49004C8BC10047AEA0006DA2FF006ECE4F00226197004390D400012E  
32 - DD0016388600264C320075CD910030515900113562000B31B60058A5F900549C  
33 - D80069CD300030797F0002114500325B7F0094FADE00274F190056AE24005078  
34 - C9006DA99C005E8DE900326B1C0047963900559095007ACDE1007BD6A2003F8E  
35 - 5700357D6C003C6C96002D6BFB0089E9C3004082ED0071BDC0003B66660089E9  
36 - FF007FD4BD000032FD0087E0EA00326EE7000024B00010244C001E333A002E5C  
37 - 14000026C10065BD490072C29A001941AD0016499800001B8E0084DCCB004893  
38 - 27003C8539002A3F6900205C8E0076CBF1000C1B0B00172E16004F8FDF0098FD  
39 - FC00478054001854B8003D791D0032596F00164DFD002C6E6E0064A7AB004181  
40 - D6000C151F000333EE004188CA0042746500294D28002FADDC001C3B05003466  
41 - 2900354F85003EAEEE006699F40035878500365C630030C0F00072D741008FEE  
42 - EB0053B13B004669B00034628A00519C3F003C96960002061000131D3000000B  
43 - 3A0060B150000129CE0087E3CF0073C1D4004D94F80063C32C004E9F2A003D5C  
44 - 99002C6D7B0085E6AA0076D86F001E4B3E005693AB002C64990074D850001D3D  
45 - 6300408E3F00679AFE00345951003A8964000B3AB700172B21005EA7D8000407  
46 - 0600316310005AB32B005A88E200B1FFFF00539DF700233C3A0005237D00144C  
47 - AF00537ED00053898D0018320600002FE7007ED2D80071D45A00296355001C59  
48 - A4000007240088E3E100102F810068ACA60042934B005F91F000265630004B7F  
49 - 7E000E2A4400418D35000E1724006BD335001246F6002662FE0076C4C1006FC6  
50 - 8D001247A1002C57860032611C006CBAD50036B1E700050F33005690E6004894  
51 - DA0075C5DF0073C89F0087E9B8000021B5002B494C003F9ADA009DFFFE005A97  
52 - 9800112111007DCFC6006ABDFE000630D5004260AD004F9D34003AA5E0000000  
53 - 0000000000000000000000000000000000000000000000000000000000000000  
54 - 0000000000000000000000000000000000003E08000000000000000000000000  
55 - 0000000000000000000000000000000000000000000000008608000000000000  
56 - 00087A5800000000000000000000000000000000000000000000000000000000  
57 - 0000000000000000D47A630000000000B0D47A7A7D0000000000000000000000  
58 - 0000000000000000000000000000000000000000000000B27A7A810000000000  
59 - 867A7A7AB2000000000000000000000000000000000000000000000000000000  
60 - 00000000000000587A7A7A08000000B07A7A7A7AD40000000000000000000000  
61 - 00000000000000000000000000000000000000000000867A7A7A7AD400000063  
62 - 587A7A7A12860000000000000000000000000000000000000000000000000000  
63 - 000000000000F47A7A7A7A581900005CEA817AFCC55900000000000000000000  
64 - 00000000000000000000000000000000000000000000595ED47AF4AB7F00003F  
65 - A8943BC069DC0000000000000000000000000000000000000000000000000000  
66 - 000000000000DC2BDB8633F76D003CDAF7387797CC3F00000000000000000000  
67 - 000000173434348A00000000000000000000000000A538CC4F3390F79700003F  
68 - F790F790F73F4C0000000000000017A1AA68CBDEC25454C26A250BB834000000  
69 - 0000000000E038F7A8F790F71F0000F80990F790F73F000000000000200B0C54  
70 - 5454C2C2C2C2C2C2C2545454C2D1B83400000000003338F7F790F709A500000F  
71 - 1FF7F790097600000000B8CB5454C2C2C2C2C25454C25454C2C2C2C2C25454C2  
72 - 0B170000003CD50990F790F8C600001E2CD29009E721C800A1D15454C2C2C2C2  
73 - C2C2546820202041CB54C2C2C2C2C2C254DEAA000000C33F09A8E093F900008D  
74 - B72C334F402399AAC254C2C2C2C2C2C2C2C220B8AA0BAAAA204154C2C2C2C2C2  
75 - C2C2542500C8C991D29C882C00000000660388881B5AFD4857DEC2C2C2C2C2C2  
76 - 54A141CBC2C254C22520B854C2C2C2C2C2C2EFF08F2D80B788B7034E00000000  
77 - F94D03E41B510CF639FF6AC2C2C2C2C2CB8A6AC2C2C2C2C2C2CB3468C2C2C2C2  
78 - C2EFED398F257F67E4032C0000000000004E27B69DBEA29BF6A6FFEFC2C2C2C2  
79 - DECBC2C2C2C2C2C2C2C2CBCBC2C2C20C8FEDA6575730C0EBE4B78E0000000000  
80 - 00429F9351489EA657F6A6ED8FC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C20C8F  
81 - A6A69B570A9EEF7F93D3000000000000992541F96AC28F9EA65757A6398F0CC2  
82 - C2C2C2C2C2C2C2C2C2C2C2C2C2DEF00A399BF60A9E8F540B8D0BA10000000000  
83 - 68C20CCBC2C2C28F9E0AF69B36EFC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2EF36  
84 - 9BF60A138FC2C2C2CBC2A38A00000041C2C2C2C2C2C2C2C28F9EA6F0DEC2C2C2  
85 - C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2CBF60A13EFC2C2C2C2C2C2C2A35100AFC2  
86 - C2C2C2C2C2C2C2C2C2EF9BDEC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2  
87 - EF9BDEC2C2C2C2C2C2C2C2C2CB002DC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2  
88 - C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C22DAFC2  
89 - C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2  
90 - C2C2C2C2C2C2C2C2C2C2C2C2C2AF0041C2C2C2C2C2C2C2C2C2C20CCB25D1680B  
91 - AA4125C2C2C2C2C2C2C22541AA0B68D125CB0CC2C2C2C2C2C2C2C2C2AA000000  
92 - 4154C2C2C2C2C2C2C2C2682020B841AA0B0B0CC2C2C2C2C2C2C20C0B0BAA41B8  
93 - 2020D1C2C2C2C2C2C2C2DE1700000000426A0CC2C2C2C2C2C2C2C25454C2C2C2  
94 - C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C25454C2C2C2C2C2C2C2A3510000000000  
95 - 00AFB825CB6A0CC2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2C2  
96 - C2C2C2C20CDECBCBAA17C80000000000000000009951A1AA682525CBCBCB6A6A  
97 - DEDE0C0CC2C2C2C20C0CDE6A6ACBCBCB2525D1AA2017AFAE0000000000000000  
98 - 000000000000000000C842E3AF2D51178A34A120B8CBCBB820348A17512DAFE3  
99 - 42AE000000000000000000000000000000000000000000000000000000000000  
100 - 0000000000343400000000000000000000000000000000000000000000000000  
101 - 0000000000000000000000000000000000000000002D17000000000000000000  
102 - 0000000000000000000000000000000000000000000000000000000000000000  
103 - 0000000000C8AF00000000000000000000000000000000000000000000000000  
104 - 00AE19D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9D9EED9D9D9D9D9D9D9D9D9  
105 - D9D9D9D9D9D9D9D9D919AE00000000000063F4F4F4F4F4F4F4F4F4F4F4F4F4F4  
106 - F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F43BB00000000000  
107 - 00003E15CF3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E3E  
108 - 3E3E3E3E3E3E3ECF1508000000000000000000BC531414141414141414141414  
109 - 1414141414141414141414141414141414141414141414110F00000000000000  
110 - 00000000A444AD44ADAD44ADADADAD44AD44ADAD44ADAD44AD44ADAD44AD44AD  
111 - AD44AD4444AD449600000000000000000000000000002F4C7E63D321CE080F1E  
112 - 77E308668D770899664C7F081E9DF563E1D3217F455A00000000000000000000  
113 - 00000000D4D7821F3D7D6B0E1FFC05C9B3643A6CA0DA5E5DCA1F723ADFB14784  
114 - E90783BD067100B30000000000000000000000007A37A787CD3A70BB870210B7  
115 - 16227A71FEF731C5612A8C3AB9A7FA7529E21CF1E55688160000000000000000  
116 - 000000007AD86174263AC4D61673C54D32EC35374D90F058B68378B256A7795F  
117 - 81DD4BB402D088740400000000000000000000B27A92B6F3FB3A71556524C5A9  
118 - 6FB4358BCAA8609ACAE87829D8E432268170BB040250B7320400000000000000  
119 - 000000007A56E4745F3A702E87E6D0B7742235B94D90982961F2183A37A779B5  
120 - 29C11C6E951088160000000000000000000000007A96BFFA75B2891CD5953788  
121 - 65527A0DACF71A85E4E7C7124AD67B7C5088BA469A62B7650000000000000000  
122 - 0000000029001D000049005B43B22800B300004D0087B2004DD500B2001DB400  
123 - 8B008300002800FA000000000000000000000000000000000000000000000000  
124 - 000000000000000000000000000000000000000000000000000000000000FFFF  
125 - FFFFFFFF0000F3FFFFFFFFCF0000E3FFFFFFFFC70000C1FFFFFFFF870000C1FF  
126 - FFFFFF83000081FFFFFFFF03000080FFFFFFFF01000080FFFFFFFF01000080FF  
127 - FFFFFF01000000FFF83FFE010000807F0001FE01000080FC00003E01000080F0  
128 - 00000E01000080400000070100008000000002030000C000000000030000C000  
129 - 000000070000E000000000070000E0000000000F0000C000000000070000C000  
130 - 0000000300008000000000010000000000000001000000000000000000000000  
131 - 0000000000008000000000010000C00000000003000080000000000500008000  
132 - 0000000300008000000000030000C000000000030000C000000000030000C000  
133 - 000000070000E000000000070000E000000000070000E000000000070000F000  
134 - 0000000F0000F8000000001F0000FC000000003F0000FF00000000FF0000FC00  
135 - 000000BF0000FC000000003F0000FC000000001F0000F8000000001F0000FC00  
136 - 0000003F0000FC000000003F0000FD685A4A56BF0000FFFFFFFFFFFF0000}  
137 - OldCreateOrder = False  
138 - ParentBiDiMode = False  
139 - Position = poDesktopCenter  
140 - OnCloseQuery = FormCloseQuery  
141 - OnCreate = FormCreate  
142 - PixelsPerInch = 96  
143 - TextHeight = 13  
144 - object Panel3: TPanel  
145 - Left = 648  
146 - Top = -1  
147 - Width = 68  
148 - Height = 597  
149 - Color = clGray  
150 - TabOrder = 3  
151 - object pnVersao: TPanel  
152 - Left = 6  
153 - Top = 578  
154 - Width = 61  
155 - Height = 16  
156 - BevelInner = bvLowered  
157 - BevelOuter = bvLowered  
158 - Caption = 'v. 2.6.0.xxx'  
159 - Color = clBackground  
160 - Font.Charset = DEFAULT_CHARSET  
161 - Font.Color = clWhite  
162 - Font.Height = -9  
163 - Font.Name = 'Arial'  
164 - Font.Style = [fsBold]  
165 - ParentFont = False  
166 - TabOrder = 0  
167 - end  
168 - object bt_Fechar_Infos_Gerais: TBitBtn  
169 - Left = 6  
170 - Top = 252  
171 - Width = 61  
172 - Height = 33  
173 - Caption = 'Fechar'  
174 - Font.Charset = DEFAULT_CHARSET  
175 - Font.Color = clWindowText  
176 - Font.Height = -9  
177 - Font.Name = 'Arial'  
178 - Font.Style = [fsBold]  
179 - ParentFont = False  
180 - TabOrder = 1  
181 - TabStop = False  
182 - OnClick = Bt_Fechar_InfosGeraisClick  
183 - Glyph.Data = {  
184 - E6040000424DE604000000000000360000002800000014000000140000000100  
185 - 180000000000B0040000120B0000120B00000000000000000000FFFFFFFFFFFF  
186 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
187 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
188 - FFFFFFFFFFFFFFFFFFFFFFA39C989C969D96909D918B98928B908C827AFFFFFF  
189 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
190 - FFC0BCBCB4B4D19B9AD85657CD6364D96364D95657CD9998D2ADA9BE9D958EFF  
191 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7B4C18B8BD5  
192 - 5A5AD88081E48B8BE58D8DE48D8DE48B8BE57777E24646C98E8DC8A7A0A1FFFF  
193 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6B4C27D7DCB9B9BE26E6ED254  
194 - 54D35A5AD55959D55959D55959D55454D39B9BE26868CC6262B5A8A2A3FFFFFF  
195 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4848A78888D8F0F0FBBCBCE64242BA2525  
196 - C42E2EC62E2EC62525C48888D8E2E2F5DBDBF13939B07574ADA59E98FFFFFFFF  
197 - FFFFFFFFFFFFFFFF9291B52020943332A6BCBCE6DEDEF4B2B2DF2625B10000AE  
198 - 0000AE6E6ED2D8D8F1DBDBF38080CC10109505068DA8A5B3FFFFFFFFFFFFFFFF  
199 - FFFFFFFF37378A00007D0000852828A2BCBCE6DEDEF4B2B2DF1F1FAA5A5AC8D4  
200 - D4F0DBDBF38080CC01019100008800007D7C7AA8FFFFFFFFFFFFFFFFFFD0CFD6  
201 - 20207300007200007F0000852828A2BBBBE3D8D8F1BBBBE3CBCBECD9D9F28080  
202 - CC01018F00008600007F000070515193BCB8B7FFFFFFFFFFFFBBBAC60E0E611D  
203 - 1D7B0E0E7C03037D00007B272799C3C3E5D3D3EBD6D6ED8484C300008300007F  
204 - 0000790000700000640A0A61C1BEC0FFFFFFFFFFFFBBBAC63838786564A06564  
205 - A056569E4242977A7ABBD3D3EBD9D9EED9D9EEAFAFD12E2E8A14148116167B0C  
206 - 0C6D000058060751CAC8C9FFFFFFFFFFFFCECDD38383A48A8AAE8383AD8181B2  
207 - B8B8D4F1F1F7EDEDF2CBCBE1DADAEAF1F1F7D3D3E48181B27E7EAD7E7EAD5454  
208 - 871B1B53CFCCCBFFFFFFFFFFFFFFFFFF7D7D929F9FB79D9DBAC3C3D5F3F3F4F1  
209 - F1F7D3D3E49999C0ABABCCE6E6EEF6F6F8DDDDE79D9DBAA2A2BB8A8BA2848295  
210 - DBD8D8FFFFFFFFFFFFFFFFFF8B8B96D8D8DDD5D5DEF6F6F8F5F5F6DDDDE7B4B4  
211 - CBB4B4CBB1B1C9C3C3D5EDEDF2F9F8F8E3E3EABEBECCB5B5BFADABB1FFFFFFFF  
212 - FFFFFFFFFFFFFFFFFFFFFF898896FEFEFEFBFBFBE6E6EEC9C9D5CAC9D5CBCBD6  
213 - CBCBD6C8C7D3D5D5DEF3F2F3F9F9FAF0F0F2848290FFFFFFFFFFFFFFFFFFFFFF  
214 - FFFFFFFFFFFFFFFFFFFFAEAEB8FFFFFFE5E3E8DBDBE0DBDADFDBDADFDBDADFDC  
215 - DBDFDCDBE0EBEAECF9F9FA858594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
216 - FFFFFFFFFFFFFFFFFFA4A4AFF4F4F5ECECEEF3F3F4F4F3F4F3F3F4F3F2F3E4E3  
217 - E7E6E6E99493A0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
218 - FFFFFFFFFFFFFFFFB1B1BAB1B1BAD8D8DDE3E3E7E3E3E7D2D2D7A9A9B3C0C0C6  
219 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
220 - FFFFFFFFFFFFFFFFFFFFFFFFFFC8C8CDCAC9CEFFFFFFFFFFFFFFFFFFFFFFFFFF  
221 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
222 - FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
223 - FFFFFFFFFFFFFFFFFFFF}  
224 - Spacing = 1  
225 - end  
226 - end  
227 - object Pn_InfosGerais: TPanel  
228 - Left = 0  
229 - Top = 0  
230 - Width = 647  
231 - Height = 597  
232 - BevelOuter = bvNone  
233 - Color = clHighlight  
234 - TabOrder = 0  
235 - object Pn_SisMoni: TPanel  
236 - Left = 4  
237 - Top = 200  
238 - Width = 640  
239 - Height = 133  
240 - Caption = 'Pn_SisMoni'  
241 - TabOrder = 0  
242 - DesignSize = (  
243 - 640  
244 - 133)  
245 - object Lb_SisMoni: TLabel  
246 - Left = 5  
247 - Top = 4  
248 - Width = 273  
249 - Height = 13  
250 - Alignment = taCenter  
251 - Caption = 'Sistemas Monitorados Instalados Nesta Esta'#231#227'o'  
252 - Font.Charset = DEFAULT_CHARSET  
253 - Font.Color = clHotLight  
254 - Font.Height = -11  
255 - Font.Name = 'MS Sans Serif'  
256 - Font.Style = [fsBold, fsUnderline]  
257 - ParentFont = False  
258 - end  
259 - object listSistemasMonitorados: TListView  
260 - Left = 5  
261 - Top = 19  
262 - Width = 632  
263 - Height = 110  
264 - Anchors = [akLeft, akTop, akRight, akBottom]  
265 - BiDiMode = bdLeftToRight  
266 - Color = clSilver  
267 - Columns = <  
268 - item  
269 - Caption = 'Nome do Sistema Monitorado'  
270 - Width = 295  
271 - end  
272 - item  
273 - Caption = 'Licen'#231'a'  
274 - Width = 200  
275 - end  
276 - item  
277 - Caption = 'Vers'#227'o/Configura'#231#227'o'  
278 - Width = 130  
279 - end>  
280 - DragMode = dmAutomatic  
281 - Font.Charset = DEFAULT_CHARSET  
282 - Font.Color = clWindowText  
283 - Font.Height = -12  
284 - Font.Name = 'Arial Narrow'  
285 - Font.Style = []  
286 - FlatScrollBars = True  
287 - GridLines = True  
288 - HotTrackStyles = [htUnderlineHot]  
289 - ReadOnly = True  
290 - ParentBiDiMode = False  
291 - ParentFont = False  
292 - TabOrder = 0  
293 - TabStop = False  
294 - ViewStyle = vsReport  
295 - end  
296 - end  
297 - object Pn_TCPIP: TPanel  
298 - Left = 4  
299 - Top = 49  
300 - Width = 640  
301 - Height = 149  
302 - Caption = 'Pn_TCPIP'  
303 - TabOrder = 1  
304 - object Lb_TCPIP: TLabel  
305 - Left = 5  
306 - Top = 4  
307 - Width = 136  
308 - Height = 14  
309 - Alignment = taCenter  
310 - Caption = 'Configura'#231#245'es de TCP/IP'  
311 - Font.Charset = DEFAULT_CHARSET  
312 - Font.Color = clHotLight  
313 - Font.Height = -11  
314 - Font.Name = 'Arial'  
315 - Font.Style = [fsBold, fsUnderline]  
316 - ParentFont = False  
317 - end  
318 - object GB_InfosTCPIP: TGroupBox  
319 - Left = 5  
320 - Top = 19  
321 - Width = 631  
322 - Height = 126  
323 - Color = clSilver  
324 - Font.Charset = DEFAULT_CHARSET  
325 - Font.Color = clSilver  
326 - Font.Height = -11  
327 - Font.Name = 'Arial'  
328 - Font.Style = []  
329 - ParentColor = False  
330 - ParentFont = False  
331 - TabOrder = 0  
332 - DesignSize = (  
333 - 631  
334 - 126)  
335 - object ST_VL_MacAddress: TStaticText  
336 - Left = 436  
337 - Top = 23  
338 - Width = 16  
339 - Height = 18  
340 - Alignment = taRightJustify  
341 - Anchors = [akRight]  
342 - Caption = '12'  
343 - Font.Charset = DEFAULT_CHARSET  
344 - Font.Color = clWindowText  
345 - Font.Height = -11  
346 - Font.Name = 'Arial'  
347 - Font.Style = []  
348 - ParentFont = False  
349 - TabOrder = 29  
350 - end  
351 - object ST_LB_MacAddress: TStaticText  
352 - Left = 350  
353 - Top = 23  
354 - Width = 88  
355 - Height = 18  
356 - Caption = 'Endere'#231'o MAC:'  
357 - Font.Charset = DEFAULT_CHARSET  
358 - Font.Color = clWindowText  
359 - Font.Height = -11  
360 - Font.Name = 'Arial'  
361 - Font.Style = [fsBold]  
362 - ParentFont = False  
363 - TabOrder = 28  
364 - end  
365 - object ST_LB_NomeHost: TStaticText  
366 - Left = 60  
367 - Top = 8  
368 - Width = 88  
369 - Height = 18  
370 - Caption = 'Nome do HOST:'  
371 - Font.Charset = DEFAULT_CHARSET  
372 - Font.Color = clWindowText  
373 - Font.Height = -11  
374 - Font.Name = 'Arial'  
375 - Font.Style = [fsBold]  
376 - ParentFont = False  
377 - TabOrder = 0  
378 - end  
379 - object ST_VL_NomeHost: TStaticText  
380 - Left = 145  
381 - Top = 8  
382 - Width = 10  
383 - Height = 18  
384 - Alignment = taRightJustify  
385 - Anchors = [akRight]  
386 - Caption = '1'  
387 - Font.Charset = DEFAULT_CHARSET  
388 - Font.Color = clWindowText  
389 - Font.Height = -11  
390 - Font.Name = 'Arial'  
391 - Font.Style = []  
392 - ParentFont = False  
393 - TabOrder = 1  
394 - end  
395 - object ST_LB_IpEstacao: TStaticText  
396 - Left = 15  
397 - Top = 23  
398 - Width = 133  
399 - Height = 18  
400 - Caption = 'Endere'#231'o IP da Esta'#231#227'o:'  
401 - Font.Charset = DEFAULT_CHARSET  
402 - Font.Color = clWindowText  
403 - Font.Height = -11  
404 - Font.Name = 'Arial'  
405 - Font.Style = [fsBold]  
406 - ParentFont = False  
407 - TabOrder = 2  
408 - end  
409 - object ST_LB_IpRede: TStaticText  
410 - Left = 29  
411 - Top = 40  
412 - Width = 119  
413 - Height = 18  
414 - Caption = 'Endere'#231'o IP da Rede:'  
415 - Font.Charset = DEFAULT_CHARSET  
416 - Font.Color = clWindowText  
417 - Font.Height = -11  
418 - Font.Name = 'Arial'  
419 - Font.Style = [fsBold]  
420 - ParentFont = False  
421 - TabOrder = 3  
422 - end  
423 - object ST_LB_DominioDNS: TStaticText  
424 - Left = 5  
425 - Top = 57  
426 - Width = 143  
427 - Height = 18  
428 - Caption = 'Servidor de Dom'#237'nio DNS:'  
429 - Font.Charset = DEFAULT_CHARSET  
430 - Font.Color = clWindowText  
431 - Font.Height = -11  
432 - Font.Name = 'Arial'  
433 - Font.Style = [fsBold]  
434 - ParentFont = False  
435 - TabOrder = 4  
436 - end  
437 - object ST_LB_DnsPrimario: TStaticText  
438 - Left = 20  
439 - Top = 73  
440 - Width = 128  
441 - Height = 18  
442 - Caption = 'Servidor DNS Prim'#225'rio:'  
443 - Font.Charset = DEFAULT_CHARSET  
444 - Font.Color = clWindowText  
445 - Font.Height = -11  
446 - Font.Name = 'Arial'  
447 - Font.Style = [fsBold]  
448 - ParentFont = False  
449 - TabOrder = 5  
450 - end  
451 - object ST_LB_DnsSecundario: TStaticText  
452 - Left = 295  
453 - Top = 73  
454 - Width = 143  
455 - Height = 18  
456 - Caption = 'Servidor DNS Secund'#225'rio:'  
457 - Font.Charset = DEFAULT_CHARSET  
458 - Font.Color = clWindowText  
459 - Font.Height = -11  
460 - Font.Name = 'Arial'  
461 - Font.Style = [fsBold]  
462 - ParentFont = False  
463 - TabOrder = 6  
464 - end  
465 - object ST_LB_Gateway: TStaticText  
466 - Left = 53  
467 - Top = 89  
468 - Width = 95  
469 - Height = 18  
470 - Caption = 'Gateway Padr'#227'o:'  
471 - Font.Charset = DEFAULT_CHARSET  
472 - Font.Color = clWindowText  
473 - Font.Height = -11  
474 - Font.Name = 'Arial'  
475 - Font.Style = [fsBold]  
476 - ParentFont = False  
477 - TabOrder = 7  
478 - end  
479 - object ST_LB_Mascara: TStaticText  
480 - Left = 316  
481 - Top = 40  
482 - Width = 122  
483 - Height = 18  
484 - Caption = 'M'#225'scara de SubRede:'  
485 - Font.Charset = DEFAULT_CHARSET  
486 - Font.Color = clWindowText  
487 - Font.Height = -11  
488 - Font.Name = 'Arial'  
489 - Font.Style = [fsBold]  
490 - ParentFont = False  
491 - TabOrder = 8  
492 - end  
493 - object ST_LB_ServidorDHCP: TStaticText  
494 - Left = 352  
495 - Top = 89  
496 - Width = 86  
497 - Height = 18  
498 - Caption = 'Servidor DHCP:'  
499 - Font.Charset = DEFAULT_CHARSET  
500 - Font.Color = clWindowText  
501 - Font.Height = -11  
502 - Font.Name = 'Arial'  
503 - Font.Style = [fsBold]  
504 - ParentFont = False  
505 - TabOrder = 9  
506 - end  
507 - object ST_LB_WinsPrimario: TStaticText  
508 - Left = 14  
509 - Top = 106  
510 - Width = 134  
511 - Height = 18  
512 - Caption = 'Servidor Wins Prim'#225'rio:'  
513 - Font.Charset = DEFAULT_CHARSET  
514 - Font.Color = clWindowText  
515 - Font.Height = -11  
516 - Font.Name = 'Arial'  
517 - Font.Style = [fsBold]  
518 - ParentFont = False  
519 - TabOrder = 10  
520 - end  
521 - object ST_LB_WinsSecundario: TStaticText  
522 - Left = 289  
523 - Top = 106  
524 - Width = 149  
525 - Height = 18  
526 - Caption = 'Servidor Wins Secund'#225'rio:'  
527 - Font.Charset = DEFAULT_CHARSET  
528 - Font.Color = clWindowText  
529 - Font.Height = -11  
530 - Font.Name = 'Arial'  
531 - Font.Style = [fsBold]  
532 - ParentFont = False  
533 - TabOrder = 11  
534 - end  
535 - object ST_VL_IpEstacao: TStaticText  
536 - Left = 145  
537 - Top = 23  
538 - Width = 10  
539 - Height = 18  
540 - Alignment = taRightJustify  
541 - Anchors = [akRight]  
542 - Caption = '2'  
543 - Font.Charset = DEFAULT_CHARSET  
544 - Font.Color = clWindowText  
545 - Font.Height = -11  
546 - Font.Name = 'Arial'  
547 - Font.Style = []  
548 - ParentFont = False  
549 - TabOrder = 12  
550 - end  
551 - object ST_VL_DNSPrimario: TStaticText  
552 - Left = 145  
553 - Top = 73  
554 - Width = 10  
555 - Height = 18  
556 - Alignment = taRightJustify  
557 - Anchors = [akRight]  
558 - Caption = '5'  
559 - Font.Charset = DEFAULT_CHARSET  
560 - Font.Color = clWindowText  
561 - Font.Height = -11  
562 - Font.Name = 'Arial'  
563 - Font.Style = []  
564 - ParentFont = False  
565 - TabOrder = 13  
566 - end  
567 - object ST_VL_DNSSecundario: TStaticText  
568 - Left = 436  
569 - Top = 73  
570 - Width = 10  
571 - Height = 18  
572 - Alignment = taRightJustify  
573 - Anchors = [akRight]  
574 - Caption = '6'  
575 - Font.Charset = DEFAULT_CHARSET  
576 - Font.Color = clWindowText  
577 - Font.Height = -11  
578 - Font.Name = 'Arial'  
579 - Font.Style = []  
580 - ParentFont = False  
581 - TabOrder = 14  
582 - end  
583 - object ST_VL_Gateway: TStaticText  
584 - Left = 145  
585 - Top = 89  
586 - Width = 10  
587 - Height = 18  
588 - Alignment = taRightJustify  
589 - Anchors = [akRight]  
590 - Caption = '7'  
591 - Font.Charset = DEFAULT_CHARSET  
592 - Font.Color = clWindowText  
593 - Font.Height = -11  
594 - Font.Name = 'Arial'  
595 - Font.Style = []  
596 - ParentFont = False  
597 - TabOrder = 15  
598 - end  
599 - object ST_VL_Mascara: TStaticText  
600 - Left = 436  
601 - Top = 40  
602 - Width = 10  
603 - Height = 18  
604 - Alignment = taRightJustify  
605 - Anchors = [akRight]  
606 - Caption = '8'  
607 - Font.Charset = DEFAULT_CHARSET  
608 - Font.Color = clWindowText  
609 - Font.Height = -11  
610 - Font.Name = 'Arial'  
611 - Font.Style = []  
612 - ParentFont = False  
613 - TabOrder = 16  
614 - end  
615 - object ST_VL_ServidorDHCP: TStaticText  
616 - Left = 436  
617 - Top = 89  
618 - Width = 10  
619 - Height = 18  
620 - Alignment = taRightJustify  
621 - Anchors = [akRight]  
622 - Caption = '9'  
623 - Font.Charset = DEFAULT_CHARSET  
624 - Font.Color = clWindowText  
625 - Font.Height = -11  
626 - Font.Name = 'Arial'  
627 - Font.Style = []  
628 - ParentFont = False  
629 - TabOrder = 17  
630 - end  
631 - object ST_VL_WinsPrimario: TStaticText  
632 - Left = 145  
633 - Top = 106  
634 - Width = 16  
635 - Height = 18  
636 - Alignment = taRightJustify  
637 - Anchors = [akRight]  
638 - Caption = '10'  
639 - Font.Charset = DEFAULT_CHARSET  
640 - Font.Color = clWindowText  
641 - Font.Height = -11  
642 - Font.Name = 'Arial'  
643 - Font.Style = []  
644 - ParentFont = False  
645 - TabOrder = 18  
646 - end  
647 - object ST_VL_WinsSecundario: TStaticText  
648 - Left = 436  
649 - Top = 106  
650 - Width = 16  
651 - Height = 18  
652 - Alignment = taRightJustify  
653 - Anchors = [akRight]  
654 - Caption = '11'  
655 - Font.Charset = DEFAULT_CHARSET  
656 - Font.Color = clWindowText  
657 - Font.Height = -11  
658 - Font.Name = 'Arial'  
659 - Font.Style = []  
660 - ParentFont = False  
661 - TabOrder = 19  
662 - end  
663 - object ST_VL_DominioDNS: TStaticText  
664 - Left = 145  
665 - Top = 57  
666 - Width = 10  
667 - Height = 18  
668 - Alignment = taRightJustify  
669 - Anchors = [akRight]  
670 - Caption = '4'  
671 - Font.Charset = DEFAULT_CHARSET  
672 - Font.Color = clWindowText  
673 - Font.Height = -11  
674 - Font.Name = 'Arial'  
675 - Font.Style = []  
676 - ParentFont = False  
677 - TabOrder = 20  
678 - end  
679 - object ST_VL_IpRede: TStaticText  
680 - Left = 145  
681 - Top = 40  
682 - Width = 10  
683 - Height = 18  
684 - Alignment = taRightJustify  
685 - Anchors = [akRight]  
686 - Caption = '3'  
687 - Font.Charset = DEFAULT_CHARSET  
688 - Font.Color = clWindowText  
689 - Font.Height = -11  
690 - Font.Name = 'Arial'  
691 - Font.Style = []  
692 - ParentFont = False  
693 - TabOrder = 21  
694 - end  
695 - object Pn_Linha1_TCPIP: TPanel  
696 - Tag = 36  
697 - Left = 3  
698 - Top = 22  
699 - Width = 627  
700 - Height = 2  
701 - TabOrder = 22  
702 - end  
703 - object Pn_Linha2_TCPIP: TPanel  
704 - Tag = 36  
705 - Left = 3  
706 - Top = 39  
707 - Width = 627  
708 - Height = 2  
709 - TabOrder = 23  
710 - end  
711 - object Pn_Linha3_TCPIP: TPanel  
712 - Tag = 36  
713 - Left = 3  
714 - Top = 56  
715 - Width = 627  
716 - Height = 2  
717 - TabOrder = 24  
718 - end  
719 - object Pn_Linha4_TCPIP: TPanel  
720 - Tag = 36  
721 - Left = 3  
722 - Top = 71  
723 - Width = 627  
724 - Height = 2  
725 - TabOrder = 25  
726 - end  
727 - object Pn_Linha6_TCPIP: TPanel  
728 - Tag = 36  
729 - Left = 3  
730 - Top = 104  
731 - Width = 627  
732 - Height = 2  
733 - TabOrder = 26  
734 - end  
735 - object Pn_Linha5_TCPIP: TPanel  
736 - Tag = 36  
737 - Left = 3  
738 - Top = 87  
739 - Width = 627  
740 - Height = 2  
741 - TabOrder = 27  
742 - end  
743 - end  
744 - end  
745 - object pnColetasRealizadasNestaData: TPanel  
746 - Left = 4  
747 - Top = 335  
748 - Width = 640  
749 - Height = 129  
750 - Caption = 'Pn_SisMoni'  
751 - TabOrder = 2  
752 - DesignSize = (  
753 - 640  
754 - 129)  
755 - object lbColetasRealizadasNestaData: TLabel  
756 - Left = 5  
757 - Top = 4  
758 - Width = 177  
759 - Height = 13  
760 - Alignment = taCenter  
761 - Caption = 'Coletas Realizadas Nesta Data'  
762 - Font.Charset = DEFAULT_CHARSET  
763 - Font.Color = clHotLight  
764 - Font.Height = -11  
765 - Font.Name = 'MS Sans Serif'  
766 - Font.Style = [fsBold, fsUnderline]  
767 - ParentFont = False  
768 - end  
769 - object teDataColeta: TLabel  
770 - Left = 187  
771 - Top = 4  
772 - Width = 3  
773 - Height = 14  
774 - Alignment = taCenter  
775 - Caption = '.'  
776 - Font.Charset = DEFAULT_CHARSET  
777 - Font.Color = clBlack  
778 - Font.Height = -11  
779 - Font.Name = 'Arial'  
780 - Font.Style = []  
781 - ParentFont = False  
782 - end  
783 - object listaColetas: TListView  
784 - Left = 5  
785 - Top = 19  
786 - Width = 631  
787 - Height = 105  
788 - Anchors = [akLeft, akTop, akRight, akBottom]  
789 - BiDiMode = bdLeftToRight  
790 - Color = clSilver  
791 - Columns = <  
792 - item  
793 - Caption = 'M'#243'dulo de Coleta'  
794 - Width = 250  
795 - end  
796 - item  
797 - Caption = 'Hora In'#237'cio'  
798 - Width = 60  
799 - end  
800 - item  
801 - Caption = 'Hora Fim'  
802 - Width = 60  
803 - end  
804 - item  
805 - Caption = 'Status Final'  
806 - Width = 240  
807 - end>  
808 - DragMode = dmAutomatic  
809 - Font.Charset = DEFAULT_CHARSET  
810 - Font.Color = clWindowText  
811 - Font.Height = -12  
812 - Font.Name = 'Arial Narrow'  
813 - Font.Style = []  
814 - FlatScrollBars = True  
815 - GridLines = True  
816 - HotTrackStyles = [htUnderlineHot]  
817 - ReadOnly = True  
818 - ParentBiDiMode = False  
819 - ParentFont = False  
820 - TabOrder = 0  
821 - TabStop = False  
822 - ViewStyle = vsReport  
823 - end  
824 - end  
825 - object pnInformacoesPatrimoniais: TPanel  
826 - Left = 4  
827 - Top = 466  
828 - Width = 640  
829 - Height = 128  
830 - Caption = 'Pn_TCPIP'  
831 - TabOrder = 3  
832 - object lbInformacoesPatrimoniais: TLabel  
833 - Left = 5  
834 - Top = 4  
835 - Width = 142  
836 - Height = 14  
837 - Alignment = taCenter  
838 - Caption = 'Informa'#231#245'es Patrimoniais'  
839 - Font.Charset = DEFAULT_CHARSET  
840 - Font.Color = clHotLight  
841 - Font.Height = -11  
842 - Font.Name = 'Arial'  
843 - Font.Style = [fsBold, fsUnderline]  
844 - ParentFont = False  
845 - end  
846 - object lbSemInformacoesPatrimoniais: TLabel  
847 - Left = 157  
848 - Top = 4  
849 - Width = 228  
850 - Height = 14  
851 - Alignment = taCenter  
852 - Caption = '(Informa'#231#245'es Patrimoniais ainda n'#227'o coletadas)'  
853 - Font.Charset = DEFAULT_CHARSET  
854 - Font.Color = clRed  
855 - Font.Height = -11  
856 - Font.Name = 'Arial'  
857 - Font.Style = []  
858 - ParentFont = False  
859 - Visible = False  
860 - end  
861 - object gpInfosPatrimoniais: TGroupBox  
862 - Left = 5  
863 - Top = 19  
864 - Width = 631  
865 - Height = 106  
866 - Color = clSilver  
867 - Font.Charset = DEFAULT_CHARSET  
868 - Font.Color = clSilver  
869 - Font.Height = -11  
870 - Font.Name = 'Arial'  
871 - Font.Style = []  
872 - ParentColor = False  
873 - ParentFont = False  
874 - TabOrder = 0  
875 - DesignSize = (  
876 - 631  
877 - 106)  
878 - object st_vl_etiqueta9: TStaticText  
879 - Left = 510  
880 - Top = 90  
881 - Width = 16  
882 - Height = 18  
883 - Anchors = [akRight]  
884 - Caption = '10'  
885 - Font.Charset = DEFAULT_CHARSET  
886 - Font.Color = clWindowText  
887 - Font.Height = -11  
888 - Font.Name = 'Arial'  
889 - Font.Style = []  
890 - ParentFont = False  
891 - TabOrder = 24  
892 - end  
893 - object st_lb_Etiqueta9: TStaticText  
894 - Left = 355  
895 - Top = 90  
896 - Width = 150  
897 - Height = 13  
898 - Alignment = taRightJustify  
899 - AutoSize = False  
900 - Caption = 'S'#233'rie da Impressora:'  
901 - Font.Charset = DEFAULT_CHARSET  
902 - Font.Color = clWindowText  
903 - Font.Height = -11  
904 - Font.Name = 'Arial'  
905 - Font.Style = [fsBold]  
906 - ParentFont = False  
907 - TabOrder = 18  
908 - end  
909 - object st_vl_Etiqueta3: TStaticText  
910 - Left = 146  
911 - Top = 58  
912 - Width = 10  
913 - Height = 18  
914 - Anchors = [akRight]  
915 - Caption = '4'  
916 - Font.Charset = DEFAULT_CHARSET  
917 - Font.Color = clWindowText  
918 - Font.Height = -11  
919 - Font.Name = 'Arial'  
920 - Font.Style = []  
921 - ParentFont = False  
922 - TabOrder = 17  
923 - end  
924 - object st_lb_Etiqueta3: TStaticText  
925 - Left = 3  
926 - Top = 57  
927 - Width = 140  
928 - Height = 18  
929 - Alignment = taRightJustify  
930 - AutoSize = False  
931 - Caption = 'Se'#231#227'o:'  
932 - Font.Charset = DEFAULT_CHARSET  
933 - Font.Color = clWindowText  
934 - Font.Height = -11  
935 - Font.Name = 'Arial'  
936 - Font.Style = [fsBold]  
937 - ParentFont = False  
938 - TabOrder = 16  
939 - end  
940 - object st_vl_etiqueta4: TStaticText  
941 - Left = 510  
942 - Top = 9  
943 - Width = 10  
944 - Height = 18  
945 - Anchors = [akRight]  
946 - Caption = '5'  
947 - Font.Charset = DEFAULT_CHARSET  
948 - Font.Color = clWindowText  
949 - Font.Height = -11  
950 - Font.Name = 'Arial'  
951 - Font.Style = []  
952 - ParentFont = False  
953 - TabOrder = 19  
954 - end  
955 - object st_vl_etiqueta5: TStaticText  
956 - Left = 510  
957 - Top = 26  
958 - Width = 10  
959 - Height = 18  
960 - Anchors = [akRight]  
961 - Caption = '6'  
962 - Font.Charset = DEFAULT_CHARSET  
963 - Font.Color = clWindowText  
964 - Font.Height = -11  
965 - Font.Name = 'Arial'  
966 - Font.Style = []  
967 - ParentFont = False  
968 - TabOrder = 20  
969 - end  
970 - object st_vl_etiqueta6: TStaticText  
971 - Left = 510  
972 - Top = 42  
973 - Width = 10  
974 - Height = 18  
975 - Anchors = [akRight]  
976 - Caption = '7'  
977 - Font.Charset = DEFAULT_CHARSET  
978 - Font.Color = clWindowText  
979 - Font.Height = -11  
980 - Font.Name = 'Arial'  
981 - Font.Style = []  
982 - ParentFont = False  
983 - TabOrder = 21  
984 - end  
985 - object st_vl_etiqueta7: TStaticText  
986 - Left = 510  
987 - Top = 59  
988 - Width = 10  
989 - Height = 18  
990 - Anchors = [akRight]  
991 - Caption = '8'  
992 - Font.Charset = DEFAULT_CHARSET  
993 - Font.Color = clWindowText  
994 - Font.Height = -11  
995 - Font.Name = 'Arial'  
996 - Font.Style = []  
997 - ParentFont = False  
998 - TabOrder = 22  
999 - end  
1000 - object st_vl_etiqueta8: TStaticText  
1001 - Left = 510  
1002 - Top = 74  
1003 - Width = 10  
1004 - Height = 18  
1005 - Anchors = [akRight]  
1006 - Caption = '9'  
1007 - Font.Charset = DEFAULT_CHARSET  
1008 - Font.Color = clWindowText  
1009 - Font.Height = -11  
1010 - Font.Name = 'Arial'  
1011 - Font.Style = []  
1012 - ParentFont = False  
1013 - TabOrder = 23  
1014 - end  
1015 - object st_lb_Etiqueta6: TStaticText  
1016 - Left = 355  
1017 - Top = 42  
1018 - Width = 150  
1019 - Height = 18  
1020 - Alignment = taRightJustify  
1021 - AutoSize = False  
1022 - Caption = 'PIB do Monitor:'  
1023 - Font.Charset = DEFAULT_CHARSET  
1024 - Font.Color = clWindowText  
1025 - Font.Height = -11  
1026 - Font.Name = 'Arial'  
1027 - Font.Style = [fsBold]  
1028 - ParentFont = False  
1029 - TabOrder = 5  
1030 - end  
1031 - object st_lb_Etiqueta5: TStaticText  
1032 - Left = 355  
1033 - Top = 25  
1034 - Width = 150  
1035 - Height = 18  
1036 - Alignment = taRightJustify  
1037 - AutoSize = False  
1038 - Caption = 'S'#233'rie da CPU:'  
1039 - Font.Charset = DEFAULT_CHARSET  
1040 - Font.Color = clWindowText  
1041 - Font.Height = -11  
1042 - Font.Name = 'Arial'  
1043 - Font.Style = [fsBold]  
1044 - ParentFont = False  
1045 - TabOrder = 14  
1046 - end  
1047 - object st_lb_Etiqueta4: TStaticText  
1048 - Left = 355  
1049 - Top = 9  
1050 - Width = 150  
1051 - Height = 18  
1052 - Alignment = taRightJustify  
1053 - AutoSize = False  
1054 - Caption = 'PIB da CPU:'  
1055 - Font.Charset = DEFAULT_CHARSET  
1056 - Font.Color = clWindowText  
1057 - Font.Height = -11  
1058 - Font.Name = 'Arial'  
1059 - Font.Style = [fsBold]  
1060 - ParentFont = False  
1061 - TabOrder = 15  
1062 - end  
1063 - object st_lb_Etiqueta1: TStaticText  
1064 - Left = 3  
1065 - Top = 8  
1066 - Width = 140  
1067 - Height = 18  
1068 - Alignment = taRightJustify  
1069 - AutoSize = False  
1070 - Caption = 'Entidade:'  
1071 - Font.Charset = DEFAULT_CHARSET  
1072 - Font.Color = clWindowText  
1073 - Font.Height = -11  
1074 - Font.Name = 'Arial'  
1075 - Font.Style = [fsBold]  
1076 - ParentFont = False  
1077 - TabOrder = 0  
1078 - end  
1079 - object st_vl_Etiqueta1: TStaticText  
1080 - Left = 146  
1081 - Top = 8  
1082 - Width = 10  
1083 - Height = 18  
1084 - Anchors = [akRight]  
1085 - Caption = '1'  
1086 - Font.Charset = DEFAULT_CHARSET  
1087 - Font.Color = clWindowText  
1088 - Font.Height = -11  
1089 - Font.Name = 'Arial'  
1090 - Font.Style = []  
1091 - ParentFont = False  
1092 - TabOrder = 1  
1093 - end  
1094 - object st_lb_Etiqueta1a: TStaticText  
1095 - Left = 3  
1096 - Top = 24  
1097 - Width = 140  
1098 - Height = 18  
1099 - Alignment = taRightJustify  
1100 - AutoSize = False  
1101 - Caption = 'Linha de Neg'#243'cio:'  
1102 - Font.Charset = DEFAULT_CHARSET  
1103 - Font.Color = clWindowText  
1104 - Font.Height = -11  
1105 - Font.Name = 'Arial'  
1106 - Font.Style = [fsBold]  
1107 - ParentFont = False  
1108 - TabOrder = 2  
1109 - end  
1110 - object st_lb_Etiqueta2: TStaticText  
1111 - Left = 3  
1112 - Top = 41  
1113 - Width = 140  
1114 - Height = 18  
1115 - Alignment = taRightJustify  
1116 - AutoSize = False  
1117 - Caption = #211'rg'#227'o:'  
1118 - Font.Charset = DEFAULT_CHARSET  
1119 - Font.Color = clWindowText  
1120 - Font.Height = -11  
1121 - Font.Name = 'Arial'  
1122 - Font.Style = [fsBold]  
1123 - ParentFont = False  
1124 - TabOrder = 3  
1125 - end  
1126 - object st_lb_Etiqueta7: TStaticText  
1127 - Left = 355  
1128 - Top = 58  
1129 - Width = 150  
1130 - Height = 18  
1131 - Alignment = taRightJustify  
1132 - AutoSize = False  
1133 - Caption = 'S'#233'rie do Monitor:'  
1134 - Font.Charset = DEFAULT_CHARSET  
1135 - Font.Color = clWindowText  
1136 - Font.Height = -11  
1137 - Font.Name = 'Arial'  
1138 - Font.Style = [fsBold]  
1139 - ParentFont = False  
1140 - TabOrder = 4  
1141 - end  
1142 - object st_lb_Etiqueta8: TStaticText  
1143 - Left = 355  
1144 - Top = 73  
1145 - Width = 150  
1146 - Height = 18  
1147 - Alignment = taRightJustify  
1148 - AutoSize = False  
1149 - Caption = 'PIB da Impressora:'  
1150 - Font.Charset = DEFAULT_CHARSET  
1151 - Font.Color = clWindowText  
1152 - Font.Height = -11  
1153 - Font.Name = 'Arial'  
1154 - Font.Style = [fsBold]  
1155 - ParentFont = False  
1156 - TabOrder = 6  
1157 - end  
1158 - object st_vl_Etiqueta1a: TStaticText  
1159 - Left = 146  
1160 - Top = 24  
1161 - Width = 10  
1162 - Height = 18  
1163 - Anchors = [akRight]  
1164 - Caption = '2'  
1165 - Font.Charset = DEFAULT_CHARSET  
1166 - Font.Color = clWindowText  
1167 - Font.Height = -11  
1168 - Font.Name = 'Arial'  
1169 - Font.Style = []  
1170 - ParentFont = False  
1171 - TabOrder = 7  
1172 - end  
1173 - object st_vl_Etiqueta2: TStaticText  
1174 - Left = 146  
1175 - Top = 42  
1176 - Width = 10  
1177 - Height = 18  
1178 - Anchors = [akRight]  
1179 - Caption = '3'  
1180 - Font.Charset = DEFAULT_CHARSET  
1181 - Font.Color = clWindowText  
1182 - Font.Height = -11  
1183 - Font.Name = 'Arial'  
1184 - Font.Style = []  
1185 - ParentFont = False  
1186 - TabOrder = 8  
1187 - end  
1188 - object Panel6: TPanel  
1189 - Tag = 36  
1190 - Left = 3  
1191 - Top = 22  
1192 - Width = 627  
1193 - Height = 2  
1194 - TabOrder = 9  
1195 - end  
1196 - object Panel7: TPanel  
1197 - Tag = 36  
1198 - Left = 3  
1199 - Top = 39  
1200 - Width = 627  
1201 - Height = 2  
1202 - TabOrder = 10  
1203 - end  
1204 - object Panel8: TPanel  
1205 - Tag = 36  
1206 - Left = 3  
1207 - Top = 56  
1208 - Width = 627  
1209 - Height = 2  
1210 - TabOrder = 11  
1211 - end  
1212 - object Panel9: TPanel  
1213 - Tag = 36  
1214 - Left = 3  
1215 - Top = 72  
1216 - Width = 627  
1217 - Height = 2  
1218 - TabOrder = 12  
1219 - end  
1220 - object Panel11: TPanel  
1221 - Tag = 36  
1222 - Left = 3  
1223 - Top = 87  
1224 - Width = 627  
1225 - Height = 2  
1226 - TabOrder = 13  
1227 - end  
1228 - end  
1229 - end  
1230 - object pnServidores: TPanel  
1231 - Left = 4  
1232 - Top = 3  
1233 - Width = 640  
1234 - Height = 44  
1235 - TabOrder = 4  
1236 - object lbServidores: TLabel  
1237 - Left = 5  
1238 - Top = 1  
1239 - Width = 147  
1240 - Height = 13  
1241 - AutoSize = False  
1242 - Caption = 'Servidores'  
1243 - Font.Charset = DEFAULT_CHARSET  
1244 - Font.Color = clHotLight  
1245 - Font.Height = -11  
1246 - Font.Name = 'MS Sans Serif'  
1247 - Font.Style = [fsBold, fsUnderline]  
1248 - ParentFont = False  
1249 - end  
1250 - object GroupBox1: TGroupBox  
1251 - Left = 5  
1252 - Top = 15  
1253 - Width = 631  
1254 - Height = 26  
1255 - Color = clSilver  
1256 - Font.Charset = DEFAULT_CHARSET  
1257 - Font.Color = clSilver  
1258 - Font.Height = -11  
1259 - Font.Name = 'Arial'  
1260 - Font.Style = []  
1261 - ParentColor = False  
1262 - ParentFont = False  
1263 - TabOrder = 0  
1264 - DesignSize = (  
1265 - 631  
1266 - 26)  
1267 - object staticNmServidorUpdates: TStaticText  
1268 - Left = 289  
1269 - Top = 8  
1270 - Width = 140  
1271 - Height = 14  
1272 - AutoSize = False  
1273 - Caption = 'Atualiza'#231#227'o de Vers'#245'es:'  
1274 - Font.Charset = DEFAULT_CHARSET  
1275 - Font.Color = clWindowText  
1276 - Font.Height = -11  
1277 - Font.Name = 'Arial'  
1278 - Font.Style = [fsBold]  
1279 - ParentFont = False  
1280 - TabOrder = 3  
1281 - end  
1282 - object staticVlServidorUpdates: TStaticText  
1283 - Left = 427  
1284 - Top = 8  
1285 - Width = 200  
1286 - Height = 12  
1287 - Anchors = [akRight]  
1288 - AutoSize = False  
1289 - Caption = '2'  
1290 - Font.Charset = DEFAULT_CHARSET  
1291 - Font.Color = clWindowText  
1292 - Font.Height = -11  
1293 - Font.Name = 'Arial'  
1294 - Font.Style = []  
1295 - ParentFont = False  
1296 - TabOrder = 4  
1297 - end  
1298 - object staticNmServidorAplicacao: TStaticText  
1299 - Left = 3  
1300 - Top = 8  
1301 - Width = 86  
1302 - Height = 14  
1303 - AutoSize = False  
1304 - Caption = 'Aplica'#231#227'o WEB:'  
1305 - Font.Charset = DEFAULT_CHARSET  
1306 - Font.Color = clWindowText  
1307 - Font.Height = -11  
1308 - Font.Name = 'Arial'  
1309 - Font.Style = [fsBold]  
1310 - ParentFont = False  
1311 - TabOrder = 0  
1312 - end  
1313 - object staticVlServidorAplicacao: TStaticText  
1314 - Left = 88  
1315 - Top = 8  
1316 - Width = 200  
1317 - Height = 12  
1318 - Anchors = [akRight]  
1319 - AutoSize = False  
1320 - Caption = '1'  
1321 - Font.Charset = DEFAULT_CHARSET  
1322 - Font.Color = clWindowText  
1323 - Font.Height = -11  
1324 - Font.Name = 'Arial'  
1325 - Font.Style = []  
1326 - ParentFont = False  
1327 - TabOrder = 1  
1328 - end  
1329 - object Panel4: TPanel  
1330 - Tag = 36  
1331 - Left = 3  
1332 - Top = 23  
1333 - Width = 627  
1334 - Height = 2  
1335 - TabOrder = 2  
1336 - end  
1337 - end  
1338 - end  
1339 - end  
1340 - object Panel1: TPanel  
1341 - Left = 645  
1342 - Top = 0  
1343 - Width = 5  
1344 - Height = 597  
1345 - Color = clGreen  
1346 - TabOrder = 1  
1347 - end  
1348 - object Panel2: TPanel  
1349 - Left = 650  
1350 - Top = 0  
1351 - Width = 3  
1352 - Height = 597  
1353 - Color = clYellow  
1354 - TabOrder = 2  
1355 - end  
1356 - object Timer_Nu_Intervalo: TTimer  
1357 - Enabled = False  
1358 - Interval = 5000  
1359 - OnTimer = ExecutaCacic  
1360 - Left = 674  
1361 - Top = 30  
1362 - end  
1363 - object Timer_Nu_Exec_Apos: TTimer  
1364 - Enabled = False  
1365 - Interval = 1  
1366 - OnTimer = ExecutaCacic  
1367 - Left = 674  
1368 - Top = 2  
1369 - end  
1370 - object Popup_Menu_Contexto: TPopupMenu  
1371 - MenuAnimation = [maLeftToRight, maRightToLeft, maTopToBottom, maBottomToTop]  
1372 - OnPopup = Popup_Menu_ContextoPopup  
1373 - Left = 674  
1374 - Top = 86  
1375 - object Mnu_LogAtividades: TMenuItem  
1376 - Caption = 'Log de Atividades'  
1377 - Hint =  
1378 - 'Exibe as atividades desempenhadas pelos agentes do CACIC nesta d' +  
1379 - 'ata.'  
1380 - OnClick = ExibirLogAtividades  
1381 - end  
1382 - object Mnu_Configuracoes: TMenuItem  
1383 - Caption = 'Configura'#231#245'es'  
1384 - Hint =  
1385 - 'Permite a reconfigura'#231#227'o de endere'#231'o do Servidor de Aplica'#231#227'o e ' +  
1386 - 'Servidor de Atualiza'#231#245'es'  
1387 - OnClick = ExibirConfiguracoes  
1388 - end  
1389 - object Mnu_ExecutarAgora: TMenuItem  
1390 - Caption = 'Executar Agora'  
1391 - Hint =  
1392 - 'Ordena ao Agente Principal que inicie as a'#231#245'es fora do intervalo' +  
1393 - ' previamente configurado no m'#243'dulo Gerente WEB'  
1394 - OnClick = ExecutaCacic  
1395 - end  
1396 - object Mnu_InfosTCP: TMenuItem  
1397 - Caption = 'Informa'#231#245'es Gerais'  
1398 - Hint =  
1399 - 'Exibe um resumo de informa'#231#245'es relevantes coletadas neste comput' +  
1400 - 'ador'  
1401 - OnClick = Mnu_InfosTCPClick  
1402 - end  
1403 - object Mnu_InfosPatrimoniais: TMenuItem  
1404 - Caption = 'Informa'#231#245'es &Patrimoniais'  
1405 - Hint =  
1406 - 'Caso a op'#231#227'o de coleta autom'#225'tica esteja ativa no m'#243'dulo Gerente' +  
1407 - ' WEB, esta op'#231#227'o executar'#225' o M'#243'dulo Coletor de Informa'#231#245'es Patri' +  
1408 - 'moniais'  
1409 - OnClick = Mnu_InfosPatrimoniaisClick  
1410 - end  
1411 - object Mnu_SuporteRemoto: TMenuItem  
1412 - Caption = 'Ativar Suporte Remoto Seguro'  
1413 - Hint =  
1414 - 'Caso a op'#231#227'o de Suporte Remoto Seguro esteja ativa no m'#243'dulo Ger' +  
1415 - 'ente WEB para esta subrede, esta op'#231#227'o executar'#225' o M'#243'dulo Servid' +  
1416 - 'or de Suporte Remoto Seguro'  
1417 - OnClick = Mnu_SuporteRemotoClick  
1418 - end  
1419 - object Mnu_FinalizarCacic: TMenuItem  
1420 - Caption = 'Finalizar o CACIC'  
1421 - Hint =  
1422 - 'Ordenar'#225' ao Agente Principal que auto-finalize-se. '#201' necess'#225'rio ' +  
1423 - 'conhecer a senha configurada previamente no m'#243'dulo Gerente WEB.'  
1424 - OnClick = Sair  
1425 - end  
1426 - end  
1427 - object Timer_InicializaTray: TTimer  
1428 - Interval = 60000  
1429 - OnTimer = Timer_InicializaTrayTimer  
1430 - Left = 674  
1431 - Top = 58  
1432 - end  
1433 - object imgList_Icones: TImageList  
1434 - ShareImages = True  
1435 - Left = 674  
1436 - Top = 114  
1437 - Bitmap = {  
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  
1696 - 00000000000000000000000000000000000000000000021C7800000000000000  
1697 - 0000000000000000000000000000000000000000000000000000000000000000  
1698 - 0000000000000000000000125B000000000000000000C0C4D7FF000000000000  
1699 - 00001E1E1EFF0000000000000000000000000000000000000000000000000000  
1700 - 00000000000000000000F0F1F5FF0000000000000000C0C4D7FF000000000000  
1701 - 0000000000000000000000000000000000000000000000000000000000000000  
1702 - 00000000000000000000F0F1F5FF0000000000000000404040FF000000000000  
1703 - 0000000000000000000000000000000000000000000000000000000000000000  
1704 - 000000000000000000000000000000000000000000000032FD00000000000000  
1705 - 0000000000000000000000000000000000000000000000000000000000000000  
1706 - 000000000000000000000032FD0000000000404B7BFF0032FDFF000000000000  
1707 - 00001E1E1EFFB9B9B9FF00000000000000000000000000000000000000000000  
1708 - 000000000000405EDCFF002BDCFF00000000404B7BFF0032FDFF000000000000  
1709 - 00000000000000000000000000001E1E1EFF1E1E1EFF1E1E1EFF000000000000  
1710 - 000000000000405EDCFF002BDCFF0000000000000000003AFFFF000000000000  
1711 - 0000000000000000000000000000000000000000000000000000000000000000  
1712 - 0000000000000025B6FF223172FF00000000305159000032FD00163886000000  
1713 - 0000000000000000000000000000000000000000000000000000000000000000  
1714 - 000000000000163886000032FD001E333A000C32A8FF0131F6FFC0C7E3FF0000  
1715 - 00001E1E1EFF1E1E1EFFC0C0C0FF000000000000000000000000000000000000  
1716 - 000000000000032FDBFF002EF0FFC0C3CCFF0C32A8FF0131F6FFC0C7E3FF0000  
1717 - 000000000000000000001E1E1EFF0000FFFF0000FFFF1E1E1EFF000000000000  
1718 - 000000000000032FDBFF002EF0FFC0C3CCFF1A2179FF0037FFFF313476FF0000  
1719 - 0000000000000000000000000000000000000000000000000000000000000000  
1720 - 000000000000002CFFFF0028FCFF0000000083DADC009DFFFE0083DADC000000  
1721 - 00000000000025375E005078C900679AFE00679AFE004B71BB00000000000000  
1722 - 00000000000092F3F3009DFFFE005F9DA00098F8F7FF6AB1B3FFB8D3D3FF0000  
1723 - 00001E1E1EFF62F6FFFF1E1E1EFF2E4065FFAFBFDEFFD0D7E8FF000000000000  
1724 - 000000000000A6FCFCFF88E3E3FFD7E9EAFF98F8F7FF6AB1B3FFB8D3D3FF0000  
1725 - 000000000000CCD2DDFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF000000000000  
1726 - 000000000000A6FCFCFF88E3E3FFD7E9EAFF7DD0CEFF365860FF72BCB8FF438D  
1727 - C6FF64C9FCFF95DFF9FFA7E2EDFFA7E0EAFFA7DFE8FFA5E0E8FF88D2F4FF61C7  
1728 - F4FF0000000096F6EAFFA5FFF8FF000000001126080098FDFC0030554500354F  
1729 - 85006DA2FF00679AFE00679AFE0039558E004262A400679AFE00679AFE006DA2  
1730 - FF0000000000345951008FEEEB0011211100487E6AFF9BFEFDFFA8B9B8FFD2DB  
1731 - EEFF1E1E1EFF4AE9F4FF5EEDFFFF1E1E1EFF5074B9FF679AFEFF6BA0FFFF3B59  
1732 - 95FF000000008FE6E7FF8AE5E4FFC4C9C6FF487E6AFF9BFEFDFFA8B9B8FFD2DB  
1733 - EEFF689CFAFF679AFEFF6394F3FF2F4673FF334C7DFF679AFEFF6BA0FFFF3B59  
1734 - 95FF000000008FE6E7FF8AE5E4FFC4C9C6FF3D5D53FFA5FFFFFF5B9699FF617B  
1735 - 9AFFF1B982FFF8CBA2FFF9E2C6FFBEC1B1FFC2C7BDFFD6CFC0FFFFDDC0FF8381  
1736 - 88FF00000000A8FFFFFF82D4D8FF000000000000000070E136001D2C49002EB8  
1737 - E700679AFE00679AFE002A3F6900679AFE00679AFE002F477700679AFE00679A  
1738 - FE002EB8E7001E333A0070E1360000000000587251FF51A42AFF41639EFF5097  
1739 - E8FF1E1E1EFF45E8F2FF5EEAFFFF5FEEFFFF1E1E1EFF4F72B0FF679AFEFF6498  
1740 - FAFF4B93DFFF468F25FF61C330FF00000000587251FF51A42AFF41639EFF5097  
1741 - E8FF679AFEFF679AFEFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF679AFEFF6498  
1742 - FAFF4B93DFFF468F25FF61C330FF00000000000000004A9526FF355159FF4E9B  
1743 - E7FFECC195FFD0ECFDFFE0EDF2FF7EB1C8FF8EBDD2FF86BCD5FFAED1E2FF9A98  
1744 - B8FF4775CCFF4DA11BFF4C9820FF00000000000000004262A400679AFE0030C0  
1745 - F00030C0F0006494F800679AFE00679AFE00679AFE00679AFE005F91F0002EB8  
1746 - E70030C8F9006DA2FF004B71BB0000000000D2D2D4FF2F5B1EFF3FA2E2FF3F99  
1747 - D9FF42A0E3FF1E1E1EFF5EEAFFFF5EEAFFFF61F2FFFF1E1E1EFF4E72B8FF33B5  
1748 - E9FF33B9EDFF36577FFFA3AEB5FF00000000D2D2D4FF2F5B1EFF3FA2E2FF3F99  
1749 - D9FF42A0E3FF679AFEFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF5F95F3FF33B5  
1750 - E9FF33B9EDFF36577FFFA3AEB5FF0000000000000000315F23FF449BEAFF4389  
1751 - CEFF93A8B1FFFFE8BFFFE0EAE9FF8CC6DAFF95CADDFFDDDDCFFFEED7BDFF30AF  
1752 - E0FF2DBDE9FF375848FF0000000000000000679AFE00679AFE00679AFE00679A  
1753 - FE005F91F000679AFE00679AFE00679AFE00679AFE00679AFE00679AFE005690  
1754 - E600679AFE00679AFE00679AFE005A88E2006090EEFF679AFEFF679AFEFF40A1  
1755 - E1FF5C93EFFF1E1E1EFF5FEDFFFF5EEAFFFF5EEAFFFF60F1FFFF1E1E1EFF2C8D  
1756 - B1FF6498FAFF679AFEFF679AFEFFCBD0DAFF6090EEFF679AFEFF679AFEFF40A1  
1757 - E1FF5C93EFFF679AFEFF1E1E1EFF0000FFFF0000FFFF1E1E1EFF679AFEFF38B0  
1758 - EAFF6498FAFF679AFEFF679AFEFFCBD0DAFF4568ACFF699EFFFF669AFFFF4998  
1759 - E4FF5785DDFFC5B4B0FFFEE4C3FFFFE0B7FFFFE3BCFFF3D5BAFF7F9BE3FF2CB1  
1760 - DEFF6C96FFFF699EFFFF6FA6FFFF000000004262A400679AFE00679AFE00679A  
1761 - FE005A88E2005078C9004262A400679AFE00679AFE005781D9004B71BB005781  
1762 - D900679AFE00679AFE00679AFE004669B0006597F9FF679AFEFF679AFEFF1E1E  
1763 - 1EFF55EBFFFF55EAFFFF5EEAFFFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E  
1764 - 1EFF5F8DE7FF679AFEFF679AFEFF526385FF6597F9FF679AFEFF679AFEFF679A  
1765 - FEFF6394F6FF6090EFFF1E1E1EFF0000FFFF0000FFFF0000FFFF1E1E1EFF6395  
1766 - F7FF679AFEFF679AFEFF679AFEFF526385FF5680D6FF6698FFFF6699FFFF6699  
1767 - FFFF6A9FFFFF699DFFFF8C95B7FFFFEAC1FFFBDAB3FF689DFFFF6A9FFFFF6A9F  
1768 - FFFF6699FFFF6699FFFF6DA4FFFF181F2AFF000000003D5C99005E8DE900679A  
1769 - FE00679AFE00679AFE00679AFE00679AFE00679AFE00679AFE00679AFE00679A  
1770 - FE00679AFE005A88E20025375E000000000004070BFF6190F0FF6698FCFF1E1E  
1771 - 1EFF4FE9F5FF5EEAFFFF5EEAFFFF5FEEFFFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E  
1772 - 1EFF1E1E1EFF6496F7FF263A5EFFD0D0D0FF04070BFF6190F0FF6698FCFF679A  
1773 - FEFF6BA0FFFF679AFEFF679AFEFF2F4F90FF0000FFFF0000FFFF0000FFFF1E1E  
1774 - 1EFF6699FDFF6496F7FF263A5EFFD0D0D0FF262626FF679AF0FF6FA6FFFF6BA1  
1775 - FFFF5F8FEFFF9997A5FFF7DCBFFF8EBCD9FF9EBFCFFFE2C4ACFF5E84D3FF6495  
1776 - F9FF6EA5FFFF699EFFFF141B29FF000000000000000000000000000000000000  
1777 - 0000000000000000000000000000000000000000000000000000000000000000  
1778 - 000000000000000000000000000000000000404040FF000000FF000000FF0203  
1779 - 03FF034F5EFF5EEBFFFF5EEAFFFF5EEAFFFF23E2F8FF1F2228FF0F1626FF0206  
1780 - 0CFF000000FF000000FF000000FF00000000404040FF000000FF000000FF0203  
1781 - 03FF0000FFFF0000FFFF1E1E1EFF476BB2FF2A3F6AFF0000FFFF0000FFFF1E1E  
1782 - 1EFF000000FF000000FF000000FF000000005A5A5AFF000000FF000000FF0000  
1783 - 00FF675B54FFFFDEB4FFE1F1F6FF8EC1D0FF9BCADAFFF3E1CCFFE7CBB3FF0000  
1784 - 00FF000000FF000000FF000000FF000000000000000000092E00000724000007  
1785 - 2400000724000007240000072400000724000007240000072400000724000007  
1786 - 2400000724000007240000092E000000000000000000000109FF000109FF0001  
1787 - 09FF1E1E1EFF5AEFFDFF5EEAFFFF5EEAFFFF5EEAFFFF149DADFF0D0D0EFF0001  
1788 - 09FF000109FF000109FF000105FF0000000000000000000109FF000109FF0001  
1789 - 09FF0000FFFF0000FFFF1E1E1EFF1E1E1EFF000109FF1E1E1EFF0000FFFF1E1E  
1790 - 1EFF000109FF000109FF000105FF0000000000000000000207FF000104FF0001  
1791 - 04FFFBC78DFFFAECC8FFFAE8C0FFFEDEA9FFFCE3B8FFFAE6C3FFFFF8DAFF644A  
1792 - 35FF000104FF000104FF525256FF0000000000000000000000004DBCB1004DBC  
1793 - B1004DBCB1004DBCB1004DBCB1004DBCB1004DBCB1004DBCB1004DBCB1004DBC  
1794 - B1004DBCB1004DBCB1000000000000000000000000001B3C7DFF144486FF1444  
1795 - 86FF1E1E1EFF0AA2B7FF5EEAFFFF5EEAFFFF5EEAFFFF5EEAFFFF10353AFF1E1E  
1796 - 1EFF144486FF134081FFD0D2E0FF00000000000000001B3C7DFF144486FF1444  
1797 - 86FF0000FFFF0000FFFF0000FFFF1E1E1EFF1E1E1EFF0000FFFF0000FFFF1E1E  
1798 - 1EFF1E1E1EFF134081FFD0D2E0FF0000000000000000424857FF317D92FF2C72  
1799 - A8FF3599D9FF4DB1EAFF5CBBF0FF5CBAEDFF5BB9ECFF5BB9EBFF429FDAFF2A87  
1800 - C5FF2D7288FF20566AFF00000000000000000000000000000000296355002757  
1801 - BC006DC1830027636C00325B7F0034662900113562003C6C960060B150001247  
1802 - A1005693AB0000000000000000000000000000000000000000005E8A57FF061C  
1803 - 62FF355B54FF1D311FFF5DEEFFFF5EEAFFFF5EEAFFFF5EEAFFFF2AC4D5FF1D1F  
1804 - 1CFF0B165DFFE9FAF5FF000000000000000000000000000000005E8A57FF061C  
1805 - 62FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF1E1E  
1806 - 1EFF1E1E1EFFE9FAF5FF00000000000000000000000000000000346A29FF326A  
1807 - B6FF61A7D4FF53A5D9FF51A5D9FF4FA5D9FF50A5D9FF50A4D9FF5BA5D7FF65A7  
1808 - D3FF01168FFF83BEBEFF000000000000000000000000000000001854B8006ABD  
1809 - FE006ECE4F000B3AB70073C1D4005AB32B000333EE0089E9FF006BD335000026  
1810 - C10077C7CB004E9F2A00000000000000000000000000D0D7F5FF54AE4DFF1946  
1811 - E0FF88ECB6FF418E54FF54F0FFFF5EEAFFFF5EEAFFFF5EEAFFFF5EEAFFFF1768  
1812 - 74FF1E1E1EFF78D39AFF000000000000000000000000D0D7F5FF54AE4DFF1946  
1813 - E0FF5FA87CFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E  
1814 - 1EFF1E1E1EFF78D39AFF00000000000000000000000000000000266A74FF3A79  
1815 - FFFF89EA7FFF1F5E6EFF3370FFFF89ED84FF2E7452FF1F54FFFF8EF0A4FF357F  
1816 - 52FF1B4EFDFF83E1B0FF00000000000000000000000000000000000000000000  
1817 - 000075CD91003B855B000000000000000000000000000000000063B55900205C  
1818 - 8E000000000000000000000000000000000000000000000000006BC061FF1E4A  
1819 - CFFF77CBC0FF639D64FF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E  
1820 - 1EFF555555FF1E1E1EFF000000000000000000000000000000006BC061FF1E4A  
1821 - CFFF77CBC0FF639D64FF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E1EFF1E1E  
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  
1839 - 000000000000}  
1840 - end  
1841 -end  
@@ -1,2638 +0,0 @@ @@ -1,2638 +0,0 @@
1 -(**  
2 ----------------------------------------------------------------------------------------------------------------------------------------------------------------  
3 -Copyright 2000, 2001, 2002, 2003, 2004, 2005 Dataprev - Empresa de Tecnologia e Informações da Previdência Social, Brasil  
4 -  
5 -Este arquivo é parte do programa CACIC - Configurador Automático e Coletor de Informações Computacionais  
6 -  
7 -O CACIC é um software livre; você pode redistribui-lo e/ou modifica-lo dentro dos termos da Licença Pública Geral GNU como  
8 -publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença, ou (na sua opinião) qualquer versão.  
9 -  
10 -Este programa é distribuido na esperança que possa ser util, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAÇÂO a qualquer  
11 -MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.  
12 -  
13 -Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", junto com este programa, se não, escreva para a Fundação do Software  
14 -Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA  
15 ----------------------------------------------------------------------------------------------------------------------------------------------------------------  
16 -*)  
17 -  
18 -unit main;  
19 -  
20 -interface  
21 -  
22 -uses  
23 - Windows,  
24 - Messages,  
25 - Forms,  
26 - Menus,  
27 - Classes,  
28 - SysUtils,  
29 - Controls,  
30 - StdCtrls,  
31 - ExtCtrls,  
32 - ShellAPI,  
33 - registry,  
34 - dialogs,  
35 - PJVersionInfo,  
36 - ComCtrls,  
37 - IdBaseComponent,  
38 - IdComponent,  
39 - Buttons,  
40 - CACIC_Library,  
41 - ImgList,  
42 - Graphics,  
43 - USBdetectClass;  
44 -  
45 - //IdTCPServer;  
46 - //IdFTPServer;  
47 -  
48 -const  
49 - WM_MYMESSAGE = WM_USER+100;  
50 -  
51 -// Declaração das variáveis globais.  
52 -var  
53 - p_Shell_Command,  
54 - p_Shell_Path,  
55 - v_versao,  
56 - v_DataCacic2DAT,  
57 - v_Tamanho_Arquivo,  
58 - strConfigsPatrimonio : string;  
59 -  
60 -var  
61 - BatchFile : TStringList;  
62 -  
63 -var  
64 - v_tstrCipherOpened : TStrings;  
65 -  
66 -var  
67 - g_intTaskBarAtual,  
68 - g_intTaskBarAnterior : integer;  
69 -  
70 -var  
71 - boolDebugs,  
72 - boolWinIniChange : Boolean;  
73 -  
74 -var  
75 - g_oCacic: TCACIC;  
76 -  
77 -type  
78 - TFormularioGeral = class(TForm)  
79 - Pn_InfosGerais: TPanel;  
80 - Pn_SisMoni: TPanel;  
81 - Lb_SisMoni: TLabel;  
82 - Pn_TCPIP: TPanel;  
83 - Lb_TCPIP: TLabel;  
84 - GB_InfosTCPIP: TGroupBox;  
85 - ST_VL_MacAddress: TStaticText;  
86 - ST_LB_MacAddress: TStaticText;  
87 - ST_LB_NomeHost: TStaticText;  
88 - ST_VL_NomeHost: TStaticText;  
89 - ST_LB_IpEstacao: TStaticText;  
90 - ST_LB_IpRede: TStaticText;  
91 - ST_LB_DominioDNS: TStaticText;  
92 - ST_LB_DnsPrimario: TStaticText;  
93 - ST_LB_DnsSecundario: TStaticText;  
94 - ST_LB_Gateway: TStaticText;  
95 - ST_LB_Mascara: TStaticText;  
96 - ST_LB_ServidorDHCP: TStaticText;  
97 - ST_LB_WinsPrimario: TStaticText;  
98 - ST_LB_WinsSecundario: TStaticText;  
99 - ST_VL_IpEstacao: TStaticText;  
100 - ST_VL_DNSPrimario: TStaticText;  
101 - ST_VL_DNSSecundario: TStaticText;  
102 - ST_VL_Gateway: TStaticText;  
103 - ST_VL_Mascara: TStaticText;  
104 - ST_VL_ServidorDHCP: TStaticText;  
105 - ST_VL_WinsPrimario: TStaticText;  
106 - ST_VL_WinsSecundario: TStaticText;  
107 - ST_VL_DominioDNS: TStaticText;  
108 - ST_VL_IpRede: TStaticText;  
109 - Pn_Linha1_TCPIP: TPanel;  
110 - Pn_Linha2_TCPIP: TPanel;  
111 - Pn_Linha3_TCPIP: TPanel;  
112 - Pn_Linha4_TCPIP: TPanel;  
113 - Pn_Linha6_TCPIP: TPanel;  
114 - Pn_Linha5_TCPIP: TPanel;  
115 - Timer_Nu_Intervalo: TTimer;  
116 - Timer_Nu_Exec_Apos: TTimer;  
117 - Popup_Menu_Contexto: TPopupMenu;  
118 - Mnu_LogAtividades: TMenuItem;  
119 - Mnu_Configuracoes: TMenuItem;  
120 - Mnu_ExecutarAgora: TMenuItem;  
121 - Mnu_InfosTCP: TMenuItem;  
122 - Mnu_InfosPatrimoniais: TMenuItem;  
123 - Mnu_FinalizarCacic: TMenuItem;  
124 - listSistemasMonitorados: TListView;  
125 - pnColetasRealizadasNestaData: TPanel;  
126 - lbColetasRealizadasNestaData: TLabel;  
127 - listaColetas: TListView;  
128 - teDataColeta: TLabel;  
129 - pnInformacoesPatrimoniais: TPanel;  
130 - lbInformacoesPatrimoniais: TLabel;  
131 - gpInfosPatrimoniais: TGroupBox;  
132 - st_lb_Etiqueta5: TStaticText;  
133 - st_lb_Etiqueta1: TStaticText;  
134 - st_vl_Etiqueta1: TStaticText;  
135 - st_lb_Etiqueta1a: TStaticText;  
136 - st_lb_Etiqueta2: TStaticText;  
137 - st_lb_Etiqueta7: TStaticText;  
138 - st_lb_Etiqueta6: TStaticText;  
139 - st_lb_Etiqueta8: TStaticText;  
140 - st_vl_Etiqueta1a: TStaticText;  
141 - st_vl_Etiqueta2: TStaticText;  
142 - Panel6: TPanel;  
143 - Panel7: TPanel;  
144 - Panel8: TPanel;  
145 - Panel9: TPanel;  
146 - Panel11: TPanel;  
147 - st_lb_Etiqueta4: TStaticText;  
148 - st_lb_Etiqueta3: TStaticText;  
149 - st_vl_Etiqueta3: TStaticText;  
150 - st_lb_Etiqueta9: TStaticText;  
151 - st_vl_etiqueta4: TStaticText;  
152 - st_vl_etiqueta5: TStaticText;  
153 - st_vl_etiqueta6: TStaticText;  
154 - st_vl_etiqueta7: TStaticText;  
155 - st_vl_etiqueta8: TStaticText;  
156 - st_vl_etiqueta9: TStaticText;  
157 - Mnu_SuporteRemoto: TMenuItem;  
158 - lbSemInformacoesPatrimoniais: TLabel;  
159 - pnServidores: TPanel;  
160 - lbServidores: TLabel;  
161 - GroupBox1: TGroupBox;  
162 - staticVlServidorUpdates: TStaticText;  
163 - staticNmServidorUpdates: TStaticText;  
164 - staticNmServidorAplicacao: TStaticText;  
165 - staticVlServidorAplicacao: TStaticText;  
166 - Panel4: TPanel;  
167 - Panel1: TPanel;  
168 - Panel2: TPanel;  
169 - Panel3: TPanel;  
170 - pnVersao: TPanel;  
171 - bt_Fechar_Infos_Gerais: TBitBtn;  
172 - Timer_InicializaTray: TTimer;  
173 - imgList_Icones: TImageList;  
174 - procedure RemoveIconesMortos;  
175 - procedure ChecaCONFIGS;  
176 - procedure CriaFormSenha(Sender: TObject);  
177 - procedure FormCreate(Sender: TObject);  
178 - function ChecaGERCOLS : boolean;  
179 - procedure Sair(Sender: TObject);  
180 - procedure MinimizaParaTrayArea(Sender: TObject);  
181 - procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);  
182 - procedure ExecutaCacic(Sender: TObject);  
183 - procedure SetaVariaveisGlobais;  
184 - procedure Log_Diario(strMsg : String);  
185 - procedure Log_DEBUG(p_msg : string);  
186 - procedure ExibirLogAtividades(Sender: TObject);  
187 - procedure ExibirConfiguracoes(Sender: TObject);  
188 - procedure Mnu_InfosPatrimoniaisClick(Sender: TObject);  
189 - procedure HabilitaTCP;  
190 - procedure HabilitaPatrimonio;  
191 - procedure HabilitaSuporteRemoto;  
192 - procedure Matar(v_dir,v_files: string);  
193 - Procedure DelValorReg(Chave: String);  
194 -  
195 - function GetRootKey(strRootKey: String): HKEY;  
196 - function FindWindowByTitle(WindowTitle: string): Hwnd;  
197 - function GetValorChaveRegIni(p_SectionName, p_KeyName, p_IniFileName : String) : String;  
198 - Function RemoveZerosFimString(Texto : String) : String;  
199 - procedure Mnu_InfosTCPClick(Sender: TObject);  
200 - procedure Bt_Fechar_InfosGeraisClick(Sender: TObject);  
201 - function Get_File_Size(sFileToExamine: string; bInKBytes: Boolean): string;  
202 - function Posso_Rodar : boolean;  
203 -{  
204 - procedure IdHTTPServerCACICCommandGet(AThread: TIdPeerThread;  
205 - ARequestInfo: TIdHTTPRequestInfo;  
206 - AResponseInfo: TIdHTTPResponseInfo);  
207 -  
208 - procedure IdFTPServer1UserLogin(ASender: TIdFTPServerThread;  
209 - const AUsername, APassword: String; var AAuthenticated: Boolean);  
210 -}  
211 - procedure Mnu_SuporteRemotoClick(Sender: TObject);  
212 - procedure Popup_Menu_ContextoPopup(Sender: TObject);  
213 - procedure Timer_InicializaTrayTimer(Sender: TObject);  
214 - private  
215 - FUsb : TUsbClass;  
216 - ShutdownEmExecucao : Boolean;  
217 - IsMenuOpen : Boolean;  
218 - NotifyStruc : TNotifyIconData; {Estrutura do tray icon}  
219 - procedure UsbIN(ASender : TObject; const ADevType,AVendorID,ADeviceID : string);  
220 - procedure UsbOUT(ASender : TObject; const ADevType,AVendorID,ADeviceID : string);  
221 - procedure InicializaTray;  
222 - procedure Finaliza;  
223 - procedure VerificaDebugs;  
224 - procedure MontaVetoresPatrimonio(p_strConfigs : String);  
225 - Function RetornaValorVetorUON1(id1 : string) : String;  
226 - Function RetornaValorVetorUON1a(id1a : string) : String;  
227 - Function RetornaValorVetorUON2(id2, idLocal: string) : String;  
228 - procedure Invoca_GerCols(p_acao:string; boolShowInfo : Boolean = true);  
229 - function GetVersionInfo(p_File: string):string;  
230 - function VerFmt(const MS, LS: DWORD): string;  
231 - procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;  
232 - procedure TrayMessage(var Msg: TMessage); message WM_MYMESSAGE; {The tray procedure to look for mouse input}  
233 - // A procedure WMQueryEndSession é usada para detectar o  
234 - // Shutdown do Windows e "derrubar" o Cacic.  
235 - procedure WMQueryEndSession(var Msg : TWMQueryEndSession); Message WM_QUERYENDSESSION;  
236 - procedure WMMENUSELECT(var msg: TWMMENUSELECT); message WM_MENUSELECT;  
237 - protected  
238 - procedure WndProc(var Message: TMessage); override;  
239 - public  
240 - Function Implode(p_Array : TStrings ; p_Separador : String) : String;  
241 - function GetFolderDate(Folder: string): TDateTime;  
242 - Function CipherClose : String;  
243 - Procedure CipherCloseGenerico(p_TstrCipherOpened : TStrings; p_StrFileName : String);  
244 - Function CipherOpen : TStrings;  
245 - Procedure CipherOpenGenerico(var p_TstrCipherOpened : TStrings; p_StrFileName : String);  
246 - Function Explode(Texto, Separador : String) : TStrings;  
247 - Function GetValorDatMemoria(p_Chave : String; p_tstrCipherOpened : TStrings) : String;  
248 - Procedure SetValorDatMemoria(p_Chave : string; p_Valor : String; p_tstrCipherOpened : TStrings);  
249 - function URLDecode(const S: string): string;  
250 - Function XML_RetornaValor(Tag : String; Fonte : String): String;  
251 - Procedure EqualizaInformacoesPatrimoniais;  
252 - Function SetValorChaveRegEdit(Chave: String; Dado: Variant): Variant;  
253 - end;  
254 -  
255 -var FormularioGeral : TFormularioGeral;  
256 - boolServerON : Boolean;  
257 -  
258 -implementation  
259 -  
260 -  
261 -{$R *.dfm}  
262 -  
263 -Uses StrUtils,  
264 - Inifiles,  
265 - frmConfiguracoes,  
266 - frmSenha,  
267 - frmLog,  
268 - Math,  
269 - LibXmlParser,  
270 - WinVNC;  
271 -  
272 -// Estruturas de dados para armazenar os itens da uon1, uon1a e uon2  
273 -type  
274 - TRegistroUON1 = record  
275 - id1 : String;  
276 - nm1 : String;  
277 - end;  
278 - TVetorUON1 = array of TRegistroUON1;  
279 -  
280 - TRegistroUON1a = record  
281 - id1 : String;  
282 - id1a : String;  
283 - nm1a : String;  
284 - id_local: String;  
285 - end;  
286 -  
287 - TVetorUON1a = array of TRegistroUON1a;  
288 -  
289 - TRegistroUON2 = record  
290 - id1a : String;  
291 - id2 : String;  
292 - nm2 : String;  
293 - id_local: String;  
294 - end;  
295 - TVetorUON2 = array of TRegistroUON2;  
296 -  
297 -var VetorUON1 : TVetorUON1;  
298 - VetorUON1a : TVetorUON1a;  
299 - VetorUON2 : TVetorUON2;  
300 -  
301 -Function TFormularioGeral.RetornaValorVetorUON1(id1 : string) : String;  
302 -var I : Integer;  
303 -begin  
304 - For I := 0 to (Length(VetorUON1)-1) Do  
305 - If (VetorUON1[I].id1 = id1) Then Result := VetorUON1[I].nm1;  
306 -end;  
307 -  
308 -Function TFormularioGeral.RetornaValorVetorUON1a(id1a : string) : String;  
309 -var I : Integer;  
310 -begin  
311 - For I := 0 to (Length(VetorUON1a)-1) Do  
312 - If (VetorUON1a[I].id1a = id1a) Then Result := VetorUON1a[I].nm1a;  
313 -end;  
314 -  
315 -Function TFormularioGeral.RetornaValorVetorUON2(id2, idLocal: string) : String;  
316 -var I : Integer;  
317 -begin  
318 - For I := 0 to (Length(VetorUON2)-1) Do  
319 - If (VetorUON2[I].id2 = id2) and  
320 - (VetorUON2[I].id_local = idLocal) Then Result := VetorUON2[I].nm2;  
321 -end;  
322 -  
323 -procedure TFormularioGeral.WndProc(var Message: TMessage);  
324 -begin  
325 - case Message.Msg of  
326 - WM_WININICHANGE :  
327 - Begin  
328 - // Esta mensagem é recebida quando efetuado LogOff/LogOn em máquinas com VISTA,  
329 - boolWinIniChange := true;  
330 - End;  
331 - end;  
332 - inherited;  
333 -end;  
334 -  
335 -// Início de Procedimentos para monitoramento de dispositivos USB - Anderson Peterle - 02/2010  
336 -procedure TFormularioGeral.UsbIN(ASender : TObject; const ADevType,AVendorID,ADeviceID : string);  
337 -begin  
338 - // Envio de valores ao Gerente WEB  
339 - // Formato: USBinfo=I_ddmmyyyyhhnnss_ADeviceID  
340 - // Os valores serão armazenados localmente (cacic2.dat) se for impossível o envio.  
341 - Log_Debug('<< USB INSERIDO .:. Vendor ID => ' + AVendorID + ' .:. Device ID = ' + ADeviceID);  
342 - Invoca_GerCols('USBinfo=I_'+FormatDateTime('yyyymmddhhnnss', now) + '_' + AVendorID + '_' + ADeviceID,false);  
343 -end;  
344 -  
345 -  
346 -procedure TFormularioGeral.UsbOUT(ASender : TObject; const ADevType,AVendorID,ADeviceID : string);  
347 -begin  
348 - // Envio de valores ao Gerente WEB  
349 - // Formato: USBinfo=O_ddmmyyyyhhnnss_ADeviceID  
350 - // Os valores serão armazenados localmente (cacic2.dat) se for impossível o envio.  
351 - Log_Debug('>> USB REMOVIDO .:. Vendor ID => ' + AVendorID + ' .:. Device ID = ' + ADeviceID);  
352 - Invoca_GerCols('USBinfo=O_'+FormatDateTime('yyyymmddhhnnss', now) + '_' + AVendorID + '_' + ADeviceID,false);  
353 -end;  
354 -  
355 -// Fim de Procedimentos para monitoramento de dispositivos USB - Anderson Peterle - 02/2010  
356 -  
357 -procedure TFormularioGeral.MontaVetoresPatrimonio(p_strConfigs : String);  
358 -var Parser : TXmlParser;  
359 - i : integer;  
360 - strAux,  
361 - strAux1,  
362 - strTagName,  
363 - strItemName : string;  
364 -begin  
365 -  
366 - Parser := TXmlParser.Create;  
367 - Parser.Normalize := True;  
368 - Parser.LoadFromBuffer(PAnsiChar(p_strConfigs));  
369 - log_DEBUG('MontaVetores.p_strConfigs: '+p_strConfigs);  
370 -  
371 - // Código para montar o vetor UON1  
372 - Parser.StartScan;  
373 - i := -1;  
374 - strItemName := '';  
375 - strTagName := '';  
376 - While Parser.Scan DO  
377 - Begin  
378 - strItemName := UpperCase(Parser.CurName);  
379 - if (Parser.CurPartType = ptStartTag) and (strItemName = 'IT1') Then  
380 - Begin  
381 - i := i + 1;  
382 - SetLength(VetorUON1, i + 1); // Aumento o tamanho da matriz dinamicamente de acordo com o número de itens recebidos.  
383 - strTagName := 'IT1';  
384 - end  
385 - else if (Parser.CurPartType = ptEndTag) and (strItemName = 'IT1') then  
386 - strTagName := ''  
387 - else if (Parser.CurPartType in [ptContent, ptCData]) and (strTagName='IT1')Then  
388 - Begin  
389 - strAux1 := g_oCacic.deCrypt(Parser.CurContent);  
390 - if (strItemName = 'ID1') then  
391 - Begin  
392 - VetorUON1[i].id1 := strAux1;  
393 - log_DEBUG('Gravei VetorUON1.id1: "'+strAux1+'"');  
394 - End  
395 - else if (strItemName = 'NM1') then  
396 - Begin  
397 - VetorUON1[i].nm1 := strAux1;  
398 - log_DEBUG('Gravei VetorUON1.nm1: "'+strAux1+'"');  
399 - End;  
400 - End;  
401 - End;  
402 -  
403 - // Código para montar o vetor UON1a  
404 - Parser.StartScan;  
405 - strTagName := '';  
406 - strAux1 := '';  
407 - i := -1;  
408 - While Parser.Scan DO  
409 - Begin  
410 - strItemName := UpperCase(Parser.CurName);  
411 - if (Parser.CurPartType = ptStartTag) and (strItemName = 'IT1A') Then  
412 - Begin  
413 - i := i + 1;  
414 - SetLength(VetorUON1a, i + 1); // Aumento o tamanho da matriz dinamicamente de acordo com o número de itens recebidos.  
415 - strTagName := 'IT1A';  
416 - end  
417 - else if (Parser.CurPartType = ptEndTag) and (strItemName = 'IT1A') then  
418 - strTagName := ''  
419 - else if (Parser.CurPartType in [ptContent, ptCData]) and (strTagName='IT1A')Then  
420 - Begin  
421 - strAux1 := g_oCacic.deCrypt(Parser.CurContent);  
422 - if (strItemName = 'ID1') then  
423 - Begin  
424 - VetorUON1a[i].id1 := strAux1;  
425 - log_DEBUG('Gravei VetorUON1a.id1: "'+strAux1+'"');  
426 - End  
427 - else if (strItemName = 'SG_LOC') then  
428 - Begin  
429 - strAux := ' ('+strAux1 + ')';  
430 - End  
431 - else if (strItemName = 'ID1A') then  
432 - Begin  
433 - VetorUON1a[i].id1a := strAux1;  
434 - log_DEBUG('Gravei VetorUON1a.id1a: "'+strAux1+'"');  
435 - End  
436 - else if (strItemName = 'NM1A') then  
437 - Begin  
438 - VetorUON1a[i].nm1a := strAux1+strAux;  
439 - log_DEBUG('Gravei VetorUON1a.nm1a: "'+strAux1+strAux+'"');  
440 - End  
441 - else if (strItemName = 'ID_LOCAL') then  
442 - Begin  
443 - VetorUON1a[i].id_local := strAux1;  
444 - log_DEBUG('Gravei VetorUON1a.id_local: "'+strAux1+'"');  
445 - End;  
446 -  
447 - End;  
448 - end;  
449 -  
450 - // Código para montar o vetor UON2  
451 - Parser.StartScan;  
452 - strTagName := '';  
453 - i := -1;  
454 - While Parser.Scan DO  
455 - Begin  
456 - strItemName := UpperCase(Parser.CurName);  
457 - if (Parser.CurPartType = ptStartTag) and (strItemName = 'IT2') Then  
458 - Begin  
459 - i := i + 1;  
460 - SetLength(VetorUON2, i + 1); // Aumento o tamanho da matriz dinamicamente de acordo com o número de itens recebidos.  
461 - strTagName := 'IT2';  
462 - end  
463 - else if (Parser.CurPartType = ptEndTag) and (strItemName = 'IT2') then  
464 - strTagName := ''  
465 - else if (Parser.CurPartType in [ptContent, ptCData]) and (strTagName='IT2')Then  
466 - Begin  
467 - strAux1 := g_oCacic.deCrypt(Parser.CurContent);  
468 - if (strItemName = 'ID1A') then  
469 - Begin  
470 - VetorUON2[i].id1a := strAux1;  
471 - log_DEBUG('Gravei VetorUON2.id1a: "'+strAux1+'"');  
472 - End  
473 - else if (strItemName = 'ID2') then  
474 - Begin  
475 - VetorUON2[i].id2 := strAux1;  
476 - log_DEBUG('Gravei VetorUON2.id2: "'+strAux1+'"');  
477 - End  
478 - else if (strItemName = 'NM2') then  
479 - Begin  
480 - VetorUON2[i].nm2 := strAux1;  
481 - log_DEBUG('Gravei VetorUON2.nm2: "'+strAux1+'"');  
482 - End  
483 - else if (strItemName = 'ID_LOCAL') then  
484 - Begin  
485 - VetorUON2[i].id_local := strAux1;  
486 - log_DEBUG('Gravei VetorUON2.id_local: "'+strAux1+'"');  
487 - End;  
488 -  
489 - End;  
490 - end;  
491 - Parser.Free;  
492 -end;  
493 -  
494 -  
495 -function Pode_Coletar : boolean;  
496 -var v_JANELAS_EXCECAO,  
497 - v_plural1,  
498 - v_plural2 : string;  
499 - tstrJANELAS : TStrings;  
500 - h : hwnd;  
501 - v_contador, intContaJANELAS, intAux : integer;  
502 -Begin  
503 - // Se eu conseguir matar os arquivos abaixo é porque srCACICsrv, Ger_Cols, Ini_Cols e mapaCACIC já finalizaram suas atividades...  
504 - FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_SRCACIC.txt');  
505 - FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_GER.txt');  
506 - FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_INI.txt');  
507 - FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_MAPACACIC.txt');  
508 - intContaJANELAS := 0;  
509 - h := 0;  
510 -  
511 - if (not FileExists(g_oCacic.getCacicPath + 'temp\aguarde_GER.txt') and  
512 - not FileExists(g_oCacic.getCacicPath + 'temp\aguarde_SRCACIC.txt') and  
513 - not FileExists(g_oCacic.getCacicPath + 'temp\aguarde_INI.txt') and  
514 - not FileExists(g_oCacic.getCacicPath + 'temp\aguarde_MAPACACIC.txt')) then  
515 - Begin  
516 - FormularioGeral.CipherOpen;  
517 - // Verificação das janelas abertas para que não aconteça coletas caso haja aplicações pesadas rodando (configurado no Módulo Gerente)  
518 - v_JANELAS_EXCECAO := FormularioGeral.getValorDatMemoria('Configs.TE_JANELAS_EXCECAO',v_tstrCipherOpened);  
519 -  
520 - FormularioGeral.log_DEBUG('Verificando Janelas para Exceção...');  
521 - tstrJANELAS := TStrings.Create;  
522 - if (v_JANELAS_EXCECAO <> '') then  
523 - Begin  
524 - tstrJANELAS := FormularioGeral.explode(trim(v_JANELAS_EXCECAO),',');  
525 - if (tstrJANELAS.Count > 0) then  
526 - for intAux := 0 to tstrJANELAS.Count-1 Do  
527 - Begin  
528 -  
529 - h := FormularioGeral.FindWindowByTitle(tstrJANELAS[intAux]);  
530 - if h <> 0 then intContaJANELAS := 1;  
531 - break;  
532 - End;  
533 - End;  
534 -  
535 - // Caso alguma janela tenha algum nome de aplicação cadastrada como "crítica" ou "pesada"...  
536 - if (intContaJANELAS > 0) then  
537 - Begin  
538 - FormularioGeral.log_diario('EXECUÇÃO DE ATIVIDADES ADIADA!');  
539 - v_contador := 0;  
540 - v_plural1 := '';  
541 - v_plural2 := 'ÃO';  
542 - for intAux := 0 to tstrJANELAS.Count-1 Do  
543 - Begin  
544 - h := FormularioGeral.FindWindowByTitle(tstrJANELAS[intAux]);  
545 - if h <> 0 then  
546 - Begin  
547 - v_contador := v_contador + 1;  
548 - FormularioGeral.log_diario('-> Aplicação/Janela ' + inttostr(v_contador) + ': ' + tstrJANELAS[intAux]);  
549 - End;  
550 - End;  
551 - if (v_contador > 1) then  
552 - Begin  
553 - v_plural1 := 'S';  
554 - v_plural2 := 'ÕES';  
555 - End;  
556 - FormularioGeral.log_diario('-> PARA PROCEDER, FINALIZE A' + v_plural1 + ' APLICAÇ' + v_plural2 + ' LISTADA' + v_plural1 + ' ACIMA.');  
557 -  
558 - // Número de minutos para iniciar a execução (60.000 milisegundos correspondem a 1 minuto). Acrescento 1, pois se for zero ele não executa.  
559 - FormularioGeral.Timer_Nu_Exec_Apos.Enabled := False;  
560 - FormularioGeral.Timer_Nu_Exec_Apos.Interval := strtoint(FormularioGeral.getValorDatMemoria('Configs.NU_EXEC_APOS',v_tstrCipherOpened)) * 60000;  
561 - FormularioGeral.Timer_Nu_Exec_Apos.Enabled := True;  
562 - End;  
563 - End;  
564 -  
565 - if (intContaJANELAS = 0) and  
566 - (h = 0) and  
567 - (not FileExists(g_oCacic.getCacicPath + 'temp\aguarde_GER.txt')) and  
568 - (not FileExists(g_oCacic.getCacicPath + 'temp\aguarde_SRCACIC.txt')) and  
569 - (not FileExists(g_oCacic.getCacicPath + 'temp\aguarde_MAPACACIC.txt')) and  
570 - (not FileExists(g_oCacic.getCacicPath + 'temp\aguarde_INI.txt')) then  
571 - Result := true  
572 - else  
573 - Begin  
574 - FormularioGeral.log_DEBUG('Ação NEGADA!');  
575 - if (intContaJANELAS=0) then  
576 - Begin  
577 - if (FileExists(g_oCacic.getCacicPath + 'temp\aguarde_SRCACIC.txt')) then  
578 - FormularioGeral.log_DEBUG('Suporte Remoto em atividade.');  
579 -  
580 - if (FileExists(g_oCacic.getCacicPath + 'temp\aguarde_GER.txt')) then  
581 - FormularioGeral.log_DEBUG('Gerente de Coletas em atividade.');  
582 -  
583 - if (FileExists(g_oCacic.getCacicPath + 'temp\aguarde_INI.txt')) then  
584 - FormularioGeral.log_DEBUG('Inicializador de Coletas em atividade.');  
585 -  
586 - if (FileExists(g_oCacic.getCacicPath + 'temp\aguarde_MAPACACIC.txt')) then  
587 - FormularioGeral.log_DEBUG('Módulo Avulso para Coleta de Patrimônio em atividade.');  
588 - End  
589 - else  
590 - FormularioGeral.CipherClose;  
591 - Result := false;  
592 - End;  
593 -  
594 -End;  
595 -  
596 -function TFormularioGeral.GetFolderDate(Folder: string): TDateTime;  
597 -var  
598 - Rec: TSearchRec;  
599 - Found: Integer;  
600 - Date: TDateTime;  
601 -begin  
602 -  
603 - if (Folder[Length(folder)] = '\') then  
604 - Folder := Copy(Folder,0,Length(Folder)-1);  
605 -  
606 - Result := 0;  
607 - Found := FindFirst(Folder, faDirectory, Rec);  
608 - try  
609 - if Found = 0 then  
610 - begin  
611 - Date := FileDateToDateTime(Rec.Time);  
612 - Result := Date;  
613 - end;  
614 - finally  
615 - FindClose(Rec);  
616 - end;  
617 -end;  
618 -  
619 -Function TFormularioGeral.Implode(p_Array : TStrings ; p_Separador : String) : String;  
620 -var intAux : integer;  
621 - strAux : string;  
622 -Begin  
623 - strAux := '';  
624 - For intAux := 0 To p_Array.Count -1 do  
625 - Begin  
626 - if (strAux<>'') then strAux := strAux + p_Separador;  
627 - strAux := strAux + p_Array[intAux];  
628 - End;  
629 - Implode := strAux;  
630 -end;  
631 -  
632 -Function TFormularioGeral.CipherClose : String;  
633 -var v_DatFile : TextFile;  
634 - intAux : integer;  
635 - v_strCipherOpenImploded ,  
636 - v_strCipherClosed : string;  
637 -begin  
638 -  
639 - log_DEBUG('Fechando '+g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
640 - if boolDebugs then  
641 - for intAux := 0 to (v_tstrCipherOpened.Count-1) do  
642 - log_DEBUG('Posição ['+inttostr(intAux)+']='+v_tstrCipherOpened[intAux]);  
643 -  
644 - try  
645 - FileSetAttr (g_oCacic.getCacicPath + g_oCacic.getDatFileName,0); // Retira os atributos do arquivo para evitar o erro FILE ACCESS DENIED em máquinas 2000  
646 -  
647 - log_DEBUG('Localizando arquivo: '+g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
648 - AssignFile(v_DatFile,g_oCacic.getCacicPath + g_oCacic.getDatFileName); {Associa o arquivo a uma variável do tipo TextFile}  
649 - {$IOChecks off}  
650 - log_DEBUG('Abrindo arquivo: '+g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
651 - ReWrite(v_DatFile); {Abre o arquivo texto}  
652 - {$IOChecks on}  
653 - log_DEBUG('Append(2) no arquivo: '+g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
654 - Append(v_DatFile);  
655 - log_DEBUG('Criando vetor para criptografia.');  
656 - v_strCipherOpenImploded := Implode(v_tstrCipherOpened,g_oCacic.getSeparatorKey);  
657 -  
658 - log_DEBUG('Salvando a string "'+v_strCipherOpenImploded+'" em '+g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
659 - v_strCipherClosed := g_oCacic.enCrypt(v_strCipherOpenImploded);  
660 - Writeln(v_DatFile,v_strCipherClosed); {Grava a string Texto no arquivo texto}  
661 - CloseFile(v_DatFile);  
662 - except  
663 - log_diario('ERRO NA GRAVAÇÃO DO ARQUIVO DE CONFIGURAÇÕES.('+ g_oCacic.getCacicPath + g_oCacic.getDatFileName+')');  
664 - end;  
665 - log_DEBUG(g_oCacic.getCacicPath + g_oCacic.getDatFileName+' fechado com sucesso!');  
666 -end;  
667 -  
668 -Procedure TFormularioGeral.CipherCloseGenerico(p_TstrCipherOpened : TStrings; p_StrFileName : String);  
669 -var v_DatFile : TextFile;  
670 - intAux : integer;  
671 - v_strCipherOpenImploded ,  
672 - v_strCipherClosed : string;  
673 -begin  
674 -  
675 - log_DEBUG('Fechando '+p_StrFileName);  
676 - if boolDebugs then  
677 - for intAux := 0 to (p_TstrCipherOpened.Count-1) do  
678 - log_DEBUG('Posição ['+inttostr(intAux)+']='+p_TstrCipherOpened[intAux]);  
679 -  
680 - try  
681 - FileSetAttr (p_StrFileName,0); // Retira os atributos do arquivo para evitar o erro FILE ACCESS DENIED em máquinas 2000  
682 -  
683 - log_DEBUG('Localizando arquivo: '+p_StrFileName);  
684 - AssignFile(v_DatFile,p_StrFileName); {Associa o arquivo a uma variável do tipo TextFile}  
685 - {$IOChecks off}  
686 - log_DEBUG('Abrindo arquivo: '+p_StrFileName);  
687 - ReWrite(v_DatFile); {Abre o arquivo texto}  
688 - {$IOChecks on}  
689 - log_DEBUG('Append(2) no arquivo: '+p_StrFileName);  
690 - Append(v_DatFile);  
691 - log_DEBUG('Criando vetor para criptografia.');  
692 - v_strCipherOpenImploded := Implode(p_TstrCipherOpened,g_oCacic.getSeparatorKey);  
693 -  
694 - log_DEBUG('Salvando a string "'+v_strCipherOpenImploded+'" em '+p_StrFileName);  
695 - v_strCipherClosed := g_oCacic.enCrypt(v_strCipherOpenImploded);  
696 - Writeln(v_DatFile,v_strCipherClosed); {Grava a string Texto no arquivo texto}  
697 - CloseFile(v_DatFile);  
698 - except  
699 - log_diario('ERRO NA GRAVAÇÃO DO ARQUIVO DE CONFIGURAÇÕES.('+ p_StrFileName+')');  
700 - end;  
701 - log_DEBUG(p_StrFileName+' fechado com sucesso!');  
702 -end;  
703 -  
704 -function TFormularioGeral.Get_File_Size(sFileToExamine: string; bInKBytes: Boolean): string;  
705 -var  
706 - SearchRec: TSearchRec;  
707 - sgPath: string;  
708 - inRetval, I1: Integer;  
709 -begin  
710 - sgPath := ExpandFileName(sFileToExamine);  
711 - try  
712 - inRetval := FindFirst(ExpandFileName(sFileToExamine), faAnyFile, SearchRec);  
713 - if inRetval = 0 then  
714 - I1 := SearchRec.Size  
715 - else  
716 - I1 := -1;  
717 - finally  
718 - SysUtils.FindClose(SearchRec);  
719 - end;  
720 - Result := trim(IntToStr(I1));  
721 -end;  
722 -  
723 -Function TFormularioGeral.CipherOpen : TStrings;  
724 -var v_DatFile : TextFile;  
725 - v_strCipherOpened,  
726 - v_strCipherClosed : string;  
727 -begin  
728 -  
729 - if (v_DataCacic2DAT = '') or (v_DataCacic2DAT <> FormatDateTime('ddmmyyyyhhnnsszzz', GetFolderDate(g_oCacic.getCacicPath + g_oCacic.getDatFileName))) then  
730 - Begin  
731 - v_DataCacic2DAT := FormatDateTime('ddmmyyyyhhnnsszzz', GetFolderDate(g_oCacic.getCacicPath + g_oCacic.getDatFileName));  
732 - log_DEBUG('Abrindo '+g_oCacic.getCacicPath + g_oCacic.getDatFileName +' - DateTime '+g_oCacic.getCacicPath + g_oCacic.getDatFileName+' => '+v_DataCacic2DAT);  
733 - v_strCipherOpened := '';  
734 -  
735 - v_Tamanho_Arquivo := Get_File_Size(g_oCacic.getCacicPath + g_oCacic.getDatFileName,true);  
736 -  
737 - if (v_Tamanho_Arquivo = '0') or  
738 - (v_Tamanho_Arquivo = '-1') then FormularioGeral.Matar(g_oCacic.getCacicPath,g_oCacic.getDatFileName);  
739 -  
740 - if FileExists(g_oCacic.getCacicPath + g_oCacic.getDatFileName) then  
741 - begin  
742 - log_DEBUG(g_oCacic.getCacicPath + g_oCacic.getDatFileName+' já existe!');  
743 - AssignFile(v_DatFile,g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
744 - log_DEBUG('Abrindo '+g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
745 -  
746 - {$IOChecks off}  
747 - Reset(v_DatFile);  
748 - {$IOChecks on}  
749 -  
750 - log_DEBUG('Verificação de Existência.');  
751 - if (IOResult <> 0)then // Arquivo não existe, será recriado.  
752 - begin  
753 - log_DEBUG('Recriando "'+g_oCacic.getCacicPath + g_oCacic.getDatFileName+'"');  
754 - Rewrite (v_DatFile);  
755 - log_DEBUG('Inserindo Primeira Linha.');  
756 - Append(v_DatFile);  
757 - end;  
758 -  
759 - log_DEBUG('Lendo '+g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
760 -  
761 - Readln(v_DatFile,v_strCipherClosed);  
762 -  
763 - log_DEBUG('Povoando Variável');  
764 - while not EOF(v_DatFile) do Readln(v_DatFile,v_strCipherClosed);  
765 - log_DEBUG('Fechando '+g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
766 - CloseFile(v_DatFile);  
767 - log_DEBUG('Chamando Criptografia de conteúdo');  
768 - v_strCipherOpened:= g_oCacic.deCrypt(v_strCipherClosed);  
769 - end;  
770 - if (trim(v_strCipherOpened)<>'') then  
771 - v_tstrCipherOpened := explode(v_strCipherOpened,g_oCacic.getSeparatorKey)  
772 - else  
773 - Begin  
774 - v_tstrCipherOpened := explode('Configs.ID_SO'+g_oCacic.getSeparatorKey+ g_oCacic.getWindowsStrId() +g_oCacic.getSeparatorKey+  
775 - 'Configs.Endereco_WS'+g_oCacic.getSeparatorKey+'/cacic2/ws/',g_oCacic.getSeparatorKey);  
776 - log_DEBUG(g_oCacic.getCacicPath + g_oCacic.getDatFileName+' Inexistente. Criado o DAT em memória.');  
777 - End;  
778 -  
779 - Result := v_tstrCipherOpened;  
780 -  
781 - if Result.Count mod 2 = 0 then  
782 - Result.Add('');  
783 -  
784 - End  
785 - else log_DEBUG(g_oCacic.getCacicPath + g_oCacic.getDatFileName + ' ainda não alterado! Não foi necessário reabrí-lo.');  
786 -end;  
787 -  
788 -Procedure TFormularioGeral.CipherOpenGenerico(var p_TstrCipherOpened : TStrings; p_StrFileName : String);  
789 -var v_DatFile : TextFile;  
790 - strClosedAUX,  
791 - strOpenedAUX : String;  
792 -begin  
793 - if FileExists(p_StrFileName) then  
794 - begin  
795 - log_DEBUG(p_StrFileName+' já existe!');  
796 - AssignFile(v_DatFile,p_StrFileName);  
797 - log_DEBUG('Abrindo '+p_StrFileName);  
798 -  
799 - {$IOChecks off}  
800 - Reset(v_DatFile);  
801 - {$IOChecks on}  
802 -  
803 - log_DEBUG('Verificação de Existência.');  
804 - if (IOResult <> 0)then // Arquivo não existe, será recriado.  
805 - begin  
806 - log_DEBUG('Recriando "'+p_StrFileName+'"');  
807 - Rewrite (v_DatFile);  
808 - log_DEBUG('Inserindo Primeira Linha.');  
809 - Append(v_DatFile);  
810 - end;  
811 -  
812 - log_DEBUG('Lendo '+p_StrFileName);  
813 -  
814 - Readln(v_DatFile,strClosedAUX);  
815 -  
816 - log_DEBUG('Povoando Variável');  
817 - while not EOF(v_DatFile) do Readln(v_DatFile,strClosedAUX);  
818 - log_DEBUG('Fechando '+p_StrFileName);  
819 - CloseFile(v_DatFile);  
820 - log_DEBUG('Chamando Criptografia de conteúdo');  
821 - strOpenedAUX := g_oCacic.deCrypt(strClosedAUX);  
822 - end;  
823 - if (trim(strOpenedAUX)<>'') then  
824 - p_TstrCipherOpened := explode(strOpenedAUX,g_oCacic.getSeparatorKey)  
825 - else  
826 - Begin  
827 - p_TstrCipherOpened := explode('Configs.ID_SO'+g_oCacic.getSeparatorKey+ g_oCacic.getWindowsStrId() +g_oCacic.getSeparatorKey+  
828 - 'Configs.Endereco_WS'+g_oCacic.getSeparatorKey+'/cacic2/ws/',g_oCacic.getSeparatorKey+'Patrimonio.dt_ultima_renovacao'+g_oCacic.getSeparatorKey+ '0');  
829 - log_DEBUG(p_StrFileName+' Inexistente. Criado o DAT em memória.');  
830 - End;  
831 -  
832 - if p_TstrCipherOpened.Count mod 2 = 0 then  
833 - p_TstrCipherOpened.Add('');  
834 -end;  
835 -  
836 -Procedure TFormularioGeral.SetValorDatMemoria(p_Chave : string; p_Valor : String; p_tstrCipherOpened : TStrings);  
837 -var v_Aux : string;  
838 -begin  
839 - v_Aux := RemoveZerosFimString(p_Valor);  
840 - log_DEBUG('Gravando Chave: "'+p_Chave+'" em MemoryDAT => "'+v_Aux+'"');  
841 -  
842 - if (p_tstrCipherOpened.IndexOf(p_Chave)<>-1) then  
843 - p_tstrCipherOpened[p_tstrCipherOpened.IndexOf(p_Chave)+1] := v_Aux  
844 - else  
845 - Begin  
846 - p_tstrCipherOpened.Add(p_Chave);  
847 - p_tstrCipherOpened.Add(v_Aux);  
848 - End;  
849 -end;  
850 -  
851 -Function TFormularioGeral.GetValorDatMemoria(p_Chave : String; p_tstrCipherOpened : TStrings) : String;  
852 -begin  
853 - if (p_tstrCipherOpened.IndexOf(p_Chave)<>-1) then  
854 - Result := trim(p_tstrCipherOpened[p_tstrCipherOpened.IndexOf(p_Chave)+1])  
855 - else  
856 - Result := '';  
857 - log_DEBUG('Resgatando Chave: "'+p_Chave+'" de MemoryDAT => "'+Result+'"');  
858 -end;  
859 -  
860 -function TFormularioGeral.SetValorChaveRegEdit(Chave: String; Dado: Variant): Variant;  
861 -var RegEditSet: TRegistry;  
862 - RegDataType: TRegDataType;  
863 - strRootKey, strKey, strValue : String;  
864 - ListaAuxSet : TStrings;  
865 - I : Integer;  
866 -begin  
867 - ListaAuxSet := g_oCacic.explode(Chave, '\');  
868 - strRootKey := ListaAuxSet[0];  
869 - For I := 1 To ListaAuxSet.Count - 2 Do  
870 - strKey := strKey + ListaAuxSet[I] + '\';  
871 - strValue := ListaAuxSet[ListaAuxSet.Count - 1];  
872 -  
873 - RegEditSet := TRegistry.Create;  
874 - try  
875 - log_DEBUG('Em TFormularioGeral.SetValorChaveRegEdit: Abrindo Registry para Escrita => Root: "'+strRootKey+ '" Key: "'+strKey+'"');  
876 - RegEditSet.Access := KEY_WRITE;  
877 - RegEditSet.Rootkey := GetRootKey(strRootKey);  
878 -  
879 - if RegEditSet.OpenKey(strKey, True) then  
880 - Begin  
881 - RegDataType := RegEditSet.GetDataType(strValue);  
882 -  
883 - // Sempre será String  
884 - RegDataType := rdString;  
885 -  
886 - if RegDataType = rdString then  
887 - begin  
888 - RegEditSet.WriteString(strValue, Dado);  
889 - end  
890 - else if RegDataType = rdExpandString then  
891 - begin  
892 - RegEditSet.WriteExpandString(strValue, Dado);  
893 - end  
894 - else if RegDataType = rdInteger then  
895 - begin  
896 - RegEditSet.WriteInteger(strValue, Dado);  
897 - end  
898 - else  
899 - begin  
900 - RegEditSet.WriteString(strValue, Dado);  
901 - end;  
902 -  
903 - end;  
904 - finally  
905 - RegEditSet.CloseKey;  
906 - end;  
907 - ListaAuxSet.Free;  
908 - RegEditSet.Free;  
909 -end;  
910 -  
911 -function TFormularioGeral.VerFmt(const MS, LS: DWORD): string;  
912 - // Format the version number from the given DWORDs containing the info  
913 -begin  
914 - Result := Format('%d.%d.%d.%d',  
915 - [HiWord(MS), LoWord(MS), HiWord(LS), LoWord(LS)])  
916 -end;  
917 -  
918 -function TFormularioGeral.GetVersionInfo(p_File: string):string;  
919 -var PJVersionInfo1: TPJVersionInfo;  
920 -begin  
921 - PJVersionInfo1 := TPJVersionInfo.Create(nil);  
922 - PJVersionInfo1.FileName := PChar(p_File);  
923 - Result := VerFmt(PJVersionInfo1.FixedFileInfo.dwFileVersionMS, PJVersionInfo1.FixedFileInfo.dwFileVersionLS);  
924 - PJVersionInfo1.Free;  
925 -end;  
926 -  
927 -Procedure TFormularioGeral.RemoveIconesMortos;  
928 -var  
929 - TrayWindow : HWnd;  
930 - WindowRect : TRect;  
931 - SmallIconWidth : Integer;  
932 - SmallIconHeight : Integer;  
933 - CursorPos : TPoint;  
934 - Row : Integer;  
935 - Col : Integer;  
936 -begin  
937 - { Get tray window handle and bounding rectangle }  
938 - TrayWindow := FindWindowEx(FindWindow('Shell_TrayWnd',NIL),0,'TrayNotifyWnd',NIL);  
939 - if not GetWindowRect(TrayWindow,WindowRect) then  
940 - Exit;  
941 - { Get small icon metrics }  
942 - SmallIconWidth := GetSystemMetrics(SM_CXSMICON);  
943 - SmallIconHeight := GetSystemMetrics(SM_CYSMICON);  
944 - { Save current mouse position }  
945 - GetCursorPos(CursorPos);  
946 - { Sweep the mouse cursor over each icon in the tray in both dimensions }  
947 - with WindowRect do  
948 - begin  
949 - for Row := 0 to (Bottom - Top) DIV SmallIconHeight do  
950 - begin  
951 - for Col := 0 to (Right - Left) DIV SmallIconWidth do  
952 - begin  
953 - SetCursorPos(Left + Col * SmallIconWidth, Top + Row * SmallIconHeight);  
954 - Sleep(0);  
955 - end;  
956 - end;  
957 - end;  
958 - { Restore mouse position }  
959 - SetCursorPos(CursorPos.X,CursorPos.Y);  
960 - { Redraw tray window (to fix bug in multi-line tray area) }  
961 - RedrawWindow(TrayWindow,NIL,0,RDW_INVALIDATE OR RDW_ERASE OR RDW_UPDATENOW);  
962 -End;  
963 -  
964 -Procedure TFormularioGeral.DelValorReg(Chave: String);  
965 -var RegDelValorReg: TRegistry;  
966 - strRootKey, strKey, strValue : String;  
967 - ListaAuxDel : TStrings;  
968 - I : Integer;  
969 -begin  
970 - ListaAuxDel := FormularioGeral.Explode(Chave, '\');  
971 - strRootKey := ListaAuxDel[0];  
972 - For I := 1 To ListaAuxDel.Count - 2 Do strKey := strKey + ListaAuxDel[I] + '\';  
973 - strValue := ListaAuxDel[ListaAuxDel.Count - 1];  
974 - RegDelValorReg := TRegistry.Create;  
975 -  
976 - try  
977 - RegDelValorReg.Access := KEY_WRITE;  
978 - RegDelValorReg.Rootkey := FormularioGeral.GetRootKey(strRootKey);  
979 -  
980 - if RegDelValorReg.OpenKey(strKey, True) then  
981 - RegDelValorReg.DeleteValue(strValue);  
982 - finally  
983 - RegDelValorReg.CloseKey;  
984 - end;  
985 - RegDelValorReg.Free;  
986 - ListaAuxDel.Free;  
987 -end;  
988 -  
989 -function TFormularioGeral.GetRootKey(strRootKey: String): HKEY;  
990 -begin  
991 - /// Encontrar uma maneira mais elegante de fazer esses testes.  
992 - if Trim(strRootKey) = 'HKEY_LOCAL_MACHINE' Then Result := HKEY_LOCAL_MACHINE  
993 - else if Trim(strRootKey) = 'HKEY_CLASSES_ROOT' Then Result := HKEY_CLASSES_ROOT  
994 - else if Trim(strRootKey) = 'HKEY_CURRENT_USER' Then Result := HKEY_CURRENT_USER  
995 - else if Trim(strRootKey) = 'HKEY_USERS' Then Result := HKEY_USERS  
996 - else if Trim(strRootKey) = 'HKEY_CURRENT_CONFIG' Then Result := HKEY_CURRENT_CONFIG  
997 - else if Trim(strRootKey) = 'HKEY_DYN_DATA' Then Result := HKEY_DYN_DATA;  
998 -end;  
999 -  
1000 -  
1001 -procedure TFormularioGeral.WMMENUSELECT(var msg: TWMMENUSELECT);  
1002 -begin  
1003 - inherited;  
1004 - IsMenuOpen := not ((msg.MenuFlag and $FFFF > 0) and  
1005 - (msg.Menu = 0));  
1006 -end;  
1007 -  
1008 -// Verifico a existência do Gerente de Coletas, caso não exista, o chksis.exe fará download!  
1009 -function TFormularioGeral.ChecaGERCOLS : boolean;  
1010 -Begin  
1011 - Result := true;  
1012 -  
1013 - log_DEBUG('Verificando existência e tamanho do Gerente de Coletas...');  
1014 - v_Tamanho_Arquivo := Get_File_Size(g_oCacic.getCacicPath + 'modulos\ger_cols.exe',true);  
1015 -  
1016 - log_DEBUG('Resultado: #'+v_Tamanho_Arquivo);  
1017 -  
1018 - if (v_Tamanho_Arquivo = '0') or (v_Tamanho_Arquivo = '-1') then  
1019 - Begin  
1020 - Result := false;  
1021 -  
1022 - Matar(g_oCacic.getCacicPath + 'modulos\','ger_cols.exe');  
1023 -  
1024 - InicializaTray;  
1025 -  
1026 - log_diario('Acionando recuperador de Módulo Gerente de Coletas.');  
1027 - log_DEBUG('Recuperador de Módulo Gerente de Coletas: '+g_oCacic.getWinDir + 'chksis.exe');  
1028 - g_oCacic.createSampleProcess(g_oCacic.getWinDir + 'chksis.exe',false,SW_HIDE);  
1029 -  
1030 - sleep(30000); // 30 segundos de espera para download do ger_cols.exe  
1031 - v_Tamanho_Arquivo := Get_File_Size(g_oCacic.getCacicPath + 'modulos\ger_cols.exe',true);  
1032 - if not(v_Tamanho_Arquivo = '0') and not(v_Tamanho_Arquivo = '-1') then  
1033 - Begin  
1034 - log_diario('Módulo Gerente de Coletas RECUPERADO COM SUCESSO!');  
1035 - InicializaTray;  
1036 - Result := True;  
1037 - End  
1038 - else  
1039 - log_diario('Módulo Gerente de Coletas NÃO RECUPERADO!');  
1040 - End;  
1041 -End;  
1042 -  
1043 -procedure ExibirConfiguracoes(Sender: TObject);  
1044 -begin  
1045 - // SJI = Senha Já Informada...  
1046 - // Esse valor é inicializado com "N"  
1047 - if (FormularioGeral.getValorDatMemoria('Configs.SJI',v_tstrCipherOpened)='') and  
1048 - (FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor',v_tstrCipherOpened)<>'') then  
1049 - begin  
1050 - FormularioGeral.CriaFormSenha(nil);  
1051 - formSenha.ShowModal;  
1052 - end;  
1053 -  
1054 - if (FormularioGeral.getValorDatMemoria('Configs.SJI',v_tstrCipherOpened)<>'') or  
1055 - (FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor',v_tstrCipherOpened)='') then  
1056 - begin  
1057 - Application.CreateForm(TFormConfiguracoes, FormConfiguracoes);  
1058 - FormConfiguracoes.ShowModal;  
1059 - end;  
1060 -end;  
1061 -  
1062 -procedure TFormularioGeral.CriaFormSenha(Sender: TObject);  
1063 -begin  
1064 - // Caso ainda não exista senha para administração do CACIC, define ADMINCACIC como inicial.  
1065 - if (getValorDatMemoria('Configs.TE_SENHA_ADM_AGENTE',v_tstrCipherOpened)='') Then  
1066 - Begin  
1067 - SetValorDatMemoria('Configs.TE_SENHA_ADM_AGENTE', 'ADMINCACIC',v_tstrCipherOpened);  
1068 - End;  
1069 -  
1070 - Application.CreateForm(TFormSenha, FormSenha);  
1071 -end;  
1072 -  
1073 -procedure TFormularioGeral.ChecaCONFIGS;  
1074 -var strAux : string;  
1075 -Begin  
1076 -  
1077 - // Verifico se o endereço do servidor do cacic foi configurado.  
1078 - if (GetValorDatMemoria('Configs.EnderecoServidor',v_tstrCipherOpened)='') then  
1079 - Begin  
1080 - strAux := getValorChaveRegIni('Cacic2','ip_serv_cacic',g_oCacic.getWinDir + 'chksis.ini');  
1081 -  
1082 - if (strAux='') then  
1083 - begin  
1084 - strAux := 'ATENÇÃO: Endereço do servidor do CACIC ainda não foi configurado.';  
1085 - log_diario(strAux);  
1086 - log_diario('Ativando módulo de configuração de endereço de servidor.');  
1087 - MessageDlg(strAux + #13#10 + 'Por favor, informe o endereço do servidor do CACIC na tela que será exibida a seguir.', mtWarning, [mbOk], 0);  
1088 - ExibirConfiguracoes(Nil);  
1089 - end  
1090 - else SetValorDatMemoria('Configs.EnderecoServidor',strAux,v_tstrCipherOpened);  
1091 - End;  
1092 -  
1093 -end;  
1094 -  
1095 -// Dica baixada de http://procedure.blig.ig.com.br/  
1096 -procedure TFormularioGeral.Matar(v_dir,v_files: string);  
1097 -var  
1098 -SearchRec: TSearchRec;  
1099 -Result: Integer;  
1100 -begin  
1101 - Result:=FindFirst(v_dir+v_files, faAnyFile, SearchRec);  
1102 - while result=0 do  
1103 - begin  
1104 - log_DEBUG('Tentativa de Exclusão de "'+v_dir + SearchRec.Name+'"');  
1105 - DeleteFile(PAnsiChar(v_dir+SearchRec.Name));  
1106 - Result:=FindNext(SearchRec);  
1107 - end;  
1108 -end;  
1109 -  
1110 -procedure TFormularioGeral.HabilitaTCP;  
1111 -Begin  
1112 - FormularioGeral.EqualizaInformacoesPatrimoniais;  
1113 - // Desabilita/Habilita a opção de Informações de TCP/IP  
1114 - Mnu_InfosTCP.Enabled := (getValorDatMemoria('TcpIp.TE_NOME_HOST' ,v_tstrCipherOpened) +  
1115 - getValorDatMemoria('TcpIp.TE_IP' ,v_tstrCipherOpened) +  
1116 - getValorDatMemoria('TcpIp.ID_IP_REDE' ,v_tstrCipherOpened) +  
1117 - getValorDatMemoria('TcpIp.TE_DOMINIO_DNS' ,v_tstrCipherOpened) +  
1118 - getValorDatMemoria('TcpIp.TE_DNS_PRIMARIO' ,v_tstrCipherOpened) +  
1119 - getValorDatMemoria('TcpIp.TE_DNS_SECUNDARIO' ,v_tstrCipherOpened) +  
1120 - getValorDatMemoria('TcpIp.TE_GATEWAY' ,v_tstrCipherOpened) +  
1121 - getValorDatMemoria('TcpIp.TE_MASCARA' ,v_tstrCipherOpened) +  
1122 - getValorDatMemoria('TcpIp.TE_SERV_DHCP' ,v_tstrCipherOpened) +  
1123 - getValorDatMemoria('TcpIp.TE_WINS_PRIMARIO' ,v_tstrCipherOpened) +  
1124 - getValorDatMemoria('TcpIp.TE_WINS_SECUNDARIO',v_tstrCipherOpened) <> '');  
1125 -End;  
1126 -  
1127 -Function TFormularioGeral.Explode(Texto, Separador : String) : TStrings;  
1128 -var  
1129 - strItem : String;  
1130 - ListaAuxUTILS : TStrings;  
1131 - NumCaracteres,  
1132 - TamanhoSeparador,  
1133 - I : Integer;  
1134 -Begin  
1135 - ListaAuxUTILS := TStringList.Create;  
1136 - strItem := '';  
1137 - NumCaracteres := Length(Texto);  
1138 - TamanhoSeparador := Length(Separador);  
1139 - I := 1;  
1140 - While I <= NumCaracteres Do  
1141 - Begin  
1142 - If (Copy(Texto,I,TamanhoSeparador) = Separador) or (I = NumCaracteres) Then  
1143 - Begin  
1144 - if (I = NumCaracteres) then strItem := strItem + Texto[I];  
1145 - ListaAuxUTILS.Add(trim(strItem));  
1146 - strItem := '';  
1147 - I := I + (TamanhoSeparador-1);  
1148 - end  
1149 - Else  
1150 - strItem := strItem + Texto[I];  
1151 -  
1152 - I := I + 1;  
1153 - End;  
1154 - Explode := ListaAuxUTILS;  
1155 -end;  
1156 -Function TFormularioGeral.RemoveZerosFimString(Texto : String) : String;  
1157 -var I : Integer;  
1158 - strAux : string;  
1159 -Begin  
1160 - strAux := '';  
1161 - if (Length(trim(Texto))>0) then  
1162 - For I := Length(Texto) downto 0 do  
1163 - if (ord(Texto[I])<>0) Then  
1164 - strAux := Texto[I] + strAux;  
1165 - Result := trim(strAux);  
1166 -end;  
1167 -  
1168 -procedure TFormularioGeral.HabilitaPatrimonio;  
1169 -Begin  
1170 - // Desabilita/Habilita a opção de Informações Patrimoniais  
1171 - Mnu_InfosPatrimoniais.Enabled := (getValorDatMemoria('Configs.CS_COLETA_PATRIMONIO',v_tstrCipherOpened) = 'S');  
1172 -End;  
1173 -  
1174 -procedure TFormularioGeral.HabilitaSuporteRemoto;  
1175 -Begin  
1176 - // Desabilita/Habilita a opção de Suporte Remoto  
1177 - Mnu_SuporteRemoto.Enabled := (getValorDatMemoria('Configs.CS_SUPORTE_REMOTO',v_tstrCipherOpened) = 'S') and (FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe'));  
1178 -End;  
1179 -  
1180 -  
1181 -//Para buscar do Arquivo INI...  
1182 -// Marreta devido a limitações do KERNEL w9x no tratamento de arquivos texto e suas seções  
1183 -function TFormularioGeral.getValorChaveRegIni(p_SectionName, p_KeyName, p_IniFileName : String) : String;  
1184 -var  
1185 - FileText : TStringList;  
1186 - i, j, v_Size_Section, v_Size_Key : integer;  
1187 - v_SectionName, v_KeyName : string;  
1188 - begin  
1189 - Result := '';  
1190 - if (FileExists(p_IniFileName)) then  
1191 - Begin  
1192 - v_SectionName := '[' + p_SectionName + ']';  
1193 - v_Size_Section := strLen(PChar(v_SectionName));  
1194 - v_KeyName := p_KeyName + '=';  
1195 - v_Size_Key := strLen(PChar(v_KeyName));  
1196 - FileText := TStringList.Create;  
1197 - try  
1198 - FileText.LoadFromFile(p_IniFileName);  
1199 - For i := 0 To FileText.Count - 1 Do  
1200 - Begin  
1201 - if (LowerCase(Trim(PChar(Copy(FileText[i],1,v_Size_Section)))) = LowerCase(Trim(PChar(v_SectionName)))) then  
1202 - Begin  
1203 - For j := i to FileText.Count - 1 Do  
1204 - Begin  
1205 - if (LowerCase(Trim(PChar(Copy(FileText[j],1,v_Size_Key)))) = LowerCase(Trim(PChar(v_KeyName)))) then  
1206 - Begin  
1207 - Result := trim(PChar(Copy(FileText[j],v_Size_Key + 1,strLen(PChar(FileText[j]))-v_Size_Key)));  
1208 - Break;  
1209 - End;  
1210 - End;  
1211 - End;  
1212 - if (Result <> '') then break;  
1213 - End;  
1214 - finally  
1215 - FileText.Free;  
1216 - end;  
1217 - end  
1218 - else Result := '';  
1219 -  
1220 - log_DEBUG('Resgatei '+p_SectionName+'/'+p_KeyName+' de '+p_IniFileName+' => "'+Result+'"');  
1221 - end;  
1222 -  
1223 -procedure TFormularioGeral.log_DEBUG(p_msg:string);  
1224 -Begin  
1225 - if boolDebugs then log_diario('(v.'+getVersionInfo(ParamStr(0))+') DEBUG - '+p_msg);  
1226 -End;  
1227 -  
1228 -function TFormularioGeral.Posso_Rodar : boolean;  
1229 -Begin  
1230 - result := false;  
1231 -  
1232 - log_debug('Verificando concomitância de sessões');  
1233 - // Se eu conseguir matar o arquivo abaixo é porque não há outra sessão deste agente aberta... (POG? Nããão! :) )  
1234 - FormularioGeral.Matar(g_oCacic.getCacicPath,'aguarde_CACIC.txt');  
1235 - if (not (FileExists(g_oCacic.getCacicPath + 'aguarde_CACIC.txt'))) then  
1236 - result := true;  
1237 -End;  
1238 -  
1239 -procedure TFormularioGeral.VerificaDebugs;  
1240 -Begin  
1241 - boolDebugs := false;  
1242 - if DirectoryExists(g_oCacic.getCacicPath + 'Temp\Debugs') then  
1243 - Begin  
1244 - if (FormatDateTime('ddmmyyyy', GetFolderDate(g_oCacic.getCacicPath + 'Temp\Debugs')) = FormatDateTime('ddmmyyyy', date)) then  
1245 - Begin  
1246 - boolDebugs := true;  
1247 - log_DEBUG('Pasta "' + g_oCacic.getCacicPath + 'Temp\Debugs" com data '+FormatDateTime('dd-mm-yyyy', GetFolderDate(g_oCacic.getCacicPath + 'Temp\Debugs'))+' encontrada. DEBUG ativado.');  
1248 - End;  
1249 - End;  
1250 -End;  
1251 -  
1252 -procedure TFormularioGeral.FormCreate(Sender: TObject);  
1253 -var strAux,  
1254 - v_ip_serv_cacic,  
1255 - strFraseVersao : string;  
1256 - intAux : integer;  
1257 - v_Aguarde : TextFile;  
1258 - v_SystemDrive : TStrings;  
1259 -begin  
1260 -  
1261 - // Criação do objeto para monitoramento de dispositivos USB  
1262 - FUsb := TUsbClass.Create;  
1263 - FUsb.OnUsbInsertion := UsbIN;  
1264 - FUsb.OnUsbRemoval := UsbOUT;  
1265 -  
1266 - // Essas variáveis ajudarão a controlar o redesenho do ícone no systray,  
1267 - // evitando o "roubo" do foco.  
1268 - g_intTaskBarAtual := 0;  
1269 - g_intTaskBarAnterior := 0;  
1270 - boolWinIniChange := false;  
1271 -  
1272 - // Não mostrar o formulário...  
1273 - Application.ShowMainForm:=false;  
1274 -  
1275 - g_oCacic := TCACIC.Create;  
1276 -  
1277 - g_oCacic.setBoolCipher(true);  
1278 -  
1279 - //g_oCacic.showTrayIcon(false);  
1280 -  
1281 -  
1282 - Try  
1283 - g_oCacic.setCacicPath(getValorChaveRegIni('Cacic2','cacic_dir',g_oCacic.getWinDir + 'chksis.ini')) ;  
1284 -  
1285 - if not DirectoryExists(g_oCacic.getCacicPath + 'Temp') then  
1286 - begin  
1287 - ForceDirectories(g_oCacic.getCacicPath + 'Temp');  
1288 - Log_Diario('Criando pasta '+g_oCacic.getCacicPath + 'Temp');  
1289 - end;  
1290 -  
1291 - if not DirectoryExists(g_oCacic.getCacicPath + 'Modulos') then  
1292 - begin  
1293 - ForceDirectories(g_oCacic.getCacicPath + 'Modulos');  
1294 - Log_Diario('Criando pasta '+g_oCacic.getCacicPath + 'Modulos');  
1295 - end;  
1296 -  
1297 - VerificaDebugs;  
1298 -  
1299 - log_DEBUG('Pasta do Sistema: "' + g_oCacic.getCacicPath + '"');  
1300 -  
1301 - if Posso_Rodar then  
1302 - Begin  
1303 - // Uma forma fácil de evitar que outra sessão deste agente seja iniciada! (POG? Nããããooo!) :))))  
1304 - AssignFile(v_Aguarde,g_oCacic.getCacicPath + 'aguarde_CACIC.txt'); {Associa o arquivo a uma variável do tipo TextFile}  
1305 - {$IOChecks off}  
1306 - Reset(v_Aguarde); {Abre o arquivo texto}  
1307 - {$IOChecks on}  
1308 - if (IOResult <> 0) then // Arquivo não existe, será recriado.  
1309 - Rewrite (v_Aguarde);  
1310 -  
1311 - Append(v_Aguarde);  
1312 - Writeln(v_Aguarde,'Apenas um pseudo-cookie para evitar sessões concomitantes...');  
1313 - Append(v_Aguarde);  
1314 - Writeln(v_Aguarde,'Futuramente penso em colocar aqui o pID, para possibilitar finalização via software externo...');  
1315 - Append(v_Aguarde);  
1316 -  
1317 - v_DataCacic2DAT := '';  
1318 - v_tstrCipherOpened := TStrings.Create;  
1319 - v_tstrCipherOpened := CipherOpen;  
1320 -  
1321 - if FileExists(g_oCacic.getCacicPath + 'cacic2.ini') then  
1322 - Begin  
1323 - log_DEBUG('O arquivo "'+g_oCacic.getCacicPath + 'cacic2.ini" ainda existe. Vou resgatar algumas chaves/valores');  
1324 - SetValorDatMemoria('Configs.EnderecoServidor' ,getValorChaveRegIni('Configs' ,'EnderecoServidor' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1325 - SetValorDatMemoria('Configs.IN_EXIBE_BANDEJA' ,getValorChaveRegIni('Configs' ,'IN_EXIBE_BANDEJA' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1326 - SetValorDatMemoria('Configs.TE_JANELAS_EXCECAO' ,getValorChaveRegIni('Configs' ,'TE_JANELAS_EXCECAO' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1327 - SetValorDatMemoria('Configs.NU_EXEC_APOS' ,getValorChaveRegIni('Configs' ,'NU_EXEC_APOS' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1328 - SetValorDatMemoria('Configs.NU_INTERVALO_EXEC' ,getValorChaveRegIni('Configs' ,'NU_INTERVALO_EXEC' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1329 - SetValorDatMemoria('Configs.Endereco_WS' ,getValorChaveRegIni('Configs' ,'Endereco_WS' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1330 - SetValorDatMemoria('Configs.TE_SENHA_ADM_AGENTE' ,getValorChaveRegIni('Configs' ,'TE_SENHA_ADM_AGENTE' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1331 - SetValorDatMemoria('Configs.NU_INTERVALO_RENOVACAO_PATRIM' ,getValorChaveRegIni('Configs' ,'NU_INTERVALO_RENOVACAO_PATRIM' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1332 - SetValorDatMemoria('Configs.DT_HR_ULTIMA_COLETA' ,getValorChaveRegIni('Configs' ,'DT_HR_ULTIMA_COLETA' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1333 - SetValorDatMemoria('TcpIp.TE_ENDERECOS_MAC_INVALIDOS' ,getValorChaveRegIni('TcpIp' ,'TE_ENDERECOS_MAC_INVALIDOS' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1334 - SetValorDatMemoria('TcpIp.ID_IP_REDE' ,getValorChaveRegIni('TcpIp' ,'ID_IP_REDE' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1335 - SetValorDatMemoria('TcpIp.TE_IP' ,getValorChaveRegIni('TcpIp' ,'TE_IP' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1336 - SetValorDatMemoria('TcpIp.TE_MASCARA' ,getValorChaveRegIni('TcpIp' ,'TE_MASCARA' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1337 - SetValorDatMemoria('Patrimonio.ultima_rede_obtida' ,getValorChaveRegIni('Patrimonio' ,'ultima_rede_obtida' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1338 - SetValorDatMemoria('Patrimonio.dt_ultima_renovacao' ,getValorChaveRegIni('Patrimonio' ,'dt_ultima_renovacao' ,g_oCacic.getCacicPath + 'cacic2.ini'),v_tstrCipherOpened);  
1339 - Matar(g_oCacic.getCacicPath,'cacic2.ini');  
1340 - End;  
1341 -  
1342 - // Procedimento para que sejam igualadas as informações de patrimônio caso seja usado o MapaCACIC  
1343 - EqualizaInformacoesPatrimoniais;  
1344 -  
1345 - Try  
1346 - // Inicializo bloqueando o módulo de suporte remoto seguro na FireWall nativa.  
1347 - if FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe') then  
1348 - g_oCacic.addApplicationToFirewall('srCACIC - Suporte Remoto Seguro do Sistema CACIC',g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe', false);  
1349 - Except  
1350 - End;  
1351 -  
1352 - if (ParamCount > 0) then //Caso o Cacic2 seja chamado com passagem de parâmetros...  
1353 - Begin  
1354 - // Parâmetros possíveis (aceitos)  
1355 - // /ip_serv_cacic => Endereço IP do Módulo Gerente. Ex.: 10.71.0.212  
1356 - // /atualizacao => O CACIC foi chamado pelo batch de AutoUpdate e deve ir direto para o ExecutaCacic.  
1357 -  
1358 - // Chamada com parâmetros pelo chkcacic.exe ou linha de comando  
1359 - For intAux := 1 to ParamCount do  
1360 - Begin  
1361 - if LowerCase(Copy(ParamStr(intAux),1,15)) = '/ip_serv_cacic=' then  
1362 - begin  
1363 - log_DEBUG('Parâmetro /ip_serv_cacic recebido...');  
1364 - strAux := Trim(Copy(ParamStr(intAux),16,Length((ParamStr(intAux)))));  
1365 - v_ip_serv_cacic := Trim(Copy(strAux,0,Pos('/', strAux) - 1));  
1366 - If (v_ip_serv_cacic = '') Then v_ip_serv_cacic := strAux;  
1367 - SetValorDatMemoria('Configs.EnderecoServidor',v_ip_serv_cacic,v_tstrCipherOpened);  
1368 - end;  
1369 - end;  
1370 -  
1371 - If FindCmdLineSwitch('execute', True) or  
1372 - FindCmdLineSwitch('atualizacao', True) Then  
1373 - begin  
1374 - if FindCmdLineSwitch('atualizacao', True) then  
1375 - begin  
1376 - log_DEBUG('Opção /atualizacao recebida...');  
1377 - Log_Diario('Reinicializando com versão '+getVersionInfo(ParamStr(0)));  
1378 - end  
1379 - else  
1380 - begin  
1381 - log_DEBUG('Opção /execute recebida...');  
1382 - log_diario('Opção para execução imediata encontrada...');  
1383 - end;  
1384 - ExecutaCacic(nil);  
1385 - end;  
1386 - End;  
1387 -  
1388 - // Os timers iniciam-se desabilitados... Mais à frente receberão parâmetros de tempo para execução.  
1389 - Timer_Nu_Exec_Apos.Enabled := False;  
1390 - Timer_Nu_Intervalo.Enabled := False;  
1391 -  
1392 - // Derruba o cacic durante o shutdown do windows.  
1393 - ShutdownEmExecucao := False;  
1394 -  
1395 - // Não mostrar o formulário...  
1396 - //Application.ShowMainForm:=false;  
1397 -  
1398 - Try  
1399 - // A chamada abaixo define os valores usados pelo agente principal.  
1400 - SetaVariaveisGlobais;  
1401 - Except  
1402 - log_diario('PROBLEMAS SETANDO VARIÁVEIS GLOBAIS!');  
1403 - End;  
1404 -  
1405 - InicializaTray;  
1406 -  
1407 - CipherClose;  
1408 - End  
1409 - else  
1410 - Begin  
1411 - log_DEBUG('Agente finalizado devido a concomitância de sessões...');  
1412 -  
1413 - Finaliza;  
1414 - End;  
1415 - Except  
1416 - log_diario('PROBLEMAS NA INICIALIZAÇÃO (2)');  
1417 - End;  
1418 -end;  
1419 -  
1420 -Procedure TFormularioGeral.EqualizaInformacoesPatrimoniais;  
1421 -var tstrAUX : TStrings;  
1422 -Begin  
1423 - tstrAUX := TStrings.Create;  
1424 - CipherOpenGenerico(tstrAUX,g_ocacic.getCacicPath + 'MapaCACIC.dat');  
1425 -  
1426 - // Caso as informações patrimoniais coletadas pelo MapaCACIC sejam mais atuais, obtenho-as...  
1427 - if (getValorDatMemoria('Patrimonio.dt_ultima_renovacao',v_tstrCipherOpened) = '') or  
1428 - (StrToInt64(getValorDatMemoria('Patrimonio.dt_ultima_renovacao',tstrAUX)) > StrToInt64(getValorDatMemoria('Patrimonio.dt_ultima_renovacao',v_tstrCipherOpened))) then  
1429 - Begin  
1430 - SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1' , getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1' ,tstrAUX), v_tstrCipherOpened);  
1431 - SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1a', getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1a',tstrAUX), v_tstrCipherOpened);  
1432 - SetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2' , getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2' ,tstrAUX), v_tstrCipherOpened);  
1433 - SetValorDatMemoria('Patrimonio.id_local' , getValorDatMemoria('Patrimonio.id_local' ,tstrAUX), v_tstrCipherOpened);  
1434 - SetValorDatMemoria('Patrimonio.te_localizacao_complementar' , getValorDatMemoria('Patrimonio.te_localizacao_complementar' ,tstrAUX), v_tstrCipherOpened);  
1435 - SetValorDatMemoria('Patrimonio.te_info_patrimonio1' , getValorDatMemoria('Patrimonio.te_info_patrimonio1' ,tstrAUX), v_tstrCipherOpened);  
1436 - SetValorDatMemoria('Patrimonio.te_info_patrimonio2' , getValorDatMemoria('Patrimonio.te_info_patrimonio2' ,tstrAUX), v_tstrCipherOpened);  
1437 - SetValorDatMemoria('Patrimonio.te_info_patrimonio3' , getValorDatMemoria('Patrimonio.te_info_patrimonio3' ,tstrAUX), v_tstrCipherOpened);  
1438 - SetValorDatMemoria('Patrimonio.te_info_patrimonio4' , getValorDatMemoria('Patrimonio.te_info_patrimonio4' ,tstrAUX), v_tstrCipherOpened);  
1439 - SetValorDatMemoria('Patrimonio.te_info_patrimonio5' , getValorDatMemoria('Patrimonio.te_info_patrimonio5' ,tstrAUX), v_tstrCipherOpened);  
1440 - SetValorDatMemoria('Patrimonio.te_info_patrimonio6' , getValorDatMemoria('Patrimonio.te_info_patrimonio6' ,tstrAUX), v_tstrCipherOpened);  
1441 - SetValorDatMemoria('Patrimonio.ultima_rede_obtida' , getValorDatMemoria('Patrimonio.ultima_rede_obtida' ,tstrAUX), v_tstrCipherOpened);  
1442 - SetValorDatMemoria('Patrimonio.dt_ultima_renovacao' , getValorDatMemoria('Patrimonio.dt_ultima_renovacao' ,tstrAUX), v_tstrCipherOpened);  
1443 - SetValorDatMemoria('Patrimonio.Configs' , getValorDatMemoria('Patrimonio.Configs' ,tstrAUX), v_tstrCipherOpened);  
1444 -  
1445 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio1', getValorDatMemoria('Patrimonio.te_info_patrimonio1',tstrAUX));  
1446 - SetValorChaveRegEdit('HKEY_LOCAL_MACHINE\SOFTWARE\Dataprev\Patrimonio\te_info_patrimonio4', getValorDatMemoria('Patrimonio.te_info_patrimonio4',tstrAUX));  
1447 - End;  
1448 - tstrAUX.Free;  
1449 -End;  
1450 -  
1451 -procedure TFormularioGeral.SetaVariaveisGlobais;  
1452 -var v_aux : string;  
1453 -Begin  
1454 - Try  
1455 - // Inicialização do indicador de SENHA JÁ INFORMADA  
1456 - SetValorDatMemoria('Configs.SJI','',v_tstrCipherOpened);  
1457 -  
1458 - if (getValorDatMemoria('Configs.IN_EXIBE_BANDEJA' ,v_tstrCipherOpened) = '') then SetValorDatMemoria('Configs.IN_EXIBE_BANDEJA' , 'S' ,v_tstrCipherOpened);  
1459 - if (getValorDatMemoria('Configs.NU_EXEC_APOS' ,v_tstrCipherOpened) = '') then SetValorDatMemoria('Configs.NU_EXEC_APOS' , '12345',v_tstrCipherOpened);  
1460 - if (getValorDatMemoria('Configs.NU_INTERVALO_EXEC',v_tstrCipherOpened) = '') then SetValorDatMemoria('Configs.NU_INTERVALO_EXEC', '4' ,v_tstrCipherOpened);  
1461 - // IN_EXIBE_BANDEJA O valor padrão é mostrar o ícone na bandeja.  
1462 - // NU_EXEC_APOS Assumirá o padrão de 0 minutos para execução imediata em caso de primeira execução (instalação).  
1463 - // NU_INTERVALO_EXEC Assumirá o padrão de 4 horas para o intervalo, no caso de problemas.  
1464 -  
1465 - // Número de horas do intervalo (3.600.000 milisegundos correspondem a 1 hora).  
1466 - Timer_Nu_Intervalo.Enabled := False;  
1467 - Timer_Nu_Intervalo.Interval := (strtoint(getValorDatMemoria('Configs.NU_INTERVALO_EXEC',v_tstrCipherOpened))) * 3600000;  
1468 - Timer_Nu_Intervalo.Enabled := True;  
1469 -  
1470 - // Número de minutos para iniciar a execução (60.000 milisegundos correspondem a 1 minuto). Acrescento 1, pois se for zero ele não executa.  
1471 - Timer_Nu_Exec_Apos.Enabled := False;  
1472 - Timer_Nu_Exec_Apos.Interval := strtoint(getValorDatMemoria('Configs.NU_EXEC_APOS',v_tstrCipherOpened)) * 60000;  
1473 -  
1474 - // 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.  
1475 - // Também armazena os Hash-Codes dos módulos principais, evitando novo download...  
1476 - 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.  
1477 - begin  
1478 - Timer_Nu_Exec_Apos.Interval := 60000; // 60 segundos para chamar Ger_Cols /coletas  
1479 - SetValorDatMemoria('Configs.TE_HASH_CACIC2' , g_oCacic.getFileHash(ParamStr(0)) ,v_tstrCipherOpened);  
1480 - SetValorDatMemoria('Configs.TE_HASH_GER_COLS', g_oCacic.getFileHash(g_oCacic.getCacicPath + 'modulos\ger_cols.exe'),v_tstrCipherOpened);  
1481 - SetValorDatMemoria('Configs.TE_HASH_CHKSIS' , g_oCacic.getFileHash(g_oCacic.getWinDir + 'chksis.exe') ,v_tstrCipherOpened);  
1482 - end  
1483 - else log_diario('Executar as ações automaticamente a cada ' +getValorDatMemoria('Configs.NU_INTERVALO_EXEC',v_tstrCipherOpened) + ' horas.');  
1484 -  
1485 - Timer_Nu_Exec_Apos.Enabled := True;  
1486 -  
1487 - v_aux := getValorDatMemoria('Configs.DT_HR_ULTIMA_COLETA',v_tstrCipherOpened);  
1488 - if (v_aux <> '') and (Copy(v_aux, 1, 8) <> Copy(FormatDateTime('YYYYmmddHHnnss', Now), 1, 8)) then Timer_Nu_Exec_Apos.Enabled := True;  
1489 -  
1490 - // Desabilita/Habilita a opção de Informações Patrimoniais  
1491 - HabilitaPatrimonio;  
1492 -  
1493 - // Desabilita/Habilita a opção de Informações Gerais  
1494 - HabilitaTCP;  
1495 -  
1496 - // Desabilita/Habilita a opção de Suporte Remoto  
1497 - HabilitaSuporteRemoto;  
1498 - Except  
1499 - log_diario('PROBLEMAS NA INICIALIZAÇÃO (1)');  
1500 - End;  
1501 -end;  
1502 -  
1503 -procedure TFormularioGeral.log_diario(strMsg : String);  
1504 -var  
1505 - HistoricoLog : TextFile;  
1506 - strDataArqLocal, strDataAtual : string;  
1507 -begin  
1508 - try  
1509 - FileSetAttr (g_oCacic.getCacicPath + 'cacic2.log',0); // Retira os atributos do arquivo para evitar o erro FILE ACCESS DENIED em máquinas 2000  
1510 - AssignFile(HistoricoLog,g_oCacic.getCacicPath + 'cacic2.log'); {Associa o arquivo a uma variável do tipo TextFile}  
1511 - {$IOChecks off}  
1512 - Reset(HistoricoLog); {Abre o arquivo texto}  
1513 - {$IOChecks on}  
1514 - if (IOResult <> 0) then // Arquivo não existe, será recriado.  
1515 - begin  
1516 - Rewrite (HistoricoLog);  
1517 - Append(HistoricoLog);  
1518 - Writeln(HistoricoLog,FormatDateTime('dd/mm hh:nn:ss : ', Now) + '======================> Iniciando o Log do CACIC <=======================');  
1519 - end;  
1520 - if (trim(strMsg) <> '') then  
1521 - begin  
1522 - DateTimeToString(strDataArqLocal, 'yyyymmdd', FileDateToDateTime(Fileage(g_oCacic.getCacicPath + 'cacic2.log')));  
1523 - DateTimeToString(strDataAtual , 'yyyymmdd', Date);  
1524 - if (strDataAtual <> strDataArqLocal) then // Se o arquivo LOG não é da data atual...  
1525 - begin  
1526 - Rewrite (HistoricoLog); //Cria/Recria o arquivo  
1527 - Append(HistoricoLog);  
1528 - Writeln(HistoricoLog,FormatDateTime('dd/mm hh:nn:ss : ', Now) + '======================> Iniciando o Log do CACIC <=======================');  
1529 - end;  
1530 - Append(HistoricoLog);  
1531 - Writeln(HistoricoLog,FormatDateTime('dd/mm hh:nn:ss : ', Now)+ '[Agente Principal] '+strMsg); {Grava a string Texto no arquivo texto}  
1532 - CloseFile(HistoricoLog); {Fecha o arquivo texto}  
1533 - end  
1534 - else  
1535 - CloseFile(HistoricoLog);  
1536 - except  
1537 - log_diario('PROBLEMAS NA CRIAÇÃO DO ARQUIVO LOG');  
1538 - end;  
1539 -  
1540 -end;  
1541 -procedure TFormularioGeral.Finaliza;  
1542 -Begin  
1543 - Try  
1544 - Shell_NotifyIcon(NIM_Delete,@NotifyStruc);  
1545 - Shell_NotifyIcon(NIM_MODIFY,@NotifyStruc);  
1546 - RemoveIconesMortos;  
1547 - Except  
1548 - log_diario('PROBLEMAS NA FINALIZAÇÃO');  
1549 - End;  
1550 - g_oCacic.Free;  
1551 - FreeAndNil(FUsb);  
1552 - FreeMemory(0);  
1553 - Application.Terminate;  
1554 -End;  
1555 -  
1556 -procedure TFormularioGeral.Sair(Sender: TObject);  
1557 -begin  
1558 - CriaFormSenha(nil);  
1559 - formSenha.ShowModal;  
1560 - If (getValorDatMemoria('Configs.SJI',v_tstrCipherOpened) = 'S') Then Finaliza;  
1561 -end;  
1562 -  
1563 -procedure TFormularioGeral.Invoca_GerCols(p_acao:string; boolShowInfo : Boolean = true);  
1564 -begin  
1565 - Matar(g_oCacic.getCacicPath + 'temp\','*.txt');  
1566 - Matar(g_oCacic.getCacicPath + 'temp\','*.ini');  
1567 -  
1568 - // Caso exista o Gerente de Coletas será verificada a versão e excluída caso antiga(Uma forma de ação pró-ativa)  
1569 - if ChecaGERCOLS then  
1570 - Begin  
1571 - Timer_InicializaTray.Enabled := False;  
1572 - ChecaCONFIGS;  
1573 - CipherClose;  
1574 - if boolShowInfo then  
1575 - log_diario('Invocando Gerente de Coletas com ação: "'+p_acao+'"')  
1576 - else  
1577 - log_DEBUG('Invocando Gerente de Coletas com ação: "'+p_acao+'"');  
1578 - Timer_Nu_Exec_Apos.Enabled := False;  
1579 - Log_DEBUG('Criando Processo Ger_Cols => "'+g_oCacic.getCacicPath + 'modulos\GER_COLS.EXE /'+p_acao+' /CacicPath='+g_oCacic.getCacicPath+'"');  
1580 - g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'modulos\GER_COLS.EXE /'+p_acao+' /CacicPath='+g_oCacic.getCacicPath,false,SW_HIDE);  
1581 - Timer_InicializaTray.Enabled := True;  
1582 - End  
1583 - else  
1584 - log_diario('Não foi possível invocar o Gerente de Coletas!');  
1585 -end;  
1586 -  
1587 -function TFormularioGeral.FindWindowByTitle(WindowTitle: string): Hwnd;  
1588 -var  
1589 - NextHandle: Hwnd;  
1590 - NextTitle: array[0..260] of char;  
1591 -begin  
1592 - // Get the first window  
1593 - NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST);  
1594 - while NextHandle > 0 do  
1595 - begin  
1596 - // retrieve its text  
1597 - GetWindowText(NextHandle, NextTitle, 255);  
1598 - if (trim(StrPas(NextTitle))<> '') and (Pos(strlower(pchar(WindowTitle)), strlower(PChar(StrPas(NextTitle)))) <> 0) then  
1599 - begin  
1600 - Result := NextHandle;  
1601 - Exit;  
1602 - end  
1603 - else  
1604 - // Get the next window  
1605 - NextHandle := GetWindow(NextHandle, GW_HWNDNEXT);  
1606 - end;  
1607 - Result := 0;  
1608 -end;  
1609 -  
1610 -procedure TFormularioGeral.ExecutaCacic(Sender: TObject);  
1611 -var intAux,  
1612 - intContaExec : integer;  
1613 - v_mensagem,  
1614 - v_tipo_mensagem,  
1615 - v_TE_FILA_FTP,  
1616 - v_Aux1,  
1617 - v_Aux2,  
1618 - v_Aux3,  
1619 - strFraseVersao : string;  
1620 - v_MsgDlgType : TMsgDlgType;  
1621 - v_Repete : boolean;  
1622 -begin  
1623 -  
1624 - log_DEBUG('Execução - Resgate de possíveis novos valores no DAT.' + g_oCacic.getWindowsStrId());  
1625 -  
1626 - CipherOpen;  
1627 -  
1628 - SetValorDatMemoria('Configs.TE_SO',g_oCacic.getWindowsStrId,v_tstrCipherOpened);  
1629 -  
1630 - try  
1631 - if FindCmdLineSwitch('execute', True) or  
1632 - FindCmdLineSwitch('atualizacao', True) or  
1633 - Pode_Coletar Then  
1634 - Begin  
1635 - log_DEBUG('Preparando chamada ao Gerente de Coletas...');  
1636 - // Se foi gerado o arquivo ger_erro.txt o Log conterá a mensagem alí gravada como valor de chave  
1637 - // O Gerente de Coletas deverá ser eliminado para que seja baixado novamente por ChecaGERCOLS  
1638 - if (FileExists(g_oCacic.getCacicPath + 'ger_erro.txt')) then  
1639 - Begin  
1640 - log_diario('Gerente de Coletas eliminado devido a falha:');  
1641 - log_diario(getValorDatMemoria('Erro_Fatal_Descricao',v_tstrCipherOpened));  
1642 - SetaVariaveisGlobais;  
1643 - Matar(g_oCacic.getCacicPath,'ger_erro.txt');  
1644 - Matar(g_oCacic.getCacicPath+'modulos\','ger_cols.exe');  
1645 - End;  
1646 -  
1647 - if (FileExists(g_oCacic.getCacicPath + 'temp\reset.txt')) then  
1648 - Begin  
1649 - Matar(g_oCacic.getCacicPath+'temp\','reset.txt');  
1650 - log_diario('Reinicializando...');  
1651 - SetaVariaveisGlobais;  
1652 - End;  
1653 - Timer_Nu_Exec_Apos.Enabled := False;  
1654 -  
1655 - intContaExec := 1;  
1656 - If (FileExists(g_oCacic.getCacicPath + 'temp\cacic2.bat') or  
1657 - FileExists(g_oCacic.getCacicPath + 'temp\ger_cols.exe')) Then  
1658 - intContaExec := 2;  
1659 -  
1660 - // Muda HINT  
1661 - InicializaTray;  
1662 -  
1663 - // Loop para possível necessidade de updates de Agente Principal e/ou Gerente de Coletas  
1664 - For intAux := intContaExec to 2 do  
1665 - Begin  
1666 - if (intAux = 1) then  
1667 - Begin  
1668 - log_DEBUG('Controle de Execuções='+inttostr(intContaExec));  
1669 - log_diario('Iniciando execução de atividades.');  
1670 -  
1671 - v_Repete := true;  
1672 - while v_Repete do  
1673 - Begin  
1674 - v_Repete := false;  
1675 - Mnu_InfosPatrimoniais.Enabled := False;  
1676 - Mnu_InfosTCP.Enabled := False;  
1677 - Mnu_ExecutarAgora.Enabled := False;  
1678 - v_Aux1 := Mnu_InfosPatrimoniais.Caption;  
1679 - v_Aux2 := Mnu_InfosTCP.Caption;  
1680 - v_Aux3 := Mnu_ExecutarAgora.Caption;  
1681 - Mnu_InfosPatrimoniais.Caption := 'Aguarde, coleta em ação!';  
1682 - Mnu_InfosTCP.Caption := Mnu_InfosPatrimoniais.Caption;  
1683 - Mnu_ExecutarAgora.Caption := Mnu_InfosPatrimoniais.Caption;  
1684 -  
1685 -  
1686 - log_DEBUG('Primeira chamada ao Gerente de Coletas...');  
1687 - Invoca_GerCols('coletas');  
1688 - sleep(3000); // Pausa para início do Gerente de Coletas e criação do arquivo temp\aguarde_GER.txt  
1689 -  
1690 - InicializaTray;  
1691 -  
1692 - // Pausas de 15 segundos para o caso de ser(em) baixada(s) nova(s) versão(ões) de Ger_Cols e/ou Cacic2.  
1693 - while not Pode_Coletar do  
1694 - Begin  
1695 - log_DEBUG('Aguardando mais 15 segundos...');  
1696 - sleep(15000);  
1697 - InicializaTray;  
1698 - End;  
1699 - Mnu_InfosPatrimoniais.Caption := v_Aux1;  
1700 - Mnu_InfosTCP.Caption := v_Aux2;  
1701 - Mnu_ExecutarAgora.Caption := v_Aux3;  
1702 - Mnu_ExecutarAgora.Enabled := true;  
1703 -  
1704 - CipherOpen;  
1705 - // Neste caso o Gerente de Coletas deverá fazer novo contato devido à permissão de criptografia ter sido colocada em espera pelo próximo contato.  
1706 - if (FormularioGeral.getValorDatMemoria('Configs.CS_CIPHER',v_tstrCipherOpened)='2') then  
1707 - Begin  
1708 - v_Repete := true;  
1709 - log_Debug('Criptografia será colocada em nível 2...');  
1710 - End;  
1711 - End;  
1712 -  
1713 - // Verifico se foi gravada alguma mensagem pelo Gerente de Coletas e mostro  
1714 - CipherOpen;  
1715 - v_mensagem := getValorDatMemoria('Mensagens.te_mensagem',v_tstrCipherOpened);  
1716 - v_tipo_mensagem := getValorDatMemoria('Mensagens.cs_tipo' ,v_tstrCipherOpened);  
1717 - if (v_mensagem <> '') then  
1718 - Begin  
1719 - if (v_tipo_mensagem='mtError') then v_MsgDlgType := mtError  
1720 - else if (v_tipo_mensagem='mtInformation') then v_MsgDlgType := mtInformation  
1721 - else if (v_tipo_mensagem='mtWarning') then v_MsgDlgType := mtWarning;  
1722 - MessageDlg(v_mensagem,v_MsgDlgType, [mbOk], 0);  
1723 - SetValorDatMemoria('Mensagens.te_mensagem', '',v_tstrCipherOpened);  
1724 - SetValorDatMemoria('Mensagens.cs_tipo', '',v_tstrCipherOpened);  
1725 - End;  
1726 -  
1727 - // Verifico se TE_FILA_FTP foi setado (por Ger_Cols) e obedeço ao intervalo para nova tentativa de coletas  
1728 - // Caso TE_FILA_FTP inicie com # é porque já passou nessa condição e deve iniciar nova tentativa de FTP...  
1729 - v_TE_FILA_FTP := getValorDatMemoria('Configs.TE_FILA_FTP',v_tstrCipherOpened);  
1730 - if (Copy(v_TE_FILA_FTP,1,1) <> '#') and  
1731 - (v_TE_FILA_FTP <> '0') and  
1732 - (v_TE_FILA_FTP <> '') then  
1733 - Begin  
1734 - // Busquei o número de milisegundos setados em TE_FILA_FTP e o obedeço...  
1735 - // 60.000 milisegundos correspondem a 60 segundos (1 minuto).  
1736 - // Acrescento 1, pois se for zero ele não executa.  
1737 - Timer_Nu_Exec_Apos.Enabled := False;  
1738 - Timer_Nu_Exec_Apos.Interval := strtoint(v_TE_FILA_FTP) * 60000;  
1739 - Timer_Nu_Exec_Apos.Enabled := True;  
1740 - log_diario('FTP de coletores adiado pelo Módulo Gerente.');  
1741 - log_diario('Nova tentativa em aproximadamente ' + v_TE_FILA_FTP+ ' minuto(s).');  
1742 - SetValorDatMemoria('Configs.TE_FILA_FTP','#' + v_TE_FILA_FTP,v_tstrCipherOpened);  
1743 - End;  
1744 -  
1745 - // Desabilita/Habilita a opção de Informações Patrimoniais  
1746 - HabilitaPatrimonio;  
1747 -  
1748 - // Desabilita/Habilita a opção de Informações de TCP/IP  
1749 - HabilitaTCP;  
1750 -  
1751 - // Desabilita/Habilita a opção de Suporte Remoto  
1752 - HabilitaSuporteRemoto;  
1753 -  
1754 - // Para evitar uma reexecução de Ger_Cols sem necessidade...  
1755 - intContaExec := 3;  
1756 - End;  
1757 -  
1758 - // Caso tenha sido baixada nova cópia do Gerente de Coletas, esta deverá ser movida para cima da atual  
1759 - if (FileExists(g_oCacic.getCacicPath + 'temp\ger_cols.exe')) then  
1760 - Begin  
1761 - log_diario('Atualizando versão do Gerente de Coletas para '+getVersionInfo(g_oCacic.getCacicPath + 'temp\ger_cols.exe'));  
1762 - // O MoveFileEx não se deu bem no Win98! :|  
1763 - // MoveFileEx(PChar(g_oCacic.getCacicPath + 'temp\ger_cols.exe'),PChar(g_oCacic.getCacicPath + 'modulos\ger_cols.exe'),MOVEFILE_REPLACE_EXISTING);  
1764 -  
1765 - CopyFile(PChar(g_oCacic.getCacicPath + 'temp\ger_cols.exe'),PChar(g_oCacic.getCacicPath + 'modulos\ger_cols.exe'),false);  
1766 - sleep(2000); // 2 segundos de espera pela cópia! :) (Rwindows!)  
1767 -  
1768 - Matar(g_oCacic.getCacicPath+'temp\','ger_cols.exe');  
1769 - sleep(2000); // 2 segundos de espera pela deleção!  
1770 -  
1771 - intContaExec := 2; // Forçará uma reexecução de Ger_Cols...  
1772 - End;  
1773 -  
1774 - // Caso tenha sido baixada nova cópia do Agente Principal, esta deverá ser movida para cima da atual pelo Gerente de Coletas...  
1775 - if (FileExists(g_oCacic.getCacicPath + 'temp\cacic2.exe')) then //AutoUpdate!  
1776 - Begin  
1777 - // Verifico e excluo o Gerente de Coletas caso a versão seja anterior ao 1º release  
1778 - v_versao := getVersionInfo(g_oCacic.getCacicPath + 'modulos\ger_cols.exe');  
1779 - if ((copy(v_versao,1,5)='2.0.0') or // Versões anteriores ao 1º Release...  
1780 - (v_versao = '2.0.1.2') or // Tivemos alguns problemas nas versões 2.0.1.2, 2.0.1.3 e 2.0.1.4  
1781 - (v_versao = '2.0.1.3') or  
1782 - (v_versao = '2.0.1.4') or  
1783 - (v_versao = '0.0.0.0')) then // Provavelmente arquivo corrompido ou versão muito antiga  
1784 - Begin  
1785 - Matar(g_oCacic.getCacicPath+'modulos\','ger_cols.exe');  
1786 - sleep(2000); // 2 segundos de espera pela deleção!  
1787 - End;  
1788 -  
1789 - // Agora o Gerente de Coletas será invocado para fazer a atualização da versão do Agente Principal  
1790 - log_diario('Invocando Gerente de Coletas para Atualização do Agente Principal.');  
1791 - Invoca_GerCols('UpdatePrincipal');  
1792 - log_diario('Finalizando... (Atualização em aproximadamente 20 segundos).');  
1793 - Finaliza;  
1794 - End;  
1795 -  
1796 - // A existência de "temp\cacic2.bat" significa AutoUpdate já executado!  
1797 - // Essa verificação foi usada no modelo antigo de AutoUpdate e deve ser mantida  
1798 - // até a total convergência de versões para 2.0.1.16+...  
1799 - if (FileExists(g_oCacic.getCacicPath + 'temp\cacic2.bat')) then  
1800 - Matar(g_oCacic.getCacicPath+'temp\','cacic2.bat');  
1801 -  
1802 - // O loop 1 foi dedicado a atualizações de versões e afins...  
1803 - // O loop 2 deverá invocar as coletas propriamente ditas...  
1804 - if (intContaExec = 2) then  
1805 - Begin  
1806 - log_DEBUG('Segunda chamada ao Gerente de Coletas...');  
1807 - Invoca_GerCols('coletas');  
1808 - intContaExec := 3;  
1809 - End;  
1810 -  
1811 - End;  
1812 - End;  
1813 -  
1814 - InicializaTray;  
1815 -  
1816 - except  
1817 - log_diario('PROBLEMAS AO TENTAR ATIVAR COLETAS.');  
1818 - end;  
1819 -end;  
1820 -  
1821 -procedure TFormularioGeral.ExibirLogAtividades(Sender: TObject);  
1822 -begin  
1823 - Application.CreateForm(tformLog,formLog);  
1824 - formLog.ShowModal;  
1825 -end;  
1826 -  
1827 -procedure TFormularioGeral.ExibirConfiguracoes(Sender: TObject);  
1828 -begin  
1829 - // SJI = Senha Já Informada...  
1830 - // Esse valor é inicializado com "N"  
1831 - if (FormularioGeral.getValorDatMemoria('Configs.SJI',v_tstrCipherOpened)='') and  
1832 - (FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor',v_tstrCipherOpened)<>'') then  
1833 - begin  
1834 - FormularioGeral.CriaFormSenha(nil);  
1835 - formSenha.ShowModal;  
1836 - end;  
1837 -  
1838 - if (FormularioGeral.getValorDatMemoria('Configs.SJI',v_tstrCipherOpened)<>'') or  
1839 - (FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor',v_tstrCipherOpened)='') then  
1840 - begin  
1841 - Application.CreateForm(TFormConfiguracoes, FormConfiguracoes);  
1842 - FormConfiguracoes.ShowModal;  
1843 - end;  
1844 -  
1845 -end;  
1846 -  
1847 -procedure TFormularioGeral.Mnu_InfosPatrimoniaisClick(Sender: TObject);  
1848 -var boolAbreJanelaPatrimonio : boolean;  
1849 - tstrAUX : TStrings;  
1850 -begin  
1851 - tstrAUX := TStrings.Create;  
1852 - tstrAUX := v_tstrCipherOpened;  
1853 -  
1854 - boolAbreJanelaPatrimonio := true;  
1855 - If (( getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1' ,tstrAUX)+  
1856 - getValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2' ,tstrAUX)+  
1857 - getValorDatMemoria('Patrimonio.te_localizacao_complementar' ,tstrAUX)+  
1858 - getValorDatMemoria('Patrimonio.te_info_patrimonio1' ,tstrAUX)+  
1859 - getValorDatMemoria('Patrimonio.te_info_patrimonio2' ,tstrAUX)+  
1860 - getValorDatMemoria('Patrimonio.te_info_patrimonio3' ,tstrAUX)+  
1861 - getValorDatMemoria('Patrimonio.te_info_patrimonio4' ,tstrAUX)+  
1862 - getValorDatMemoria('Patrimonio.te_info_patrimonio5' ,tstrAUX)+  
1863 - getValorDatMemoria('Patrimonio.te_info_patrimonio6' ,tstrAUX)+  
1864 - getValorDatMemoria('Patrimonio.ultima_rede_obtida' ,tstrAUX))<>'') then  
1865 - Begin  
1866 - SetValorDatMemoria('Configs.SJI','',tstrAUX);  
1867 - CriaFormSenha(nil);  
1868 - formSenha.ShowModal;  
1869 - if (getValorDatMemoria('Configs.SJI',tstrAUX)<>'S') then  
1870 - Begin  
1871 - boolAbreJanelaPatrimonio := false;  
1872 - End;  
1873 - End;  
1874 -  
1875 - tstrAUX.Free;  
1876 -  
1877 - if (boolAbreJanelaPatrimonio) then  
1878 - begin  
1879 - if (ChecaGERCOLS) then  
1880 - Begin  
1881 - ChecaCONFIGS;  
1882 - Invoca_GerCols('patrimonio');  
1883 - End;  
1884 - end;  
1885 -end;  
1886 -  
1887 -//=======================================================================  
1888 -// Todo o código deste ponto em diante está relacionado às rotinas de  
1889 -// de inclusão do ícone do programa na bandeja do sistema  
1890 -//=======================================================================  
1891 -procedure TFormularioGeral.InicializaTray;  
1892 -var Icon : TIcon;  
1893 - v_intStatus : integer;  
1894 - v_strHint : String;  
1895 -const NORMAL = 0; // Normal  
1896 - OCUPADO = 1; // Raio - Coletando  
1897 - DESCONFIGURADO = 2; // Interrogação - Identificando Host  
1898 - AGUARDE = 3; // Ampulheta - Aguardando ação local (recuperação de agentes, etc.)  
1899 -begin  
1900 - Icon := TIcon.Create;  
1901 -  
1902 - // Monto a frase a ser colocada no Hint  
1903 - v_strHint := 'CACIC v:' + getVersionInfo(ParamStr(0));  
1904 - if not (getValorDatMemoria('TcpIp.TE_IP',v_tstrCipherOpened) = '') then  
1905 - v_strHint := v_strHint + chr(13) + chr(10) + 'IP: '+ getValorDatMemoria('TcpIp.TE_IP',v_tstrCipherOpened);  
1906 -  
1907 - // Mostro a versão no painel de Informações Gerais  
1908 - pnVersao.Caption := 'V. ' + getVersionInfo(ParamStr(0));  
1909 -  
1910 - // Estrutura do tray icon sendo criada.  
1911 - NotifyStruc.cbSize := SizeOf(NotifyStruc);  
1912 - NotifyStruc.Wnd := self.Handle;  
1913 - NotifyStruc.uID := 1;  
1914 - NotifyStruc.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE;  
1915 - NotifyStruc.uCallbackMessage := WM_MYMESSAGE; //User defined message  
1916 -  
1917 - //RegisterClass(@NotifyStruc);  
1918 -  
1919 - // Tento apagar os arquivos indicadores de ações de coletas  
1920 - FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_GER.txt');  
1921 - FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_INI.txt');  
1922 -  
1923 - v_intStatus := NORMAL;  
1924 -  
1925 - // Caso os indicadores de ações de coletas não existam, ativo o ícone normal/desconectado...  
1926 - if not FileExists(g_oCacic.getCacicPath+'temp\aguarde_GER.txt') and  
1927 - not FileExists(g_oCacic.getCacicPath+'temp\aguarde_INI.txt') then  
1928 - Begin  
1929 - if not (FormularioGeral.getValorDatMemoria('Configs.ConexaoOK',v_tstrCipherOpened)='S') then  
1930 - Begin  
1931 - v_strHint := v_strHint + ' IDENTIFICANDO HOSPEDEIRO...';  
1932 - v_intStatus := DESCONFIGURADO;  
1933 - End;  
1934 - End  
1935 - else  
1936 - Begin  
1937 - if FileExists(g_oCacic.getCacicPath+'temp\recuperasr.txt') then  
1938 - Begin  
1939 - v_intStatus := AGUARDE;  
1940 - v_strHint := 'Aguarde...';  
1941 - End  
1942 - else  
1943 - Begin  
1944 - v_strHint := v_strHint + chr(13) + chr(10) + ' Coletas em Execução...';  
1945 - v_intStatus := OCUPADO;  
1946 - End;  
1947 - End;  
1948 -  
1949 - imgList_Icones.GetIcon(v_intStatus,Icon);  
1950 -  
1951 - NotifyStruc.hIcon := Icon.Handle;  
1952 - {  
1953 - if Self.Icon.Handle > 0 then  
1954 - NotifyStruc.hIcon := Icon.Handle  
1955 - else  
1956 - NotifyStruc.hIcon := Application.Icon.Handle;  
1957 - }  
1958 - log_DEBUG('Setando o HINT do Systray para: "'+v_strHint+'"');  
1959 -  
1960 - // Atualiza o conteúdo do tip da bandeja  
1961 - StrPCopy(NotifyStruc.szTip, v_strHint);  
1962 -  
1963 - if (getValorDatMemoria('Configs.IN_EXIBE_BANDEJA',v_tstrCipherOpened) <> 'N') Then  
1964 - Begin  
1965 - log_DEBUG('Adicionando Ícone da aplicação ao Systray...');  
1966 - Shell_NotifyIcon(NIM_ADD, @NotifyStruc);  
1967 - End  
1968 - else  
1969 - Begin  
1970 - log_DEBUG('Retirando Ícone do Systray...');  
1971 - Shell_NotifyIcon(HIDE_WINDOW,@NotifyStruc);  
1972 - Shell_NotifyIcon(NIM_Delete,@NotifyStruc);  
1973 - End;  
1974 - log_DEBUG('Aplicando Modificação de Ícone do Systray...');  
1975 - Shell_NotifyIcon(NIM_MODIFY,@NotifyStruc);  
1976 -  
1977 - Application.ProcessMessages;  
1978 -  
1979 - Icon.Free;  
1980 -end;  
1981 -  
1982 -procedure TFormularioGeral.WMSysCommand;  
1983 -begin // Captura o minimizar da janela  
1984 - if (Msg.CmdType = SC_MINIMIZE) or (Msg.CmdType = SC_MAXIMIZE) then  
1985 - Begin  
1986 - MinimizaParaTrayArea(Nil);  
1987 - Exit;  
1988 - end;  
1989 - DefaultHandler(Msg);  
1990 -end;  
1991 -  
1992 -procedure TFormularioGeral.TrayMessage(var Msg: TMessage);  
1993 -var Posicao : TPoint;  
1994 -begin  
1995 -  
1996 - if (Msg.LParam=WM_RBUTTONDOWN) then  
1997 - Begin  
1998 -  
1999 - Mnu_InfosPatrimoniais.Enabled := False;  
2000 - // Habilita a opção de menu caso a coleta de patrimonio esteja habilitado.  
2001 - HabilitaPatrimonio;  
2002 -  
2003 - // Habilita a opção de menu caso o suporte remoto esteja habilitado.  
2004 - HabilitaSuporteRemoto;  
2005 -  
2006 - SetForegroundWindow(Handle);  
2007 - GetCursorPos(Posicao);  
2008 - Popup_Menu_Contexto.Popup(Posicao.X, Posicao.Y);  
2009 - end;  
2010 -  
2011 -end;  
2012 -  
2013 -procedure TFormularioGeral.MinimizaParaTrayArea(Sender: TObject);  
2014 -begin  
2015 - FormularioGeral.Visible:=false;  
2016 - if (getValorDatMemoria('Configs.IN_EXIBE_BANDEJA',v_tstrCipherOpened) <> 'N') Then  
2017 - Begin  
2018 - Shell_NotifyIcon(NIM_ADD,@NotifyStruc);  
2019 - End  
2020 - else  
2021 - Begin  
2022 - Shell_NotifyIcon(HIDE_WINDOW,@NotifyStruc);  
2023 - Shell_NotifyIcon(nim_Modify,@NotifyStruc);  
2024 - End;  
2025 -end;  
2026 -// -------------------------------------  
2027 -// Fim dos códigos da bandeja do sistema  
2028 -// -------------------------------------  
2029 -  
2030 -procedure TFormularioGeral.FormCloseQuery(Sender: TObject; var CanClose: Boolean);  
2031 -begin  
2032 - // Esse evento é colocado em Nil durante o shutdown do windows.  
2033 - // Ver o evento WMQueryEndSession.  
2034 - CanClose := False;  
2035 - MinimizaParaTrayArea(Nil);  
2036 -end;  
2037 -  
2038 -procedure TFormularioGeral.WMQueryEndSession(var Msg: TWMQueryEndSession);  
2039 -begin  
2040 - // Quando há um shutdown do windows em execução, libera o close.  
2041 - OnCloseQuery := Nil;  
2042 - FreeAndNil(FUsb);  
2043 - Application.Terminate;  
2044 - inherited // Continue ShutDown request  
2045 -end;  
2046 -  
2047 -procedure TFormularioGeral.Mnu_InfosTCPClick(Sender: TObject);  
2048 -var v_tripa_perfis, v_tripa_infos_coletadas,strAux : string;  
2049 - v_array_perfis, v_array_tripa_infos_coletadas, v_array_infos_coletadas : tstrings;  
2050 - v_conta_perfis, v_conta_infos_coletadas, intAux : integer;  
2051 - v_achei : boolean;  
2052 -begin  
2053 - Log_DEBUG('Montando Informações Gerais...');  
2054 - FormularioGeral.Enabled := true;  
2055 - FormularioGeral.Visible := true;  
2056 -  
2057 - CipherClose;  
2058 - CipherOpen;  
2059 -  
2060 - ST_VL_NomeHost.Caption := getValorDatMemoria('TcpIp.TE_NOME_HOST' ,v_tstrCipherOpened);  
2061 - ST_VL_IPEstacao.Caption := getValorDatMemoria('TcpIp.TE_IP' ,v_tstrCipherOpened);  
2062 - ST_VL_MacAddress.Caption := getValorDatMemoria('TcpIp.TE_NODE_ADDRESS' ,v_tstrCipherOpened);  
2063 - ST_VL_IPRede.Caption := getValorDatMemoria('TcpIp.ID_IP_REDE' ,v_tstrCipherOpened);  
2064 - ST_VL_DominioDNS.Caption := getValorDatMemoria('TcpIp.TE_DOMINIO_DNS' ,v_tstrCipherOpened);  
2065 - ST_VL_DNSPrimario.Caption := getValorDatMemoria('TcpIp.TE_DNS_PRIMARIO' ,v_tstrCipherOpened);  
2066 - ST_VL_DNSSecundario.Caption := getValorDatMemoria('TcpIp.TE_DNS_SECUNDARIO' ,v_tstrCipherOpened);  
2067 - ST_VL_Gateway.Caption := getValorDatMemoria('TcpIp.TE_GATEWAY' ,v_tstrCipherOpened);  
2068 - ST_VL_Mascara.Caption := getValorDatMemoria('TcpIp.TE_MASCARA' ,v_tstrCipherOpened);  
2069 - ST_VL_ServidorDHCP.Caption := getValorDatMemoria('TcpIp.TE_SERV_DHCP' ,v_tstrCipherOpened);  
2070 - ST_VL_WinsPrimario.Caption := getValorDatMemoria('TcpIp.TE_WINS_PRIMARIO' ,v_tstrCipherOpened);  
2071 - ST_VL_WinsSecundario.Caption := getValorDatMemoria('TcpIp.TE_WINS_SECUNDARIO' ,v_tstrCipherOpened);  
2072 -  
2073 - // Exibição das informações de Sistemas Monitorados...  
2074 - v_conta_perfis := 1;  
2075 - v_conta_infos_coletadas := 0;  
2076 - v_tripa_perfis := '*';  
2077 -  
2078 - while v_tripa_perfis <> '' do  
2079 - begin  
2080 -  
2081 - v_tripa_perfis := getValorDatMemoria('Coletas.SIS' + trim(inttostr(v_conta_perfis)),v_tstrCipherOpened);  
2082 - Log_DEBUG('Perfil => Coletas.SIS' + trim(inttostr(v_conta_perfis))+' => '+v_tripa_perfis);  
2083 - v_conta_perfis := v_conta_perfis + 1;  
2084 -  
2085 - if (trim(v_tripa_perfis) <> '') then  
2086 - Begin  
2087 - v_array_perfis := explode(v_tripa_perfis,',');  
2088 -  
2089 - // ATENÇÃO!!! Antes da implementação de INFORMAÇÕES GERAIS o Count ia até 11, ok?!  
2090 - if (v_array_perfis.Count > 11) and (v_array_perfis[11]='S') then  
2091 - Begin  
2092 - v_tripa_infos_coletadas := getValorDatMemoria('Coletas.Sistemas_Monitorados',v_tstrCipherOpened);  
2093 - Log_DEBUG('Coletas de S.M. Efetuadas => ' + v_tripa_infos_coletadas);  
2094 - if (trim(v_tripa_infos_coletadas) <> '') then  
2095 - Begin  
2096 - v_array_tripa_infos_coletadas := explode(v_tripa_infos_coletadas,'#');  
2097 - for intAux := 0 to v_array_tripa_infos_coletadas.Count-1 Do  
2098 - Begin  
2099 - v_array_infos_coletadas := explode(v_array_tripa_infos_coletadas[intAux],',');  
2100 -  
2101 - Log_DEBUG('Verificando perfil[0]:' + v_array_perfis[0]);  
2102 - if (v_array_infos_coletadas[0]=v_array_perfis[0]) then  
2103 - Begin  
2104 - Log_DEBUG('Verificando valores condicionais [1]:"'+trim(v_array_infos_coletadas[1])+'" e [3]:"'+trim(v_array_infos_coletadas[3])+'"');  
2105 - if ((trim(v_array_infos_coletadas[1])<>'') and (trim(v_array_infos_coletadas[1])<>'?')) or  
2106 - ((trim(v_array_infos_coletadas[3])<>'') and (trim(v_array_infos_coletadas[3])<>'?')) then  
2107 - Begin  
2108 - v_achei := false;  
2109 - listSistemasMonitorados.Items.Add;  
2110 - listSistemasMonitorados.Items[v_conta_infos_coletadas].Caption := Format('%2d', [v_conta_infos_coletadas+1])+') '+v_array_perfis[12];  
2111 - listSistemasMonitorados.Items[v_conta_infos_coletadas].SubItems.Add(v_array_infos_coletadas[1]);  
2112 - listSistemasMonitorados.Items[v_conta_infos_coletadas].SubItems.Add(v_array_infos_coletadas[3]);  
2113 - v_conta_infos_coletadas := v_conta_infos_coletadas + 1;  
2114 -  
2115 - End;  
2116 - End;  
2117 - Application.ProcessMessages;  
2118 - End;  
2119 - End;  
2120 - End;  
2121 - End;  
2122 - end;  
2123 -  
2124 - teDataColeta.Caption := '('+FormatDateTime('dd/mm/yyyy', now)+')';  
2125 - staticVlServidorAplicacao.Caption := '"'+FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor',v_tstrCipherOpened)+'"';  
2126 - staticVlServidorUpdates.Caption := '"'+FormularioGeral.getValorDatMemoria('Configs.Te_Serv_Updates',v_tstrCipherOpened)+'"';  
2127 -  
2128 - strAux := GetValorDatMemoria('Coletas.HOJE', v_tstrCipherOpened);  
2129 - if (strAux <> '') then  
2130 - Begin  
2131 - if (copy(strAux,0,8) = FormatDateTime('yyyymmdd', Date)) then  
2132 - Begin  
2133 - // Vamos reaproveitar algumas variáveis!...  
2134 -  
2135 - v_array_perfis := explode(strAux,'#');  
2136 - for intAux := 1 to v_array_perfis.Count-1 Do  
2137 - Begin  
2138 - v_array_infos_coletadas := explode(v_array_perfis[intAux],',');  
2139 - listaColetas.Items.Add;  
2140 - listaColetas.Items[intAux-1].Caption := v_array_infos_coletadas[0];  
2141 - listaColetas.Items[intAux-1].SubItems.Add(v_array_infos_coletadas[1]);  
2142 -  
2143 - // Verifico se houve problema na coleta...  
2144 - if (v_array_infos_coletadas[2]<>'99999999') then  
2145 - listaColetas.Items[intAux-1].SubItems.Add(v_array_infos_coletadas[2])  
2146 - else  
2147 - Begin  
2148 - listaColetas.Items[intAux-1].SubItems.Add('--------');  
2149 - v_array_infos_coletadas[3] := v_array_infos_coletadas[2];  
2150 - End;  
2151 -  
2152 - // Códigos Possíveis: -1 : Problema no Envio da Coleta  
2153 - // 1 : Coleta Enviada  
2154 - // 0 : Sem Coleta para Envio  
2155 - strAux := IfThen(v_array_infos_coletadas[3]='1','Coleta Enviada ao Gerente WEB!',  
2156 - IfThen(v_array_infos_coletadas[3]='-1','Problema Enviando Coleta ao Gerente WEB!',  
2157 - IfThen(v_array_infos_coletadas[3]='0','Sem Coleta para Envio ao Gerente WEB!',  
2158 - IfThen(v_array_infos_coletadas[3]='99999999','Problema no Processo de Coleta!','Status Desconhecido!'))));  
2159 - listaColetas.Items[intAux-1].SubItems.Add(strAux);  
2160 -  
2161 - Application.ProcessMessages;  
2162 - End;  
2163 - End  
2164 - End  
2165 - else  
2166 - Begin  
2167 - listSistemasMonitorados.Items.Add;  
2168 - listSistemasMonitorados.Items[0].Caption := 'Não Há Coletas Registradas Nesta Data';  
2169 - End;  
2170 -  
2171 - FormularioGeral.EqualizaInformacoesPatrimoniais;  
2172 -  
2173 - strConfigsPatrimonio := GetValorDatMemoria('Patrimonio.Configs', v_tstrCipherOpened);  
2174 - MontaVetoresPatrimonio(strConfigsPatrimonio);  
2175 -  
2176 - if (strConfigsPatrimonio = '') then  
2177 - lbSemInformacoesPatrimoniais.Visible := true  
2178 - else  
2179 - lbSemInformacoesPatrimoniais.Visible := false;  
2180 -  
2181 - st_lb_Etiqueta1.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta1', strConfigsPatrimonio));  
2182 - st_lb_Etiqueta1.Caption := st_lb_Etiqueta1.Caption + IfThen(st_lb_Etiqueta1.Caption='','',':');  
2183 - st_vl_Etiqueta1.Caption := RetornaValorVetorUON1(GetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1',v_tstrCipherOpened));  
2184 -  
2185 - st_lb_Etiqueta1a.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta1a', strConfigsPatrimonio));  
2186 - st_lb_Etiqueta1a.Caption := st_lb_Etiqueta1a.Caption + IfThen(st_lb_Etiqueta1a.Caption='','',':');  
2187 - st_vl_Etiqueta1a.Caption := RetornaValorVetorUON1a(GetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel1a',v_tstrCipherOpened));  
2188 -  
2189 - st_lb_Etiqueta2.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta2', strConfigsPatrimonio));  
2190 - st_lb_Etiqueta2.Caption := st_lb_Etiqueta2.Caption + IfThen(st_lb_Etiqueta2.Caption='','',':');  
2191 - st_vl_Etiqueta2.Caption := RetornaValorVetorUON2(GetValorDatMemoria('Patrimonio.id_unid_organizacional_nivel2',v_tstrCipherOpened),GetValorDatMemoria('Patrimonio.id_local',v_tstrCipherOpened));  
2192 -  
2193 - st_lb_Etiqueta3.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta3', strConfigsPatrimonio));  
2194 - st_lb_Etiqueta3.Caption := st_lb_Etiqueta3.Caption + IfThen(st_lb_Etiqueta3.Caption='','',':');  
2195 - st_vl_Etiqueta3.Caption := GetValorDatMemoria('Patrimonio.te_localizacao_complementar',v_tstrCipherOpened);  
2196 -  
2197 -  
2198 - FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta4 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta4', strConfigsPatrimonio))+'"');  
2199 - if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta4', strConfigsPatrimonio)) = 'S') then  
2200 - begin  
2201 - st_lb_Etiqueta4.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta4', strConfigsPatrimonio));  
2202 - st_lb_Etiqueta4.Caption := st_lb_Etiqueta4.Caption + IfThen(st_lb_Etiqueta4.Caption='','',':');  
2203 - st_lb_Etiqueta4.Visible := true;  
2204 - st_vl_etiqueta4.Caption := GetValorDatMemoria('Patrimonio.te_info_patrimonio1',v_tstrCipherOpened);  
2205 - end  
2206 - else  
2207 - Begin  
2208 - st_lb_Etiqueta4.Visible := false;  
2209 - st_vl_etiqueta4.Visible := false;  
2210 - End;  
2211 -  
2212 - FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta5 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta5', strConfigsPatrimonio))+'"');  
2213 - if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta5', strConfigsPatrimonio)) = 'S') then  
2214 - begin  
2215 - st_lb_Etiqueta5.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta5', strConfigsPatrimonio));  
2216 - st_lb_Etiqueta5.Caption := st_lb_Etiqueta5.Caption + IfThen(st_lb_Etiqueta5.Caption='','',':');  
2217 - st_lb_Etiqueta5.Visible := true;  
2218 - st_vl_etiqueta5.Caption := GetValorDatMemoria('Patrimonio.te_info_patrimonio2',v_tstrCipherOpened);  
2219 - end  
2220 - else  
2221 - Begin  
2222 - st_lb_Etiqueta5.Visible := false;  
2223 - st_vl_etiqueta5.Visible := false;  
2224 - End;  
2225 -  
2226 - FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta6 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta6', strConfigsPatrimonio))+'"');  
2227 - if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta6', strConfigsPatrimonio)) = 'S') then  
2228 - begin  
2229 - st_lb_Etiqueta6.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta6', strConfigsPatrimonio));  
2230 - st_lb_Etiqueta6.Caption := st_lb_Etiqueta6.Caption + IfThen(st_lb_Etiqueta6.Caption='','',':');  
2231 - st_lb_Etiqueta6.Visible := true;  
2232 - st_vl_etiqueta6.Caption := GetValorDatMemoria('Patrimonio.te_info_patrimonio3',v_tstrCipherOpened);  
2233 - end  
2234 - else  
2235 - Begin  
2236 - st_lb_Etiqueta6.Visible := false;  
2237 - st_vl_etiqueta6.Visible := false;  
2238 - End;  
2239 -  
2240 - FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta7 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta7', strConfigsPatrimonio))+'"');  
2241 - if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta7', strConfigsPatrimonio)) = 'S') then  
2242 - begin  
2243 - st_lb_Etiqueta7.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta7', strConfigsPatrimonio));  
2244 - st_lb_Etiqueta7.Caption := st_lb_Etiqueta7.Caption + IfThen(st_lb_Etiqueta7.Caption='','',':');  
2245 - st_lb_Etiqueta7.Visible := true;  
2246 - st_vl_etiqueta7.Caption := GetValorDatMemoria('Patrimonio.te_info_patrimonio4',v_tstrCipherOpened);  
2247 - end  
2248 - else  
2249 - Begin  
2250 - st_lb_Etiqueta7.Visible := false;  
2251 - st_vl_etiqueta7.Visible := false;  
2252 - End;  
2253 -  
2254 - FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta8 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta8', strConfigsPatrimonio))+'"');  
2255 - if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta8', strConfigsPatrimonio)) = 'S') then  
2256 - begin  
2257 - st_lb_Etiqueta8.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta8', strConfigsPatrimonio));  
2258 - st_lb_Etiqueta8.Caption := st_lb_Etiqueta8.Caption + IfThen(st_lb_Etiqueta8.Caption='','',':');  
2259 - st_lb_Etiqueta8.Visible := true;  
2260 - st_vl_etiqueta8.Caption := GetValorDatMemoria('Patrimonio.te_info_patrimonio5',v_tstrCipherOpened);  
2261 - end  
2262 - else  
2263 - Begin  
2264 - st_lb_Etiqueta8.Visible := false;  
2265 - st_vl_etiqueta8.Visible := false;  
2266 - End;  
2267 -  
2268 - FormularioGeral.Log_DEBUG('Decriptografia de in_exibir_etiqueta9 => "'+g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta9', strConfigsPatrimonio))+'"');  
2269 - if (g_oCacic.deCrypt(XML_RetornaValor('in_exibir_etiqueta9', strConfigsPatrimonio)) = 'S') then  
2270 - begin  
2271 - st_lb_Etiqueta9.Caption := g_oCacic.deCrypt(XML_RetornaValor('te_etiqueta9', strConfigsPatrimonio));  
2272 - st_lb_Etiqueta9.Caption := st_lb_Etiqueta9.Caption + IfThen(st_lb_Etiqueta9.Caption='','',':');  
2273 - st_lb_Etiqueta9.Visible := true;  
2274 - st_vl_etiqueta9.Caption := GetValorDatMemoria('Patrimonio.te_info_patrimonio6',v_tstrCipherOpened);  
2275 - end  
2276 - else  
2277 - Begin  
2278 - st_lb_Etiqueta9.Visible := false;  
2279 - st_vl_etiqueta9.Visible := false;  
2280 - End;  
2281 -  
2282 -  
2283 - end;  
2284 -  
2285 -procedure TFormularioGeral.Bt_Fechar_InfosGeraisClick(Sender: TObject);  
2286 - begin  
2287 - FormularioGeral.Enabled := false;  
2288 - FormularioGeral.Visible := false;  
2289 - end;  
2290 -  
2291 -Function TFormularioGeral.XML_RetornaValor(Tag : String; Fonte : String): String;  
2292 -VAR  
2293 - Parser : TXmlParser;  
2294 -begin  
2295 - Parser := TXmlParser.Create;  
2296 - Parser.Normalize := TRUE;  
2297 - Parser.LoadFromBuffer(PAnsiChar(Fonte));  
2298 - Parser.StartScan;  
2299 - WHILE Parser.Scan DO  
2300 - Begin  
2301 - if (Parser.CurPartType in [ptContent, ptCData]) Then // Process Parser.CurContent field here  
2302 - begin  
2303 - if (UpperCase(Parser.CurName) = UpperCase(Tag)) then  
2304 - Result := RemoveZerosFimString(Parser.CurContent);  
2305 - end;  
2306 - end;  
2307 - Parser.Free;  
2308 - log_DEBUG('XML Parser retornando: "'+Result+'" para Tag "'+Tag+'"');  
2309 -end;  
2310 -  
2311 -// Solução baixada de http://www.delphidabbler.com/codesnip.php?action=named&routines=URLDecode&showsrc=1  
2312 -function TFormularioGeral.URLDecode(const S: string): string;  
2313 -var  
2314 - Idx: Integer; // loops thru chars in string  
2315 - Hex: string; // string of hex characters  
2316 - Code: Integer; // hex character code (-1 on error)  
2317 -begin  
2318 - // Intialise result and string index  
2319 - Result := '';  
2320 - Idx := 1;  
2321 - // Loop thru string decoding each character  
2322 - while Idx <= Length(S) do  
2323 - begin  
2324 - case S[Idx] of  
2325 - '%':  
2326 - begin  
2327 - // % should be followed by two hex digits - exception otherwise  
2328 - if Idx <= Length(S) - 2 then  
2329 - begin  
2330 - // there are sufficient digits - try to decode hex digits  
2331 - Hex := S[Idx+1] + S[Idx+2];  
2332 - Code := SysUtils.StrToIntDef('$' + Hex, -1);  
2333 - Inc(Idx, 2);  
2334 - end  
2335 - else  
2336 - // insufficient digits - error  
2337 - Code := -1;  
2338 - // check for error and raise exception if found  
2339 - if Code = -1 then  
2340 - raise SysUtils.EConvertError.Create(  
2341 - 'Invalid hex digit in URL'  
2342 - );  
2343 - // decoded OK - add character to result  
2344 - Result := Result + Chr(Code);  
2345 - end;  
2346 - '+':  
2347 - // + is decoded as a space  
2348 - Result := Result + ' '  
2349 - else  
2350 - // All other characters pass thru unchanged  
2351 - Result := Result + S[Idx];  
2352 - end;  
2353 - Inc(Idx);  
2354 - end;  
2355 -end;  
2356 -{  
2357 -procedure TFormularioGeral.IdHTTPServerCACICCommandGet(  
2358 - AThread: TIdPeerThread; ARequestInfo: TIdHTTPRequestInfo;  
2359 - AResponseInfo: TIdHTTPResponseInfo);  
2360 -var strXML,  
2361 - strCmd,  
2362 - strFileName,  
2363 - strFileHash : String;  
2364 - intAux : integer;  
2365 - boolOK : boolean;  
2366 -begin  
2367 -  
2368 - // **********************************************************************************************************  
2369 - // Esta procedure tratará os comandos e suas ações, enviados em um pacote XML na requisição, conforme abaixo:  
2370 - // **********************************************************************************************************  
2371 - // Execute -> Comando que forçará a execução do Gerente de Coletas (Sugestão: Configurar coletas forçadas no Gerente WEB e executar esse comando)  
2372 - // Requisição: Tag <Execute>  
2373 - // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK'  
2374 - //  
2375 - // Ask -> Comando que perguntará sobre a existência de um determinado arquivo na estação.  
2376 - // Requisição: Tag <FileName>: Nome do arquivo a pesquisar no repositório local  
2377 - // Tag <FileHash>: Hash referente ao arquivo a ser pesquisado no repositório local  
2378 - // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK';  
2379 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'Tenho' ou  
2380 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'NaoTenho' ou  
2381 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'Baixando' ou  
2382 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'Ocupado'.  
2383 - //  
2384 - //  
2385 - // Erase -> Comando que provocará a exclusão de determinado arquivo.  
2386 - // Deverá ser acompanhado das tags <FileName> e <FileHash>  
2387 - // Requisição: Tag <FileName>: Nome do arquivo a ser excluído do repositório local  
2388 - // Tag <FileHash>: Hash referente ao arquivo a ser excluído do repositório local  
2389 - // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK';  
2390 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'AcaoExecutada' ou  
2391 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'ArquivoNaoEncontrado' ou  
2392 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'EscritaNaoPermitida';  
2393 - //  
2394 - // Registry -> Comando que provocará ação no Registry de estações com MS-Windows.  
2395 - // Deverá ser acompanhado das tags <Path>, <Action>, <Condition> e <Value>  
2396 - // Requisição: Tag <Path> : Caminho no Registry  
2397 - // Tag <Action> : Ação para execução  
2398 - // SAVE => Salva o valor contido na tag <Value> de acordo com condição contida na tag <Condition>  
2399 - // ERASE => Apaga a chave de acordo com condição contida na tag <Condition>  
2400 - // Tag <Condition> : Condiçção para execução da ação  
2401 - // EQUAL => Se o valor contido na tag <Value> for IGUAL ao valor encontrado na chave  
2402 - // DIFFER => Se o valor contido na tag <Value> for DIFERENTE ao valor encontrado na chave  
2403 - // NONE => Nenhuma condição, permitindo a execução da ação de forma incondicional  
2404 - // Tag <Value> : Valor a ser utilizado na ação  
2405 - // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK';  
2406 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'AcaoExecutada' ou  
2407 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'ChaveNaoEncontrada' ou  
2408 - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'EscritaNaoPermitida';  
2409 - //  
2410 - // Exit -> Comando para finalização do agente principal (bandeja)  
2411 -  
2412 - // Palavra Chave definida por Ger_Cols, enviada e armazenada no BD. A autenticação da comunicação é baseada na verificação deste valor.  
2413 - // A geração da palavra chave dar-se-á a cada contato do Ger_Cols com o módulo Gerente WEB  
2414 - // te_palavra_chave -> <TE_PALAVRA_CHAVE>  
2415 -  
2416 - // Tratamento da requisição http...  
2417 - strXML := URLDecode(ARequestInfo.UnparsedParams);  
2418 - intAux := Pos('=',strXML);  
2419 - strXML := copy(strXML,(intAux+1),StrLen(PAnsiChar(strXML))-intAux);  
2420 - strXML := g_oCacic.deCrypt(strXML);  
2421 -  
2422 -  
2423 -  
2424 - // Autenticação e tratamento da requisição  
2425 - if (XML_RetornaValor('te_palavra_chave',strXML) = FormularioGeral.getValorDatMemoria('Configs.te_palavra_chave',v_tstrCipherOpened)) then  
2426 - Begin  
2427 - strCmd := XML_RetornaValor('cmd',strXML);  
2428 - // As ações terão seus valores  
2429 -  
2430 - if (strCmd = 'Execute') or  
2431 - (strCmd = 'Ask') or  
2432 - (strCmd = 'Erase') or  
2433 - (strCmd = 'Registry') or  
2434 - (strCmd = 'Exit') then  
2435 - AResponseinfo.ContentText := 'OK'  
2436 - else  
2437 - AResponseinfo.ContentText := 'COMANDO NÃO RECONHECIDO!';  
2438 - End  
2439 - else  
2440 - AResponseinfo.ContentText := 'ACESSO NÃO PERMITIDO!';  
2441 -  
2442 - if (strCmd = 'Execute') then  
2443 - ExecutaCacic(nil)  
2444 - else if (strCmd = 'Ask') then  
2445 - Begin  
2446 - strFileName := XML_RetornaValor('FileName',strXML);  
2447 - strFileHash := XML_RetornaValor('FileHash',strXML);  
2448 - End  
2449 - else if (strCmd = 'Erase') then  
2450 - else if (strCmd = 'Registry') then  
2451 - else if (strCmd = 'Exit') then  
2452 - Finaliza;  
2453 -end;  
2454 -  
2455 -procedure TFormularioGeral.IdFTPServer1UserLogin(ASender: TIdFTPServerThread; const AUsername, APassword: String; var AAuthenticated: Boolean);  
2456 -begin  
2457 - AAuthenticated := false;  
2458 - if (AUsername = 'CACIC') and  
2459 - (APassword=getValorDatMemoria('Configs.PalavraChave',v_tstrCipherOpened)) then  
2460 - AAuthenticated := true;  
2461 -end;  
2462 -}  
2463 -procedure TFormularioGeral.Mnu_SuporteRemotoClick(Sender: TObject);  
2464 -var v_strPalavraChave,  
2465 - v_strTeSO,  
2466 - v_strTeNodeAddress,  
2467 - v_strNuPortaSR,  
2468 - v_strNuTimeOutSR : String;  
2469 - intPausaRecupera : integer;  
2470 - fileAguarde : TextFile;  
2471 -begin  
2472 - if boolServerON then // Ordeno ao SrCACICsrv que auto-finalize  
2473 - Begin  
2474 - Log_Diario('Desativando Suporte Remoto Seguro.');  
2475 -  
2476 - g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -kill',false,SW_HIDE);  
2477 -  
2478 - Try  
2479 - // Bloqueio o módulo de suporte remoto seguro na FireWall nativa.  
2480 - g_oCacic.addApplicationToFirewall('srCACIC - Suporte Remoto Seguro do Sistema CACIC',g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe', false);  
2481 - Except  
2482 - End;  
2483 -  
2484 - boolServerON := false;  
2485 - End  
2486 - else  
2487 - Begin  
2488 - log_DEBUG('Invocando "'+g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe"...');  
2489 - Log_Diario('Ativando Suporte Remoto Seguro.');  
2490 -  
2491 - // Alguns cuidados necessários ao tráfego e recepção de valores pelo Gerente WEB  
2492 - // Some cares about send and receive at Gerente WEB  
2493 - // A partir da versão 2.6.0.2 deixo de enviar a palavra chave para que o srCACICsrv busque-a diretamente de cacic2.dat  
2494 - {  
2495 - v_strPalavraChave := FormularioGeral.getValorDatMemoria('Configs.te_palavra_chave', v_tstrCipherOpened);  
2496 - v_strPalavraChave := StringReplace(v_strPalavraChave,' ' ,'<ESPACE>' ,[rfReplaceAll]);  
2497 - v_strPalavraChave := StringReplace(v_strPalavraChave,'"' ,'<AD>' ,[rfReplaceAll]);  
2498 - v_strPalavraChave := StringReplace(v_strPalavraChave,'''' ,'<AS>' ,[rfReplaceAll]);  
2499 - v_strPalavraChave := StringReplace(v_strPalavraChave,'\' ,'<BarrInv>' ,[rfReplaceAll]);  
2500 - v_strPalavraChave := g_oCacic.enCrypt(v_strPalavraChave);  
2501 - v_strPalavraChave := StringReplace(v_strPalavraChave,'+','<MAIS>',[rfReplaceAll]);  
2502 - }  
2503 -  
2504 - v_strTeSO := trim(StringReplace(FormularioGeral.getValorDatMemoria('Configs.TE_SO', v_tstrCipherOpened),' ','<ESPACE>',[rfReplaceAll]));  
2505 - v_strTeSO := g_oCacic.enCrypt(v_strTeSO);  
2506 - v_strTeSO := StringReplace(v_strTeSO,'+','<MAIS>',[rfReplaceAll]);  
2507 -  
2508 - v_strTeNodeAddress := trim(StringReplace(FormularioGeral.getValorDatMemoria('TcpIp.TE_NODE_ADDRESS' , v_tstrCipherOpened),' ','<ESPACE>' ,[rfReplaceAll]));  
2509 - v_strTeNodeAddress := g_oCacic.enCrypt(v_strTeNodeAddress);  
2510 - v_strTeNodeAddress := StringReplace(v_strTeNodeAddress,'+','<MAIS>',[rfReplaceAll]);  
2511 -  
2512 - v_strNuPortaSR := trim(FormularioGeral.getValorDatMemoria('Configs.NU_PORTA_SRCACIC' , v_tstrCipherOpened));  
2513 - v_strNuTimeOutSR := trim(FormularioGeral.getValorDatMemoria('Configs.NU_TIMEOUT_SRCACIC' , v_tstrCipherOpened));  
2514 -  
2515 - // Detectar versão do Windows antes de fazer a chamada seguinte...  
2516 - try  
2517 - AssignFile(fileAguarde,g_oCacic.getCacicPath + 'Temp\aguarde_srCACIC.txt');  
2518 - {$IOChecks off}  
2519 - Reset(fileAguarde); {Abre o arquivo texto}  
2520 - {$IOChecks on}  
2521 - if (IOResult <> 0) then // Arquivo não existe, será recriado.  
2522 - begin  
2523 - Rewrite (fileAguarde);  
2524 - Append(fileAguarde);  
2525 - Writeln(fileAguarde,FormatDateTime('dd/mm hh:nn:ss : ', Now) + '======================> Pseudo-Cookie para o srCACICsrv.exe <=======================');  
2526 - end;  
2527 -  
2528 - CloseFile(fileAguarde);  
2529 - Finally  
2530 - End;  
2531 -  
2532 - log_DEBUG('Verificando validade do módulo srCACICsrv para chamada!');  
2533 -  
2534 - log_DEBUG('g_oCacic.getFileHash('+g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe'+') = "'+g_oCacic.getFileHash(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe'+'"'));  
2535 -  
2536 - log_DEBUG('FormularioGeral.GetValorDatMemoria(Configs.TE_HASH_SRCACICSRV) = "'+FormularioGeral.GetValorDatMemoria('Configs.TE_HASH_SRCACICSRV', v_tstrCipherOpened)+'"');  
2537 -  
2538 - // Executarei o srCACICsrv após batimento do HASHCode  
2539 - if (g_oCacic.getFileHash(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe') = FormularioGeral.GetValorDatMemoria('Configs.TE_HASH_SRCACICSRV', v_tstrCipherOpened)) then  
2540 - Begin  
2541 - log_DEBUG('Invocando "'+g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -start [' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor', v_tstrCipherOpened)) + ']' +  
2542 - '[' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.Endereco_WS' , v_tstrCipherOpened)) + ']' +  
2543 - '[' + v_strTeSO + ']' +  
2544 - '[' + v_strTeNodeAddress + ']' +  
2545 -// '[' + v_strPalavraChave + ']' +  
2546 - '[' + g_oCacic.getCacicPath + ']' +  
2547 - '[' + v_strNuPortaSR + ']' +  
2548 - '[' + v_strNuTimeOutSR + ']');  
2549 -  
2550 - Try  
2551 - // Libero o módulo de suporte remoto seguro na FireWall nativa.  
2552 - g_oCacic.addApplicationToFirewall('srCACIC - Suporte Remoto Seguro do Sistema CACIC',g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe', true);  
2553 - Except  
2554 - End;  
2555 -  
2556 - g_oCacic.createSampleProcess(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe -start [' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.EnderecoServidor', v_tstrCipherOpened)) + ']' +  
2557 - '[' + g_oCacic.enCrypt(FormularioGeral.getValorDatMemoria('Configs.Endereco_WS' , v_tstrCipherOpened)) + ']' +  
2558 - '[' + v_strTeSO + ']' +  
2559 - '[' + v_strTeNodeAddress + ']' +  
2560 -// '[' + v_strPalavraChave + ']' +  
2561 - '[' + g_oCacic.getCacicPath + ']' +  
2562 - '[' + v_strNuPortaSR + ']' +  
2563 - '[' + v_strNuTimeOutSR + ']',false,SW_NORMAL);  
2564 - BoolServerON := true;  
2565 - End  
2566 - else  
2567 - Begin  
2568 - Log_Diario('Execução de srCACICsrv impedida por falta de integridade!');  
2569 - Log_Diario('Providenciando nova cópia.');  
2570 - Matar(g_oCacic.getCacicPath + 'modulos\','srcacicsrv.exe');  
2571 - Invoca_GerCols('recuperaSR');  
2572 - intPausaRecupera := 0;  
2573 - while (intPausaRecupera < 10) do  
2574 - Begin  
2575 - Sleep(3000);  
2576 - if FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe') then  
2577 - intPausaRecupera := 10;  
2578 - inc(intPausaRecupera);  
2579 - End;  
2580 - if FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe') then  
2581 - Mnu_SuporteRemotoClick(nil);  
2582 - End;  
2583 - End;  
2584 -end;  
2585 -  
2586 -procedure TFormularioGeral.Popup_Menu_ContextoPopup(Sender: TObject);  
2587 -begin  
2588 - VerificaDebugs;  
2589 -  
2590 - if (getValorDatMemoria('Configs.CS_SUPORTE_REMOTO',v_tstrCipherOpened) = 'S') and  
2591 - (FileExists(g_oCacic.getCacicPath + 'modulos\srcacicsrv.exe')) then  
2592 - Mnu_SuporteRemoto.Enabled := true  
2593 - else  
2594 - Mnu_SuporteRemoto.Enabled := false;  
2595 -  
2596 - boolServerON := false;  
2597 - FormularioGeral.Matar(g_oCacic.getCacicPath+'temp\','aguarde_SRCACIC.txt');  
2598 - if FileExists(g_oCacic.getCacicPath + 'temp\aguarde_SRCACIC.txt') then  
2599 - Begin  
2600 - if (getValorDatMemoria('Configs.CS_PERMITIR_DESATIVAR_SRCACIC',v_tstrCipherOpened) = 'S') then  
2601 - Begin  
2602 - Mnu_SuporteRemoto.Caption := 'Desativar Suporte Remoto';  
2603 - Mnu_SuporteRemoto.Enabled := true;  
2604 - End  
2605 - else  
2606 - Begin  
2607 - Mnu_SuporteRemoto.Caption := 'Suporte Remoto Ativo!';  
2608 - Mnu_SuporteRemoto.Enabled := false;  
2609 - End;  
2610 -  
2611 - boolServerON := true;  
2612 - End  
2613 - else  
2614 - Begin  
2615 - Mnu_SuporteRemoto.Caption := 'Ativar Suporte Remoto';  
2616 - HabilitaSuporteRemoto;  
2617 - End;  
2618 -  
2619 -end;  
2620 -  
2621 -procedure TFormularioGeral.Timer_InicializaTrayTimer(Sender: TObject);  
2622 -Begin  
2623 -  
2624 - Timer_InicializaTray.Enabled := false;  
2625 -  
2626 - g_intTaskBarAtual := FindWindow('Shell_TrayWnd', Nil);  
2627 -  
2628 - if ((g_intTaskBarAnterior = 0) and (g_intTaskBarAtual > 0)) or  
2629 - (boolWinIniChange) then  
2630 - Begin  
2631 - InicializaTray;  
2632 - End;  
2633 -  
2634 - g_intTaskBarAnterior := g_intTaskBarAtual;  
2635 -  
2636 - Timer_InicializaTray.Enabled := true;  
2637 -end;  
2638 -end.