Avatar billede thecokeguy Nybegynder
22. juli 2003 - 16:28 Der er 2 kommentarer og
1 løsning

Fil på nettet

Jeg ved at, jeg med kommandoen ExtractFileName(Path) kan få en fils filnavn. Men hvordan får jeg filnavnet på en fil på nettet? F.eks. http://www.site.com/image.jpg = image.jpg.

På forhånd tak
Avatar billede steinmann Nybegynder
22. juli 2003 - 17:44 #1
Bruge PosEx i delphi 7, og hvis du ikke har Delphi 7, så er der en funktion her der gør det samme:

function PosEx(Substring, Mainstring: string; n: Integer = 1): Integer;
begin
  if Pos(substring, mainstring) = 0 then 
  begin 
    Result := 0;
    Exit;
  end
  else
  begin
    if n = 1 then Result := Pos(substring, mainstring)
    else
    begin
      Result := Pos(substring, mainstring) + posEx(substring, Copy(mainstring,
        (Pos(substring, mainstring) + 1), Length(mainstring)), n - 1);
    end;
  end;
end;

Så skal du bare blive ved til du har fundet den sidste, og så bruge:
Copy('www.eksempel.dk', {der hvor du skal kopiere fra}, {længden -der hvor du skal kopiere fra})

Du kan sikkert finde en funktion der søger bagfra, men har ikke lige tid til at gennemrode nettet efter den slags :D

Casper
Avatar billede dkn Nybegynder
22. juli 2003 - 18:13 #2
hvis du finder ExtractFileName's kode, er der ikke svært at ændre \ til / og char delimiter til : mener jeg.
Avatar billede stoney Nybegynder
22. juli 2003 - 18:15 #3
function ExtractUrlFileName(const AUrl: string): string; 
var
  i: Integer;
begin
  i := LastDelimiter('/', AUrl);
  Result := Copy(AUrl, i + 1, Length(AUrl) - (i));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
begin

  s := ExtractUrlFileName('http://www.domain.dk/image.jpg');
  ShowMessage(s);  // = image.jpg
end;

Stoney
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester