![]() |
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: ![]() das nur noch datei.exe übrig bleibt? Synonym |
Re: Datei aus url parsen!
*wuppdi*
Delphi-Quellcode:
...:cat:...
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; |
Re: Datei aus url parsen!
Hallo,
schau mal in der OH unter StrRScan nach. |
Re: Datei aus url parsen!
Und mit dem Ansatz von Jens :mrgreen:
Delphi-Quellcode:
...:cat:...
function UrlFile(Url: String): String;
begin Result := Copy(StrRScan(@Url[1], '/'), 2, MaxInt); if Result = '' then Result := Url; end; |
Re: Datei aus url parsen! [gelöst]
Kann man da nicht ExtractFileName(URL) benutzen? Geht's hier um was anderes?
|
Re: Datei aus url parsen! [gelöst]
Zitat:
...:cat:... |
Re: Datei aus url parsen! [gelöst]
Achso, hatte ich garnicht beachtet! :lol:
|
Re: Datei aus url parsen! [gelöst]
Moin Zusammen,
man könnte sich auch ein passendes "ExtractFileName" unter zuhilfenahme von LastDelimiter selber erstellen. |
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:
Wenn es jetzt noch eine Compiler-Konstante für Linux gibt, könnte man sowas machen:
function ExtractFileName(const FileName: string): string;
var I: Integer; begin I := LastDelimiter(PathDelim + DriveDelim, FileName); Result := Copy(FileName, I + 1, MaxInt); end;
Delphi-Quellcode:
Ob das jetzt besser, schöner oder sonst was ist, sei mal dahingestellt. :roll:
{DEFINE LINUX}
ExtractFilename(... {DERINE MSWINDOWS} |
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 10:24 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