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   -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   -(**
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   -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   -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   -(**
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.