Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Pfad von Internetseite extrahieren
FSS - Fr 21.12.07 11:47
Titel: Pfad von Internetseite extrahieren
Hallo,
ich stehe da vor folgendem Problem:
Bei einer Datei die auf meiner Festplatte liegt kann ich über ExtractFilePath() den Ordner auslesen, in dem die Datei liegt. Gibt es da auch eine vergleichbare Funktion, die das mit Internetadressen macht?
Bei einer Seite
Quelltext
1:
| http://www.test.de/test1/test2/index.html |
sollte also
Quelltext
1:
| http://www.test.de/test1/test2/ |
rauskommen.
Weiß jemand ob es da was gibt?
Calculon - Fr 21.12.07 11:49
Brauchst du das um zum übergeordneten Pfad zu browsen?
FSS - Fr 21.12.07 11:51
Nein, ich lese aus einer Internetseite die darin enthaltenen Links aus. Nun gibt es ja Links die nur auf weitere Unterordner verweisen und von denen hätte ich gerne den genauen Pfad.
LorenzS - Fr 21.12.07 11:52
Delphi-Quelltext
1:
| Copy(URL,1,pos('/',URL)) |
Komisch bei früherer projekten hat pos nie das erste angezeigt
FSS - Fr 21.12.07 11:58
Müsste man die Parameter bei Pos nicht umdrehen? Also:
Delphi-Quelltext
1:
| Copy(URL,1,pos('/',URL)) |
Aber das gibt mir dann leider auch nur
zurück.
Calculon - Fr 21.12.07 11:59
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.Button1Click(Sender: TObject); var posi: integer; str1, str2: string; begin str1 := 'http://www.test.de/test1/test2/index.html'; str2 := ''; repeat posi := AnsiPos('/', str1); str2 := str2 + copy(str1, 1, posi); delete(str1, 1, posi); until posi = 0; ShowMessage(str2); end; |
LorenzS - Fr 21.12.07 12:04
Diesmal getestet:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin i:=length(edit1.text); while (i>0)and(edit1.text[i]<>'/') do dec(i); if i>0 then edit2.text:=copy(edit1.text,1,i); end; |
FSS - Fr 21.12.07 12:07
Danke Calculon und LorenzS, damit kann ich arbeiten.
Vielen Dank
Yogu - Fr 21.12.07 12:47
ExtractFilePath müsste meiner Meinung nach auch funktionieren. Müsste man mal ausprobieren...
LorenzS - Fr 21.12.07 12:51
bei ExtractFilePath(URL) kommt nur "http:" raus
Yogu - Fr 21.12.07 12:53
Schade, der hört wohl nur auf Backslashes und nicht auf normale Schrägstriche. :( Aber es wurden ja schon mögliche Antworten genannt, ich dachte nur, man könnte es sich auch einfach machen.
jakobwenzel - Fr 21.12.07 12:54
Aber wenn man den Quelltext von ExtractFilePath leicht ändert, gehts:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| function ExtractURLFilePath(const FileName: string): string; var I: Integer; begin I := LastDelimiter(PathDelim + DriveDelim+'/', FileName); Result := Copy(FileName, 1, I); end; |
Yogu - Fr 21.12.07 13:01
Woher hast du den Quelltext von ExtractFilePath? :shock:
jakobwenzel - Fr 21.12.07 13:08
Bei allen Delphiversionen, die was kosten, sind die kompletten VCL-Quelltexte dabei.
Yogu - Fr 21.12.07 13:11
Mal wieder was dazugelernt. :D
FSS - Fr 21.12.07 14:44
Tja ich habe leider auch nur Personal Editions. :crying:
LorenzS - Fr 21.12.07 15:04
Wie will man sonst ohne dlhi source den debuggen?
Yogu - Fr 21.12.07 15:44
So wie ich :D Ich gehe davon aus, dass Borland in den Standard-Komponenten nichts falsch gemacht hat. Und um die Funktionsweise herauszufinden, benutze ich die Online-Hilfe oder das Internet. Zum Beispiel das
hier [
http://www.delphi-forum.de].
LorenzS - Fr 21.12.07 16:13
ich weis dann man die delphi komponenten nicht debugen kann, bzw es kommt immer ein X wenn man einen breakpoint drauf setzt
Zorro - Fr 21.12.07 17:41
jakobwenzel hat folgendes geschrieben: |
| Bei allen Delphiversionen, die was kosten, sind die kompletten VCL-Quelltexte dabei. |
Jepp - deswegen darfste die eigentlich auch net posten (wobei die Menge des geposteten copyright-materials vermutlich als geringfügig zu bezeichnen ist).
Greetz
Zorro
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!