Farsi Components

   Home  |   Products  |   Download  |   Order  |   Support  |   Contact



ShDate Solutions
ShDate Utils
ShDate Fields



Get Firefox!
Products  >  ShDate Solutions

ShDate Fields

TShDateField, TShDateTimeField

These two field classes provide connection to date-time fields in databases with Hijri Shamsi representation.
After defining date-time fields in tables of standard types, using these field classes in Delphi you will have Hijri Shamsi representation of those fields' values. Validity check for entered Hijri Shamsi date-time values will be done in these field classes internally, and integrity of data is ensured without need to write codes. With flexibility of string to date conversion functions user would not be limited to use an static and inflexible format to enter values. Besides it's possible to set custom display formats for date-time values.
All that you need to do at design-time in Delphi is to introduce a field of type Hijri Shamsi date or date-time through DataSet Editor and New Field dialog, and there is no need to write any codes.

Most of Iranian programmers and developers were using fields of type character (8 or 10 characters long) in databases instead of standard types for date values. The main reason for this was default Gregorian representation for standard types and lack of support for display and edit of these field type values. With these new field classes in Delphi it's possible to use standard date-time types in databases and have Hijri Shamsi display and edit in user-side. For more information about standard date-time types and their benefits see: About date-time fields.

Main Usages:

  • Hijri Shamsi representation of date/date-time database fields.


  • RAD when having Hijri Shamsi dates in database applications.
  • Needless to write codes for validity checks of entered characters and dates.
  • Powerful formatting feature, very useful in building reports.
  • Use standard field types for storing date/date-time values.
  • Solution for developing multi-calendar applications.


  • No tests are required for valid characters when editing. This will be done in these field classes. No need to use EditMasks, although it’s possible using them as before.
  • No tests are required for valid date elements and valid dates. This will be done in these field classes, and an exception will be raised in case of any errors. It's not possible to write invalid date values in database at all.
  • You are not forced to have similar format for display and edit of date/date-time values anymore. Using DisplayFormat property it will be possible to set a different format for displaying purposes. This is very useful when designing reports.
  • Similar to native TDateField and TDateTimeField classes. Properties and events are the same as TDateTimeField. (DisplayFormat, EditMask, CustomConstraint, etc.)


  • These are two new standard field classes.
  • There are no changes in tables or data underlying the dataset or any data-aware control. 
  • At any time, you may have default representation for values, the Gregorian.


  • There are no limitations in supporting different databases and everything Delphi supports may be used. (Paradox, Access, InterBase, MS SQL Server, ...)
  • There are no limitations in data-aware controls that can be used. You may use any standard data-aware control such as a DBGrid, DBEdit, or any other custom controls.
  • Quick Reports, Rave Reports, and any other report generator integrated with Delphi IDE are supported.
  • For report generators not integrated with Delphi, it's possible to implement special support for displaying date-time values as Hijri Shamsi, if they support user defined functions. For example this is possible for Crystal Reports.


  • Enjoys viewing formatted date/date-time values instead of usual yyyy/mm/dd.
  • He is in front of an intelligent easy acceptor system. He can enter ‘1382/11/04’ or simply might enter ‘11/4’.


To top of page
   © Copyright 2001-2008 Amir Rahimi Farahani. All rights reserved.