AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Formular-Werte empfangen
Thema durchsuchen
Ansicht
Themen-Optionen

Formular-Werte empfangen

Ein Thema von SebE · begonnen am 14. Jul 2005 · letzter Beitrag vom 15. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#1

Formular-Werte empfangen

  Alt 14. Jul 2005, 21:54
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?
Sebastian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Formular-Werte empfangen

  Alt 14. Jul 2005, 22:41
Mit etwas Glück geht das so:

Delphi-Quellcode:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#3

Re: Formular-Werte empfangen

  Alt 15. Jul 2005, 11:33
Danke für die Antwort.
Aber ich hab Delphi 7 PE und finde die Unit MSHTML nicht

Geht das auch irgendwie mit ParamStr() oder so?
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Formular-Werte empfangen

  Alt 15. Jul 2005, 11:37
Zitat von SebE:
Danke für die Antwort.
Aber ich hab Delphi 7 PE und finde die Unit MSHTML nicht

Geht das auch irgendwie mit ParamStr() oder so?
Hi,

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
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#5

Re: Formular-Werte empfangen

  Alt 15. Jul 2005, 11:55
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.
Sebastian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Formular-Werte empfangen

  Alt 15. Jul 2005, 12:04
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
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#7

Re: Formular-Werte empfangen

  Alt 15. Jul 2005, 12:08
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?
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Formular-Werte empfangen

  Alt 15. Jul 2005, 12:13
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)
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#9

Re: Formular-Werte empfangen

  Alt 15. Jul 2005, 12:20
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?
Sebastian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Formular-Werte empfangen

  Alt 15. Jul 2005, 13:00
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 von SebE:
"MeinProgramm.exe?Input1=123&Input2=456"
Wie komme ich an die Parameter?
Die Parameter stehen dir bei der client-seitigen Lösung im Ereignis OnCommandGet(... ARequestInfo.QueryParams ...) zur Verfügung.

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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:17 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