Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Link zu externer Datei mit HelpMaker (https://www.delphipraxis.net/63271-link-zu-externer-datei-mit-helpmaker.html)

StTüff 16. Feb 2006 07:29


Link zu externer Datei mit HelpMaker
 
Hallo!

Ich habe ein kleines Problem:
Ich habe eine chm-Hilfe mit HelpMaker erstellt und möchte über einen Link
eine PDF-Datei öffnen, die im gleichen Verzeichnis liegt, wie die CHM-Datei.
Wenn ich nun mit der Funktion "Internet Link" einen Link erzeuge und
folgendes eingebe: "file://C:\helptest\_tmphhp\Grundprogramm_1 6 1.pdf"
dann öffnet sich das PDF ganz normal im Browser.

Jetzt habe ich aber das Problem, dass ich den Zielpfad beim Anwender
nicht kenne. Das einzige was ich beeinflussen kann, ist, dass die PDF-Datei
im gleichen Verzeichnis liegen wird. Wie muss ich das dann formulieren?

"file:Grundprogramm_1 6 1.pdf", "Grundprogramm_1 6 1.pdf" usw. funktioniert nicht.

Vielleicht kann mir jemand auf die Sprünge helfen. Ich vermute, dass es
eine ganz simple Lösung gibt, die ich momentan nicht sehe :wall: .

Gruß,

StTüff

MathiasSimmack 16. Feb 2006 08:44

Re: Link zu externer Datei mit HelpMaker
 
Reicht denn kein normaler Link auf die PDF-Datei? :gruebel: Also ein schlichtes
Code:
[url="Dateiname.pdf"]PDF-Datei[/url]
Sorry, es ist schon ganz schön lange her, als ich so was selbst machen wollte, um Ollis PDF-Tutorials in die CHM-Version von Luckies Win32-API-Tutorials einzubinden. Wenn das o.g. nicht klappt, dann nimm diese Funktion
Code:
function openExternalFile(fileName)
{
   try
   {
      var link         = location.href;
      link             = link.replace(/mk:@MSITStore:/, "");
      link             = link.replace(/ms-its:/, "");

      var lastBackslash = link.lastIndexOf("\\") + 1;
      link             = link.substring(0, lastBackslash) + fileName;

      location.href    = link;         
   }
   catch(e)
   {
      alert(e);
   }
}
Die macht aus dem Pfad der CHM-Hilfedatei einen normalen Dateipfad, hängt den Namen der Datei an und öffnet diese im gleichen (Browser)Fenster:
Code:
[url="javascript:openExternalFile('Dateiname.pdf');"]PDF-Datei[/url]


Zitat:

Zitat von MathiasSimmack
Reicht denn kein normaler Link auf die PDF-Datei? :gruebel:

Ich beantworte die Frage gleich mal selbst. Nein. Hier wird der Benutzer unter Umständen mit der Download-Sicherheitswarnung des IE konfrontiert ("Möchten Sie diese Datei öffnen oder speichern?"). Das macht natürlich keinen so guten Eindruck. :stupid:

StTüff 16. Feb 2006 09:02

Re: Link zu externer Datei mit HelpMaker
 
Hallo!

Das mit dem direkten Link geht leider nicht. Da wird folgendes daraus:

Code:
mk:@MSITStore:C:\helptest\_tmphhp\vio_copy_light_deutsch.chm::/PDF
Das ander geht mit dem HelpMaker leider auch nicht weil der eine Zeile
verfälscht (hängt am href ein ".htm" an):

Code:
</SCRIPT>[url="javascript:openExternalFile(PDF.pdf');.htm"]PDF-Datei[/url]<font color="#010101" ></font></div>
Das ist aber wohl ein Fehler im HelpMaker. Ein workaround ist die Datei von
Hand anzupassen und dann schreibzuschützen. Das Projekt wird dann trotzdem
erzeugt und es geht dann. Schöner wäre es natürlich, wenn ich solche "Tricks"
nicht machen müsste.

Gruß,

StTüff

StTüff 16. Feb 2006 10:30

Re: Link zu externer Datei mit HelpMaker
 
... Ich habe noch eine andere Möglichkeit gefunden:

Einfach "//" an geeigneter Stelle im "HTML Objct" innerhalb von Helpmaker einfügen und man erhält:

Code:
</SCRIPT>[url="javascript:openExternalFile(PDF.pdf');//.htm"]PDF-Datei[/url]<font color="#010101" ></font></div>
Damit ist das ".htm" nicht mehr wirksam und es gibt keine Fehlermeldung.

Toll ist das zwar nicht, man kann so aber komplett mit dem Helpmaker arbeiten. :roll:

Gruß an alle,

StTüff


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:15 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