Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TWebBrowser OnDblClick - wo isses denn? (https://www.delphipraxis.net/209765-twebbrowser-ondblclick-wo-isses-denn.html)

creehawk 18. Jan 2022 10:38

TWebBrowser OnDblClick - wo isses denn?
 
Moin Moin.

Ich habe eine Form mit einem TWebBrowser. in diesen Browser lade ich eine XML zur Anzeige. Dies vor allem weil die XML dann optisch so formatiert und angezeigt wird wie es sich 'gehört'.

[CODE]
.......
<Standard>
<GUID>190656</GUID>
<Name>Zublenus</Name>
<Info>nothing</Info>
</Standard>
.......

Wenn ich jetzt mit dem Mauszeiger auf den Wert 190656 doppelklicke wird dieser sauber markiert. Schön.
Und jetzt soll dieser Wert kopiert werden in ein Editfeld (via Zwischenablage denke ich). Schön.
Also über die Tastatur den Wert kopieren (Strg +C), Focus aufs Editfeld, Wert einfügen. Via Maus oder Strg + V. Schön.

Elegant wäre ja jetzt das mit dem Doppelklick der Wert mit

Delphi-Quellcode:
   Browser.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_PROMPTUSER);
in die Zwischenablage kopiert würde analog eben zu Strg+c. Schön.

Aber es gibt ja kein OnDblClick Ereigniss des WebBrowser Elementes.

Wie kann ich Delphi überreden das doch zu tun?


creehawk

Bernhard Geyer 18. Jan 2022 12:38

AW: TWebBrowser OnDblClick - wo isses denn?
 
Da wirst du wohl im Browser per JavaScript entsprechende OnDbl-JavaScripts um die entsprechende Elemente legen müssen.
Aber wenn XML?
ist denn die Transformation in "schöne Darstellung" so komplex?
Wenn das sowas wie ein "Tabelle" darstellt, wäre es doch einfacher die XML per XML-Parser zu laden und z.B. in eine Listbox zu bringen?

creehawk 18. Jan 2022 13:44

AW: TWebBrowser OnDblClick - wo isses denn?
 
Danke für die Antwort.

Der Browser für XML weil die Darstellung dann optisch die einzelnen XML Element hervorhebt - Knoten rot, Kommentare grün, Werte schwarz - usw. Kennt man ja auch aus Texteditoren wie Notepad++, mit fällt der Name für diese Art der Auszeichnung jetzt nicht ein.

Ich kann das natürlich in eine Listbox setzen oder ein RichEdit, aber da fehlt es eben.

creehawk

Delphi.Narium 18. Jan 2022 14:39

AW: TWebBrowser OnDblClick - wo isses denn?
 
SynEdit mit Syntaxhervorhebung für XML?

creehawk 19. Jan 2022 10:50

AW: TWebBrowser OnDblClick - wo isses denn?
 
Moin Moin.

Vielen Dank für den Hinweis. Wäre ideal.

Aber externe Komponenten haben mir in der Vergangenheit in erster Linie Probleme gemacht. Vor allem sind die Teile irgendwann verschwunden oder nur noch für 798.00 Euro zu kaufen, oder werden von der neuen Delphi Version abgelehnt, der Entwickler ist tot umgefallen und und und ....

creehawk

BerndS 19. Jan 2022 13:01

AW: TWebBrowser OnDblClick - wo isses denn?
 
Um dieses Problem zu minimieren sollte man immer die Quellen erwerben bzw. diese verfügbar sein.
Bei SynEdit sind diese verfügbar und werden bisher für die aktuellen Delphiversionen erweitert.

Hier ist das Risiko meiner Meinung nach sehr gering.
Ich persönlich setze SynEdit auch für unser Hauseigenes Tool zur Pflege der SQL-Scrips ein.

Bernhard Geyer 19. Jan 2022 13:06

AW: TWebBrowser OnDblClick - wo isses denn?
 
Zitat:

