AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Selectfeld ändern

Ein Thema von dominikkv · begonnen am 13. Apr 2008 · letzter Beitrag vom 13. Apr 2008
Antwort Antwort
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#1

Selectfeld ändern

  Alt 13. Apr 2008, 14:03
Hi,

ich möchte in einem Formular (einer Webseite) einen Eintrag in einem Selectfeld (vllt besser bekannt als ComboBox) auswählen.
Die Seite lade ich mit einem TWebBrowser, den Quellcodeabschnitt für das select habe ich mal angehängt (weil wenn ich das hier direkt zitiert hätte würde die Einrückung verloren gehen)

Hier habe ich schon was brauchbares gefunden, allerdings wird hier über Value ausgewählt.
Wie man in dem Quelltext sehen kann gibt es bei dem select aber kein Value (bzw nur einmal ein Value = "").

Bisher habe ich immer über den Index ausgewählt, blöderweise ändert der sich von Zeit zu Zeit.
Darum frage ich euch wie man jetzt über den angezeigten Text den Selecteintrag auswählt. Konkret müsste ich einfach nur die Option "Online Shop Auftragsbestätigung" auswählen.

Ich hoffe ihr habt Vorschläge



mfg.Dominik
Angehängte Dateien
Dateityp: txt selected_202.txt (1,2 KB, 12x aufgerufen)
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Selectfeld ändern

  Alt 13. Apr 2008, 14:30
Hallo Dominik,

Hier mal eine Möglichkeit:

 if WB_SetSelectValue(Webbrowser1, 'MVLG', 'Kontodaten') then // ok
Delphi-Quellcode:
function WB_SetSelectValue(WB: TWebbrowser; SelectName, ItemName: string): boolean;
var
  iForms, iFormItems, iSelectItems: Word;
  FormItem: OleVariant;
begin
  Result := False;
  for iForms := 0 to WB.OleObject.Document.forms.Length - 1 do
  begin
    FormItem := WB.OleObject.Document.forms.Item(iForms);
    for iFormItems := 0 to FormItem.Length - 1 do
    begin
      if (FormItem.Item(iFormItems).type = 'select-one') and
        (FormItem.Item(iFormItems).Name = SelectName) then
      begin
        for iSelectItems := 0 to FormItem.Item(iFormItems).Options.Length - 1 do
        begin
          if SameText(FormItem.Item(iFormItems).Options.Item(iSelectItems).Text, ItemName) then
          begin
            FormItem.Item(iFormItems).SelectedIndex := iSelectItems;
            Result := True;
            Break;
          end;
        end;
      end;
    end;
  end;
end;
Thomas
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Selectfeld ändern

  Alt 13. Apr 2008, 14:48
Danke toms, funktioniert prima

Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  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 03:50 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