Als Assistent bezeichnet man üblicherweise ein Programm, das aus mehreren Dialogseiten besteht, zwischen denen man beliebig wechseln kann. Beendet wird ein Assistent meist durch eine Schaltfläche mit der Aufschrift "Fertig stellen" o.ä.
Gesehen haben Sie so ein Programm sicher schon. Einige sind im Betriebssystem eingebaut, manche Setupprogramme arbeiten nach diesem Prinzip, usw. usw.
Von der Umsetzung her entspricht ein Assistent einem so genannten "Property-Sheet"-Control. Nun stellt man sich aber darunter eher eine Seite mit mehreren Registern vor. Jedes Register entspricht einem eigenen Dialog. Der Anwender kann auf das Register klicken und sieht dann den entsprechenden Dialog, in dem er Eingaben tätigen, Optionen auswählen und dergleichen mehr tun kann.
Was hat das aber mit einem Assistenten zu tun? Die Grundlage ist die gleiche. Nur zeigt der Assistent eben nicht alle Seiten auf einmal an, sondern man kann die Optionen nur nacheinander erreichen. Glücklicherweise ist der Code dank Property-Sheets im System integriert, so dass es nur weniger Handgriffe bedarf, um einen Assistenten zu erzeugen.
Wir wollen als Beispiel für einen Assistenten einen IE-Favoritenkonverter für den Opera schreiben. Sie wissen sicher, dass der Internet Explorer eine eingebaute Import- und Exportfunktion für die Favoriten besitzt. Allerdings wird beim Export lediglich die Mozilla-typische "bookmarks.html" unterstützt. Ein Problem ist das freilich nicht, denn der Opera kann diese Datei natürlich importieren. Aber wir wollen den Kreis schließen und den Export in das vom Opera benutzte Format direkt anbieten.
Allerdings werden Sie beim Lesen feststellen, dass es eigentlich keine Rolle spielt, was das Beispielprogramm macht. Es geht ja auch hauptsächlich darum, wie man ein typisches Assistentenprogramm erstellt. Dass das Beispielprogramm nicht nur als Demonstration der Möglichkeiten anzusehen ist, ist sicher ein angenehmer Nebeneffekt. :o)