Display Thai date format. |
unit AwArabic2Thai;
interface
uses System.SysUtils, System.Classes, fs_iinterpreter;
const
DecimalTH: array [0 .. 9] of string = ('๐', '๑', '๒', '๓', '๔', '๕', '๖', '๗',
'๘', '๙');
MonthTH: array [1 .. 12] of string = ('มกราคม ', 'กุมภาพันธ์',
'มีนาคม', 'เมษายน',
'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม',
'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม');
ShortMonthTH: array [1 .. 12] of string = ('ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.',
'พ.ค. ', 'มิ.ย.', 'ก.ค.', 'ส.ค.',
'ก.ย.', 'ต.ค.', 'พ.ย. ', 'ธ.ค.');
function DisplayShortDateFormatTH(const ADate: TDate): String;
function DisplayLongDateFormatTH(const ADate: TDate): String;
function ConvertArabicNum2ThaiNum(const ANumber: Word): string;
implementation
function ConvertArabicNum2ThaiNum(const ANumber: Word): string;
var
Str_Int: string;
i: Byte;
begin
Result := '';
Str_Int := IntToStr(ANumber);
for i := 1 to Length(IntToStr(ANumber)) do
begin
Result := Result + DecimalTH[strtoint(Str_Int[i])];
end;
end;
function DisplayLongDateFormatTH(const ADate: TDate): String;
var
fYear, fMonth, fDay: Word;
begin
DecodeDate(ADate, fYear, fMonth, fDay);
Result := ConvertArabicNum2ThaiNum(fDay) + ' ' + MonthTH[fMonth] + ' ' +
ConvertArabicNum2ThaiNum(fYear + 543);
end;
function DisplayShortDateFormatTH(const ADate: TDate): String;
var
fYear, fMonth, fDay: Word;
begin
DecodeDate(ADate, fYear, fMonth, fDay);
Result := ConvertArabicNum2ThaiNum(fDay) + ' ' + ShortMonthTH[fMonth] + ' ' +
ConvertArabicNum2ThaiNum(fYear + 543);
end;
end.
//Sample
procedure TForm1.FormCreate(Sender: TObject);
begin
JvNavPanelHeader1.Caption := DisplayLongDateFormatTH(Date);
JvNavPanelHeader2.Caption := DisplayShortDateFormatTH(Date);
end;
Comments
Post a Comment