Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi externe Felder auslesen (https://www.delphipraxis.net/42246-externe-felder-auslesen.html)

davar 16. Mär 2005 10:32


externe Felder auslesen
 
Hallo Leute,

ich verlasse mich mal auf den Spruch, dass es keine dummen Fragen gibt und stelle meine Frage :-)

Wir geben Daten über eine HTML-Oberfläche ein. Es liegen Bruttopreise vor und diese müssen als Nettopreise eingegeben werden, also müssen wir derzeit immer die Preise erst umrechnen.

Nun mache ich mir Gedanken, ob es denn nicht möglich wäre, diesen Vorgang zu automatisieren. Ich würde gerne den Bruttopreis eintragen und per Shortcut o.ä. soll dieser Betrag in Netto umgerechnet und durch diesen ersetzt werden.

Was meint ihr, ist dies so ohne weiteres möglich? Inwiefern ist es machbar, den Text eines Feldes vom Internet Explorer zu kopieren, umzurechnen und dann dort wieder einzufügen?

MfG

davar

shmia 16. Mär 2005 11:14

Re: externe Felder auslesen
 
Zitat:

Zitat von davar
Wir geben Daten über eine HTML-Oberfläche ein. Es liegen Bruttopreise vor und diese müssen als Nettopreise eingegeben werden, also müssen wir derzeit immer die Preise erst umrechnen.

Nun mache ich mir Gedanken, ob es denn nicht möglich wäre, diesen Vorgang zu automatisieren. Ich würde gerne den Bruttopreis eintragen und per Shortcut o.ä. soll dieser Betrag in Netto umgerechnet und durch diesen ersetzt werden.

Was meint ihr, ist dies so ohne weiteres möglich? Inwiefern ist es machbar, den Text eines Feldes vom Internet Explorer zu kopieren, umzurechnen und dann dort wieder einzufügen?

Ja, das ist möglich.
Die Aufgabe sieht im Prinzip so aus:
1.) ermitteln aller offenen IE Browserfenster und das "richtige" auswählen
(Interface IShellWindows)

2.) über das "Document" Interface kommt man an die Formulardaten heran.
Ein "Document" enthält 1 oder mehr Forms; ein Form enthält 1 oder mehr FormItems
Ein FormItem hat 3 für dich relevante Properties:
.Name -> der Name der Editbox
.Value -> der Inhalt als String
.Typ -> in deinem Fall immer Text (es gibt auch Radio, Select-one, Checkbox, ...)
Delphi-Quellcode:
  if FormItem.Name = "Betrag" then
     FormItem.Value := FloatToStr(StrToFloat(FormItem.Value)*1.16);

davar 16. Mär 2005 11:52

Re: externe Felder auslesen
 
Ideal ist eine Antwort natürlich immer, wenn gleich der komplette Quellcode mit dabeisteht ;-)

Das ganze ist nun Neuland für mich, muss mich also mal damit beschäftigen. Aber erst zu der einfachsten Frage:

Die Waren wurden in Gruppen sortiert. Und das bringt es mit sich, dass jede dieser Gruppen ein eigenes Preisfeld hat und jedes dieser Preisfelder hat den gleichen Namen. Kann man da alle Felder durchlaufen oder bin ich da gleich mit dem ersten Problem konfrontiert?

toms 16. Mär 2005 12:16

Re: externe Felder auslesen
 
Hallo,

Suche mal hier: Bei Google suchenSwissDelphiCenter Gmx.
Habe dort einen Code geschrieben, wie man auf eine laufende
IE Instanz zugreifen kann mit Felder ausfüllen usw.

Wenn du weitere Hilfe brauchst, dann frage hier einfach...

shmia 16. Mär 2005 13:07

Re: externe Felder auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von davar
Ideal ist eine Antwort natürlich immer, wenn gleich der komplette Quellcode mit dabeisteht ;-)

Das ganze ist nun Neuland für mich, muss mich also mal damit beschäftigen. Aber erst zu der einfachsten Frage:

Die Waren wurden in Gruppen sortiert. Und das bringt es mit sich, dass jede dieser Gruppen ein eigenes Preisfeld hat und jedes dieser Preisfelder hat den gleichen Namen. Kann man da alle Felder durchlaufen oder bin ich da gleich mit dem ersten Problem konfrontiert?

Man kann die Felder durchlaufen; kein Problem.
Ich hänge mal eine Demo-Anwendung ("Form Hero") an.
Damit kann man:
  • eine URL im WebBrowser anzeigen
  • alle Links anzeigen
  • alle Formularfelder mit Typ, Name & Inhalt anzeigen
  • den HTML-Text anzeigen

davar 16. Mär 2005 15:11

Re: externe Felder auslesen
 
jetzt bin ich doch a bissl baff..

wird wohl mehr helfen als stundenlanges Erzählen.

Vielen Dank, werde mich damit mal auseinandersetzen..


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