Salam, deməli, sual belədir:
Delphi üzərindən müəyyən bir linkin (məsələn, google.com, cavablar.net, cavablar.az, cavablar.com) varlığını necə yoxlaya bilərəm?!
Məntiqə görə təqribən bu cür olmalıdır, ancaq nəticə yanlışdır.
if FileExists(‘http://google.com’) then ShowMessage(‘Link var!’) else ShowMessage(‘Link yoxdur!’);
Kod hissəsi necə yazılsa (söz yox ki, müvafiq operator FileExists olmayacaq), daha doğru olar?
Verilmiş cavablar və yazılan şərhlər (5 cavab var)
1
Salam.
1
uses Ping;
2
...
3
const ADP_IP = '74.125.232.49'; (* https://www.google.az/ *)
4
begin
5
If Ping.Ping(ADP_IP) then
6
ShowMessage('Google.az Online');
7
end;
bu kod ile saytın ip ping atırıq əgər sayt aktivdirsə ShowMessage ile göstəririk.
Uğurlar
1
Əslində sualımı başdan başqa cür verməliydim. Əslində məni maraqlandıran sual belədir:
Tutaq ki, hər hansı saytın serverində müəyyən faylın varlığını yoxlamaq istəyirəm və serverdəki faylın həcmi də 1 QB-dan artıqdır, yəni fərz edək ki, http://FilanSayt.com/İlk_qovluq/Sonraki_qovluq/Mene_lazim_olan_fayl.exe faylını RAM-a yerləşdirmədən varlığını öyrənmək istəyirəm, onda müvafiq kod necə olacaq?!
1
function fileExists(const url: String): Bool;
2
var http: TIdHTTP; answer: Bool;
3
begin
4
answer:=True;
5
http:=TIdHTTP.Create(nil);
6
7
try
8
http.Get(url);
9
except
10
on E: EIdHTTPProtocolException do answer:=False;
11
end;
12
13
FreeAndNil(http);
14
Result := answer;
15
end;
Bu koddakı mənfi tərəf fayl yükləyib, sonra xəbərdarlıq edir ki, bu da çox vaxt aparır, yəni faylın həcmi 1 QB-dan çoxdursa və məndə də Dial-updırsa, gör mən nə qədər gözləməliyəm, halbuki, brauzerə girib, gözlərimlə 404 səhvini görsəm, daha az vaxtım gedəcək
0
Salam
TIdHTTP classınan istifadə edə bilərsiz.
1
MyIdHTTP.Head(TheURL);
2
ResponseCode := MyIdHTTP.Response.ResponseCode; // fayl var
3
ContentLength := MyIdHTTP.Response.ContentLength;
0
Belə bir kodda yoxlaya bilərsiz
1
procedure TFormMain.Button1Click(Sender: TObject);
2
var
3
Http: TIdHTTP;
4
begin
5
Http := TIdHTTP.Create(nil);
6
try
7
Http.Head('http://FilanSayt.com/İlk_qovluq/Sonraki_qovluq/Mene_lazim_olan_fayl.exe');
8
9
ShowMessage(IntToStr(Http.Response.ContentLength));
10
finally
11
Http.Free;
12
end;
13
end;
0
Sonuncunun izahını edə bilərdinizmi? Fayl olduqda ədəd göstərilir, bəs fayl olmadıqda proqram bu qədər uzun vaxtda nəyi fikirləşir?!
Sual verin
Cavab verin