Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 

Re: Wie kann ich die Datei endung aus einer URL laden?

  Alt 12. Nov 2006, 20:52
Hallo Maik,

zum Zerlegen eines URL in seine Teile kannst du auch die WinInet API Funktion InternetCrackUrl() verwenden. Die Wandlung zwischen Url und Filename kannst du mit der Funktion SlashToBackSlash() aus der Indy FTP Server Demo erledigen:

Delphi-Quellcode:
function SlashToBackSlash( const str: string ) : string;
var
  a: dword;
begin
  result := str;
  for a := 1 to length( result ) do
    if result[a] = '/then
      result[a] := '\';
end;
Ich hänge meine Funktion CrackUrl() mal unauffällig hier rein - wer nach InternetCrackUrl sucht, der wird sie schon finden. Benutzen kann man sie so:

Delphi-Quellcode:
uses
  WinInet;

function GetExtension(url: String): String;
var
  s: TStrings;
begin
  s := TStringList.Create;
  if CrackUrl(url, s)
    then Result := ExtractFileExt(SlashToBackslash(s.Values['urlpath']))
    else Result := '';
  s.Free;
end;
Grüße vom marabu
Angehängte Dateien
Dateityp: pas func.crackurl_108.pas (1,5 KB, 100x aufgerufen)
  Mit Zitat antworten Zitat