--- dao/DelphiScanner/Utils.pas 2015/09/03 14:27:21 2693 +++ dao/DelphiScanner/Utils.pas 2015/09/03 14:40:49 2695 @@ -3,7 +3,9 @@ interface uses Controls, - Graphics //TColor + Graphics, //TColor + IniFiles, + Windows //TFileTime ; type @@ -24,6 +26,10 @@ class function Sto_GetFmtFileVersion(const FileName: String = ''): String; + class function CheckUrl(url:string): boolean; + + class function FileTime2DateTime(FileTime: TFileTime): TDateTime; + @@ -33,10 +39,10 @@ uses StrUtils, Types, //TRect , - Windows, Messages, SysUtils, //IntToStr etc - Registry + Registry, + wininet //CheckUrl ; @@ -236,4 +242,55 @@ end; +class function TUtils.CheckUrl(url:string):boolean; +var + hSession, hfile: hInternet; + dwindex,dwcodelen :dword; + dwcode:array[1..20] of char; + res : pchar; +begin + if pos('http://',lowercase(url))=0 then + url := 'http://'+url; + Result := false; + hSession := InternetOpen('InetURL:/1.0', + INTERNET_OPEN_TYPE_PRECONFIG, + nil, + nil, + 0); + if assigned(hsession) then + begin + hfile := InternetOpenUrl(hsession, + pchar(url), + nil, + 0, + INTERNET_FLAG_RELOAD, + 0); + dwIndex := 0; + dwCodeLen := 10; + HttpQueryInfo(hfile, + HTTP_QUERY_STATUS_CODE, + @dwcode, + dwcodeLen, + dwIndex); + res := pchar(@dwcode); + result:= (res ='200') or (res ='302'); + if assigned(hfile) then + InternetCloseHandle(hfile); + InternetCloseHandle(hsession); + end; + +end; + + +class function TUtils.FileTime2DateTime(FileTime: TFileTime): TDateTime; +var + LocalFileTime: TFileTime; + SystemTime: TSystemTime; +begin + FileTimeToLocalFileTime(FileTime, LocalFileTime) ; + FileTimeToSystemTime(LocalFileTime, SystemTime) ; + Result := SystemTimeToDateTime(SystemTime) ; +end; + + end.