Delphidən linkin varlığını yoxlama alqoritmi

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)

Mehman Elxanoglu (2012-05-08 12:26:00)
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?!

Onar Alili (2012-05-07 12:22:24)
Belə bir kodda yoxlaya bilərsiz [code] procedure TFormMain.Button1Click(Sender: TObject); var Http: TIdHTTP; begin Http := TIdHTTP.Create(nil); try Http.Head('http://FilanSayt.com/İlk_qovluq/Sonraki_qovluq/Mene_lazim_olan_fayl.exe'); ShowMessage(IntToStr(Http.Response.ContentLength)); finally Http.Free; end; end; [/code]

Onar Alili (2012-05-07 12:13:01)
Salam TIdHTTP classınan istifadə edə bilərsiz. [code] MyIdHTTP.Head(TheURL); ResponseCode := MyIdHTTP.Response.ResponseCode; // fayl var ContentLength := MyIdHTTP.Response.ContentLength; [/code]

Mehman Elxanoglu (2012-05-07 11:45:21)
Ə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?! [code]function fileExists(const url: String): Bool; var http: TIdHTTP; answer: Bool; begin answer:=True; http:=TIdHTTP.Create(nil); try http.Get(url); except on E: EIdHTTPProtocolException do answer:=False; end; FreeAndNil(http); Result := answer; end;[/code] 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 :)

Onar Alili (2012-05-03 17:09:03)
Salam. [code] uses Ping; ... const ADP_IP = '74.125.232.49'; (* https://www.google.az/ *) begin If Ping.Ping(ADP_IP) then ShowMessage('Google.az Online'); end; [/code] bu kod ile saytın ip ping atırıq əgər sayt aktivdirsə ShowMessage ile göstəririk. Uğurlar