Zitat von creehawk (Beitrag 1500870)
Aber externe Komponenten haben mir in der Vergangenheit in erster Linie Probleme gemacht. Vor allem sind die Teile irgendwann verschwunden oder nur noch für 798.00 Euro zu kaufen, oder werden von der neuen Delphi Version abgelehnt, der Entwickler ist tot umgefallen und und und ....

Solange man nicht ein Komponente wegen 2 Codezeilen Einsparung nimmt und man nicht OpenSource-Entwickler ist der das ohne Bezahlung macht,
ist eine Not-invented-here im Beruflichen Umfeld fast immer teurer als einfach sich 2-3 Komponentensammlungen auszusuchen, welche im normalen Arbeitsaltag die Entwicklung erleichtert.

800 € dürften in vielen Firmen der Preis sein, den 1/2 bis 1 Tag Entwicklung für externe in Rechnung gestellt wird.
Also wenn du mehr als einen Tag mit einer solchen Komponenten Zeit sparst, lohnt es sich diese Anzuschaffen.

Delphi.Narium 19. Jan 2022 13:23

AW: TWebBrowser OnDblClick - wo isses denn?
 
SynEdit gibt es mit Quellen, die kann man dann auch weiterpflegen, wenn es sein muss oder man was haben möchte, was SynEdit noch nicht hat.

Da bestehen bei der Nutzung von Browser, RichEdit, der Windows- oder Sonsteiner-API, ... deutlich mehr Abhängigkeiten, als bei quelloffenen Komponenten.

Seit ich SynEdit kenne, nutze ich kein TMemo mehr, SynEdit ist da einfach besser.

HighLighter hab' ich mir auch schon dazugebaut, für Scriptsprachen, die SynEdit nicht von Haus aus unterstützt.

Und wenn man SynEdit nicht aktiv nutzen will, so kann man da in den Quelltexten ja mal nachschauen, wie die die Syntaxhervorhebung realisiert haben und von denen für eine eigenen Lösung abschauen.

Und wenn es SynEdit mal nicht mehr gibt und 'ne neue Delphiversion fällig ist, dann muss man SynEdit eben anpassen, genauso, wie man auch die eigenen Sourcen anpassen muss.

Zum Kosten-/Nutzenverhältnis: Das, was Du mit SynEdit für umsonst bekommst, kostet Dich als Entwickler, der das alles von Grundauf neu machen muss, sicherlich ein paar Mannjahre.
Bei der Ersparnis kann man auch mal die A...backen zusammenkneifen und nötigenfalls bei 'nem Update von Delphi erforderliche Anpassungen selbst vornehmen. Oft reduziert sich das sowieso nur auf ein paar IfDefs zur Versionsabfrage der unterstützten Kompiler.
Richtige Brüche, die die Unmöglichkeit der Weiternutzung der quelloffenen Komponenten zur Folge haben, sind extrem selten.

creehawk 20. Jan 2022 07:34

AW: TWebBrowser OnDblClick - wo isses denn?
 
Moin Moin.

[Erkenntnisabteilung]
Okay. Überredet.
SynEdit eingebaut. Funktioniert.
Hoffen wir das Beste.
[/Erkenntnisabteilung]

[Infoabteilung]
Beruflich nutzen wir Delphi ier nicht, sondern ausschließlich im Bereich Gaming, und dort für die Entwicklung von Spieleditoren - alles Hobby. Seit ~ 1996. Delphi3 war die erste Version die wir genutzt haben, 10 geschenkte Versionen. Aktuell reiten wir auf der Community Version. Und - wir sind keine Programmierer im eigentlichen Sinne, mittlerweile aber auch keine Anfänger mehr.
Wir können zum einen keine teueren Komponenten kaufen und zum anderen reichen unsere Künste nicht um vorhandene Kunstwerke umzubasteln. Daher vermeiden wir es tunlichst Elemente ausserhalb der Grundversion zu verwenden.
Ich habe jetzt Synedit mit diesen Überlegungen betrachtet. Das Teil ist jetzt 10 Jahre alt und wird offensichtlich gepflegt. Sollte also noch 5 Jahre halten. Das Durchschnittsalter unserer 'Mitarbeiter' : 68 Jahre. :-D
[/Infoabteilung]

creehawk


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