Autor Beitrag
MrSaint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Mo 15.05.06 11:44 
Hallo!

Ich hatte gestern hier mal nachgefragt, ob Interesse an solch einer Komponente besteht. Nun veröffentliche ich sie also!
Die Bedienung der Komponente ist nicht weiter kompliziert: Man packt die Wizard-Komponente auf die Form und kann dann per Doppelklick "Pages" hinzufügen. Diese Pages könnt ihr später mit Edits, Labels, etc. füllen. Falls ihr in eurem Wizard einen "komplexeren" Ablauf braucht, in dem es mehrere "rote Fäden" geben soll, kann man die einzelnen Pages mit der property Active abschalten. Der Runtime-Ablauf ist weitgehend automatisiert. Die Buttons für Weiter und Zurück wechseln standardmäßig zur nächsten aktiven Page. Außerdem könnt ihr hinter die Buttons eure eigenen Eventhandlers hängen: Einen für den Fertig-Button, einen für den Abbrechen-Button und jeweils zwei für Weiter und Zurück (einer jeweils für dem automatischen Seitenwechsel und einer nach dem automatischen Seitenwechsel).

Das ganze wurde geschrieben für D6Pro, ich weiß nicht, ob es auch in anderen Versionen läuft. Über Rückmeldung würde ich mich hier freuen. Vor allem bezweifle ich, dass es mit einer Delphi Version < 6 läuft, da es in der Version 6 ja die Umstellung von den Design-Units gab. Das könnte ja dann vielleicht jemand anpassen :D

TSCWizard benötigt keinerlei Fremdkomponenten. Alles was er braucht ist die Klasse TSCList, diese wird aber mitgeliefert. Es ist eine Listenklasse (Ähnlich TList, nur kann man hier Daten hinterlegen und man hat ein paar Events).
Hab das alles mehr oder minder ausgiebig getestet, Bugreports bitte zu mir ;)

Als kleine Dokumentation liegt noch ein PasDoc bei.

Installieren so wie immer: zuerst das Run-Package, dann das Design-Package.

Ach, noch was: das ganze steht unter der GPL, also darf die Komponente nicht von kommerziellen/ClosedSource Programmen verwendet werden! Näheres kann dann jeder in der License.txt nachlesen! Sollte jemand das ganze unter einer anderen Lizenz verwenden wollen, kann er sich ja mal bei mir melden.



MrSaint

Edit, 12.02.08: ZIP im Post angehängt. Der externe Downloadlink wird bald nicht mehr funktionieren...
Einloggen, um Attachments anzusehen!
_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems


Zuletzt bearbeitet von MrSaint am Di 12.02.08 13:29, insgesamt 1-mal bearbeitet
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mo 15.05.06 14:26 
Kleinigkeit vorweg:
Die Events 'OnClick' und 'OnClicking' sollten 'OnChanged' und 'OnChange' heißen. Oder 'OnChange' und 'OnChanging'. Schließlich ist es -genau genommen- kein Klick-Ereignis, sondern ein Ereignis, das VOR und NACH dem Wechseln (CHANGE) der Seite auftritt.

Weiterhin wäre es optimal, wenn man seine eigene TButton-Klasse angeben könnte. Eigentlich sollten alle TControl-Derivate (Enabled, Caption und OnClick) erlaubt sein.

Den Rest habe ich mir noch nicht en detail angeschaut, es sieht aber wirklich gut aus.

_________________
Na denn, dann. Bis dann, denn.
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Mo 15.05.06 15:46 
Habs in Delphi 2005 PE angetestet.
Nicht schlecht soweit. :zustimm:
Jedoch wird bei XPManifest das obere weiße Panel grau.
Sollte ParentColor auf false. :gruebel:
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Do 18.05.06 09:44 
Hallo!

