Thema: Delphi Was bedeutet diese zahl?

Einzelnen Beitrag anzeigen

shmia

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

Re: Was bedeutet diese zahl?

  Alt 5. Nov 2007, 16:43
Folgende Procedure visualisiert die Browser Input Objekte in einem TreeView.
Delphi-Quellcode:
procedure Browser2TreeView(WebBrowser: TWebBrowser; root:TTreeNodes);
var
  i,j, k :Integer;
  FormItem, Element, SubElement: OleVariant;
  child, child2, child3 : TTreeNode;
  s_type : string;

begin
   Assert(Assigned(WebBrowser));
   Assert(Assigned(root));

   root.Clear;
   

  //count forms on document
  for I:=0 to WebBrowser.OleObject.Document.forms.Length -1 do
  begin
    FormItem := WebBrowser.OleObject.Document.forms.Item(I);

    if VariantIsObject(FormItem.Name) then
       child := root.AddChild(nil, 'Form'+IntToStr(i)+': '+FormItem.Name.Name)
    else
       child := root.AddChild(nil, 'Form'+IntToStr(i)+': '+FormItem.Name);
    child.ImageIndex := 3;


    For j:= 0 to FormItem.Length-1 do
    begin
      try
         Element := FormItem.Item(j);
         //when the fieldname is found, try to fill out
         child2 := root.AddChild(child, Element.Name+' = '+Element.Value);

         s_type := Element.Type;

         if s_type = 'submitthen
            child2.ImageIndex := 1
         else if s_type = 'textthen
            child2.ImageIndex := 0
         else if s_type = 'filethen
            child2.ImageIndex := 2
         else if s_type = 'hiddenthen
            child2.ImageIndex := 4
         else if s_type = 'checkboxthen
            child2.ImageIndex := 5
         else if s_type = 'radiothen
            child2.ImageIndex := 6
         else if s_type = 'select-onethen
            child2.ImageIndex := 7
         else
            child2.ImageIndex := -1;

         child3 := root.AddChild(child2, 'Type='+s_type);
         child3.ImageIndex := -1;


         if s_type = 'textthen
         begin
            child3 := root.AddChild(child2, 'MaxLen='+IntToStr(Element.maxLength));
            child3.ImageIndex := -1;
         end
         else if s_type = 'select-onethen
         begin
            for k := 0 to Element.Options.Length-1 do
            begin
               SubElement := Element.Options.Item(k);
               child3 := root.AddChild(child2, SubElement.Text+ ' = <'+SubElement.Value+'>');
               child3.ImageIndex := -1;

            end;

// ShowMessage(IntToStr(Element.Options.Length));
         end;


      except
        on E:Exception do
         root.AddChild(child, E.Message);
      end;
    end;
  end;

   if root.Count > 0 then
      root.GetFirstNode.Expand(True);
end;

// Aufruf
Browser2TreeView(WebBrowser1, TreeView1.Items);
Die Treeview ist mit einer Imagelist verbunden, damit jeder Objekttyp sein Bildchen bekommt.
Ich weiss aber nicht, wie ich die Imagelist hier rüberbringen soll.
Also selber kreativ werden.
Andreas
  Mit Zitat antworten Zitat