Thema: Delphi Existiert Datei?

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.247 Beiträge
 
Delphi 12 Athens
 
#16

AW: Existiert Datei?

  Alt 25. Aug 2010, 17:17
Aufgrund einiger Problemchen hier nocheine Variante:
Delphi-Quellcode:
uses
  IdHeaderList, IdHTTP;

type
  TCheckHeadersAvailable = class
    class procedure Check(Sender: TObject;
      AHeaders: TIdHeaderList; var VContinue: Boolean);
  end;

class procedure TCheckHeadersAvailable.Check(Sender: TObject;
  AHeaders: TIdHeaderList; var VContinue: Boolean);
begin
  VContinue := False;
end;

function UrlCheck(sUrl: String; bAllowRedirects: Boolean = false): Integer;
begin
  with TIdHTTP.Create(nil) do
    try
      HandleRedirects := bAllowRedirects;
      OnHeadersAvailable := TCheckHeadersAvailable.Check;
      try
        Head(sUrl);
        Result := Response.ResponseCode;
      except
        if (Response.ResponseCode >= 400) and (Response.ResponseCode < 600) then
          Result := Response.ResponseCode else Result := 503;
      end;
    finally
      Free;
    end;
end;
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
var
  C: Integer;
begin
  C := UrlCheck('http://www.google.de/mdklsandksj.txt', True);
  if C = 200 then ShowMessage('OK')
  else ShowMessage(Format('Fehler %d', [C]));
end;
oder
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
begin
  if UrlCheck('http://www.google.de/mdklsandksj.txt', True) = 200 then
    ShowMessage('OK')
  else
    ShowMessage('Fehler');
end;

Ach ja, GetLastError (siehe Post 13) als Result ist keine gute Idee.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat