![]() |
Wie kann ich die Datei endung aus einer URL laden?
Hei,
Möchte ein tool Bauen wie FlashGet zum Downloaden alerdings bekomme ich das nicht hin mit dem Aufsplitten der URL Habe es mal so Versucht.
Code:
:wall: :wall: :wall: :wall:
var
Form6: TForm6; tmpURL, Prot, User, Pass, Host, Dir,Port, File1, FileExt: String; implementation {$R *.dfm} Function GetAndDelete(Delim: String): string; begin Result := Copy(tmpURL, 1, Pos(Delim, tmpURL) - 1); Delete(tmpURL, 1, Pos(Delim, tmpURL) + Length(Delim) - 1); form6.Memo1.lines.Add(Result); end; procedure TForm6.Button1Click(Sender: TObject); begin tmpURL := 'http://www.online.no/Download/Datei.txt'; Prot := GetAndDelete('://'); Host:= GetAndDelete(':'); Port:= GetAndDelete('/'); Dir:= GetAndDelete('/'); File1:= GetAndDelete('.'); FileExt:= GetAndDelete(''); end; leider Sagt er mir nicht die Endung an was mache ich Falsch? :gruebel: PS: Sorry für das Deutsch aber bin Norweger |
Re: Wie kann ich die Datei endung aus einer URL laden?
Warum suchst du nicht einfach nach dem letzten . ?
|
Re: Wie kann ich die Datei endung aus einer URL laden?
ja wie macht man denn das?
|
Re: Wie kann ich die Datei endung aus einer URL laden?
In einer Schleife PosEx aufrufen ( mit Offset gefundene Position + 1)
|
Re: Wie kann ich die Datei endung aus einer URL laden?
Warum denn so umständlich?
Delphi-Quellcode:
test := ExtractFileExt('http://www.google.de/index.php')
|
Re: Wie kann ich die Datei endung aus einer URL laden?
ah Danke Probiere ich gleich mal aus.
Mvh Maik |
Re: Wie kann ich die Datei endung aus einer URL laden?
habe es so gemacht und es geht jetzt
Delphi-Quellcode:
Mvh
procedure TForm6.Button1Click(Sender: TObject);
var ed : string; begin ed:='ftp://127.0.0.1:21/C:\Download\Datei.txt'; memo1.Lines.Add(ExtractFileName(ed)); end; Maik |
Re: Wie kann ich die Datei endung aus einer URL laden?
Ich denke du möchtest du Dateiendung bekommen? Warum dann ExtractFileName? :gruebel:
|
Re: Wie kann ich die Datei endung aus einer URL laden?
ja dann kann ich denn rest weg lassen.
Delphi-Quellcode:
var
Form6: TForm6; tmpURL, Prot, User, Pass, Host, Dir,Port, File1, FileExt: String; implementation {$R *.dfm} Function GetAndDelete(Delim: String): string; var ed, url,url1,url2,url3,url4 : string; begin ed:='ftp://127.0.0.1:21/C:\Download\Datei.txt'; Result := Copy(tmpURL, 1, Pos(Delim, tmpURL) - 1); Delete(tmpURL, 1, Pos(Delim, tmpURL) + Length(Delim) - 1); end; |
Re: Wie kann ich die Datei endung aus einer URL laden?
Delphi-Quellcode:
var
Form6: TForm6; tmpURL, Prot, User, Pass, Host, Dir,Port, File1, FileExt: String; implementation {$R *.dfm} Function GetAndDelete(Delim: String): string; begin Result := Copy(tmpURL, 1, Pos(Delim, tmpURL) - 1); Delete(tmpURL, 1, Pos(Delim, tmpURL) + Length(Delim) - 1); form6.Memo1.lines.Add(Result); end; procedure TForm6.Button1Click(Sender: TObject); begin tmpURL := 'http://www.online.no/Download/Datei.txt'; Prot := GetAndDelete('://'); Host:= GetAndDelete(':'); Port:= GetAndDelete('/'); Dir:= GetAndDelete('/'); File1:= GetAndDelete('.'); FileExt:= GetAndDelete(''); end; |
Re: Wie kann ich die Datei endung aus einer URL laden?
es scheint aber nicht mit Langen Url Daten zu gehen. :?
Wie zB: ![]() er giebt mir als Ergebnis //www.online.no/download/ Mvh Maik |
Re: Wie kann ich die Datei endung aus einer URL laden?
habe denn Fehler gefunden
Code:
der Fehler ist so / aber der muß um zugehen \ so sein wie geht das? :gruebel: :?: :?:ed:='ftp://www.online.no/Download/Datei.txt'; memo1.Lines.Add(ExtractFileName(ed)); |
Re: Wie kann ich die Datei endung aus einer URL laden?
Mittels
![]() Und Maik, du kannst deine Beiträge auch editieren um Sachen hinzuzufügen, Doppelposts sind nicht so gerne gesehen. ;) |
Re: Wie kann ich die Datei endung aus einer URL laden?
Zitat:
|
Re: Wie kann ich die Datei endung aus einer URL laden?
Liste der Anhänge anzeigen (Anzahl: 1)
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:
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:
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;
Delphi-Quellcode:
Grüße vom marabu
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; |
Re: Wie kann ich die Datei endung aus einer URL laden?
Delphi-Quellcode:
Das wäre auch noch eine Möglichkeit, die Dateiendung zu bekommen.
copy(s, LastDelimiter('.', s)+1, length(s));
Will man den Namen der Datei, ginge sowas:
Delphi-Quellcode:
(ungetestet)
copy(s, LastDelimiter('/', s)+1, LastDelimiter('.', s)-LastDelimiter('/', s)-1);
|
Re: Wie kann ich die Datei endung aus einer URL laden?
Danke ich Versuch das mal.
Mvh Maik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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