![]() |
TDSCalendar - Kalenderkomponente
Liste der Anhänge anzeigen (Anzahl: 1)
Morgen :)!
![]() TDSCalendar Ich möchte meine soeben fertiggestellte TDSCalendar-Komponente hier als Open Source vorstellen. Da ich meine Homepage zur Zeit umbaue ist die Datei angehängt. Die Komponente kann als Ersatz für den MonthCalendar, der bei Delphi dabei ist, verwendet werden - mit dem Unterschied, dass TDSCalendar einiges mehr an Funktionalität bietet. Für Leute mit besonders wenig Zeit: dscal.zip herunterladen, entpacken, demo_exe.zip entpacken und demo.exe starten ;) Die Demo zeigt, was die Komponente alles kann. Alle anderen seien auf die Readme vertröstet. Hier der Inhalt der angehängten Datei: - Komponentenquelltext und Package (für Delphi 7 und 2005, vgl. Readme) - Demo mit Quelltext - Referenz aller Eigenschaften, Ereignisse, Methoden, Typen und Konstanten (HTML) Was ist an TDSCalendar so besonders? - In der Komponente können Datumsbereiche markiert werden - Fixe und dynamische Feiertage möglich (inklusive Berechnung einiger wichtiger Feiertage) - Datumsspezifische Hints möglich - Frei konfigurierbares Aussehen (Farben, Schriftart, etc.) Die Lizenz findet ihr im Readme; falls es Fragen gibt, fragt ruhig ;). Feedback ist ebenfalls erwünscht. Viel Spaß damit ;) Dust Signs //EDIT: Quelltext rausgenommen, Anhang angefügt //Alle weiteren EDITs: neue Versionen //EDIT (2011): Link zum Screenshot aktualisiert |
Re: TDSCalendar - Kalenderkomponente
Zwei Sachen:
1. Wo ist der Download? :gruebel: 2. Musst du diesen Monstercode wirklich hier reinsetzen? Da scrollt man sich ja (wie Sharky immer so schön sagt) die Flossen wund ;) |
Re: TDSCalendar - Kalenderkomponente
Zitat:
@2.) Stimmt; hab ich rausgenommen. Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Demo ist Hammergeil! :shock:
|
Re: TDSCalendar - Kalenderkomponente
Zitat:
Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Naja, die Demo ist ja schließlich "nur" das Resultat der Arbeit und der Kompo.. in diesem Sinne... beides!
|
Re: TDSCalendar - Kalenderkomponente
Zitat:
Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Zitat:
Die Kompo find ich ziemlich geil. Und nur der Blick auf den Interface-Teil schreckt mich schon davor zurück, mir überhaupt den Source anzusehen. Aber richtig Klasse, das Teil :thumb: |
Re: TDSCalendar - Kalenderkomponente
moin,
jup, ich kann mich nur anschließen, sieht wirklich solide aus :thumb: nur hab ich wirklich nie - noch absolut nie - einen kalender in meiner anwendung gebraucht... aber das ist ja dann ein anderes thema ;) |
Re: TDSCalendar - Kalenderkomponente
Zitat:
|
Re: TDSCalendar - Kalenderkomponente
Zitat:
Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Außerdem ist in Zusammenarbeit mit mri von DustSigns auch schon noch eine Nutzung der Kompo angedacht ;-) Besucht einfach mal seine Homepage ;-)
|
Re: TDSCalendar - Kalenderkomponente
Also ich benutze sehr oft eine Kalenderkomponente in meinen Anwendungen und hab mir gerade mal die Demo angeschaut. Kompliment, wirklich sehr beeindruckend! :thumb:
|
Re: TDSCalendar - Kalenderkomponente
Krasses Ding...
Gut gemacht :thumb: |
Re: TDSCalendar - Kalenderkomponente
Vielen Dank für das Lob :D *FREUDE*. Hab auf meiner Homepage eine kleine Beschreibung der Kompo hinzugefügt. Ihr könnt auf meiner HP auch die Einzel"files" downloaden (also nur Demo, nur Kompo etc.). Werd die Compo noch etwas ausbauen in den nächsten Tagen (nach Physik ;)).
Btw würden mich einige Performanceergebnisse aus den Demos interessieren (am besten mit Angabe des verwendeten Prozessors und der Grafikkarte). Thxia Dust Signs [OT] Zitat:
[/OT] |
Re: TDSCalendar - Kalenderkomponente
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
Re: TDSCalendar - Kalenderkomponente
sieht ganz gut aus, ein paar Vorschläge noch :
*) Wenn ich einen Hint anzeige (im Demo) und dann wegfahre, bleibt immer ein kleiner Bereich des Hitns zurück (der geht dann auch nicht weg, wenn das Fenster neu gezeichnet wird) *) einen heute Button *) eigene Farbe für Samstag *) eigene Farbe für Feiertage/andere Ereignisse *) Jahr und Monat per Dropdownmenü Änderbar *) Datumsbereich selektieren können per Maus (dabei untersscheiden, ob von Tag zu Tag, eine Woche selekitert wurde, oder von Woche zu Woche selektiert wurde) *) Mehrere Calendar untereinander / nebeneinader zeichnen (und dann auch selektieren über diesen Bereich) |
Re: TDSCalendar - Kalenderkomponente
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Ich werde sehen, was sich sinnvoll umsetzen lässt - wie gesagt alles übermorgen nach Physik ;) Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Zitat:
Zitat:
Bin schon gespannt auf die nächst Version. |
Re: TDSCalendar - Kalenderkomponente
Zitat:
Zitat:
Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Gut, hier die neue Version :). Neu: Auswahl mit der Maus möglich; ein paar kleinere Funktionen hinzugefügt und die Doku ein bisschen angepasst. Im Moment fehlt noch ein kleiner Teil der Doku (dort, wo "To be continued" steht) und die Reste von den Hints sollten weg. Weiß da vielleicht jemand von euch was?
Ansonsten wie immer viel Spaß beim Anschauen und Testen; alle anderen Vorschläge hab ich mir bereits zusammengeschrieben und werde sie baldestmöglich umsetzen. Im Anhang wieder Kompo + Demo + Referenz ;) Dust Signs PS.: Ich habe meinen ersten Beitrag bewusst nicht upgedatet; ebenso meine Homepage. Diese Version hier ist mehr eine Zwischenversion um die Auswahl mit der Maus zu zeigen ;) //EDIT: Zwischenversion entfernt (neue Version siehe erster Beitrag) |
Re: TDSCalendar - Kalenderkomponente
Hi
*) Wenn ich einen Bereich markieren will, dabei auf den 1 des nächsten Monats klick und dann ziehe (ohne die Taste auszulassen), dann wechselt der Kalendar das Monat, aber zeiht vom falschen Startdatum aus. *) Ich würde beim setzen von SelStartDay & SelEndDay auch gleich die aktuelle auswahl umsetzen (nicht das mann einen Bereich vom 10.5 - 15.5 selektiert und der aktuell selektierte Tag ist der 5.5) *) Selektieren einer (oder meherer Wochen) wäre noch toll *) Würde Standardmäßig doublebufferd einstellen *) Bereichsselktieren auch mit gedrückter Shift Taste *) Den Bereich zum draufklicken des Taqges bei allen gleich breit (Bei den einzahligen Tagen klickt man ab und zu daneben) |
Re: TDSCalendar - Kalenderkomponente
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Dust Signs //EDIT: ich hab das mit dem Hintfenster.
Delphi-Quellcode:
reicht vollkommen aus; es muss nicht extra Caption und Visible gesetzt werden
HintWnd.ReleaseHandle
|
Re: TDSCalendar - Kalenderkomponente
Das Problem mit dem Ziehen, ist, das wenn ich auf einen Tag im nächsten Monat klicke (Das auf den nächsten Monat gewechelt wird ist ok) aber, als Asuwahl Anfang steht dann 127 !
- Generell, wenn ich auf einen Tag im nächsten/vorherigen Monat klicke wird SelStartDay und SelEndDay auf 127 gesetzt ! Das mit selStartDay & Ende habe ich auch gemeint, wenn du die Properties setzt (DEMO - Auswahlbereich) wegen der Shift Taste : Brauchst ja nicht den Focus, bekommst ja eh in allen Mouseevents den aktuellen Shiftstatus übermittelt ! Wegen Doublebufferd .... , des öfteren Flackert es noch, hast du etwas mit WM_EREASEBACKGROUND gemacht ? |
Re: TDSCalendar - Kalenderkomponente
Absolut geiles Teil, aber ein paar Dinge sind noch zu tun ;-)
...:cat:... |
Re: TDSCalendar - Kalenderkomponente
Puh, da hab ich ja ganz schön was zu tun ^^. Zu SelStart und SelEnd 127 verweise ich auf den angehängten Quelltext; da ist das mit den Hints auch weg. Den Rest werd ich mir je nach Zeitvorgabe ansehen.
@sakura: Wegen den Buttons und der Hintergrundfarbe: das liegt am XP-Style. Schalt den mal aus - dann wirst du sehen, dass es geht. Und betreffs dem "Drag&Drop": ist bereits in der obigen Demo (hier auf der zweiten Seite) implementiert; einfach nur die aktuelle dscal.pas verwenden ;) Dust Signs //EDIT: Zwischenversion entfernt (neue Version siehe erster Beitrag) |
Re: TDSCalendar - Kalenderkomponente
So, bevor ich schlafen gehe geb ich euch die gleich-großen Rechtecke, die ihr wolltet ;)
Have fun Dust Signs //EDIT: Zwischenversion entfernt (neue Version siehe erster Beitrag) |
Re: TDSCalendar - Kalenderkomponente
Hallo Dust Signs,
es wäre schön, wenn man die aktuelle Version (bzw. die ZIP-Datei) Deiner *prima* Komponente schon vom ersten Post des Threads herunterladen könnte - und nicht erst vom letzten Post des Threads. Ansonsten: Vielen Dank für Deine gute Arbeit und den Sourcecode! mfg |
Re: TDSCalendar - Kalenderkomponente
Zitat:
Dust Signs PS.: Die Referenz hab ich auch erweitert |
Re: TDSCalendar - Kalenderkomponente
*) Das mit 127 bei der Asuwahl eines Tage in einem anderem Monat ist noch immer da.
*) Wenn ich z.B. den 2 angeklickt habe, dann zwischen 19 und 26 klicken und ziehe, erstellet er mir eine Auswahl (dh du hast einen Bereich zwischen zwei Zeilen wo keine der beiden Zeilen reagiert) *) Wenn ich den 8. April ausgewählt habe und dann auf Ostermontag klicke sind dann der 8.März und der 28.März ausgewählt -> eventuell Auswahl vorher löschen |
Re: TDSCalendar - Kalenderkomponente
Zitat:
Zitat:
//EDIT: falls du das mit der Shifttaste meinst: hab ich zZ nur lokal implementiert, läuft aber schon stabil Zitat:
![]() Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Geil !!
|
Re: TDSCalendar - Kalenderkomponente
Zitat:
- Zeige den Mai 2005 an - Klicke dann auf den 2 Juni (lasse dabei die Maustaste gedrückt) - (wird automatisch der Juni selektiert) - fahre mit gedrückter maustaste auf den 23 Juni - jetzt ist der 2 Juni Selektert und eine Selektion vom 23 Juni bis in den Juli hinein (alle restlichen buttons) ) |
Re: TDSCalendar - Kalenderkomponente
Zitat:
Wenn ich das mit der Buttonumrandung habe stell ich eine neue Version online. Neben ein paar Bugfixes gibt's jetzt wie gesagt Shift-Selection ;) Danke @Gruber_Hans_12345 für's Testen (an alle anderen natürlich auch); bin für weitere Anregungen offen :D Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Also ich muss sagen: Starke Komponenten mit nem recht guten Desgin! ;) Werd ich gleich mal in meinem Progr verwenden *lol* Darf man deine Website im Impressum zeigen?! Wenn ja URL?!
|
Re: TDSCalendar - Kalenderkomponente
Zitat:
![]() Bin echt begeistert von dem regen Interesse hier ^^ Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Gut, das letzte Update für heute. Was ist neu?
- Unterstützung der Shift-Taste beim Markieren - Auswahl einer Woche durch Drücken auf die Wochennummer (siehe Demo) - Diverse Bugfixes Wie immer im ersten Beitrag zu finden. Achja: seit ein paar Minuten meldet Delphi eine AV, wenn man die Demo (damit meine ich das Delphi-Projekt) geöffnet hat und Delphi schließt. Schließt man zuerst die Demo (also Menü Datei\Alle schließen) und schließt Delphi dann, ist alles in Ordnung. Wäre euch sehr verbunden, wenn ihr euch das ansehen könntet und mir uU sagen könntet, woran es liegt und wie ich es beheben kann. Btw. wäre die Lösung des Button-Problems eine tolle Sache ;). Ansätze werden gerne entgegengenommen. Dust Signs |
Re: TDSCalendar - Kalenderkomponente
Mit kleinen Änderungen müsste die Kompo auch auf D5 lauffähig sein. Unter D6 werden keine Änderungen IMHO benötigt. (Für alle, die die Kompo auf D5 oder D6 ausprobieren wollen). (Zumindest soweit ich getestet habe ...
|
Re: TDSCalendar - Kalenderkomponente
Vielleicht wiederhol ichs nochmal kurz:
Zitat:
Dust Signs |
Re: TDSCalendar - Kalenderkomponente
so, hatte wieder etwas zeit zum testen
Bugs/Änderungen *) Wenn ich eine Woche selektiere, dann bleibt der letzte Tag der selektiert war noch selektiert. *) Wenn ich auf eine Woche draufklicke und dann ziehe, dann kann ich zwar nicht meherer Wochen selektieren, aber in den "normalen" Tag Bereich fahren und ganz normal einen Bereich auswählen *) Wenn ich auf einen Tag im nächsten/vorherigen Monat klicke, dann wird zwar jetzt kein Fehler mehr gemacht, aber es wäre trotzdem besser, wenn das Selektieren vom Bereich funktionieren würde. Vielleicht so wie der Windows Kalendar. Den Monat erst beim OnMouseUp umstellen und nicht schon beim Down, und auch nur dann umstellen, wenn der gesamte Selektierte bereich im vorherigen / nächsten Monat ist. *) Es existiert noch ein (ich glaube ein Pixel) Bereich zwischen den Zeilen, der nicht reagiert (ist etwas komisch dann vom Handling her ...) Featurewünsche *) Selektieren von mehreren Wochen *) Ich würde eventuell das mit dem selstart und selEnde überdenken, ob es nicht besser wäre beides als Datum zu speichern. Und eventuell wenn Wochen markiert wurden dies auch extra zu speichern das eine / meherer Wochen markiert wurden *) Beim Zeichnen der Wochen markierung auch die Wochennummer mit markieren ... Wegen der Delphi AV ... Ich hatte kein Problem damit (Delphi 6) allerdings mußte ich das XPManifest rauslöschen, da ich das nicht installiert habe, und Delphi gemeckert hatte deswegen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz