AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Png Grafik am Bildschirm suchen und Position ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Png Grafik am Bildschirm suchen und Position ermitteln

Ein Thema von Go2EITS · begonnen am 30. Aug 2007 · letzter Beitrag vom 10. Sep 2007
Antwort Antwort
Seite 2 von 2     12   
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#11

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 31. Aug 2007, 11:07
Zitat von Go2EITS:
Childfenster jedoch ist mir ein neuer Begriff.
Unter Windows ist jedes Ding, dass man manipulieren kann (Button, Edit, Scrollbar, Combobox,...) ein Fenster und hat ein Handle.
Die Ausnahme sind Java-Programme; die kochen ihr eigenes Süppchen.
Bei Delphi ist das Programm WinSight dabei.
Vorgehensweise: Alle Programm bis auf das Zielprogramm beenden.
WinSight starten.
Das Hauptfenster in der Baumstruktur anklicken und dann "*" drücken um alles aufzuklappen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#12

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 31. Aug 2007, 11:42
Eine andere Ausnahme sind Webseiten...

a: Vergleich Helligkeit Grafik
b: Vergleich: Grafiken
c: Read/Write JPG
d: Screen Grab

Grüße // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#13

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 2. Sep 2007, 07:57
Shima: Ja, die Eingabemaske geht wohl über Java.
MSchäfer: Danke für die Hinweise!

Ich suche noch ein Programm, dass mir die Felder anzeigt, damit ich in Twebbrowser damit arbeiten kann.
Ich bin aber leider noch nicht weiter gekommen, bzw. konnte die Felder lokalisieren. Mir scheint meine erste Idee den Bereich auf dem Bildschirm mit Referenzpunkten zu suchen und mit einem simulierten Mausklick und simulierten Tastaturdruck auf zweiten Blick leichter zu sein als Java zu lernen. Allein die Suche nach den Feldern ist eher ein Ratespiel. Siehe auch www.dab-bank.com unter Login den Quelltext.

Noch jemand eine Idee?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#14

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 3. Sep 2007, 11:58
Auf der Seite sind zwei Frames. Der 2. Frame hat folgende Objekte:
Code:
Form1: searchform1
   baseURL = [url]http://extis.dab-bank.com/dab_neu/aktieninvest/suchergebnis.html[/url]
      Type=hidden
   kat =
      Type=hidden
   spring = search
      Type=hidden
   wptyp = ALL
      Type=radio
   wptyp = CER
      Type=radio
   wptyp = STK
      Type=radio
   wptyp = FND
      Type=radio
   wptyp = BND
      Type=radio
   wptyp = WNT
      Type=radio
   wptyp = NEW
      Type=radio
   wptyp = DAB
      Type=radio
   searchfor = WKN, ISIN oder Name eingeben
      Type=text
      MaxLen=2147483647
Also ist "searchfor" das primäre Eingabefeld.
Andreas
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#15

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 10. Sep 2007, 10:03
So, ich habe weiter recherchiert und bin mit Twebbrowser wohl am richtigen Weg.
Nachfolgende Codeschnipsel habe ich gefunden, die aber nicht funktionieren (ich verwende D7).
Quelle:
Link

Nachfolgende Vorgehensweise erscheint mir momentan sinnvoll:

1. Nummer der Form zu holen.
2. Alle Eingabefelder der Form holen und listen.

Delphi-Quellcode:
function GetFormByNumber(document: IHTMLDocument2;
    formNumber: integer): IHTMLFormElement;
var
  forms: IHTMLElementCollection;
begin
  forms := document.Forms as IHTMLElementCollection;
  if formNumber < forms.Length then
    result := forms.Item(formNumber,'') as IHTMLFormElement
  else
    result := nil;
end;

function GetFormFieldNames(fromForm: IHTMLFormElement): TStringList;
var
  index: integer;
  field: IHTMLElement;
  input: IHTMLInputElement;
  select: IHTMLSelectElement;
  text: IHTMLTextAreaElement;
