![]() |
Formular-Werte empfangen
hi, wie kann man die Werte eines HTML-Formulars im eigenen Programm verwenden?
Beipiel: ... <form method="post" action="MeinProgramm.exe"> <input type="text" name="x"> ... </form> ... Ich möchte in meinem Programm den Wert von "x" verwenden. Geht das überhaupt mit Pascal? |
Re: Formular-Werte empfangen
Mit etwas Glück geht das so:
Delphi-Quellcode:
Grüße vom marabu
uses
MSHTML; var doc: IHTMLDocument2; inp: IHTMLInputElement; frm: IHTMLFormElement; begin doc := WebBrowser.Document as IHTMLDocument2; // Zugriff auf form über name // frm := doc.forms.item('f', 0) as IHTMLFormElement; // oder Zugriff über index frm := doc.forms.item(0, 0) as IHTMLFormElement; inp := frm.item('x', 0) as IHTMLInputElement; ShowMessage(inp.value); end; |
Re: Formular-Werte empfangen
Danke für die Antwort.
Aber ich hab Delphi 7 PE und finde die Unit MSHTML nicht :cry: Geht das auch irgendwie mit ParamStr() oder so? |
Re: Formular-Werte empfangen
Zitat:
die MSHTML Unit (bzw. die "Microsoft HTML Object Library") musst Du Dir erst über Active X importieren. Einfach Projekt -> Active X importieren wählen und dort die ActiveX Bibliothek auswählen und die Unit generieren lassen. mfG mirage228 |
Re: Formular-Werte empfangen
Hab ich gemacht, jetzt hab ich eine Komponente names TScriptlet bekommen, aber die Unit MSHTML gibt es immer noch nicht
Edit: hab's gefunden: Unit heißt "MSHTML_TLB" Aber geht das wirklich nicht ohne diesen TWebBrowser?? Ich würde gerne die Werte des Standardbrowsers empfangen. Mein Programm soll durch das HTML-Formular aufgerufen werden und dessen Werte verarbeiten. |
Re: Formular-Werte empfangen
Wenn du TScriptlet erhalten hast, dann hast du beim Import die falsche DLL ausgewählt. "Microsoft Internet Controls" wäre richtig gewesen.
Ohne WebBrowser geht es auch, dann musst du einen eigenen Parser schreiben. Oder du hangelst dich mit PosEx() bis an die richtige Stelle vor und holst dir den Text mit Copy(). Grüße vom marabu |
Re: Formular-Werte empfangen
und wo stehen die Werte des Formulars (die sind doch im RAM und nicht auf der HD).
Die Werte sieht mein Programm nie, das ist ja das Problem. Mein Programm sollte beim Öffnen, was durch das Formular geschied, einen String erhalten: Beispiel: "MeinProgramm.exe?Input1=123&Input2=456" Wie komme ich an die Parameter? |
Re: Formular-Werte empfangen
Garnicht, da dein Programm nie so von einem Webserver aufgerufen wird.
Auf was für einem WebServer läuft denn dein Programm überhaupt? Einfach eine HTML Datei, die dann ein Programm ausführt, funktioniert nicht (Schon alleine aus Sicherheitsgründen) |
Re: Formular-Werte empfangen
Ne, mein Programm läuft auf keinem WebServer, es sollte selbst etwas ähnliches werden.
ich weis nicht genau, wenn ich meinen Router über seine IP aufrufe, bekomme ich ein HTML-Dokument, wo man sich z.B. einloggen kann. Die Werte werden an eine EXE geschickt (und ich bekomme wieder ein HTML-Dokument zurück). So soll mein Programm auch aussehen. Nur es soll irgendeine Berechnung durchführen z.B: User gibt in Formular seine Werte (Gewicht, Alter,...) ein. Werte werden an Programm geschickt und BMI errechnet. BMI wird als neues HTML-Dokument an User geschickt. kann man das mit Delphi PE machen? |
Re: Formular-Werte empfangen
Hi,
habe dein Problem nicht gleich verstanden, aber wir kommen der Sache näher. Du möchtest ein Programm mit einem Web GUI schreiben, wie es in jedem besseren Drucker oder Router steckt - oder? Du musst dich entscheiden, ob dein Programm server-seitig oder client-seitig laufen soll. Für die Serverseite musst du dein Programm als ISAPI- oder als CGI-Modul implementieren. Für die Client-Seite nimmst du am besten die Indy Komponente HTTPSERVER und den WebBrowser (oder EmbeddedWb). Du erhältst dann einen stand-alone server mit eingebettetem Browser. Das scheint mir eher deine Idee zu sein. Zitat:
Das werden schon ein paar Zeilen Code. Du wirst einige Zeit für dein Projekt brauchen, wenn du da noch gar keine Erfahrung mit hast... Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 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