You've already forked lazarus-ccr
426 lines
26 KiB
HTML
426 lines
26 KiB
HTML
![]() |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||
|
<HTML>
|
||
|
<HEAD>
|
||
|
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
|
||
|
<TITLE></TITLE>
|
||
|
<META NAME="GENERATOR" CONTENT="LibreOffice 3.5 (Linux)">
|
||
|
<META NAME="AUTHOR" CONTENT="Zoran Vučenović">
|
||
|
<META NAME="CREATED" CONTENT="20100120;12052000">
|
||
|
<META NAME="CHANGED" CONTENT="20120904;23372000">
|
||
|
<STYLE TYPE="text/css">
|
||
|
<!--
|
||
|
@page { margin: 2cm }
|
||
|
P { margin-bottom: 0.21cm }
|
||
|
H4.cjk { font-family: "WenQuanYi Micro Hei" }
|
||
|
H4.ctl { font-family: "Mangal" }
|
||
|
A.cjk:link { so-language: zxx }
|
||
|
A.ctl:link { so-language: zxx }
|
||
|
-->
|
||
|
</STYLE>
|
||
|
</HEAD>
|
||
|
<BODY LANG="en-US" DIR="LTR">
|
||
|
<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><FONT SIZE=4 STYLE="font-size: 16pt"><B>ZVDateTimeControls
|
||
|
Package for Lazarus</B></FONT></FONT></P>
|
||
|
<P ALIGN=CENTER STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><A CLASS="western" HREF="http://wiki.lazarus.freepascal.org/ZVDateTimeControls_Package"><FONT FACE="Arial, sans-serif"><FONT SIZE=3><SPAN LANG="en-US"><SPAN STYLE="font-weight: normal">http://wiki.lazarus.freepascal.org/ZVDateTimeControls_Package</SPAN></SPAN></FONT></FONT></A></P>
|
||
|
<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P ALIGN=CENTER STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P ALIGN=LEFT STYLE="margin-bottom: 0cm; font-weight: normal"><FONT FACE="Arial, sans-serif"><FONT SIZE=4>The
|
||
|
ZVDateTimeControls package contains two controls:</FONT></FONT></P>
|
||
|
<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P ALIGN=LEFT STYLE="margin-left: 2cm; margin-bottom: 0cm"><IMG SRC="pictures/TZVDateTimePicker.png" NAME="grafika2" ALIGN=BOTTOM WIDTH=24 HEIGHT=24 BORDER=0><A CLASS="western" HREF="#TZVDateTimePicker">
|
||
|
</A><A CLASS="western" HREF="#TZVDateTimePicker"><FONT FACE="Arial, sans-serif"><FONT SIZE=3><SPAN LANG="en-US"><SPAN STYLE="font-weight: normal">TZVDateTimePicker</SPAN></SPAN></FONT></FONT></A></P>
|
||
|
<P ALIGN=LEFT STYLE="margin-left: 2cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P ALIGN=LEFT STYLE="margin-left: 2cm; margin-bottom: 0cm"><IMG SRC="pictures/TDBZVDateTimePicker.png" NAME="grafika5" ALIGN=BOTTOM WIDTH=24 HEIGHT=24 BORDER=0><A CLASS="western" HREF="#TDBZVDateTimePicker">
|
||
|
</A><A CLASS="western" HREF="#TDBZVDateTimePicker"><FONT FACE="Arial, sans-serif"><FONT SIZE=3><SPAN LANG="en-US"><SPAN STYLE="font-weight: normal">TDBZVDateTimePicker</SPAN></SPAN></FONT></FONT></A></P>
|
||
|
<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>Author</B></FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><A CLASS="western" HREF="http://wiki.lazarus.freepascal.org/User:Zoran"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><SPAN STYLE="font-weight: normal">Zoran
|
||
|
Vučenović</SPAN></SPAN></FONT></A></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>License</B></FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm; font-weight: normal">
|
||
|
<FONT FACE="Arial, sans-serif">Modified LGPL, same as Lazarus
|
||
|
component library.</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>Introduction</B></FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">Delphi's
|
||
|
VCL has <A CLASS="western" HREF="http://docwiki.embarcadero.com/VCL/en/ComCtrls.TDateTimePicker">a
|
||
|
control named TDateTimePicker</A>, which I find very useful for
|
||
|
editing dates. LCL, however, does not have this control. Instead, for
|
||
|
editing dates <A CLASS="western" HREF="http://lazarus-ccr.sourceforge.net/docs/lcl/editbtn/tdateedit.html">LCL
|
||
|
has a control named TDateEdit</A>, but I prefer the VCL's
|
||
|
TDateTimePicker.</SPAN></FONT></P>
|
||
|
<P ALIGN=LEFT STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">Therefore,
|
||
|
I tried to create a cross-platform Lazarus control which would
|
||
|
resemble VCL's TDateTimePicker as much as possible.</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">The
|
||
|
TZVDateTimePicker control does not use <A CLASS="western" HREF="http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.aspx">native
|
||
|
Win control</A>. It descends from LCL's TCustomControl to be
|
||
|
cross-platform. It has been tested on Windows with win32/64 and qt
|
||
|
widgetsets, as well as on Linux with qt and gtk2 widgetsets.</SPAN></FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">Note
|
||
|
that the TZVDateTimePicker control does not descend from TEdit, so it
|
||
|
does not have unnecessary caret. The VCL's control doesn't have caret
|
||
|
either.</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>Installation</B></FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">To
|
||
|
install the package in Lazarus IDE follow these steps:</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<OL>
|
||
|
<OL>
|
||
|
<LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">Open
|
||
|
the package in Package Editor (in Lazarus' main menu click <I>Package</I>,
|
||
|
then <I>Open package file...</I> locate the file
|
||
|
zv<I>datetimectrls.lpk</I> and click <I>Open</I>).</FONT></P>
|
||
|
<LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">Compile
|
||
|
the package (click <I>Compile</I> in Package Editor's tool bar).</FONT></P>
|
||
|
<LI><P STYLE="margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">Install
|
||
|
the package in the IDE (click <I>Install</I> – you will be asked
|
||
|
if you want to rebuild Lazarus, click <I>Yes</I>. Wait until
|
||
|
Lazarus rebuilds and restarts itself. The new tab “<I>Date and
|
||
|
Time Ctrls”</I> appears on the component palette with
|
||
|
TZVDateTimePicker and TDBZVDateTimePicker controls.</FONT></P>
|
||
|
</OL>
|
||
|
</OL>
|
||
|
<P STYLE="margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>Change
|
||
|
Log</B></FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm; font-weight: normal">
|
||
|
<FONT FACE="Arial, sans-serif">For more details about changes, see
|
||
|
ChangeLog.txt</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm; font-weight: normal">
|
||
|
<FONT FACE="Arial, sans-serif">Version 1.0 – 27. February 2010.</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm; font-weight: normal">
|
||
|
<FONT FACE="Arial, sans-serif">Version 1.1 – 17. April 2010.</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm; font-weight: normal">
|
||
|
<FONT FACE="Arial, sans-serif">Version 1.2 – 12. May 2010.</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm; font-weight: normal">
|
||
|
<FONT FACE="Arial, sans-serif">Version 1.3 – 1. April 2011.</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-bottom: 0cm; font-weight: normal">
|
||
|
<FONT FACE="Arial, sans-serif">Version 1.4 – 4. September 2012.</FONT></P>
|
||
|
<P STYLE="margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-bottom: 0cm"><A NAME="TZVDateTimePicker"></A><FONT FACE="Arial, sans-serif"><B>TZVDateTimePicker
|
||
|
<IMG SRC="pictures/TZVDateTimePicker.png" NAME="grafika9" ALIGN=MIDDLE WIDTH=24 HEIGHT=24 BORDER=0></B></FONT></P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>Properties:</B></FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif">I'll explain some properties of
|
||
|
TZVDateTimePicker control: </FONT>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>DateTime: TDateTime (public)</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">The
|
||
|
DateTime value displayed on the control. This property is not
|
||
|
published in object inspector, but its value is actually the same as
|
||
|
Date and Time properties composed in one value. This property is
|
||
|
provided to allow setting or reading of both date and time value at
|
||
|
once in program code. In design time, Date and Time can be set in
|
||
|
object inspector. <A CLASS="western" HREF="#ZVDateTimePicker Editor">There
|
||
|
is also component editor</A> which provides easy way of setting this
|
||
|
property in design time.</SPAN></FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>Date: TDate</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">The
|
||
|
date displayed on the control which the user can edit.</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>Time: TTime</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">The
|
||
|
time displayed on the control which the user can edit.</FONT></P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>MinDate: TDate</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">The
|
||
|
minimal date user can enter.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>MaxDate: TDate</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">The
|
||
|
maximal date user can enter.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm"><A NAME="NullInputAllowed"></A>
|
||
|
<FONT FACE="Arial, sans-serif"><B>NullInputAllowed: Boolean</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">When
|
||
|
True, the user can set the date to NullDate constant by pressing N
|
||
|
key.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>CenturyFrom: Word</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">When
|
||
|
user enters the year in two-digit format, then the CenturyFrom
|
||
|
property is used to determine which century the year belongs to. The
|
||
|
default is 1941, which means that when two digit years is entered, it
|
||
|
falls in interval 1941 – 2040. Note that MinDate and MaxDate
|
||
|
properties can also have influence on the decision – for example,
|
||
|
if the CenturyFrom is set to 1941 and MaxDate to 31. 12. 2010, if
|
||
|
user enters year 23, it will be set to 1923, because it can’t be
|
||
|
2033, due to MaxDate limit.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>Kind: TDateTimeKind</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>type</B>
|
||
|
TDateTimeKind = (dtkDate, dtkTime, dtkDateTime);</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">The
|
||
|
control displays only date, only time or both.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><IMG SRC="pictures/ZVDateControls03.PNG" NAME="grafika4" ALIGN=BOTTOM WIDTH=332 HEIGHT=40 BORDER=0></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>DateMode: TDTDateMode</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>type</B>
|
||
|
TDTDateMode = (dmComboBox, dmUpDown, dmNone);</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">When
|
||
|
DateMode is set to dmComboBox, there is a button on the right side of
|
||
|
the control. When user clicks the button, <A CLASS="western" HREF="http://lazarus-ccr.sourceforge.net/docs/lcl/calendar/tcalendar.html">the
|
||
|
calendar control</A> is shown, allowing the user to pick the date.
|
||
|
When set to dmUpDown, then UpDown buttons are shown.</SPAN></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">In
|
||
|
my opinion the UpDown buttons aren't really useful in this control,
|
||
|
they are provided for compatibility with Delphi's TDateTimePicker. Up
|
||
|
and down keys can always serve for same purpose, so can mouse wheel.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">In
|
||
|
the next picture the first control's DateMode is set to dmComboBox
|
||
|
and the second control's to dmUpDown.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><IMG SRC="pictures/ZVDateControls01.PNG" NAME="grafika1" ALIGN=BOTTOM WIDTH=151 HEIGHT=72 BORDER=0></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">If
|
||
|
DateMode is dmComboBox, when the user clicks on the button a calendar
|
||
|
drops down, allowing the user to pick a date.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>Note:</B>
|
||
|
if Kind property is set to dtkTime, the calendar control is
|
||
|
pointless. Therefore, if DateMode is dmComboBox, the UpDown is shown
|
||
|
instead.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>ShowCheckBox: Boolean</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">When
|
||
|
set, there is a check box on the left side of the control. When
|
||
|
unchecked, the display appears grayed and user interaction with the
|
||
|
date or time is not possible. (The control is still enabled, though,
|
||
|
only in sense that the check box remains enabled).</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm"><IMG SRC="pictures/ZVDateControls02.PNG" NAME="grafika3" ALIGN=BOTTOM WIDTH=116 HEIGHT=35 BORDER=0></P>
|
||
|
<P STYLE="margin-left: 2cm"><BR><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>Checked: Boolean</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">If
|
||
|
ShowCheckBox is set to True, this property determines whether the
|
||
|
check box is checked or not. If ShowCheckBox is False, this property
|
||
|
has no purpose and is automatically set to True.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>DateDisplayOrder: TDateDisplayOrder</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>type</B>
|
||
|
TDateDisplayOrder = (ddoDMY, ddoMDY, ddoYMD, ddoTryDefault);</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">Defines
|
||
|
the order for displaying day, month and year part of the date. When
|
||
|
ddoTryDefault is set, then the controls tries to determine the order
|
||
|
from <A CLASS="western" HREF="http://lazarus-ccr.sourceforge.net/docs/rtl/sysutils/shortdateformat.html">ShortDateFormat
|
||
|
global variable</A>.</SPAN></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">This
|
||
|
is similar to <A CLASS="western" HREF="http://lazarus-ccr.sourceforge.net/docs/lcl/editbtn/tdateedit.dateorder.html">DateEdit's
|
||
|
DateOrder</A> property.</SPAN></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>DateSeparator: String</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">Defines
|
||
|
the string used to separate date, month and year date parts. Setting
|
||
|
this property automatically sets the UseDefaultSeparators property to
|
||
|
False. To ensure that date and time separators are set to user's
|
||
|
system defaults, set UseDefaultSeparators property to True.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>TimeSeparator: String</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">Defines
|
||
|
the string used to separate hour, minute, second and millisecond time
|
||
|
parts. Setting this property automatically sets the
|
||
|
UseDefaultSeparators property to False. To ensure that date and time
|
||
|
separators are set to user's system defaults, set
|
||
|
UseDefaultSeparators property to True.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>UseDefaultSeparators: Boolean</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">When
|
||
|
this property is set to True, then the DateSeparator and
|
||
|
TimeSeparator properties will be set to <A CLASS="western" HREF="http://lazarus-ccr.sourceforge.net/docs/rtl/sysutils/dateseparator.html">DateSeparator</A>
|
||
|
and <A CLASS="western" HREF="http://lazarus-ccr.sourceforge.net/docs/rtl/sysutils/timeseparator.html">TimeSeparator</A>
|
||
|
global variables, which are set to user system defaults when
|
||
|
application initializes.</SPAN></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>TrailingSeparator: Boolean</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">When
|
||
|
set to True, then the DateSeparator is shown once more, after the
|
||
|
last date part. This property exists because in some languages the
|
||
|
correct date format is <B>31. 1. 2010.</B> including the last point,
|
||
|
after the year.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>LeadingZeros: Boolean</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">Determines
|
||
|
whether the date and time parts are displayed with or without leading
|
||
|
zeros (this actually affects day, month and hour parts of date and
|
||
|
time display).</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>TimeDisplay: TTimeDisplay</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>type</B>
|
||
|
TTimeDisplay = (tdHM, tdHMS, tdHMSMs);</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">If
|
||
|
Kind is dtkTime or dtkDateTime, then TimeDisplay value of tdHM means
|
||
|
that only hours and minutes are displayed, tdHMS adds displaying of
|
||
|
seconds and value of tdHMSMs means that milliseconds are displayed
|
||
|
too.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>TimeFormat: TTimeFormat</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>type</B>
|
||
|
TTimeFormat = (tf12, tf24);</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">The
|
||
|
value of tf12 sets the display of time to 12 hours format, with AM/PM
|
||
|
string and tf24 sets to 24 hours format.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0cm"><A NAME="TextForNullDate"></A>
|
||
|
<FONT FACE="Arial, sans-serif"><B>TextForNullDate: String</B></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">Text
|
||
|
which appears when the null date is set and control does not have
|
||
|
focus. When control is focused, the text changes to defined format,
|
||
|
but displaying zeros for date, and nines for time (for example
|
||
|
"00/00/0000 99:99:99"), which is appropriate to user input.
|
||
|
User can set the date to NullDate by pressing N key, provided
|
||
|
<A CLASS="western" HREF="#NullInputAllowed">NullInputAllowed</A>
|
||
|
property is True.</SPAN></FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif">When
|
||
|
TextForNullDate is set to empty string, zeros/nines format is
|
||
|
displayed even when control does not have focus. If you want empty
|
||
|
display, this can be acchieved by setting TextForNullDate to one or
|
||
|
more space characters.</FONT></P>
|
||
|
<P STYLE="margin-left: 2cm; margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-top: 0.18cm; margin-bottom: 0cm"><A NAME="TDBZVDateTimePicker"></A>
|
||
|
<FONT FACE="Arial, sans-serif"><B>TDBZVDateTimePicker
|
||
|
<IMG SRC="pictures/TDBZVDateTimePicker.png" NAME="grafika6" ALIGN=MIDDLE WIDTH=24 HEIGHT=24 BORDER=0></B></FONT></P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif">TDBZVDateTimePicker is a data-aware
|
||
|
version of TZVDateTimePicker, with nice way of handling null database
|
||
|
values.</FONT></P>
|
||
|
<P STYLE="margin-top: 0.18cm; margin-bottom: 0cm"><BR>
|
||
|
</P>
|
||
|
<H4 CLASS="western" STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0.21cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>Displaying null values </B></FONT>
|
||
|
</H4>
|
||
|
<DL>
|
||
|
<DL>
|
||
|
<DD STYLE="margin-bottom: 0.5cm"><FONT FACE="Arial, sans-serif">When
|
||
|
the underlying DB field has null value, then:</FONT></DD></DL>
|
||
|
</DL>
|
||
|
<UL>
|
||
|
<UL>
|
||
|
<LI><DD STYLE="margin-bottom: 0.5cm">
|
||
|
<FONT FACE="Arial, sans-serif">When the control gets focus, the
|
||
|
text changes to defined format, but displaying zeros for date parts
|
||
|
and nines for time parts (for example "00/00/0000 99:99:99"),
|
||
|
which is appropriate to user input.</FONT></DD><LI><DD STYLE="margin-bottom: 0.5cm">
|
||
|
<FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">When the control
|
||
|
is not focused, then it displays the text defined in
|
||
|
<A CLASS="western" HREF="#TextForNullDate">TextForNullDate</A>
|
||
|
property. The default is "NULL".</SPAN></FONT></DD></UL>
|
||
|
</UL>
|
||
|
<H4 CLASS="western" STYLE="margin-left: 1.48cm; margin-top: 0.18cm; margin-bottom: 0.21cm">
|
||
|
<FONT FACE="Arial, sans-serif">Setting the field value to null </FONT>
|
||
|
</H4>
|
||
|
<DL>
|
||
|
<DL>
|
||
|
<DD STYLE="margin-bottom: 0.5cm"><FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">If
|
||
|
<A CLASS="western" HREF="#NullInputAllowed">NullInputAllowed</A>
|
||
|
property is True, the user can set the date and time to null, by
|
||
|
pressing N key. </SPAN></FONT>
|
||
|
</DD></DL>
|
||
|
</DL>
|
||
|
<P STYLE="margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<A NAME="ZVDateTimePicker Editor"></A><FONT FACE="Arial, sans-serif"><B>ZVDateTimePicker
|
||
|
Editor</B></FONT></P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<IMG SRC="pictures/ZVDateTimePickerEditor.PNG" NAME="grafika8" ALIGN=BOTTOM WIDTH=404 HEIGHT=188 BORDER=0></P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif">ZVDateTimePicker Editor is a dialog
|
||
|
which provides easy way to set Date, Time, MinDate and MaxDate
|
||
|
properties in design time. It is invoked when ZVDateTimePicker
|
||
|
control is double-clicked in form designer. It is also shown when the
|
||
|
elipsis (…) button, shown in Date, Time, MinDate and MaxDate
|
||
|
properties in Object inspector, gets clicked.</FONT></P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-top: 0.18cm; margin-bottom: 0cm"><FONT FACE="Arial, sans-serif"><B>Tips</B></FONT></P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><B>Q:</B> When the date/time value is
|
||
|
null, how to display zeros/nines in user format, no matter whether
|
||
|
the control is focused or not?</FONT></P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><B>A:</B></SPAN></FONT>
|
||
|
<FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">Set <A CLASS="western" HREF="#TextForNullDate">TextForNullDate</A>
|
||
|
property to empty string. If TextForNullDate is set to empty string,
|
||
|
then zeros/nines are displayed, same as when the control has focus.</SPAN></FONT></P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<BR>
|
||
|
</P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><B>Q:</B></SPAN></FONT>
|
||
|
<FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">When the date/time
|
||
|
value is null, If empty string in <A CLASS="western" HREF="#TextForNullDate">TextForNullDate</A>
|
||
|
property actually sets the display to zeros/nines format, how to set
|
||
|
the control to display nothing?</SPAN></FONT></P>
|
||
|
<P STYLE="margin-left: 0.85cm; margin-top: 0.18cm; margin-bottom: 0cm">
|
||
|
<FONT FACE="Arial, sans-serif"><SPAN LANG="en-US"><B>A:</B></SPAN></FONT>
|
||
|
<FONT FACE="Arial, sans-serif"><SPAN LANG="en-US">Set <A CLASS="western" HREF="#TextForNullDate">TextForNullDate</A>
|
||
|
property to one space character, you will get the empty display.</SPAN></FONT></P>
|
||
|
</BODY>
|
||
|
</HTML>
|