![]() |
GPS-Daten aus Browser auslesen
Hallo,
ich bin nun schon eine Weile auf der Suche und am Probieren, komme aber nicht weiter. Dabei wäre das was ich brauche eigentlich gar nicht so kompliziert: Der Anwender soll in einem modalen Dialog (Windows-App, VCL) auf einer Landkarte einen Standort auswählen und daraufhin möchte ich den ausgewählten Längen- und Breitengrad speichern. Der Ansatz war, einen TWebBrowser auf eine Form, und dann über "WebBrowser.OleObject.document.forms.item(..)" den Inhalt auslesen. Das funktioniert aber nicht, weil die Seiten ![]() ![]() Kann man daran was tun oder was läuft da falsch? Oder ist das eine Einschränkung dieser Komponente und ich bin auf dem Holzweg? Oder gibt es "bessere" Seiten? Die Alternative wäre dann vielleicht, die Webseite im Standard-Browser zu öffnen, und dann die Felder auszulesen. Doch, wie macht man das (z.B. die Felder aus Firefox auslesen)? Und vor allem, wie bekomme ich in diesem Fall mit, dass der Anwender eine Auswahl getroffen hat? Vielleicht hat ja jemand einen Link oder einen Tipp der mich weiter bringt. |
AW: GPS-Daten aus Browser auslesen
Zitat:
![]() |
AW: GPS-Daten aus Browser auslesen
Danke für den Tipp. Für DevExpress konnte ich mich bisher nicht so begeistern. Wer kauft schon wegen einem Liter Milch einen ganzen Bauernhof. Bin gerade bei TMS (WebGMaps) an Probieren. Sieht eigentlich ganz chic aus :thumb:
|
AW: GPS-Daten aus Browser auslesen
|
AW: GPS-Daten aus Browser auslesen
Zitat:
Da das alles ziemlich JavaScript lastig ist und sehr stark in Bewegung, könnte das sehr schwierig oder unmöglich werden. Der Milchvergleich passt! Die Preis Politik ist bei DevExpress sehr fragwürdig. Die Komponenten sind aber sehr gut. |
AW: GPS-Daten aus Browser auslesen
Zitat:
|
AW: GPS-Daten aus Browser auslesen
Hallo,
erst mal vielen Dank für die bisherigen Beiträge. Mein Problem ist halt, dass ich Autodidakt bin, und in manchen Dingen nicht so tief drin stecke, wie ein gelernter Informatiker. Wenn's kompliziert wird, dann muss ich eben manchmal passen, und auf fremde Hilfe zurück greifen. Darum: Bevor ich mich tagelang mit einer API rum schlage, greife ich lieber zu einer Komponente. Die Kuh von DevExpress ist vom Eis. Ich habe schon von LMD und TMS einen Sack voll Komponenten, wovon ich nur eine Handvoll benutze, da muss ich mir die über 1000 Euronen wegen einer einzigen Komponente nicht antun. Aber, die "TMS WebGMaps" Demo die ich gerade noch teste, sieht sehr gut aus. Macht alles (und noch viel mehr) was ich brauche und ist mit 95 Euronen auch erschwinglich. Das wird es wahrscheinlich werden. :thumb: |
AW: GPS-Daten aus Browser auslesen
Zitat:
|
AW: GPS-Daten aus Browser auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
(Post nochmal komplett überarbeitet:) Ich habe mal eine Unit erstellt mit der man Javascript-Funktionen aufrufen kann. Man kann sogar Delphi-Funktionen als Callback mitgeben:
Delphi-Quellcode:
Die dazugehörige Beispiel-HTML:
uses
RemoteJS; type // Funktionen die man als Callback übergeben will müssen von TJavascriptFunction abgeleitet werden TAddFunc = class(TJavascriptFunction) function Call(AParams: Array of OleVariant): OleVariant; override; end; function TAddFunc.Call(AParams: array of OleVariant): OleVariant; begin if (Length(AParams) >= 2) then Result := AParams[0] + AParams[1] else Result := Unassigned; end; procedure TForm1.Button1Click(Sender: TObject); var f: IDispatch; begin doc := WebBrowser1.Document as IHTMLDocument2; // Aufruf einer Funktion in JS, Ergebnis wird in res gespeichert und ausgegeben res := InvokeJS(doc.Script, 'ScriptAdd(a,b)', [2.4, 3.8]); ShowMessage(res); // Aufruf der Funktion CallbackAdd. // Als parameter wird unsere AddFunc übergeben die aus CallbackAdd heraus aufgerufen wird f:= TAddFunc.Create(); res := InvokeJS(doc.Script, 'CallbackAdd(f)', [f]); end;
Code:
Damit sollte der Kommunikation zwischen JS und Delphi eigentlich nichts mehr im Wege stehen :)
<html>
<head> <script> function ScriptAdd(a,b) { return a+b; } function CallbackAdd(f) { alert(f(12, 1)); // sollte 13 ausgeben } </script> </head> <body> </body> </html> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 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 by Thomas Breitkreuz