Commit 2b432a4584d98dc809ae6904b9e0a099466e25ae

Authored by anderson.peterle@previdencia.gov.br
1 parent e32a719b
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@962 fecfc0c7-e812-0410-ae72-849f08638ee7
col_moni/ShellLinker.pas
@@ -1,76 +0,0 @@ @@ -1,76 +0,0 @@
1 -unit ShellLinker;  
2 -  
3 -interface  
4 -uses ActiveX, Windows, ShlObj;  
5 -  
6 -//uses  
7 -// Windows, ShlObj;  
8 -//uses  
9 -// SysUtils, ComObj, ActiveX, ShellApi, Classes, Menus;  
10 -  
11 -type  
12 - TShowState = (ssNormal, ssMinimized, ssMaximized, ssHide);  
13 -  
14 - TLinkInfo = record  
15 - Target: String; // Path to link target file - empty for virtual folders  
16 - ClsID: PItemIDList; // Absolute CLSID (PIDL) of target  
17 - WorkDir: String; // Working directory - empty for virtual folders  
18 - Parameters: String; // Parameters sent to path - empty for virtual folders  
19 - Description: String; // Description of link  
20 - IconPath: String; // File containing icon - often same as Target  
21 - IconIndex: Integer; // Index of icon in the icon file  
22 - HotKey: Word; // HotKey (like Alt+Shift+F) - numeric  
23 - ShowState: TShowState; // Normal, minimized, or maximized  
24 - end;  
25 -  
26 - TLinkHotKey = record  
27 - Modifiers: Word;  
28 - Key: Word;  
29 - end;  
30 -function CreateShellLink(FileName, Target, Description, StartIn, Parameters,  
31 - IconPath: String; IconIndex: Integer; HotKey: Word; ShowState: TShowState;  
32 - ItemIDList: PItemIDList): Boolean;  
33 -  
34 -  
35 -implementation  
36 -  
37 -function ShowStateToCmdShow(ShowState: TShowState): Integer;  
38 -begin  
39 - case ShowState of  
40 - ssMinimized: Result := SW_SHOWMINNOACTIVE;  
41 - ssMaximized: Result := SW_SHOWMAXIMIZED;  
42 - ssHide: Result := SW_HIDE;  
43 - else  
44 - Result := SW_SHOWNORMAL;  
45 - end;  
46 -end;  
47 -  
48 -function CreateShellLink(FileName, Target, Description, StartIn, Parameters,  
49 - IconPath: String; IconIndex: Integer; HotKey: Word; ShowState: TShowState;  
50 - ItemIDList: PItemIDList): Boolean;  
51 -var  
52 - sl: IShellLink;  
53 - ppf: IPersistFile;  
54 - wcLinkName: array[0..MAX_PATH] of WideChar;  
55 -begin  
56 - CoInitialize(nil); // Initialize COM  
57 - CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IID_IShellLinkA, sl);  
58 - sl.QueryInterface(IPersistFile, ppf);  
59 - sl.SetPath(PChar(Target));  
60 - if ItemIDList <> nil then  
61 - sl.SetIDList(ItemIDList);  
62 - sl.SetDescription(PChar(Description));  
63 - sl.SetWorkingDirectory(PChar(StartIn));  
64 - sl.SetArguments(PChar(Parameters));  
65 - sl.SetIconLocation(PChar(IconPath), IconIndex);  
66 - if HotKey <> 0 then  
67 - sl.SetHotkey(HotKey);  
68 - sl.SetShowCmd(ShowStateToCmdShow(ShowState));  
69 - // Save shell link  
70 - MultiByteToWideChar(CP_ACP, 0, PChar(FileName), -1, wcLinkName, MAX_PATH);  
71 - Result := (ppf.Save(wcLinkName, true) = S_OK);  
72 - CoUninitialize;  
73 -end;  
74 -  
75 -end.  
76 -  
col_moni/col_moni.cfg
@@ -1,38 +0,0 @@ @@ -1,38 +0,0 @@
1 --$A8  
2 --$B-  
3 --$C+  
4 --$D+  
5 --$E-  
6 --$F-  
7 --$G+  
8 --$H+  
9 --$I+  
10 --$J-  
11 --$K-  
12 --$L+  
13 --$M-  
14 --$N+  
15 --$O+  
16 --$P+  
17 --$Q-  
18 --$R-  
19 --$S-  
20 --$T-  
21 --$U-  
22 --$V+  
23 --$W-  
24 --$X+  
25 --$YD  
26 --$Z1  
27 --cg  
28 --AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;  
29 --H+  
30 --W+  
31 --M  
32 --$M16384,1048576  
33 --K$00400000  
34 --LE"c:\arquivos de programas\borland\delphi7\Projects\Bpl"  
35 --LN"c:\arquivos de programas\borland\delphi7\Projects\Bpl"  
36 --w-UNSAFE_TYPE  
37 --w-UNSAFE_CODE  
38 --w-UNSAFE_CAST  
col_moni/col_moni.dof
@@ -1,136 +0,0 @@ @@ -1,136 +0,0 @@
1 -[FileVersion]  
2 -Version=7.0  
3 -[Compiler]  
4 -A=8  
5 -B=0  
6 -C=1  
7 -D=1  
8 -E=0  
9 -F=0  
10 -G=1  
11 -H=1  
12 -I=1  
13 -J=0  
14 -K=0  
15 -L=1  
16 -M=0  
17 -N=1  
18 -O=1  
19 -P=1  
20 -Q=0  
21 -R=0  
22 -S=0  
23 -T=0  
24 -U=0  
25 -V=1  
26 -W=0  
27 -X=1  
28 -Y=1  
29 -Z=1  
30 -ShowHints=1  
31 -ShowWarnings=1  
32 -UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;  
33 -NamespacePrefix=  
34 -SymbolDeprecated=1  
35 -SymbolLibrary=1  
36 -SymbolPlatform=1  
37 -UnitLibrary=1  
38 -UnitPlatform=1  
39 -UnitDeprecated=1  
40 -HResultCompat=1  
41 -HidingMember=1  
42 -HiddenVirtual=1  
43 -Garbage=1  
44 -BoundsError=1  
45 -ZeroNilCompat=1  
46 -StringConstTruncated=1  
47 -ForLoopVarVarPar=1  
48 -TypedConstVarPar=1  
49 -AsgToTypedConst=1  
50 -CaseLabelRange=1  
51 -ForVariable=1  
52 -ConstructingAbstract=1  
53 -ComparisonFalse=1  
54 -ComparisonTrue=1  
55 -ComparingSignedUnsigned=1  
56 -CombiningSignedUnsigned=1  
57 -UnsupportedConstruct=1  
58 -FileOpen=1  
59 -FileOpenUnitSrc=1  
60 -BadGlobalSymbol=1  
61 -DuplicateConstructorDestructor=1  
62 -InvalidDirective=1  
63 -PackageNoLink=1  
64 -PackageThreadVar=1  
65 -ImplicitImport=1  
66 -HPPEMITIgnored=1  
67 -NoRetVal=1  
68 -UseBeforeDef=1  
69 -ForLoopVarUndef=1  
70 -UnitNameMismatch=1  
71 -NoCFGFileFound=1  
72 -MessageDirective=1  
73 -ImplicitVariants=1  
74 -UnicodeToLocale=1  
75 -LocaleToUnicode=1  
76 -ImagebaseMultiple=1  
77 -SuspiciousTypecast=1  
78 -PrivatePropAccessor=1  
79 -UnsafeType=0  
80 -UnsafeCode=0  
81 -UnsafeCast=0  
82 -[Linker]  
83 -MapFile=0  
84 -OutputObjs=0  
85 -ConsoleApp=1  
86 -DebugInfo=0  
87 -RemoteSymbols=0  
88 -MinStackSize=16384  
89 -MaxStackSize=1048576  
90 -ImageBase=4194304  
91 -ExeDescription=  
92 -[Directories]  
93 -OutputDir=  
94 -UnitOutputDir=  
95 -PackageDLLOutputDir=  
96 -PackageDCPOutputDir=  
97 -SearchPath=  
98 -Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOffice2k;MSI_D7_Rtl  
99 -Conditionals=  
100 -DebugSourceDirs=  
101 -UsePackages=0  
102 -[Parameters]  
103 -RunParams=  
104 -HostApplication=  
105 -Launcher=  
106 -UseLauncher=0  
107 -DebugCWD=  
108 -[Language]  
109 -ActiveLang=  
110 -ProjectLang=  
111 -RootDir=C:\Arquivos de programas\Borland\Delphi7\Bin\  
112 -[Version Info]  
113 -IncludeVerInfo=1  
114 -AutoIncBuild=0  
115 -MajorVer=2  
116 -MinorVer=5  
117 -Release=0  
118 -Build=773  
119 -Debug=0  
120 -PreRelease=0  
121 -Special=0  
122 -Private=0  
123 -DLL=0  
124 -Locale=1046  
125 -CodePage=1252  
126 -[Version Info Keys]  
127 -CompanyName=Dataprev - Emp. de TI da Prev.Social - URES  
128 -FileDescription=Coletor de Informações de Sistemas Monitorados do pelo CACIC  
129 -FileVersion=2.5.0.773  
130 -InternalName=  
131 -LegalCopyright=  
132 -LegalTrademarks=  
133 -OriginalFilename=  
134 -ProductName=Col_MONI  
135 -ProductVersion=2.6  
136 -Comments=Baseado na licença GPL (General Public License)  
col_moni/col_moni.dpr
@@ -1,927 +0,0 @@ @@ -1,927 +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 col_moni;  
19 -{$R *.res}  
20 -  
21 -uses  
22 - Windows,  
23 - sysutils,  
24 - inifiles,  
25 - Registry,  
26 - Classes,  
27 - PJVersionInfo,  
28 - CACIC_Library in '..\CACIC_Library.pas';  
29 -  
30 -var  
31 - v_Res_Search,  
32 - v_Drive,  
33 - v_File,  
34 - v_strCipherClosed : String;  
35 - PJVersionInfo1 : TPJVersionInfo;  
36 -  
37 -var  
38 - v_Debugs : boolean;  
39 -  
40 -var  
41 - v_tstrCipherOpened,  
42 - v_tstrCipherOpened1,  
43 - tstrTripa1 : TStrings;  
44 -  
45 -var  
46 - intAux : integer;  
47 -  
48 -var  
49 - g_oCacic : TCACIC;  
50 -  
51 -const  
52 - CACIC_APP_NAME = 'col_moni';  
53 -  
54 -procedure GetSubDirs(Folder:string; sList:TStringList);  
55 - var  
56 - sr:TSearchRec;  
57 -begin  
58 - if FindFirst(Folder+'*.*',faDirectory,sr)=0 then  
59 - try  
60 - repeat  
61 - if(sr.Attr and faDirectory)=faDirectory then  
62 - sList.Add(sr.Name);  
63 - until FindNext(sr)<>0;  
64 - finally  
65 - FindClose(sr);  
66 - end;  
67 -end;  
68 -//Para buscar do Arquivo INI...  
69 -// Marreta devido a limitações do KERNEL w9x no tratamento de arquivos texto e suas seções  
70 -function GetValorChaveRegIni(p_SectionName, p_KeyName, p_IniFileName : String) : String;  
71 -var  
72 - FileText : TStringList;  
73 - i, j, v_Size_Section, v_Size_Key : integer;  
74 - v_SectionName, v_KeyName : string;  
75 - begin  
76 - Result := '';  
77 - v_SectionName := '[' + p_SectionName + ']';  
78 - v_Size_Section := strLen(PChar(v_SectionName));  
79 - v_KeyName := p_KeyName + '=';  
80 - v_Size_Key := strLen(PChar(v_KeyName));  
81 - FileText := TStringList.Create;  
82 - try  
83 - FileText.LoadFromFile(p_IniFileName);  
84 - For i := 0 To FileText.Count - 1 Do  
85 - Begin  
86 - if (LowerCase(Trim(PChar(Copy(FileText[i],1,v_Size_Section)))) = LowerCase(Trim(PChar(v_SectionName)))) then  
87 - Begin  
88 - For j := i to FileText.Count - 1 Do  
89 - Begin  
90 - if (LowerCase(Trim(PChar(Copy(FileText[j],1,v_Size_Key)))) = LowerCase(Trim(PChar(v_KeyName)))) then  
91 - Begin  
92 - Result := PChar(Copy(FileText[j],v_Size_Key + 1,strLen(PChar(FileText[j]))-v_Size_Key));  
93 - Break;  
94 - End;  
95 - End;  
96 - End;  
97 - if (Result <> '') then break;  
98 - End;  
99 - finally  
100 - FileText.Free;  
101 - end;  
102 - end;  
103 -  
104 -function VerFmt(const MS, LS: DWORD): string;  
105 - // Format the version number from the given DWORDs containing the info  
106 -begin  
107 - Result := Format('%d.%d.%d.%d',  
108 - [HiWord(MS), LoWord(MS), HiWord(LS), LoWord(LS)])  
109 -end;  
110 -procedure log_diario(strMsg : String);  
111 -var  
112 - HistoricoLog : TextFile;  
113 - strDataArqLocal, strDataAtual : string;  
114 -begin  
115 - try  
116 - FileSetAttr (g_oCacic.getCacicPath + 'cacic2.log',0); // Retira os atributos do arquivo para evitar o erro FILE ACCESS DENIED em máquinas 2000  
117 - AssignFile(HistoricoLog,g_oCacic.getCacicPath + 'cacic2.log'); {Associa o arquivo a uma variável do tipo TextFile}  
118 - {$IOChecks off}  
119 - Reset(HistoricoLog); {Abre o arquivo texto}  
120 - {$IOChecks on}  
121 - if (IOResult <> 0) then // Arquivo não existe, será recriado.  
122 - begin  
123 - Rewrite (HistoricoLog);  
124 - Append(HistoricoLog);  
125 - Writeln(HistoricoLog,FormatDateTime('dd/mm hh:nn:ss : ', Now) + '======================> Iniciando o Log do CACIC <=======================');  
126 - end;  
127 - DateTimeToString(strDataArqLocal, 'yyyymmdd', FileDateToDateTime(Fileage(g_oCacic.getCacicPath + 'cacic2.log')));  
128 - DateTimeToString(strDataAtual , 'yyyymmdd', Date);  
129 - if (strDataAtual <> strDataArqLocal) then // Se o arquivo INI não é da data atual...  
130 - begin  
131 - Rewrite (HistoricoLog); //Cria/Recria o arquivo  
132 - Append(HistoricoLog);  
133 - Writeln(HistoricoLog,FormatDateTime('dd/mm hh:nn:ss : ', Now) + '======================> Iniciando o Log do CACIC <=======================');  
134 - end;  
135 - Append(HistoricoLog);  
136 - Writeln(HistoricoLog,FormatDateTime('dd/mm hh:nn:ss : ', Now)+ '[Coletor MONI] '+strMsg); {Grava a string Texto no arquivo texto}  
137 - CloseFile(HistoricoLog); {Fecha o arquivo texto}  
138 - except  
139 - log_diario('Erro na gravação do log!');  
140 - end;  
141 -end;  
142 -  
143 -function GetVersionInfo(p_File: string):string;  
144 -var v_versao : string;  
145 -begin  
146 - PJVersionInfo1 := TPJVersionInfo.Create(nil);  
147 - PJVersionInfo1.FileName := p_File;  
148 - v_versao := VerFmt(PJVersionInfo1.FixedFileInfo.dwFileVersionMS, PJVersionInfo1.FixedFileInfo.dwFileVersionLS);  
149 - PJVersionInfo1.Free;  
150 - Result := v_versao;  
151 -end;  
152 -  
153 -// Baixada de http://www.infoeng.hpg.ig.com.br/borland_delphi_dicas_2.htm  
154 -function LetrasDrives: string;  
155 -var  
156 -Drives: DWord;  
157 -I, Tipo: byte;  
158 -v_Unidade : string;  
159 -begin  
160 -Result := '';  
161 -Drives := GetLogicalDrives;  
162 -if Drives <> 0 then  
163 -for I := 65 to 90 do  
164 - if ((Drives shl (31 - (I - 65))) shr 31) = 1 then  
165 - Begin  
166 - v_Unidade := Char(I) + ':\';  
167 - Tipo := GetDriveType(PChar(v_Unidade));  
168 - case Tipo of  
169 - DRIVE_FIXED: Result := Result + Char(I);  
170 - end;  
171 - End;  
172 -end;  
173 -  
174 -// By Muad Dib 2003  
175 -// at http://www.planet-source-code.com.  
176 -// Excelente!!!  
177 -function SearchFile(p_Drive,p_File:string) : boolean;  
178 -var sr:TSearchRec;  
179 - sDirList:TStringList;  
180 - i:integer;  
181 -begin  
182 - Result := false;  
183 - v_Res_Search := '';  
184 - if FindFirst(p_Drive+p_File,faAnyFile,sr) = 0 then  
185 - Begin  
186 - v_Res_Search := p_Drive+p_File;  
187 - Result := true;  
188 - End  
189 - else  
190 - Begin  
191 - repeat  
192 - until FindNext(sr)<>0;  
193 - FindClose(sr);  
194 - sDirList:= TStringList.Create;  
195 - try  
196 - GetSubDirs(p_Drive,sDirList);  
197 - for i:=0 to sDirList.Count-1 do  
198 - if (sDirList[i]<>'.') and (sDirList[i]<>'..') then  
199 - begin  
200 - //Application.ProcessMessages;  
201 - if (SearchFile(IncludeTrailingPathDelimiter(p_Drive+sDirList[i]),p_File)) then  
202 - Begin  
203 - Result := true;  
204 - Break;  
205 - End;  
206 - end;  
207 - finally  
208 - sDirList.Free;  
209 - End;  
210 - end;  
211 -end;  
212 -  
213 -Function CipherClose(p_DatFileName : string; p_tstrCipherOpened : TStrings) : String;  
214 -var v_strCipherOpenImploded : string;  
215 - v_DatFile : TextFile;  
216 -begin  
217 - try  
218 - FileSetAttr (p_DatFileName,0); // Retira os atributos do arquivo para evitar o erro FILE ACCESS DENIED em máquinas 2000  
219 - AssignFile(v_DatFile,p_DatFileName); {Associa o arquivo a uma variável do tipo TextFile}  
220 -  
221 - // Criação do arquivo .DAT  
222 - Rewrite (v_DatFile);  
223 - Append(v_DatFile);  
224 -  
225 - v_strCipherOpenImploded := g_oCacic.implode(p_tstrCipherOpened,g_oCacic.getSeparatorKey);  
226 - v_strCipherClosed := g_oCacic.enCrypt(v_strCipherOpenImploded);  
227 -  
228 - Writeln(v_DatFile,v_strCipherClosed); {Grava a string Texto no arquivo texto}  
229 -  
230 - CloseFile(v_DatFile);  
231 - except  
232 - end;  
233 -end;  
234 -  
235 -Function CipherOpen(p_DatFileName : string) : TStrings;  
236 -var v_DatFile : TextFile;  
237 - v_strCipherOpened,  
238 - v_strCipherClosed : string;  
239 -begin  
240 - v_strCipherOpened := '';  
241 - if FileExists(p_DatFileName) then  
242 - begin  
243 - AssignFile(v_DatFile,p_DatFileName);  
244 - {$IOChecks off}  
245 - Reset(v_DatFile);  
246 - {$IOChecks on}  
247 - if (IOResult <> 0) then // Arquivo não existe, será recriado.  
248 - begin  
249 - Rewrite (v_DatFile);  
250 - Append(v_DatFile);  
251 - end;  
252 -  
253 - Readln(v_DatFile,v_strCipherClosed);  
254 - while not EOF(v_DatFile) do Readln(v_DatFile,v_strCipherClosed);  
255 - CloseFile(v_DatFile);  
256 - v_strCipherOpened:= g_oCacic.deCrypt(v_strCipherClosed);  
257 - end;  
258 - if (trim(v_strCipherOpened)<>'') then  
259 - Result := g_oCacic.explode(v_strCipherOpened,g_oCacic.getSeparatorKey)  
260 - else  
261 - Result := g_oCacic.explode('Configs.ID_SO' + g_oCacic.getSeparatorKey + g_oCacic.getWindowsStrId() + g_oCacic.getSeparatorkey + 'Configs.Endereco_WS'+g_oCacic.getSeparatorkey+'/cacic2/ws/',g_oCacic.getSeparatorkey);  
262 -  
263 - if Result.Count mod 2 <> 0 then  
264 - Result.Add('');  
265 -end;  
266 -  
267 -Procedure SetValorDatMemoria(p_Chave : string; p_Valor : String; p_tstrCipherOpened : TStrings);  
268 -begin  
269 - // Exemplo: p_Chave => Configs.nu_ip_servidor : p_Valor => 10.71.0.120  
270 - if (p_tstrCipherOpened.IndexOf(p_Chave)<>-1) then  
271 - p_tstrCipherOpened[v_tstrCipherOpened.IndexOf(p_Chave)+1] := p_Valor  
272 - else  
273 - Begin  
274 - p_tstrCipherOpened.Add(p_Chave);  
275 - p_tstrCipherOpened.Add(p_Valor);  
276 - End;  
277 -end;  
278 -procedure log_DEBUG(p_msg:string);  
279 -Begin  
280 - if v_Debugs then log_diario('(v.'+getVersionInfo(ParamStr(0))+') DEBUG - '+p_msg);  
281 -End;  
282 -  
283 -Function GetValorDatMemoria(p_Chave : String; p_tstrCipherOpened : TStrings) : String;  
284 -begin  
285 - if (p_tstrCipherOpened.IndexOf(p_Chave)<>-1) then  
286 - Result := p_tstrCipherOpened[p_tstrCipherOpened.IndexOf(p_Chave)+1]  
287 - else  
288 - Result := '';  
289 -end;  
290 -  
291 -function GetRootKey(strRootKey: String): HKEY;  
292 -begin  
293 - if Trim(strRootKey) = 'HKEY_LOCAL_MACHINE' Then Result := HKEY_LOCAL_MACHINE  
294 - else if Trim(strRootKey) = 'HKEY_CLASSES_ROOT' Then Result := HKEY_CLASSES_ROOT  
295 - else if Trim(strRootKey) = 'HKEY_CURRENT_USER' Then Result := HKEY_CURRENT_USER  
296 - else if Trim(strRootKey) = 'HKEY_USERS' Then Result := HKEY_USERS  
297 - else if Trim(strRootKey) = 'HKEY_CURRENT_CONFIG' Then Result := HKEY_CURRENT_CONFIG  
298 - else if Trim(strRootKey) = 'HKEY_DYN_DATA' Then Result := HKEY_DYN_DATA;  
299 -end;  
300 -  
301 -Function RemoveCaracteresEspeciais(Texto : String) : String;  
302 -var I : Integer;  
303 - strAux : String;  
304 -Begin  
305 - For I := 0 To Length(Texto) Do  
306 - if ord(Texto[I]) in [32..126] Then  
307 - strAux := strAux + Texto[I]  
308 - else strAux := strAux + ' '; // Coloca um espaço onde houver caracteres especiais  
309 - Result := strAux;  
310 -end;  
311 -  
312 -function GetValorChaveRegEdit(Chave: String): Variant;  
313 -var RegEditGet: TRegistry;  
314 - RegDataType: TRegDataType;  
315 - strRootKey, strKey, strValue, s: String;  
316 - ListaAuxGet : TStrings;  
317 - DataSize, Len, I : Integer;  
318 -begin  
319 - try  
320 - Result := '';  
321 - ListaAuxGet := g_oCacic.explode(Chave, '\');  
322 -  
323 - strRootKey := ListaAuxGet[0];  
324 - For I := 1 To ListaAuxGet.Count - 2 Do strKey := strKey + ListaAuxGet[I] + '\';  
325 - strValue := ListaAuxGet[ListaAuxGet.Count - 1];  
326 - if (strValue = '(Padrão)') then strValue := ''; //Para os casos de se querer buscar o valor default (Padrão)  
327 - RegEditGet := TRegistry.Create;  
328 -  
329 - RegEditGet.Access := KEY_READ;  
330 - RegEditGet.Rootkey := GetRootKey(strRootKey);  
331 - if RegEditGet.OpenKeyReadOnly(strKey) then //teste  
332 - Begin  
333 - RegDataType := RegEditGet.GetDataType(strValue);  
334 - if (RegDataType = rdString) or (RegDataType = rdExpandString) then Result := RegEditGet.ReadString(strValue)  
335 - else if RegDataType = rdInteger then Result := RegEditGet.ReadInteger(strValue)  
336 - else if (RegDataType = rdBinary) or (RegDataType = rdUnknown)  
337 - then  
338 - begin  
339 - DataSize := RegEditGet.GetDataSize(strValue);  
340 - if DataSize = -1 then exit;  
341 - SetLength(s, DataSize);  
342 - Len := RegEditGet.ReadBinaryData(strValue, PChar(s)^, DataSize);  
343 - if Len <> DataSize then exit;  
344 - Result := RemoveCaracteresEspeciais(s);  
345 - end  
346 - end;  
347 - finally  
348 - RegEditGet.CloseKey;  
349 - RegEditGet.Free;  
350 - ListaAuxGet.Free;  
351 -  
352 - end;  
353 -end;  
354 -  
355 -function LastPos(SubStr, S: string): Integer;  
356 -var  
357 - Found, Len, Pos: integer;  
358 -begin  
359 - Pos := Length(S);  
360 - Len := Length(SubStr);  
361 - Found := 0;  
362 - while (Pos > 0) and (Found = 0) do  
363 - begin  
364 - if Copy(S, Pos, Len) = SubStr then  
365 - Found := Pos;  
366 - Dec(Pos);  
367 - end;  
368 - LastPos := Found;  
369 -end;  
370 -  
371 -  
372 -procedure Executa_Col_moni;  
373 -var tstrTripa2, tstrTripa3, v_array1, v_array2, v_array3, v_array4 : TStrings;  
374 - strAux, strAux1, strAux3, strAux4, strTripa, ValorChavePerfis, UVC, v_LetrasDrives, v_Data : String;  
375 - intAux4, v1, v3, v_achei : Integer;  
376 -  
377 -begin  
378 - Try  
379 - SetValorDatMemoria('Col_Moni.Inicio', FormatDateTime('hh:nn:ss', Now), v_tstrCipherOpened1);  
380 - // Verifica se deverá ser realizada a coleta de informações de sistemas monitorados neste  
381 - // computador, perguntando ao agente gerente.  
382 - log_diario('Coletando informações de Sistemas Monitorados.');  
383 - ShortDateFormat := 'dd/mm/yyyy';  
384 - intAux4 := 1;  
385 - strAux3 := '';  
386 - ValorChavePerfis := '*';  
387 - v_LetrasDrives := LetrasDrives;  
388 -  
389 - while ValorChavePerfis <> '' do  
390 - begin  
391 - strAux3 := 'SIS' + trim(inttostr(intAux4));  
392 - strTripa := ''; // Conterá as informações a serem enviadas ao Gerente.  
393 - // Obtenho do registro o valor que foi previamente armazenado  
394 - ValorChavePerfis := Trim(GetValorDatMemoria('Coletas.'+strAux3,v_tstrCipherOpened));  
395 -  
396 - if (ValorChavePerfis <> '') then  
397 - Begin  
398 - //Atenção, OS ELEMENTOS DEVEM ESTAR DE ACORDO COM A ORDEM QUE SÃO TRATADOS NO MÓDULO GERENTE.  
399 - tstrTripa2 := g_oCacic.explode(ValorChavePerfis,',');  
400 - if (strAux <> '') then strAux := strAux + '#';  
401 - strAux := strAux + trim(tstrTripa2[0]) + ',';  
402 -  
403 -  
404 - ///////////////////////////////////////////  
405 - ///// Coleta de Informação de Licença /////  
406 - ///////////////////////////////////////////  
407 -  
408 - //Vazio  
409 - if (trim(tstrTripa2[2])='0') then  
410 - Begin  
411 - strAux := strAux + ',';  
412 - End;  
413 -  
414 - //Caminho\Chave\Valor em Registry  
415 - if (trim(tstrTripa2[2])='1') then  
416 - Begin  
417 - strAux4 := '';  
418 - log_debug('Buscando informação de LICENÇA em '+tstrTripa2[3]);  
419 - Try  
420 - strAux4 := Trim(GetValorChaveRegEdit(trim(tstrTripa2[3])));  
421 - Except  
422 - End;  
423 - if (strAux4 = '') then strAux4 := '?';  
424 - strAux := strAux + strAux4 + ',';  
425 - End;  
426 -  
427 - //Nome/Seção/Chave de Arquivo INI  
428 - if (trim(tstrTripa2[2])='2') then  
429 - Begin  
430 - log_debug('Buscando informação de LICENÇA em '+tstrTripa2[3]);  
431 - Try  
432 - if (LastPos('/',trim(tstrTripa2[3]))>0) then  
433 - Begin  
434 - tstrTripa3 := g_oCacic.explode(trim(tstrTripa2[3]),'/');  
435 - //  
436 - for v1:=1 to length(v_LetrasDrives) do  
437 - Begin  
438 - v_File := trim(tstrTripa3[0]);  
439 - if (LastPos(':\',v_File)>0) then  
440 - Begin  
441 - v_Drive := Copy(v_File,1,3);  
442 - v_File := Copy(v_File,4,Length(v_File));  
443 - End  
444 - else  
445 - Begin  
446 - v_Drive := v_LetrasDrives[v1] + ':';  
447 - if (Copy(v_File,1,1)<>'\') then v_Drive := v_Drive + '\';  
448 - v_File := Copy(v_File,1,Length(v_File));  
449 - End;  
450 -  
451 - strAux1 := ExtractShortPathName(v_Drive + v_File);  
452 - if (strAux1 = '') then  
453 - begin  
454 - if (SearchFile(v_Drive,v_File)) then  
455 - Begin  
456 - strAux1 := v_Res_Search;  
457 - break;  
458 - End;  
459 - end  
460 - else break;  
461 - End;  
462 -  
463 - strAux4 := Trim(GetValorChaveRegIni(tstrTripa3[1],tstrTripa3[2],strAux1));  
464 - if (strAux4 = '') then strAux4 := '?';  
465 - strAux := strAux + strAux4 + ',';  
466 - End;  
467 -  
468 - if (LastPos('/',trim(tstrTripa2[3]))=0) then  
469 - Begin  
470 - strAux := strAux + 'Parâm.Lic.Incorreto,';  
471 - End  
472 - Except  
473 - strAux := strAux + 'Parâm.Lic.Incorreto,';  
474 - End;  
475 - End;  
476 -  
477 -  
478 -  
479 - //////////////////////////////////////////////  
480 - ///// Coleta de Informação de Instalação /////  
481 - //////////////////////////////////////////////  
482 -  
483 - //Vazio  
484 - if (trim(tstrTripa2[5])='0') then  
485 - Begin  
486 - strAux := strAux + ',';  
487 - End;  
488 -  
489 - //Nome de Executável OU Nome de Arquivo de Configuração (CADPF!!!)  
490 - if (trim(tstrTripa2[5])='1') or (trim(tstrTripa2[5]) = '2') then  
491 - Begin  
492 - strAux1 := '';  
493 - for v1:=1 to length(v_LetrasDrives) do  
494 - Begin  
495 - v_File := trim(tstrTripa2[6]);  
496 - log_debug('Buscando informação de INSTALAÇÃO em '+tstrTripa2[6]);  
497 - if (LastPos(':\',v_File)>0) then  
498 - Begin  
499 - v_Drive := Copy(v_File,1,3);  
500 - v_File := Copy(v_File,4,Length(v_File));  
501 - End  
502 - else  
503 - Begin  
504 - v_Drive := v_LetrasDrives[v1] + ':';  
505 - if (Copy(v_File,1,1)<>'\') then v_Drive := v_Drive + '\';  
506 - v_File := Copy(v_File,1,Length(v_File));  
507 - End;  
508 -  
509 - strAux1 := ExtractShortPathName(v_Drive + v_File);  
510 - if (strAux1 = '') then  
511 - begin  
512 - if (SearchFile(v_Drive,v_File)) then  
513 - Begin  
514 - strAux1 := v_Res_Search;  
515 - break;  
516 - End;  
517 - end  
518 - else break;  
519 -  
520 - End;  
521 -  
522 - if (strAux1 <> '') then strAux := strAux + 'S,';  
523 - if (strAux1 = '') then strAux := strAux + 'N,';  
524 - strAux1 := '';  
525 - End;  
526 -  
527 - //Caminho\Chave\Valor em Registry  
528 - if (trim(tstrTripa2[5])='3') then  
529 - Begin  
530 - strAux1 := '';  
531 - Try  
532 - log_debug('Buscando informação de INSTALAÇÃO em '+tstrTripa2[6]);  
533 - strAux1 := Trim(GetValorChaveRegEdit(trim(tstrTripa2[6])));  
534 - Except  
535 - End;  
536 - if (strAux1 <> '') then strAux := strAux + 'S,';  
537 - if (strAux1 = '') then strAux := strAux + 'N,';  
538 - strAux1 := '';  
539 - End;  
540 -  
541 -  
542 -  
543 - //////////////////////////////////////////  
544 - ///// Coleta de Informação de Versão /////  
545 - //////////////////////////////////////////  
546 -  
547 - //Vazio  
548 - if (trim(tstrTripa2[7])='0') then  
549 - Begin  
550 - strAux := strAux + ',';  
551 - End;  
552 -  
553 - //Data de Arquivo  
554 - if (trim(tstrTripa2[7])='1') then  
555 - Begin  
556 - strAux1 := '';  
557 - log_debug('Buscando informação de VERSÃO em '+tstrTripa2[8]);  
558 - for v1:=1 to length(v_LetrasDrives) do  
559 - Begin  
560 - v_File := trim(tstrTripa2[8]);  
561 - if (LastPos(':\',v_File)>0) then  
562 - Begin  
563 - v_Drive := Copy(v_File,1,3);  
564 - v_File := Copy(v_File,4,Length(v_File));  
565 - End  
566 - else  
567 - Begin  
568 - v_Drive := v_LetrasDrives[v1] + ':';  
569 - if (Copy(v_File,1,1)<>'\') then v_Drive := v_Drive + '\';  
570 - v_File := Copy(v_File,1,Length(v_File));  
571 - End;  
572 -  
573 - strAux1 := ExtractShortPathName(v_Drive + v_File);  
574 - if (strAux1 = '') then  
575 - begin  
576 - if (SearchFile(v_Drive,v_File)) then  
577 - Begin  
578 - strAux1 := v_Res_Search;  
579 - break;  
580 - End;  
581 - end  
582 - else break;  
583 - End;  
584 -  
585 - if (strAux1 <> '') then  
586 - Begin  
587 - v_Data := StringReplace(DateToStr(FileDateToDateTime(FileAge(strAux1))),'.','/',[rfReplaceAll]);  
588 - v_Data := StringReplace(v_Data,'-','/',[rfReplaceAll]);  
589 - strAux := strAux + v_Data + ',';  
590 - v_Data := '';  
591 - End;  
592 -  
593 - if (strAux1 = '') then strAux := strAux + '?,';  
594 - strAux1 := '';  
595 - End;  
596 -  
597 - //Caminho\Chave\Valor em Registry  
598 - if (trim(tstrTripa2[7])='2') then  
599 - Begin  
600 - strAux1 := '';  
601 - log_debug('Buscando informação de VERSÃO em '+tstrTripa2[8]);  
602 - Try  
603 - strAux1 := Trim(GetValorChaveRegEdit(trim(tstrTripa2[8])));  
604 - Except  
605 - End;  
606 - if (strAux1 <> '') then strAux := strAux + strAux1 + ',';  
607 - if (strAux1 = '') then strAux := strAux + '?,';  
608 - strAux1 := '';  
609 - End;  
610 -  
611 -  
612 - //Nome/Seção/Chave de Arquivo INI  
613 - if (trim(tstrTripa2[7])='3') then  
614 - Begin  
615 - Try  
616 - log_debug('Buscando informação de VERSÃO em '+tstrTripa2[8]);  
617 - if (LastPos('/',trim(tstrTripa2[8]))>0) then  
618 - Begin  
619 - tstrTripa3 := g_oCacic.explode(trim(tstrTripa2[8]),'/');  
620 - //  
621 - for v1:=1 to length(v_LetrasDrives) do  
622 - Begin  
623 - v_File := trim(tstrTripa3[0]);  
624 - if (LastPos(':\',v_File)>0) then  
625 - Begin  
626 - v_Drive := Copy(v_File,1,3);  
627 - v_File := Copy(v_File,4,Length(v_File));  
628 - End  
629 - else  
630 - Begin  
631 - v_Drive := v_LetrasDrives[v1] + ':';  
632 - if (Copy(v_File,1,1)<>'\') then v_Drive := v_Drive + '\';  
633 - v_File := Copy(v_File,1,Length(v_File));  
634 - End;  
635 -  
636 - strAux1 := ExtractShortPathName(v_Drive + v_File);  
637 - if (strAux1 = '') then  
638 - begin  
639 - if (SearchFile(v_Drive,v_File)) then  
640 - Begin  
641 - strAux1 := v_Res_Search;  
642 - break;  
643 - End;  
644 - end  
645 - else break;  
646 - End;  
647 -  
648 - //  
649 - strAux4 := Trim(GetValorChaveRegIni(tstrTripa3[1],tstrTripa3[2],strAux1));  
650 - if (strAux4 = '') then strAux4 := '?';  
651 - strAux := strAux + strAux4 + ',';  
652 - End  
653 - else  
654 - Begin  
655 - strAux := strAux + 'Parâm.Versao Incorreto,';  
656 - End;  
657 - Except  
658 - End;  
659 - End;  
660 -  
661 -  
662 - //Versão de Executável  
663 - if (trim(tstrTripa2[7])='4') then  
664 - Begin  
665 - log_debug('Buscando informação de VERSÃO em '+tstrTripa2[8]);  
666 - Try  
667 - v_achei := 0;  
668 - for v1:=1 to length(v_LetrasDrives) do  
669 - Begin  
670 - if v_achei = 0 then  
671 - Begin  
672 - v_File := trim(tstrTripa2[8]);  
673 - if (LastPos(':\',v_File)>0) then  
674 - Begin  
675 - v_Drive := Copy(v_File,1,3);  
676 - v_File := Copy(v_File,4,Length(v_File));  
677 - End  
678 - else  
679 - Begin  
680 - v_Drive := v_LetrasDrives[v1] + ':';  
681 - if (Copy(v_File,1,1)<>'\') then v_Drive := v_Drive + '\';  
682 - v_File := Copy(v_File,1,Length(v_File));  
683 - End;  
684 -  
685 - strAux1 := ExtractShortPathName(v_Drive + v_File);  
686 - if (strAux1 = '') then  
687 - begin  
688 - if (SearchFile(v_Drive,v_File)) then  
689 - Begin  
690 - strAux1 := v_Res_Search;  
691 - v_achei := 1;  
692 - End;  
693 - end  
694 - else v_achei := 1;  
695 - End;  
696 - End;  
697 - Except  
698 - End;  
699 -  
700 - if (strAux1 <> '') then  
701 - Begin  
702 - strAux := strAux + getVersionInfo(strAux1);  
703 - End  
704 - else strAux := strAux + '?';  
705 -  
706 - strAux := strAux + ',';  
707 -  
708 - End;  
709 -  
710 -  
711 - //////////////////////////////////////////  
712 - ///// Coleta de Informação de Engine /////  
713 - //////////////////////////////////////////  
714 -  
715 - //Vazio  
716 - if (trim(tstrTripa2[9])='.') then  
717 - Begin  
718 - strAux := strAux + ',';  
719 - End;  
720 -  
721 - //Arquivo para Versão de Engine  
722 - //O ponto é proposital para quando o último parâmetro vem vazio do Gerente!!! :)  
723 - if (trim(tstrTripa2[9])<>'.') then  
724 - Begin  
725 - log_debug('Buscando informação de ENGINE em '+tstrTripa2[9]);  
726 - for v1:=1 to length(v_LetrasDrives) do  
727 - Begin  
728 - v_File := trim(tstrTripa2[9]);  
729 - if (LastPos(':\',v_File)>0) then  
730 - Begin  
731 - v_Drive := Copy(v_File,1,3);  
732 - v_File := Copy(v_File,4,Length(v_File));  
733 - End  
734 - else  
735 - Begin  
736 - v_Drive := v_LetrasDrives[v1] + ':';  
737 - if (Copy(v_File,1,1)<>'\') then v_Drive := v_Drive + '\';  
738 - v_File := Copy(v_File,1,Length(v_File));  
739 - End;  
740 -  
741 - strAux1 := ExtractShortPathName(v_Drive + v_File);  
742 - if (strAux1 = '') then  
743 - begin  
744 - if (SearchFile(v_Drive,v_File)) then  
745 - Begin  
746 - strAux1 := v_Res_Search;  
747 - break;  
748 - End;  
749 - end  
750 - else break;  
751 - End;  
752 - if (strAux1 <> '') then  
753 - Begin  
754 - tstrTripa3 := g_oCacic.explode(getVersionInfo(strAux1), '.'); // Pego só os dois primeiros dígitos. Por exemplo: 6.640.0.1001 vira 6.640.  
755 - strAux := strAux + tstrTripa3[0] + '.' + tstrTripa3[1];  
756 - End;  
757 - End;  
758 -  
759 -  
760 - ///////////////////////////////////////////  
761 - ///// Coleta de Informação de Pattern /////  
762 - ///////////////////////////////////////////  
763 -  
764 - //Arquivo para Versão de Pattern  
765 - //O ponto é proposital para quando o último parâmetro vem vazio do Gerente!!! :)  
766 - strAux1 := '';  
767 - if (trim(tstrTripa2[10])<>'.') then  
768 - Begin  
769 - log_debug('Buscando informação de PATTERN em '+tstrTripa2[9]);  
770 - for v1:=1 to length(v_LetrasDrives) do  
771 - Begin  
772 - v_File := trim(tstrTripa2[10]);  
773 - if (LastPos(':\',v_File)>0) then  
774 - Begin  
775 - v_Drive := Copy(v_File,1,3);  
776 - v_File := Copy(v_File,4,Length(v_File));  
777 - End  
778 - else  
779 - Begin  
780 - v_Drive := v_LetrasDrives[v1] + ':';  
781 - if (Copy(v_File,1,1)<>'\') then v_Drive := v_Drive + '\';  
782 - v_File := Copy(v_File,1,Length(v_File));  
783 - End;  
784 -  
785 - strAux1 := ExtractShortPathName(v_Drive + v_File);  
786 - if (strAux1 = '') then  
787 - begin  
788 - if (SearchFile(v_Drive, v_File)) then  
789 - Begin  
790 - strAux1 := v_Res_Search;  
791 - break;  
792 - End;  
793 - end  
794 - else break;  
795 -  
796 - End;  
797 - End;  
798 - if (strAux1 <> '') then  
799 - Begin  
800 - tstrTripa3 := g_oCacic.explode(getVersionInfo(strAux1), '.'); // Pego só os dois primeiros dígitos. Por exemplo: 6.640.0.1001 vira 6.640.  
801 - strAux := strAux + tstrTripa3[0] + '.' + tstrTripa3[1];  
802 - End;  
803 - if (strAux1 = '') then strAux := strAux + ',';  
804 - strAux1 := '';  
805 - End;  
806 - intAux4 := intAux4 + 1;  
807 - End;  
808 -  
809 - UVC := Trim(GetValorDatMemoria('Coletas.Sistemas_Monitorados',v_tstrCipherOpened));  
810 -  
811 - SetValorDatMemoria('Col_Moni.Fim' , FormatDateTime('hh:nn:ss', Now), v_tstrCipherOpened1);  
812 -  
813 - If (GetValorDatMemoria('Configs.IN_COLETA_FORCADA_MONI',v_tstrCipherOpened)='S') or (trim(strAux) <> trim(UVC)) Then  
814 - Begin  
815 - if (trim(UVC) <> '') then  
816 - begin  
817 - v_array1 := g_oCacic.explode(strAux, '#');  
818 - strAux := '';  
819 - v_array3 := g_oCacic.explode(UVC, '#');  
820 - for v1 := 0 to (v_array1.count)-1 do  
821 - Begin  
822 - v_array2 := g_oCacic.explode(v_array1[v1], ',');  
823 - v_achei := 0;  
824 - for v3 := 0 to (v_array3.count)-1 do  
825 - Begin  
826 - v_array4 := g_oCacic.explode(v_array3[v3], ',');  
827 - if (v_array4=v_array2) then v_achei := 1;  
828 - End;  
829 - if (v_achei = 0) then  
830 - Begin  
831 - if (strAUX <> '') then strAUX := strAUX + '#';  
832 - strAUX := strAUX + v_array1[v1];  
833 - End;  
834 - End;  
835 - end;  
836 - log_debug('Coleta anterior: '+UVC);  
837 - log_debug('Coleta atual...: '+strAux);  
838 - SetValorDatMemoria('Col_Moni.UVC', strAux, v_tstrCipherOpened1);  
839 - CipherClose(g_oCacic.getCacicPath + 'temp\col_moni.dat', v_tstrCipherOpened1);  
840 - end  
841 - else  
842 - Begin  
843 - log_debug('Nenhuma Coleta Efetuada');  
844 - SetValorDatMemoria('Col_Moni.nada', 'nada', v_tstrCipherOpened1);  
845 - CipherClose(g_oCacic.getCacicPath + 'temp\col_moni.dat', v_tstrCipherOpened1);  
846 - End;  
847 -  
848 - Except  
849 - Begin  
850 - SetValorDatMemoria('Col_Moni.nada', 'nada', v_tstrCipherOpened1);  
851 - SetValorDatMemoria('Col_Moni.Fim', '99999999', v_tstrCipherOpened1);  
852 - CipherClose(g_oCacic.getCacicPath + 'temp\col_moni.dat', v_tstrCipherOpened1);  
853 - End;  
854 - End;  
855 -END;  
856 -  
857 -function GetFolderDate(Folder: string): TDateTime;  
858 -var  
859 - Rec: TSearchRec;  
860 - Found: Integer;  
861 - Date: TDateTime;  
862 -begin  
863 - if Folder[Length(folder)] = '\' then  
864 - Delete(Folder, Length(folder), 1);  
865 - Result := 0;  
866 - Found := FindFirst(Folder, faDirectory, Rec);  
867 - try  
868 - if Found = 0 then  
869 - begin  
870 - Date := FileDateToDateTime(Rec.Time);  
871 - Result := Date;  
872 - end;  
873 - finally  
874 - FindClose(Rec);  
875 - end;  
876 -end;  
877 -  
878 -var strAux : String;  
879 -begin  
880 - g_oCacic := TCACIC.Create();  
881 -  
882 - g_oCacic.setBoolCipher(true);  
883 -  
884 - if( not g_oCacic.isAppRunning( CACIC_APP_NAME ) ) then  
885 - if (ParamCount>0) then  
886 - Begin  
887 - strAux := '';  
888 - For intAux := 1 to ParamCount do  
889 - Begin  
890 - if LowerCase(Copy(ParamStr(intAux),1,11)) = '/cacicpath=' then  
891 - begin  
892 - strAux := Trim(Copy(ParamStr(intAux),12,Length((ParamStr(intAux)))));  
893 - log_DEBUG('Parâmetro /CacicPath recebido com valor="'+strAux+'"');  
894 - end;  
895 - end;  
896 -  
897 - if (strAux <> '') then  
898 - Begin  
899 - g_oCacic.setCacicPath(strAux);  
900 - v_Debugs := false;  
901 - if DirectoryExists(g_oCacic.getCacicPath + 'Temp\Debugs') then  
902 - Begin  
903 - if (FormatDateTime('ddmmyyyy', GetFolderDate(g_oCacic.getCacicPath + 'Temp\Debugs')) = FormatDateTime('ddmmyyyy', date)) then  
904 - Begin  
905 - v_Debugs := true;  
906 - log_diario('Pasta "' + g_oCacic.getCacicPath + 'Temp\Debugs" com data '+FormatDateTime('dd-mm-yyyy', GetFolderDate(g_oCacic.getCacicPath + 'Temp\Debugs'))+' encontrada. DEBUG ativado.');  
907 - End;  
908 - End;  
909 -  
910 - v_tstrCipherOpened := TStrings.Create;  
911 - v_tstrCipherOpened := CipherOpen(g_oCacic.getCacicPath + g_oCacic.getDatFileName);  
912 -  
913 - v_tstrCipherOpened1 := TStrings.Create;  
914 - v_tstrCipherOpened1 := CipherOpen(g_oCacic.getCacicPath + 'temp\col_moni.dat');  
915 -  
916 - Try  
917 - Executa_Col_moni;  
918 - Except  
919 - SetValorDatMemoria('Col_Moni.nada', 'nada', v_tstrCipherOpened1);  
920 - CipherClose(g_oCacic.getCacicPath + 'temp\col_moni.dat', v_tstrCipherOpened1);  
921 - End;  
922 - End;  
923 - End;  
924 -  
925 - g_oCacic.Free();  
926 -  
927 -end.  
col_moni/col_moni.res
No preview for this file type
col_moni/col_moni_icon.ico
No preview for this file type