Sorry, dass ich mich erst jetzt melde, hatte aber die letzten Tage nicht viel Zeit.. Hab jetzt ne neue Version hochgeladen (Link siehe oben), in der die Dinge geändert sind. Ich wundere mich zwar, warum man seine eigenen Buttons definieren will, aber okay ;) Mann kann übrigens nur TButtons definieren, keine TControls, weil versch. properties von TControl protected sind, die ich aber brauch. Ich fand es dann bisschen unschön, eine eigene Klasse zu machen, welche diese properties public macht und dann durch die Gegend zu casten.. Zur Not sollte das aber gehen... Wenn es also wirklich benötigt wird, kann ich das ja noch implementieren.


Schönen Tag noch :D



MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Do 18.05.06 13:29 
Super eine OSS Komponente, danke! Ich dachte immer, dass es im Formularexperten die Möglichkeit gab Wizzards zu machen, hab mich wohl geeirt...
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Do 18.05.06 13:33 
Hi Saint,

Ich verwende Buttons von Developer Express, die haben ein anderes Layout. Leider sind sie nicht von TButton abgeleitet. Ich finde die Komponente aber wirklich absolut geil. Wenn ich mal Zeit habe, kann ich das ja mal versuchen, einzubauen. Falls ich es schaffen sollte, melde ich mich.

_________________
Na denn, dann. Bis dann, denn.
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Do 18.05.06 14:04 
user profile icondigi_c hat folgendes geschrieben:
Super eine OSS Komponente, danke!


Bitte ;)


user profile iconalzaimar hat folgendes geschrieben:
Ich verwende Buttons von Developer Express, die haben ein anderes Layout. Leider sind sie nicht von TButton abgeleitet. Ich finde die Komponente aber wirklich absolut geil. Wenn ich mal Zeit habe, kann ich das ja mal versuchen, einzubauen. Falls ich es schaffen sollte, melde ich mich.


Nun extra für dich: Neue Version (Link siehe wieder oben). Nun kannst du jegliches TControl als Buttons zuweisen :D

Außerdem hab ich noch einen kleinen Bug in der Button-Zuweisung behoben: der Weiter-Button hat immer die Standard-Caption bei einer Zuweisung erhalten :oops:




MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Mo 22.05.06 19:53 
So, ich hab einen kleinen Bug in der Methode PagesClearing von TSCWizard gefunden. Gab eine Zugriffsverletzung. Die neue Version ist wieder unter obigem Link zu finden.


MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Fr 26.05.06 00:07 
So, wieder eine neue Version online. Hab jetzt mal etwas intensiver mit der Kompo praktisch gearbeitet und mir ist dabei aufgefallen, dass die TabStops nicht gestimmt haben. Jetzt passt das :) Außerdem wurde hinzugefügt, dass bei <ENTER> auf die nächste Seite gewechselt bzw. der Wizard beendet wird und bei <ESC> geschlossen wird (jeweils Klick auf Weiter, Fertig bzw. Abbrechen-Button).
Das alles hat nun zur Folge, dass man nun doch keine beliebigen TControls als Buttons definieren kann (weil TControl hat kein Taborder/TabStop und kein OnKeyPress), sondern "nur" TWinControls. Aber das sollte auch reichen ;)
Link wieder der gleiche wie ganz oben.

Wie funktioniert die Komponente denn jetzt mit D7 und aufwärts?
@Coder: Hat sie sich problemlos in D2005PE installieren lassen?




MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Fr 26.05.06 00:35 
user profile iconMrSaint hat folgendes geschrieben:
@Coder: Hat sie sich problemlos in D2005PE installieren lassen?

Ja es funktioniert.
Wenn man die dpks in Delphi läd muss man angeben das es Win32 ist und es speichern.
Dann installieren und es geht.

Wenn man XPStyle benutz wird der Header aber Grau anstatt Weis.
:wave:
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Fr 26.05.06 00:45 
Okay, danke :)

user profile iconCoder hat folgendes geschrieben:
Wenn man XPStyle benutz wird der Header aber Grau anstatt Weis.
:wave:



Immer noch? Hattest mir den Tipp mit ParentColor = false gegeben, hab ich gemacht... Bei mir funktioniert es toll! Ich benutz ja aber auch "nur" D6 mit Manifest und TThemeManager..
Vielleicht kannst du das ja mal zurückverfolgen und beseitigen? Oder irgendein anderer? Hab D2005PE grad net drauf... Wenn ich Zeit hab, mach ichs mir die nächsten Tage vielleicht mal wieder drauf dann schau ich selber... Hab aber so ein bisschen Angst vor dem "Bug-Delphi" ;)



MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
Clemens L.
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 158

Win Xp SP3
D6 Enterprise, Turbo Delphi Explorer
BeitragVerfasst: Sa 27.05.06 18:34 
Echt gutes Ding, bisher noch keine Fehler in Delphi 6 Enterprise gefunden!
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Sa 27.05.06 19:50 
user profile iconhackerTreff hat folgendes geschrieben:
Echt gutes Ding, bisher noch keine Fehler in Delphi 6 Enterprise gefunden!

Danke :D

So, eine weitere neue Version. Jetzt wird auch das richtige WinControl fokussiert, wenn man die Seite wechselt. Wurde zwar bisher schon gemacht, es wurden aber auch WinControls "selektiert", bei denen TabStop = false war. Es wird jetzt das erste WinControl gesucht, das einen möglichst kleinen TabOrder-Wert hat, alles rekursiv in die Tiefe (es funktioniert also auch, wenn man z.B. Controls auf einem Panel auf der WizardPage liegen hat) :)
Link wieder ganz oben.



MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Do 22.06.06 13:30 
So, nach längerer Zeit mal wieder eine neue Version!

Es gab einen Bug, dass der Weiter- bzw. Fertig-Button manchmal beim ersten Klick nicht reagiert hat. Dies ist nun beseitigt. Download Link siehe wieder oben.



Schönen Tag noch :D

MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: So 25.06.06 23:38 
Guten abend :D

user profile iconPrinz_Inside hat mich gerade nochmal angeschrieben wegen dem Bug mit dem oberen Panel und der falschen Farbe. Scheint evtl. an TXPManifest zu liegen. Habe leider gerade nur ein D6 da, in dem die Komponente noch nicht enthalten ist :( Deswegen würd ich mal euch schnell bitten das auszutesten. Einfach TXPManifest auf die Form, einen Wizard dynamisch erzeugen und per Breakpoint schauen, wo sich denn die Farbe verstellt und wie man das evtl. abstellen kann. Anhaltspunkt ist TSCWizard.Create, wo das pnlHeader erzeugt wird und genau um das geht es...


Ich bedank mich shconmal :D


MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: So 13.08.06 12:23 
Super! Was aber noch unbedingt dazu gehört finde ich, ist, dass die Abbruch-Schaltfläche die Eigenschaft Cancel := True und die Fertigstellen-Schaltfläche bzw. die Weiter-Schaltfläche die Eigenschaft Default := True haben.

Wäre toll, wenn du das noch ändern könntest, dürfte ja kein Problem sein!

Aber sonst sehr gut...
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: So 20.08.06 11:05 
Hallo!


So, ich habe jetzt Default und Cancel für die Buttons gesetzt :) Neue Version kann wieder oben heruntergeladen werden.
Leider hat sich immer noch niemand bereit erklärt, nach dem Problem mit dem graunen pnlHeader zu schauen :(



MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
MrSaint Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Di 24.10.06 13:55 
Habe soeben eine neue Version hochgeladen. Bisher ging das mit dem Bild noch nicht. Jetzt kann man ein Bild hinzufügen, welches dann in der rechten, oberen Ecke des Wizards angezeigt wird. Bisher konnte man es hinzufügen, es wurde aber nicht korrekt angezeigt. Komisch dass das noch keinem aufgefallen ist :o
Download wieder oben :D


MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Di 24.10.06 16:55 
Hallo MrSaint!

Hättest Du vielleicht lust einen Screenshot deiner Komponente anzufertigen und diesen deinem ersten Beitrag anzuhängen? Dann können wir User uns einen besseren ersten Eindruck verschaffen? ;-)

Dank dir! Lg Martin

_________________
Ein Nutzer der Ecke ;-)
MagicAndre1981
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 02.03.07 16:30 
Kannst du noch die Möglichkeit einbauen, dass der Wizard unter Vista den Aero Wizard Style nutzt. Ich finde den schick.