Re: Kalender
Hallo,
kleine Verbesserung für den Zugriff das DB-Feld. Bitte folgende Proceduren austauschen:
Delphi-Quellcode:
Es geht jetzt schneller.
procedure TDBCalendarControl.DataChange(Sender: TObject);
begin if (FDataLink.Field <> nil) and not FDataLink.DataSourceFixed then begin if FMaxRecords <> FDataLink.DataSet.RecordCount - 1 then begin FMaxRecords := FDataLink.DataSet.RecordCount - 1; LoadDatesForMonth; end; end; end; procedure TDBCalendarControl.LoadDatesForMonth; var I : Integer; DT : TDateTime; Y, M, D : Word; B : TBookmarkStr; begin if not IsDateTimeField then begin Exception.CreateFmt('This Field ''%s'' is not a DateTimeField.', [FDataLink.FieldName]); Exit; end; DecodeDate(FDate, Y, M, D); D := 32; try while not IsValidDate(Y, M, D) do Dec(D); except end; B := FDataLink.DataSet.Bookmark; FDataLink.DataSourceFixed := True; for I := 1 to D do begin DT := EncodeDate(Y, M, I); if FDataLink.DataSet.Locate(FDataLink.FieldName, DT, [loCaseInsensitive, loPartialKey]) then FDates[I] := Trunc(FDataLink.Field.AsDateTime); end; Invalidate; FDataLink.DataSourceFixed := False; FDataLink.DataSet.Bookmark := B; end; @marabu Danke Gruss Alter Mann |
Re: Kalender
Moin,
gibts einen Screenshot davon? Wäre schön. :-) Danke & Gruß Fabian |
Re: Kalender
Liste der Anhänge anzeigen (Anzahl: 2)
Moin, Moin
bitteschön. Das Bild wurde unter Vista gemacht und da ich gerade nicht auf meine Standardplatte zugreifen kann, konnte ich die Farben nicht einstellen. Gruss |
Re: Kalender
Hallo,
ich habe mal eine neuere Version eingestellt. Für alle die den Code nicht direkt übersetzen können, ist auch eine Executable bei. Wo ich noch Schwachstellen sehe, ist das bisher realisierte Multiselect-Verfahren (muss im Beispiel erst im Dialog ausgewählt werden). Als Idee schwebt mir ein angezeigter Auswahlrahmen vor, aber vielleicht kann gibt es ja auch andere Vorschläge. Gruss |
Re: Kalender
Hallo Alter Mann,
nette Komponente !! Nett wären noch direkte Auswahlmöglichkeiten für das Jahr und den Monat. Evtl. noch 2 Buttons um gleich ein Jahr vor bzw. zurück springen zu können !? |
Re: Kalender
Hallo
Ich glaube wenn bedarf besteht, dass weitere Buttons notwendig sind um gleich ein Jahr vor oder zurück springen zu können, dann sollte es in Eigenregie erfolgen, was ja auf Grund des Sourcecode nicht weiter schwer fallen dürfte. Die Idee jedoch ist nicht verkehrt und auch schon umgesetzt. Standardmäßig kann mit + und - der Monat und mit PageUp und PageDown das Jahr gewechselt werden. Sollte bedarf nach anderen Tasten bestehen, bitte schön, sie sind über die Optionen änderbar. Viel Spaß [Edit] Habe alles Offline genommen. Wer den aktuellen Source hat ... [/Edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz