Şöyle bir çözüm önerebilirim.
* GET ile direkt içerik değil de çağrı durumunu alarak, 200 yani Success ise dönen değeri, aksi durumda projenin çalıştığı sistem tarihini döndürecek şekilde revize edildi...
* LContent.Size 19 ile sınırlı bakılacak çünkü yanlış adres yazıldığında da hata dönmeyip html sonuç alırsa bu ihtimal de değerlendirmeye katıldı.
Kullanımı :
* GET ile direkt içerik değil de çağrı durumunu alarak, 200 yani Success ise dönen değeri, aksi durumda projenin çalıştığı sistem tarihini döndürecek şekilde revize edildi...
* LContent.Size 19 ile sınırlı bakılacak çünkü yanlış adres yazıldığında da hata dönmeyip html sonuç alırsa bu ihtimal de değerlendirmeye katıldı.
function GuncelTarih: String;
Const
LTimeUrl = 'https://www.armanlab.com/time/time.php';
var
LClient : System.Net.HttpClientComponent.TNetHTTPClient;
LContent : TStringStream;
LStatus : Integer;
begin
LClient := TNetHTTPClient.Create(nil);
LContent := TStringStream.Create('');
try
LStatus := LClient.Get( LTimeUrl, LContent ).StatusCode;
if ( LStatus = 200 ) AND ( LContent.Size = 19 )
then Result := LContent.DataString
else Result := FormatDateTime('DD.MM.YYYY HH:nn:ss', now());
finally
FreeAndNil(LClient);
FreeAndNil(LContent);
end;
end;
Kullanımı :
procedure TForm1.Button1Click(Sender: TObject); begin Showmessage( GuncelTarih ); end;
Saygılarımla
Muharrem ARMAN

Muharrem ARMAN


