Mega Code Archive

 
Categories / Delphi / Forms
 

Displaying Month Names in Indonesian or Other Language Using FormatDateTime Function

Title: Displaying Month Names in Indonesian or Other Language Using FormatDateTime Function Question: How we can display long month names in a specific language, eg Indonesia So, the result will be like this : today is 25 Nopember 2006 Answer: Actually, that's quiet simple to do that You only need to replace the default (Delphi) "LongMonthNames" constants with the preferable any language you desire. For this example, I want to display a specific date into Indonesian Date Format (dd MMMM yyyy) Which, January is Januari in Indonesian February is Februari March is Maret April is April May is Mei June is Juni July is Juli August is Agustus September is September (unchanged) October is Oktober November is Nopember December is Desember The example code would be like this : ------------------------------------- unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls; type TForm1 = class(TForm) DateTimePicker1: TDateTimePicker; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; // English: // this variable ("namaBulan") is used to replace month names' string // from English into Indonesian // this variable is used in "replaceLongMonthNamesWithIndonesian" procedure // dipakai untuk menggantikan string nama bulan dr bhs Inggris ke Indonesia // digunakan dalam procedure "replaceLongMonthNamesWithIndonesian" namaBulan: array[1..12] of string = ( 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'Nopember', 'Desember'); // You can change the string constant above with your language choice implementation {$R *.dfm} procedure replaceLongMonthNamesWithIndonesian; var i : integer; begin for i:=1 to High(namaBulan) do LongMonthNames[i] := namaBulan[i]; end; procedure TForm1.FormCreate(Sender: TObject); begin replaceLongMonthNamesWithIndonesian; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessageFmt( 'The date in Indonesian format (dd mmmm yyyy) : %s', [FormatDateTime('dd MMMM yyyy', DateTimePicker1.Date)]); end; end. ------------------------------------- // end of the code if you want to change the short name of a month with some other language either, you need to change the "ShortMonthNames" like we did above Enjoy it