begin
  result := TStringList.Create;
  for index := 0 to fromForm.length do
  begin
    field := fromForm.Item(index,'') as IHTMLElement;
    if Assigned(field) then
    begin
      if field.tagName = 'INPUTthen
      begin
        // Input field.
        input := field as IHTMLInputElement;
        result.Add(input.name);
      end
      else if field.tagName = 'SELECTthen
      begin
        // Select field.
        select := field as IHTMLSelectElement;
        result.Add(select.name);
      end
      else if field.tagName = 'TEXTAREAthen
      begin
        // TextArea field.
        text := field as IHTMLTextAreaElement;
        result.Add(text.name);
      end;
    end;
  end;
end;
//procedure TMyForm.Button1Click(Sender: TObject);
// Original geändert
procedure Form1.Button1Click(Sender: TObject);
var
  document: IHTMLDocument2;
  theForm: IHTMLFormElement;
  index: integer;
begin
   //Nachfolgend wird ein Fehler gezeigt:
  // document := TWebBrowser.Document as IHTMLDocument2;
  // und habe deshalb den Source abgeändert:
  document := WebBrowser1.Document as IHTMLDocument2;
  // und ab hier geht es bei mir nicht mehr weiter...
  theForm := GetFormByNumber(WebBrowser.Document as IHTMLDocument2,0);
  fields := GetFormFieldNames(theForm);

  for index := 0 to fields.count-1 do
    ShowMessage('Field ' + IntToStr(index) + ' called ' + fields[index]);
end;
So fehlerfrei, wie der Autor schreibt, scheint der Code für D7 nicht zu sein.
Kann jemand weiterhelfen?
  Mit Zitat antworten Zitat
Benutzerbild von f.siebler
f.siebler

Registriert seit: 15. Jan 2007
Ort: Hamburg
170 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 10. Sep 2007, 10:14
Moin,

ich weiß, dass es unfair ist das anzusprechen, aber bist du dir sicher, dass du mit einem Bot zum Abfragen der Börsenkurse nicht gegen die AGB des Anbieters handelst. Wenn es so einfach wäre, warum gibt es dann noch teure Dienste wie http://www.smarthouse.de/ ?
Ich würde es mal prüfen, bevor du dich evtl. mit einer/deiner Bank anlegst..
Viele Grüße aus Hamburg
Fabian
sql-praxis.net: sql von der Theorie in die Praxis...
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#17

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 10. Sep 2007, 10:15
@f.siebler
Ich denke, wenn ich über Sendkeys eine Order ausführe, über Twebbrowser die Felder ausfüllen lasse oder über meine Maus und Tastatur agiere, ist das unerheblich für die Bank, aber für mich schneller. Problematisch wird es sicherlich, wenn ich 100 Mal in der Minute Kurse abfrage. Wenn ich alle 5 Minuten eine Abfrage tätige, ist dies wohl unerheblich. Der Trafik bleibt in etwa gleich. Das Ziel ist nicht die Abfrage von x-Kursen in der Minute eines Wertpapiers.

Wieder zum Problem:

Ich habe den (fehlerhaften) Source beigefügt und verwende ein Beispiel, dass bei Yahoo einen Login ausfüllt und ausführt.
Den Code zum auslesen der Felder habe ich integriert. Weil der ergänzende Code nicht compiliert wird, habe ich diesen im Code
"auskommentiert". Ich hoffe, das hilft weiter.
Angehängte Dateien
Dateityp: rar test_125.rar (201,8 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 10. Sep 2007, 10:39
wenn es sich um eine simple webseite handelt ist TWebbrowser auch der falsche Weg. Denn wie es scheint brauchst du die visuelle Ausgabe im Webseitendesign nicht. Dementsprechen kannst du auch einfach die Webseite herunterladen, die Daten Parsen und dann die Daten wieder abschicken (posten)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#19

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 10. Sep 2007, 10:48
@SirThornberry:
Nein, es ist eine Seite mit Javascript.
Die Eingabefelder konnte ich nicht localisieren, daher mein Versuch über den obenstehenden Code.
Siehe auch die Komplexität der Seite unter dem Login z. B. von der DAB-Bank:
Beispiel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 22:56 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