Escolar Documentos
Profissional Documentos
Cultura Documentos
###,##0.00
O Active Directory Service Interfaces (ADSI) nos d� uma interface COM para
interagirmos com o Active Directory, portanto, vamos adicionar a unit ActiveX na
uses list para utilizarmos esta interface.
Para que possamos validar o login e a senha do usu�rio, necessitamos utilizar uma
interface requerida em objetos ADSI para capturar algumas propriedades e um m�todo
para comparar estas informa��es com os objetos do Active Directory. Para tanto,
adicionemos em nossa aplica��o as units ActiveDs_Tlb e Adshlp, as quais se
encontram no final deste artigo, juntamente com o c�digo fonte deste projeto-
exemplo, n�o se esquecendo de adicion�-las tamb�m � aplica��o.
if IsZoomed(Form1.Handle) then
{ Form1 est� maximizado }
else
{ Form2 N�O est� maximizado }
In�cio
Determinar se o aplicativo est� minimizado
Inclua na se��o uses: Windows
if IsIconic(Application.Handle) then
{ Minimizado }
else
{ N�o minimizado }
Observa��es
Function Nome_Computador():String;
var
registro : tregistry;
begin
registro:=tregistry.create;
registro.RootKey:=HKEY_LOCAL_MACHINE;
registro.openkey('System\CurrentControlSet\Services\VXD\VNETSUP',false);
result:=registro.readstring('ComputerName');
if result = '' then
begin
registro.openkey('System\CurrentControlSet\Control\ComputerName\
ComputerName',false);
Result:=registro.readstring('ComputerName');
end;
end;
Isso vai lhe permitir mudar a pasta do programa depois e as fotos ser�o
corretamente lidas.
JPG := TJpegImage.Create;
JPG.Assign(BMP);
JPG.CompressionQuality:= 100;
JPG.Performance:= jpBestQuality;
JPG.SaveToFile(Arq);
JPG.Free;
BMP.Free;
end;
end;
result := Contador;
end;
end;
result := Contador;
end;
Contador := 0;
While (DataI <= DataF) do Begin
If ((DayOfWeek(DataI) = 1) or (DayOfWeek(DataI) = 7)) then
//Inc(Contador);
DataF := DataF + 1;
DataI := DataI + 1;
End;
function ConverteData(data:String):TDate;
Begin
If (data <>) '' and (Length(data)= 8)Then
Result:= StrToDate(copy(data, 7,2) + '/'+ copy(data, 5,2)+ '/' + copy(data,
1,4))
Else Result:= StrToDate(01/01/1899');
End;
//Delimitador
Somar horas
Begin
Horas:= 0;
Horas2:= 0;
Minutos:= 0;
Minutos2:=0;
Total1:= 0;
Total2:= 0;
Renomear arquivo
Procedure TfrEstimativa.Renomear(original:String);
var
sAux, sCaminho: string;
begin
sCaminho:= ExtractFilePath(Application.ExeName)+ 'Estimativas\Pendentes';
If FileExists(sCaminho + original) then Begin
sAux:= Trim(AnsiReplaceStr(original,'FastReport_ ',''));
If FileExists(sCaminho +sAux)Then
DeleteFile(sCaminho +sAux);
If RenameFile(sCaminho +original, sCaminho +sAux) then
Log(date(),'Renomeado com sucesso','iTracker','ITK002')
Else
Log(date(),'Erro Renomear','iTracker','ITK002');
End;
End;
begin
end;
begin
Key :=UpCase(Key);
end;
Se a mensagem WM_CLOSE for enviada antes do formul�rio ser exibido, a sua exibi��o
ser� cancelada:
Validar datas
try
StrToDate(Edit1.Text);
except
on EConvertError do
ShowMessage ('Data Inv�lida!');
end;
FindClose(search_rec);
end;
// exibe o resultado
ShowMessage('O tamanho do arquivo �: ' +
TamanhoArquivoFormatado(TamanhoArquivoBytes(arquivo)));
end;
[[csFch."Unitario"] + ([csFch."Ipi_Valor"]/[csFch."Quantidade"]) -
[csFch."ISS_Valor"]]
{Desligar o Windows}
procedure TForm1.Button1Click(Sender: TObject);
begin
ExitWindowsEx(EWX_SHUTDOWN,0);
end;
{Rebootar}
procedure TForm1.Button3Click(Sender: TObject);
begin
ExitWindowsEx(EWX_REBOOT,0);
end;
///h� v�rias fun��es como por exemplo:
Valores de uFlags:
ele fecha todos os programas e informa que o sistema pode ser desligado).
EWX_REBOOT - Reinicializa o computador
//Exemplo de uso:
with Memo1.Lines.Add do
begin
Add(GetEnvVarValue('ALLUSERSPROFILE'));
Add(GetEnvVarValue('APPDATA'));
Add(GetEnvVarValue('CLIENTNAME'));
Add(GetEnvVarValue('CommonProgramFiles'));
Add(GetEnvVarValue('COMPUTERNAME'));
Add(GetEnvVarValue('ComSpec'));
Add(GetEnvVarValue('HOMEDRIVE'));
Add(GetEnvVarValue('HOMEPATH'));
Add(GetEnvVarValue('LOGONSERVER'));
Add(GetEnvVarValue('NUMBER_OF_PROCESSORS'));
Add(GetEnvVarValue('OS'));
Add(GetEnvVarValue('Path'));
Add(GetEnvVarValue('PATHEXT'));
Add(GetEnvVarValue('PCToolsDir'));
Add(GetEnvVarValue('PROCESSOR_ARCHITECTURE'));
Add(GetEnvVarValue('PROCESSOR_IDENTIFIER'));
Add(GetEnvVarValue('PROCESSOR_LEVEL'));
Add(GetEnvVarValue('PROCESSOR_REVISION'));
Add(GetEnvVarValue('ProgramFiles'));
Add(GetEnvVarValue('SESSIONNAME'));
Add(GetEnvVarValue('SystemDrive'));
Add(GetEnvVarValue('SystemRoot'));
Add(GetEnvVarValue('TEMP'));
Add(GetEnvVarValue('TMP'));
Add(GetEnvVarValue('USERDOMAIN'));
Add(GetEnvVarValue('USERNAME'));
Add(GetEnvVarValue('USERPROFILE'));
Add(GetEnvVarValue('windir'));
end;
Copiar arquivos
Procedure FileCopy( Const sourcefilename, targetfilename: String );
Var
S, T: TFileStream;
Begin
S := TFileStream.Create( sourcefilename, fmOpenRead );
try
T := TFileStream.Create( targetfilename, fmOpenWrite or fmCreate );
try
T.CopyFrom(S, S.Size ) ;
finally
T.Free;
end;
finally
S.Free;
end;
End;
System.CloseFile(ToF);
end;
C�digo:
function PegarOs: String;
var
PlatformId, VersionNumber: string;
CSDVersion: String;
begin
CSDVersion := '';
// Detecta Plataforma
case Win32Platform of
// Teste para familia do windows 95,9X
VER_PLATFORM_WIN32_WINDOWS:
begin
if Win32MajorVersion = 4 then
case Win32MinorVersion of
0: if (Length(Win32CSDVersion) > 0) and
(Win32CSDVersion[1] in ['B', 'C']) then
PlatformId := '95 OSR2'
else
PlatformId := '95';
10: if (Length(Win32CSDVersion) > 0) and
(Win32CSDVersion[1] = 'A') then
PlatformId := '98 SE'
else
PlatformId := '98';
90: PlatformId := 'ME';
end
else
PlatformId := '9x version (unknown)';
end;
//Teste para familia NT
VER_PLATFORM_WIN32_NT:
begin
if Length(Win32CSDVersion) > 0 then CSDVersion := Win32CSDVersion;
if Win32MajorVersion <= 4 then
PlatformId := 'NT'
else
if Win32MajorVersion = 5 then
case Win32MinorVersion of
0: PlatformId := '2000';
1: PlatformId := 'XP';
2: PlatformId := 'Server 2003';
end
else if (Win32MajorVersion = 6) and (Win32MinorVersion = 0) then
PlatformId := 'Vista'
else
PlatformId := 'Windows 7';
end;
end;
Result :=PlatformId;
end;
Autor: TGA
� Obtendo MacAddress
C�digo:
Function MacAddress: string;
var
ID1, ID2: TGUID;
apiFunc:Function(GUID: PGUID): Longint; stdcall;
dll:cardinal;
begin
Result := '';
dll := LoadLibrary('rpcrt4.dll');
if dll <> 0 then
begin
@apiFunc := GetProcAddress(dll, 'UuidCreateSequential');
if Assigned(apiFunc) then
begin
if (apiFunc(@ID1) = 0) and
(apiFunc(@ID2) = 0) and
(ID1.D4[2] = ID2.D4[2]) and
(ID1.D4[3] = ID2.D4[3]) and
(ID1.D4[4] = ID2.D4[4]) and
(ID1.D4[5] = ID2.D4[5]) and
(ID1.D4[6] = ID2.D4[6]) and
(ID1.D4[7] = ID2.D4[7]) then
begin
Result :=
IntToHex(ID1.D4[2], 2) + '-' +
IntToHex(ID1.D4[3], 2) + '-' +
IntToHex(ID1.D4[4], 2) + '-' +
IntToHex(ID1.D4[5], 2) + '-' +
IntToHex(ID1.D4[6], 2) + '-' +
IntToHex(ID1.D4[7], 2);
end;
end;
end;
end;
Autor:TGA/DarkLordn
� Obtendo Resolucao
C�digo:
Function Resolucao() : String;
var W,h:String;
begin
w := INtTOStr(screen.Width);
h := IntToStr(screen.Height);
Result := w+' x '+h;
end;
Autor:TGA