maskofa

Function Md5Checksum and AppVersion

May 5th, 2020
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.18 KB | None | 0 0
  1. //diimplementasi lancar di Delphi7 dan Delphi RIO 10.3.3
  2. function Md5Checksum: string;
  3. var
  4.   IdMD5: TIdHashMessageDigest5;
  5.   FS: TFileStream;
  6.   FileName: String;
  7. begin
  8.   FileName := Paramstr(0);
  9.   IdMD5 := TIdHashMessageDigest5.Create;
  10.   FS    := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
  11.   try
  12.     Result := LowerCase(IdMD5.HashStreamAsHex(FS));
  13.   finally
  14.     FS.Free;
  15.     IdMD5.Free;
  16.   end;
  17. end;
  18.  
  19. function ProgramVersion: string;
  20. var
  21.   VerInfoSize: DWORD;
  22.   VerInfo: Pointer;
  23.   VerValueSize: DWORD;
  24.   VerValue: PVSFixedFileInfo;
  25.   Dummy: DWORD;
  26.   sFileName: string;
  27. begin
  28.   sFileName := paramstr(0);
  29.   VerInfoSize := GetFileVersionInfoSize(PChar(sFileName), Dummy);
  30.   GetMem(VerInfo, VerInfoSize);
  31.   GetFileVersionInfo(PChar(sFileName), 0, VerInfoSize, VerInfo);
  32.   VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
  33.   with VerValue^ do
  34.   begin
  35.     Result := IntToStr(dwFileVersionMS shr 16);
  36.     Result := Result + '.' + IntToStr(dwFileVersionMS and $FFFF);
  37.     Result := Result + '.' + IntToStr(dwFileVersionLS shr 16);
  38.     Result := Result + '.' + IntToStr(dwFileVersionLS and $FFFF);
  39.   end;
  40.   FreeMem(VerInfo, VerInfoSize);
  41. end;
Add Comment
Please, Sign In to add comment