In den folgenden drei Kapiteln wird die Klasse Form (gb.qt4) mit den wichtigsten Eigenschaften, Methoden und Ereignissen sowie den verwendeten Konstanten ausführlich beschrieben.
Im Kapitel 12.2 folgen den Beschreibungen der Eigenschaften, der Methoden oder der Ereignisse vollständige Projekte und Beispiel-Quelltexte, in denen der Einsatz der Klasse Form gezeigt wird.
Im folgenden Beispiel werden die RSS-Feed-Daten im XML-Format (→ Kapitel 18.12.5 RSS-Reader) einer Webseite ausgelesen und es ergibt sich für einen Eintrag dieser gekürzte XML-Quelltext-Ausschnitt:
<item> <title>DFB-Elf auf EM-Kurs</title> <link>http://www.sportschau.de/fussball/nationalmannschaft/...bericht-deutschland...100.html</link> <description>Die deutsche Fußball-Nationalmannschaft hat sich in Glasgow mit einem 3:2 gegen Schottland durchgesetzt und steht nun unmittelbar vor der EM-Qualifikation. Für die Schotten ... .</description> </item>
In der Prozedur ParseNode(Node As XMLNode) werden aus allen Einträgen (<item>…</item>) jeweils die Daten für Titel und Beschreibung ausgefiltert und in einem neuen Formular (hFeed vom Typ FeedItem) dargestellt. Diese zur Laufzeit erzeugten Formulare werden in einen 'ListContainer' im Hauptprogramm eingefügt:
Public Sub ParseNode(Node As XmlNode) Dim xmlNode, xmlAttribute As XmlNode Dim hFeed As FeedItem For Each xmlNode In Node.Children If xmlNode.Name = "item" Then hFeed = New FeedItem(ListContainer.Count + 1, ListContainer) For Each xmlAttribute In xmlNode.Children Select Case xmlAttribute.Name Case "title" hFeed.FeedTitle = xmlAttribute.Value Case "description" hFeed.Description = xmlAttribute.Value Case "link" hFeed.Link = xmlAttribute.Value End Select Next ' Each xmlAttribute Else If xmlNode.Children.Count > 0 Then ParseNode(xmlNode) ' Rekursiver Aufruf! Endif ' xmlNode.Name = "item" ? Next ' Each xmlNode End ' ParseNode(...)
Über den ausgefilterten Link wird zusätzlich in einer WebView die korrespondierende Webseite geladen und dargestellt, wenn man auf ein eingefügtes Formular im ListContainer klickt.