Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Lokale Links im TWebBrowser (https://www.delphipraxis.net/155689-lokale-links-im-twebbrowser.html)

fillibuster 3. Nov 2010 21:46

Lokale Links im TWebBrowser
 
Hallo,

in meinem Programm möchte ich gern den TWebbrowser als Startseite nutzen, um diverse Infos o. ä. mit HTML dynamisch zu generieren. Leider hat dieser Probleme, wenn ich Dateien lokal verlinke. Will ich z. B. ein Image in HTML einbinden (ExtractFilePath ...) geht das nur, wenn keine Sonderzeichen im Pfad sind. Wie muss ich die Pfade denn für den TWebbrowser aufbereiten?

Viele Grüße ...

Satty67 3. Nov 2010 21:54

AW: Lokale Links im TWebBrowser
 
Stichwort Urlencode (Sonderzeichen sind codiert, z,B auch das Leerzeichen mit %20, was man oft sieht).

Ganze einfach hatte ich das mal so realisiert, gibt es aber evtl. besseres:
Delphi-Quellcode:
function EncodeUrl(AString : String): String;
const
  ValidChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUFWXYZ-_.~1234567890';
var
  i : Integer;
begin
  Result := '';
  for i := 1 to Length(AString) do
    if Pos(AString[i], ValidChars) <= 0 then
      Result := Result + '%' + IntToHex(Ord(AString[i]), 2)
    else
      Result := Result + AString[i];
end;

fillibuster 3. Nov 2010 22:20

AW: Lokale Links im TWebBrowser
 
Hi,

danke für deine Antwort. Leider funktioniert das so nicht :cry:. Die Bilder werden unter Win 7 nicht angezeigt (Anwendung liegt auf dem Desktop - ö und Leerzeichen im Pfad). Mein HTML sieht so aus:

Delphi-Quellcode:
function htmlHeader() : string;
begin
  result := '<?xml version="1.0" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"' + #13#10 +
            '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' + #13#10 +
            '<html xmlns="http://www.w3.org/1999/xhtml">'+ #13#10 +
            '<head>'+ #13#10 +
            ' <title>' + applicationName + '</title>' + #13#10 +
            ' <meta http-equiv="content-type" content="text/html; charset=UTF-8" />' + #13#10 +
            ' <link rel="stylesheet" type="text/css" href="' + htmlpath + 'style.css" />'+ #13#10 +
            '</head>' +  #13#10 +
            '<body>' + #13#10 +
            '<div id="headerlogo">' + #13#10 +
            ' <img src="' + htmlpath + 'pics2.png" alt="logo">&nbsp;' +  #13#10 +
            '</div>' +
            '<div id="headername">' + applicationName + '</div>' +
            '<div id="topmenu">' +
            ' <a href="test://1">add</a> | <a href="test://2">stack</a> | <a href="test://3">pref</a> | <a href="test://4">help</a> | <a href="test://5">info</a>' + #13#10 +
            '</div>' + #13#10 +
            '<div style="clear : both;"></div>' + #13#10 +
            '<div id="content">';
end;
Mit Pfaden ohne Sonder- und Leerzeichen geht das ohne Probleme.

Viele Grüße ...

Bummi 3. Nov 2010 23:41

AW: Lokale Links im TWebBrowser
 
bist Du sicher daß die Umlaute das Problem sind?

bei mir geht
Code:
<img src="file:///C:/temp/Hörü gre/test.jpg">
problemlos

fillibuster 5. Nov 2010 08:19

AW: Lokale Links im TWebBrowser
 
Hi,

muss da immer
Code:
file:///
als Protokoll angegeben werden?
:oops:

mkinzler 5. Nov 2010 08:27

AW: Lokale Links im TWebBrowser
 
Ja.

fillibuster 5. Nov 2010 08:30

AW: Lokale Links im TWebBrowser
 
ok, dann ist das wohl der Fehler :roll:.

Vielen Dank :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:10 Uhr.

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