Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datei aus url parsen! [gelöst] (https://www.delphipraxis.net/15326-datei-aus-url-parsen-%5Bgeloest%5D.html)

Synonym 26. Jan 2004 15:37


Datei aus url parsen! [gelöst]
 
Hi,


habe schon einiges mit pos versucht, leider nie geklappt..

wie kann ich die datei, z.B. aus der URL: http://www.domain.de/benutzer/datei.exe filtern

das nur noch datei.exe übrig bleibt?

Synonym

sakura 26. Jan 2004 15:41

Re: Datei aus url parsen!
 
*wuppdi*

Delphi-Quellcode:
function UrlFile(Url: String): String;
var
  P: Integer;
begin
  Result := Url;
  for P := Length(Url) downto 1 do
    if Url[P] = '/' then
    begin
      Result := Copy(Url, Succ(P), MaxInt);
      Break;
    end;
end;
...:cat:...

Jens Schumann 26. Jan 2004 15:42

Re: Datei aus url parsen!
 
Hallo,
schau mal in der OH unter StrRScan nach.

sakura 26. Jan 2004 15:46

Re: Datei aus url parsen!
 
Und mit dem Ansatz von Jens :mrgreen:

Delphi-Quellcode:
function UrlFile(Url: String): String;
begin
  Result := Copy(StrRScan(@Url[1], '/'), 2, MaxInt);
  if Result = '' then
    Result := Url;
end;
...:cat:...

F.W. 20. Feb 2004 13:04

Re: Datei aus url parsen! [gelöst]
 
Kann man da nicht ExtractFileName(URL) benutzen? Geht's hier um was anderes?

sakura 20. Feb 2004 13:07

Re: Datei aus url parsen! [gelöst]
 
Zitat:

Zitat von F.W.
Kann man da nicht ExtractFileName(URL) benutzen? Geht's hier um was anderes?

Nein, da ExtractFileName nur mit dem BackSlash zurecht kommt. Ergebnis mit obiger Datei wäre //www.domain.de/benutzer/datei.exe :shock:

...:cat:...

F.W. 20. Feb 2004 18:05

Re: Datei aus url parsen! [gelöst]
 
Achso, hatte ich garnicht beachtet! :lol:

Christian Seehase 20. Feb 2004 23:12

Re: Datei aus url parsen! [gelöst]
 
Moin Zusammen,

man könnte sich auch ein passendes "ExtractFileName" unter zuhilfenahme von LastDelimiter selber erstellen.

Luckie 20. Feb 2004 23:28

Re: Datei aus url parsen! [gelöst]
 
Hm, wen ich in die Sourcen von der SysUtils reinkucke (sei mal dahingerstellt wie ich das mache. :mrgreen: ), dann sehe ich das:
Delphi-Quellcode:
const
  PathDelim = {$IFDEF MSWINDOWS} '\'; {$ELSE} '/'; {$ENDIF}
  DriveDelim = {$IFDEF MSWINDOWS} ':'; {$ELSE} ''; {$ENDIF}
  PathSep   = {$IFDEF MSWINDOWS} ';'; {$ELSE} ':'; {$ENDIF}
Delphi-Quellcode:
function ExtractFileName(const FileName: string): string;
var
  I: Integer;
begin
  I := LastDelimiter(PathDelim + DriveDelim, FileName);
  Result := Copy(FileName, I + 1, MaxInt);
end;
Wenn es jetzt noch eine Compiler-Konstante für Linux gibt, könnte man sowas machen:
Delphi-Quellcode:
{DEFINE LINUX}
ExtractFilename(...
{DERINE MSWINDOWS}
Ob das jetzt besser, schöner oder sonst was ist, sei mal dahingestellt. :roll:

MathiasSimmack 21. Feb 2004 07:41

Re: Datei aus url parsen! [gelöst]
 
Hilft InternetCrackUrl (s. MSDN/PSDK) irgendwie weiter? Ich habe damit bspw. in einem Programm das Protokoll ausgelesen, also etwa "http" um zu schauen ob es im System registriert und bekannt ist. Ist Teil eines kleinen Tools, das Fehler im Startmenü findet, u.a. eben auch Internetverknüpfungen mit unbekannten bzw. nicht registrierten Protokollen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr.
Seite 1 von 2  1 2      

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