segunda-feira, 22 de julho de 2019

TVertScrollBox

Para posicionar o item dentro de um TVertScrollBox


  VertScrollBox1.ViewportPosition :=  PointF(VertScrollBox1.ViewportPosition.X, Posicao);

sexta-feira, 12 de julho de 2019

Reduzir tamanho imagem

uses Vcl.Imaging.jpeg;


function CAPAS_REDUZ(ORIG,DEST:string; const fWidth, fHeight: integer):Boolean;
var pTemp: TBitmap;
begin
try
try
pTemp := nil;
ptemp := TBitmap.Create;
pTemp.LoadFromFile(ORIG);
if (pTemp.Width > fWidth) or (pTemp.Height > fHeight) then
begin
pTemp := pTemp.CreateThumbnail(fWidth,fHeight);
pTemp.SaveToFile(DEST);
end
else
CopyFile(PChar(ORIG), PChar(DEST), true);
result := true;
finally
FreeAndNil(pTemp);
end;
except
FreeAndNil(pTemp);
result := false;
end;
end;

terça-feira, 9 de julho de 2019

Modelo de uma thread Delphi XE

var vThread: TThread; begin vThread := TThread.CreateAnonymousThread(procedure () var VReturnVersaoApp: string; VTestConnection: Boolean; begin TThread.Synchronize (TThread.CurrentThread, procedure () begin end); end); vThread.FreeOnTerminate := True; vThread.Start();

segunda-feira, 8 de julho de 2019

Obter o nome da pasta onde esta o executavel

Para  obter a pasta onde esta o executável Delphi

Function ObterNomePastaExecutavel;
begin
   Result := ExtractFilePath(ParamStr(0));
end;


quarta-feira, 3 de julho de 2019

MD5 com Indy

A função/método abaixo dá um exemplo de como implementar MD5:

Inclua na seção "USES" a unit "IdHashMessageDigest"
//uses
//IdHashMessageDigest;



function MD5(const texto:string):string;
var
  idmd5 : TIdHashMessageDigest5;
begin
  idmd5 := TIdHashMessageDigest5.Create;
  try
    result := idmd5.HashStringAsHex(texto);
  finally
    idmd5.Free;
  end;
end;


Para criptografar um arquivo inteiro use a função abaixo.

function MD5(const fileName : string) : string;
var
  idmd5 : TIdHashMessageDigest5;
  fs : TFileStream;
begin
  idmd5 := TIdHashMessageDigest5.Create;

  fs := TFileStream.Create(fileName, fmOpenRead OR fmShareDenyWrite) ;
  try
    result := idmd5.HashStreamAsHex(fs);
  finally
    fs.Free;
    idmd5.Free;
  end;
end;

para usar a função basta chama-la passando o caminho completo do arquivo que queremos criptografar, ela
retornará o hash desse arquivo.