Salu2.

Escrito 26 julio 2010 - 01:37
Escrito 26 julio 2010 - 01:45
Quisiera saber si Delphi puede reconocer las Environment variables como %windir%, %SystemDrive%, etc.?
Salu2.![]()
Escrito 26 julio 2010 - 01:46
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(GetEnvironmentVariable('WINDIR')); //%WinDir% ShowMessage(GetEnvironmentVariable('SYSTEMDRIVE')); //%SystemDrive% ShowMessage(GetEnvironmentVariable('TEMP')); // %Temp% end;
Escrito 26 julio 2010 - 02:05
Escrito 26 julio 2010 - 03:13
procedure TForm1.Button1Click(Sender: TObject); var sr: TSearchRec; begin if findfirst(GetEnvironmentVariable('WINDIR')+'\system32\*.cpl',faanyFile,sr) = 0 then ShowMessage(sr.name); end;
Escrito 26 julio 2010 - 03:35
procedure TForm1.Button1Click(Sender: TObject); var Len: Integer; S: string; begin SetLength(S, Len); Len := GetSystemDirectory(PChar(S), Len); SetLength(S, Len); ShowMessage(S); end;
Escrito 27 julio 2010 - 07:28
Escrito 27 julio 2010 - 07:39
Por ejemplo si hago esto estaria bien no?
En este caso el listado que tengo en archivos le saco el windir no?
Salu2.
archivos := '\WindowsUpdate.log'; if FileExists(GetEnvironmentVariable ('Windir') + archivos) then begin memo1.lines.add(archivos + ' encontrado!'); end;
Escrito 27 julio 2010 - 08:52
archivos := 'WindowsUpdate.log'; if FileExists(IncludeTrailingPathDelimiter(GetEnvironmentVariable ('Windir')) + archivos) then begin memo1.lines.add(archivos + ' encontrado!'); end;
Escrito 27 julio 2010 - 09:11
Escrito 27 julio 2010 - 11:24
Escrito 27 julio 2010 - 08:02
Yo no recordaba bien el nombre de la función... es que es muy largoBuenas,
A mi personalmente no me gusta incluir la barra invertida en el nombre de los archivos, pero como muchas veces no sabemos si tenemos o no dicha barra en la ruta dada por una determinada función, lo que suelo hacer es compaginar la función deseada con IncludeTrailingPathDelimiter
delphi
archivos := 'WindowsUpdate.log'; if FileExists(IncludeTrailingPathDelimiter(GetEnvironmentVariable ('Windir')) + archivos) then begin memo1.lines.add(archivos + ' encontrado!'); end;
Espero os sirva
Nos leemos
PD: no confundir con IncludeTrailingBackslash, la cual está fuera de uso.
This function is included for backward-compatibility only. New programs should use IncludeTrailingPathDelimiter.