Announcement

Collapse
No announcement yet.

F1-Hilfe aufrufen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • F1-Hilfe aufrufen

    JEDI - was das bedeutet, weiß ich gar nicht. (Mal abgesehen von dem Begriff aus STAR WARS). Das könnten dir aber einige sicher erklären; ein paar Anwesende sind Mitglieder. Jedenfalls gibt es von den JEDIs sehr gute Umsetzungen von Windows-APIs, u.a. eben auch die Html-Hilfe.<br>
    http://www.delphi-jedi.org<br><br>
    Mit der API hatte ich die wenigsten Probleme. Ging tadellos, so dass ich sogar ein Mini-Tutorial darüber schreiben konnte. ;o) Und das, wo ich auch nicht gerade ein Genius bin ... &lt;hüstel&gt; ...<br><br>
    Es wäre mir neu, dass das von dir angesprochene Tutorial von einer bestimmten Delphi-Version abhängig ist. Aber zugegeben, ich hab´s mir jetzt nicht angeguckt. Ich könnte mir vorstellen, dass es anhand von D7 erklärt wurde, aber auch mit älteren Versionen funktioniert.<br>
    Ich habe z.B. noch D5 und kann trotzdem -mit der JEDI-API- CHM-Dateien aufrufen.<br><br>
    Guck mal in die Tutorials (falls du die kennst) von Luckie rein, da steckt "mein" Hilfe-Tutorial drin. Ein gezipptes VCL-Beispiel liegt auch bei. Also bitte nicht vom NonVCL-Fokus abschrecken lassen. )<br><br>
    Zum IE: ja, der Browser stellt die Technik zum Anzeigen der Hilfe zur Verfügung. Allerdings kann ja jemand Win95 und den IE3 benutzen. Und da gibt´s dann keine CHM-Hilfe. Ein "fileexists" für die Hilfedatei allein wird dich da nicht weiterbringen, denn ob die Datei vorhanden ist, bedeutet ja nicht, dass das System damit was anfangen kann.<br>
    Die JEDI-API setzt beim dynamischen Laden eine bool-Variable, die du recht elegant benutzen kannst:

    <pre>IDM_HELP.Enabled := (HtmlHelpIsAvail) <b>and</b> (fileexists(ChmFile));</pre>

    bspw. )<br><br>
    Gruß

  • #2
    F1-Hilfe aufrufen

    Hallo,<br>
    <br>
    ich habe ein Programm geschrieben in dem man mit einem klick auf einen Button die Hilfe aufruft.<br>
    Wie schaffe ich es damit dies auch über die F1-taste funktioniert ?

    Comment


    • #3
      Hallo Jürgen,

      wenn es sich um eine Hilfe a´la *.hlp handelt, hast Du die Möglichkeit einfach über die Projektoptionen/Anwendung eine Hilfedatei einzubinden.

      Ansonsten könntest du noch ein Menü erstellen und dort einen Menüeintrag "Hilfe" vornehmen, dem Du noch den ShortCut "F1" zuweist und diese kleine Procedure
      procedure TForm1.Hilfe2Click(Sender: TObject);
      begin
      ShellExecute(0,
      Nil,
      PChar('Hilfe.chm'),
      NIL,
      NIL,
      SW_NORMAL);
      end;

      Dabei liegt die Hilfe im Pfad der *.exe

      Reicht das ?
      To

      Comment


      • #4
        Mal abseits von F1 -<br><br>
        Es gibt auch für CHM-Dateien eine recht gute API. Ich persönlich bevorzuge die Umsetzung der JEDIs; ich habe aber auch gesehen, dass einige hier lieber mit den Units von HelpWare arbeiten.<br><br>
        <b>ShellExecute</b> halte ich persönlich für einen völlig falschen Ansatz, denn wenn die Hilfe im System nicht bekannt ist (originales Win95 und NT4), dann bringt der Aufruf gar nichts. Bei den o.g. API-Umsetzungen gibt es dagegen (ich spreche jetzt nur für die JEDI-Version) die Möglichkeit, das Vorhandensein der HTML-Hilfe zu prüfen. Sollte diese im System nicht bekannt sein, kann man die entsprechenden Menüeinträge und/oder Shortcuts kurzerhand deaktivieren. DAS dürfte der bessere Weg sein.<br><br>
        Gruß,<br>
        Mathias

        Comment


        • #5
          Hallo Mathias,

          mich interessiert es sehr chm-dateien übber die api anzusprechen. vielleicht ja auch mit jedi, was auch immer das ist. wie du eventuell schon gelesen hast, habe ich hier im forum schon danach gefragt wie man in chm-datei eine seite direkt anspringen kann. ich habe dazu im delphi-source-forum ein gutes tutorail gefunden. leider laufen die umgesetzten beispiele (zumindest bei mir)nur unter delphi7. ich bräuchte aber ein praktikable lösung für delphi6.

          nun noch zu deinem post. ich dachte eigentlich, dass die chm-dateien vom ie angezeigt werden und desweiteren könnte man natürlich auch mit meiner version der antwort im create-ereignis einefileexists-abfrage starten, ob denn die hilfe da ist und dem entsprechend den menüeintrag bearbeiten!

          ausserdem wäre es eventuell von vorteil gewesen, wenn du dem fragesteller mit einem kleinen beispiel verdeutlichst was du gemeint hast!?

          bis denne
          to

          Comment


          • #6
            Hallo Mathias,

            ich habe die Seite schon gefunden und mir die 2 Tutorials gezogen und bin gerade dabei Euer Beispiel nachzubauen und an meine Bedürfnisse anzupassen.

            Danke To

            Comment


            • #7
              Hallo,<br>
              <br>
              danke für dem Tipp. Ich hatte schon eine Menüleiste in meinem Programm und habe einfach den Shortcut mit F1 belegt. Klappt auf Anhieb.<br>
              Vielen Dank nochmal!

              Comment

              Working...
              X