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
Go2EITS

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

Re: Png Grafik am Bildschirm suchen und Position ermitteln

  Alt 10. Sep 2007, 09: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
Antwort Antwort


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 18:57 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