![]() |
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! |
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:
Diese Datei im WebBrowser laden
<a href=1>Tabelle laden</a>
<a href=2>Tabelle leeren</a>
Delphi-Quellcode:
auf die Link-Ausführung reagieren
procedure TForm1.Button1Click(Sender: TObject);
var f : OleVariant; begin WebBrowser1.Navigate('file://C:\Temp\Befehle.html',f,f,f,f); end;
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; |
Re: Delphi und HTML, anzeigen und Klicks verarbeiten
Hi,
TWebbrowser ist wahrscheinlich das bekannteste. Alternativ kannst du ![]() |
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:
Ich habe mir schon die Eigenschaften von TWebBrowser angeschaut aber ich habe keinen Plan wie ich das einbinden kann.
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 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 ? |
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. |
Re: Delphi und HTML, anzeigen und Klicks verarbeiten
Danke dir!
Ich vergess immer das es den Objekt inspektor auch noch gibt :roll: |
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 |
Re: Delphi und HTML, anzeigen und Klicks verarbeiten
kannst du das genauer erklären ?
Oder meinst du ne XAMP Lösung ? |
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
![]() marabu |
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 22:45 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