Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi und HTML, anzeigen und Klicks verarbeiten (https://www.delphipraxis.net/63873-delphi-und-html-anzeigen-und-klicks-verarbeiten.html)

Blubbazisch 23. Feb 2006 22:11


Delphi und HTML, anzeigen und Klicks verarbeiten
 
Hallo,

ich hoffe Ihr könnt mir weiter helfen.

meine Vorstellung:

Ich generiere mit Delphi eine HTML Seite. Diese Seite möchte ich in meinem Programm darstellen. Natürlich enthält die HTML Seite auch einige Links. Diesen Links möchte ich Aktionen bzw. Funktionen zuordnen und Delphi soll diese dann ausführen.

Nehmen wir z.B. eine Einfache HTML Seite in dieser Seite steht dann ein Link zu "Tabelle anzeigen". Wenn ich auf diesen Link klicke registriert das Delphi und holt sich aus einer Datenbank die Daten für die Tabelle und zeigt das Ergebnis in einer HTML Tabelle an, die ich wiederum in dem Programm darstelle.

So eine Art Parser, WebServer, Browser in einem.

So jetzt zu meinen/r Frage/n:

Welche Komponenten gibt es die ich verwenden kann ? (wenn es welche gibt)
Hat jemand soetwas schon mal gemacht, wenn ja, wo finde ich Informationen oder besser, wo nach muss ich suchen ?


Vielen Dank für eure Hilfe!

Lannes 23. Feb 2006 23:17

Re: Delphi und HTML, anzeigen und Klicks verarbeiten
 
Hallo,

das kann man mit der WebBrowser-Komponente(ActiveX-Control) realisieren.
Beispiel:
Angenommen folgende HTML-Datei:
Code:
<a href=1>Tabelle laden</a>


<a href=2>Tabelle leeren</a>
Diese Datei im WebBrowser laden
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var f : OleVariant;
begin
WebBrowser1.Navigate('file://C:\Temp\Befehle.html',f,f,f,f);
end;
auf die Link-Ausführung reagieren
Delphi-Quellcode:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  if Pos('\1',URL) > 0 then//URL ist C:\Temp\1
    begin
    showmessage('Tabelle wird geladen');
    Cancel := True;//Linkausführung unterbinden
    end;
  if Pos('\2',URL) > 0 then//URL ist C:\Temp\2
    begin
    showmessage('Tabelle leeren');
    Cancel := True;//Linkausführung unterbinden
    end;
end;

MarcoWarm 24. Feb 2006 06:03

Re: Delphi und HTML, anzeigen und Klicks verarbeiten
 
Hi,

TWebbrowser ist wahrscheinlich das bekannteste.
Alternativ kannst du ThtmlLite verwenden. Diese Komponente unterstützt jedoch nur das Standard HTML ohne CSS etc.

Blubbazisch 24. Feb 2006 09:52

Re: Delphi und HTML, anzeigen und Klicks verarbeiten
 
@Lannes

Danke für die schnelle Antwort :-)

Ich verstehe nicht, wie ich diese Funktion/Prozedur einbauen soll:
Delphi-Quellcode:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  if Pos('\1',URL) > 0 then//URL ist C:\Temp\1
    begin
    showmessage('Tabelle wird geladen');
    Cancel := True;//Linkausführung unterbinden
    end;
  if Pos('\2',URL) > 0 then//URL ist C:\Temp\2
    begin
    showmessage('Tabelle leeren');
    Cancel := True;//Linkausführung unterbinden
    end;
end;
Ich habe mir schon die Eigenschaften von TWebBrowser angeschaut aber ich habe keinen Plan wie ich das einbinden kann.
Ich Programmiere zwar schon länger mit anderen Sprachen, aber warscheinlich nicht so viel mit Delphi das ich das verstehe. :gruebel:

Kannst du mir bitte auf die sprünge helfen wie ich das einbaue, bzw jemand anders ?

Lannes 24. Feb 2006 11:27

Re: Delphi und HTML, anzeigen und Klicks verarbeiten
 
Hallo,

im Objekt-Inspektor bei Ereignisse hinter OnBeforeNavigate2 ein Doppelklick
und Delphi erzeugt Dir den Prozedur-Rumpf.
Da schreibst Du dann den entsprechenden Code rein.

Blubbazisch 24. Feb 2006 11:31

Re: Delphi und HTML, anzeigen und Klicks verarbeiten
 
Danke dir!

Ich vergess immer das es den Objekt inspektor auch noch gibt :roll:

marabu 24. Feb 2006 11:35

Re: Delphi und HTML, anzeigen und Klicks verarbeiten
 
Hallo,

ein interner HTTP Server wäre IMO eine sehr elegante Lösung.

Grüße vom marabu

Blubbazisch 24. Feb 2006 11:43

Re: Delphi und HTML, anzeigen und Klicks verarbeiten
 
kannst du das genauer erklären ?

Oder meinst du ne XAMP Lösung ?

marabu 24. Feb 2006 12:37

Re: Delphi und HTML, anzeigen und Klicks verarbeiten
 
Ich würde eine Indy HTTPServer-Komponente verbauen, deren Port (z.B. 8088) ich beim Programmstart (-p 8088) konfiguriere. Deine Links könntest du dann alle an http://localhost:8088/appid/action?params schicken, wobei du bei der Link-Bildung appid, action und params geeignet ersetzt.

marabu

Blubbazisch 24. Feb 2006 12:45

Re: Delphi und HTML, anzeigen und Klicks verarbeiten
 
Das ist ne Super Idee und warscheinlich auch nicht so ein gestricke wie mit den Links abfangen aus der Web-Seite.


Supi, ich probier das mal.

Vielen Dank für Eure Hilfe!


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