AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Pfad zur Datei aus URL extrahieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pfad zur Datei aus URL extrahieren

Ein Thema von EWeiss · begonnen am 2. Okt 2018 · letzter Beitrag vom 2. Okt 2018
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.533 Beiträge
 
Delphi 12 Athens
 
#1

AW: Pfad zur Datei aus URL extrahieren

  Alt 2. Okt 2018, 09:55
Erstmal, das ist eine INI und keine StringListe, also warum nicht wie eine INI behandeln?
Und selbst wenn als StringList, dann kann man sich das manuelle Durchsuchen sparen, denn SL.NameValueSeparator := '='; SL.Values['url'] = dieURL; (wenn/da es nur das eine "url" in dieser einen Gruppe gibt).

Und es sollte eigentlich auch eine WinAPI für den Zugriff geben (es gibt auch binäre Formate, wie z.B. .lnk), aber mir fällt grade nicht ein wo diese API sich versteckt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 2. Okt 2018 um 09:57 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: Pfad zur Datei aus URL extrahieren

  Alt 2. Okt 2018, 10:03
EWeiss, lösch meinen Code am besten. Der scheint ja absoluter Mist zu sein
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Pfad zur Datei aus URL extrahieren

  Alt 2. Okt 2018, 10:08
EWeiss, lösch meinen Code am besten. Der scheint ja absoluter Mist zu sein
Warum funktioniert einwandfrei wenn SL als TStringList definiert ist.
Meine Videos laufen! UHD direkt aus dem Internet ohne zu speichern.

Zitat:
es gibt auch binäre Formate, wie z.B. .lnk
Habe ich schon fertig *.lnk NUR das will ich nicht zu viel Code und absolut nicht nötig.
Das Sample von @DieDolly ist dafür vollkommen ausreichend.

Zitat:
aber mir fällt grade nicht ein wo diese API sich versteckt
ShellApi

Und hier ein Sample!
Delphi-Quellcode:
procedure TWebShortCut.LoadInternetShortCut;
// Loads information for internet shortcut (*.URL) from FileName and Location.
  var
    inifile: TIniFile;
    psfi: TSHFileInfo;
  begin
    ClearValues;
    iniFile := TIniFile.Create(GetLocationFolder);
    try
      fURL := iniFile.ReadString('InternetShortcut', 'URL', '');
      fHotKey := iniFile.ReadInteger('InternetShortcut', 'Hotkey', 0);
      HotKeyToShortCut(FHotKey, FHotKeyCtrl);
      fIconPath := iniFile.ReadString('InternetShortcut', 'IconFile', '');
      fIconIndex := iniFile.ReadInteger('InternetShortcut', 'IconIndex', 0);
    finally
      inifile.free;
    end;
    // load icon into TIcon if one is available.
    if FIconPath = 'then
      begin
        SHGetFileInfo(PChar(fURL), 0, psfi, sizeof(psfi), SHGFI_ICON);
        FIcon.Handle := psfi.hIcon;
      end
    else
      FIcon.Handle := ExtractIcon(hInstance, PChar(FIconPath), FIconIndex);
  end;
Aber wie gesagt ich will meine TWebShortCut Classe dafür nicht einbinden.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Pfad zur Datei aus URL extrahieren

  Alt 2. Okt 2018, 19:54
Hi, auch wenn Thema bereits abgeschlossen ist, ich finds gut das ihr meinen Vorschlag das als Text reinzulesen und nach "url=" zu Suchen genommen habt, rein auf die Masse (also Anwender die ein Produkt nutzen) betrachtet wäre das .ini Beispiel das einzig wahre.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Pfad zur Datei aus URL extrahieren

  Alt 2. Okt 2018, 20:54
Hi, auch wenn Thema bereits abgeschlossen ist, ich finds gut das ihr meinen Vorschlag das als Text reinzulesen und nach "url=" zu Suchen genommen habt, rein auf die Masse (also Anwender die ein Produkt nutzen) betrachtet wäre das .ini Beispiel das einzig wahre.
Hast du mein Sample gesehen das ist INI aber ich will es nicht.
Der Ansatz von @DieDolly läuft und fedisch!

PS:
Es bringt mir nichts eine Classe einzubinden (ja fertig von OTTB alles schon gehabt) wenn ich das mit 10 Zeilen Code erledigen kann bei einem einmaligen Aufruf.

gruss

Geändert von EWeiss ( 2. Okt 2018 um 20:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Pfad zur Datei aus URL extrahieren

  Alt 2. Okt 2018, 22:23
Ja ich habe dein .ini gesehen, das war ja auch meine Meinung dazu, ich fand das gut, nicht mehr nicht weniger, solange Du glücklich bist ist doch alles in Butter, egal wie man Ziel erreicht

Für System-Registrierung hatte ich mir mal die WinApi dafür selbst gekapselt um, für damalige Verhältnisse wars halt wichtig, Platz zu sparen, mit der Delphi Registry.pas waren es glaube ich 350kb mehr .exe Größe die ich mir per WinApi gespart habe.
Kann man bestimmt auch für Ini-Dateien so machen, Du bist ja bereits happy, ich selbst setz das mal auf meine ToDo

edit
ps: ich habe auch per duckduckgo ein total krasses delphi beispiel gefunden was vom aussehen her dem code eines binären link files entstammt, aber der war riesen gross, plus unformatiert, hatte mir das nicht näher angeschaut, aber man wird fündig wenn man buddelt

Grüße
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 2. Okt 2018 um 22:29 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Pfad zur Datei aus URL extrahieren

  Alt 2. Okt 2018, 22:31
Zitat:
Du bist ja bereits happy, ich selbst setz das mal auf meine ToDo
Kannst du gerne tun.

Mein Problem mit dem Teil ist halt das diese Funktion an einer Classe gekapselt ist und es nur richtig funktioniert wenn ich die gesamte Unit mit einbinde.
Das ist mir aber zu viel 14K zusätzlichen Code für eine Abfrage im gesamten Projekt.

Siehe OTTB uIShellItem.pas
So das ist der einzige Grund warum ich die Frage gestellt habe ob es auch mit weniger Code geht

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 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