Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dateinamen aus einer URL ? (https://www.delphipraxis.net/47972-dateinamen-aus-einer-url.html)

Äfan 18. Jun 2005 18:59


Dateinamen aus einer URL ?
 
Hi,

Kurze frage: Habe z.b. diesen URL:

h**p://www.irgendwas.de/ordner1/testdatei.exe


Diese URL ist in einer Variablen. Ich will jetz das in Variable "dateiname" nur das "testdatei.exe" aus der URL eingefügt wird.

PS: Es muss natürlich auch mit anderen dateinamen funktionieren.


Ich habe gedacht irgendwie sowas wie von hinten bis zum / lesen, aber ka wie ich das machen soll. Bin für alle tips ausser "such bei google" dankbar.

mfg

Phistev 18. Jun 2005 19:02

Re: Dateinamen aus einer URL ?
 
Delphi-Referenz durchsuchenCopy und Delphi-Referenz durchsuchenPos. Die sollten helfen.

DGL-luke 18. Jun 2005 19:04

Re: Dateinamen aus einer URL ?
 
extractfilename könnte auch schon helfen.

Matze 18. Jun 2005 19:06

Re: Dateinamen aus einer URL ?
 
Ist ungetestet:

Delphi-Quellcode:
function GetFileName(URL: string): string;
begin
  url := STringReplace(url, '/', '\', [rfReplaceALL]);
  Result := ExtractFileName(url);
end;

Edit: Wenn das Tippen doch schneller ginge...

MathiasSimmack 18. Jun 2005 19:09

Re: Dateinamen aus einer URL ?
 
Zitat:

Zitat von Matze
Edit: Wenn das Tippen doch schneller ginge...

Kapier ich nicht. :gruebel:


btw: Es gibt eine Funktion namens MSDN-Library durchsuchenInternetCrackUrl, die IMHO am besten geeignet ist.

Äfan 18. Jun 2005 19:11

Re: Dateinamen aus einer URL ?
 
Vielen dank für die schnellen antworten.

@Matze: Thx... funzt einwandfrei und geht schneller als mit Pos und Copy ! :thumb:

@MathiasSimmack: Genau das von Matze habe ich gesucht.

bigg 18. Jun 2005 19:56

Re: Dateinamen aus einer URL ?
 
Hier die long Version:

Delphi-Quellcode:
function GetUrlFileName(const url: String): String;
var i, l, p: Integer;
begin
Result := '';
p := -1;

if url <> '' then
begin
l := Length(url);

for i := l downto 1 do
begin if url[i] = '/' then
begin
p := i;
Break;
end;
end;

if p <> -1 then
Result := Copy(url, p + 1, l);

end;
end;
Es geht aber noch länger :mrgreen:

Matze 18. Jun 2005 20:00

Re: Dateinamen aus einer URL ?
 
@Mathias: Ich habe zu langsam gepostet, da das Stichwort Delphi-Referenz durchsuchenExtractFileName schon gefallen ist, währen ist meinen Beitrag verfasst habe, das ist alles.

Christian Seehase 18. Jun 2005 20:04

Re: Dateinamen aus einer URL ?
 
Moin Äfan,

genaugenommen hast Du eigentlich das von Mathias gesucht, ausser Du kannst Dir sicher sein, dass nicht noch irgendwelche Parameter mit an der URL hängen.

Aber hier noch eine Variante:

Delphi-Quellcode:
function ExtractFilenameFromUrl(const AsURL : string) : string;
begin
  Result := trim(copy(AsUrl,LastDelimiter('/',AsUrl)+1,length(AsURL)));
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz