unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
function Day(ADay: Byte): string;
function Month(AMonth: Byte): string;
function Chif (AChif: Byte) : String;
function Centaine (i: integer) : String;
function Millier (i: integer) : String;
function Year(AYear: Integer): string;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TForm1.Day(ADay: Byte): string;
const
MyDays: array [0..30] of widestring =('اليوم الأول','اليوم الثاني','اليوم الثالث',
'اليوم الرابع','اليوم الخامس','اليوم السادس',
'اليوم السابع','اليوم الثامن','اليوم التاسع',
'اليوم العاشر','اليوم الحادي عشر','اليوم الثاني عشر',
'ليوم الثالث عشر','اليوم الرابع عشر','اليوم الخامس عشر',
'اليوم السادس عشر','اليوم السابع عشر','اليوم الثامن عشر',
'اليوم التاسع عشر','اليوم العشرون','اليوم الواحد و العشرون',
'اليوم الثاني و العشرون','اليوم الثالث و العشرون','اليوم الرابع و العشرون',
'ليوم الخامس و العشرون','اليوم السادس و العشرون','اليوم السابع و العشرون',
'اليوم الثامن و العشرون','اليوم التاسع و العشرون','اليوم الثلاثون',
'اليوم الواحد و الثلاثون');
begin
Result := MyDays[ADay - 1];
end;
function TForm1.Month(AMonth: Byte): string;
const
MyMonths: array [0..11] of string =('شهر جانفي','شهر فيفري','شهر مارس',
'شهر أفريل','شهر ماي','شهر جوان',
'شهر جويلية','شهر أوت','شهر سبتمبر',
'شهر أكتوبر','شهر نوفمبر','شهر ديسمبر');
begin
Result := MyMonths[AMonth - 1];
end;
function TForm1.Chif (AChif: Byte) : String;
const MyChif: array [0..100] of string = ('صفر','واحد','إثنان','ثلاث','أربع','خمس','ست','سبع','ثمان','تسع',
'عشرة','إحدى عشر','إثنا عشر','ثلاثة عشر','أربعة عشر','خمسة عشر','ستة عشر','سبعة عشر','ثمانية عشر',
'تسعة عشر','عشرون','واحد و عشرون','إثنان و عشرون','ثلاث و عشرون','أربع و غشرون','خمس و عشرون','ست و عشرون',
'سبع و عشرون','ثمان و عشرون','تسع عشرون','ثلاثون','واحد و ثلاثون','إثنان و ثلاثون','ثلاث و ثلاثون','أربع و ثلاثون',
'خمس و ثلاثون','ست و ثلاثون','سبع و ثلاثون','ثمان و ثلاثون','تسع و ثلاثون','أربعون',
'واحد و أربعون','إثنان و أربعون','ثلاث و أربعون','أربع و أربعون','خمس و أربعون','ست و أربعون',
'سبع و أربعون','ثمان و أربعون','تسع و أربعون','خمسون','واحد و خمسون','إثنان و خمسون','ثلاث و خمسون','أربع و خمسون',
'خمس و خمسون','ست و خمسون','سبع و خمسون','ثمان و خمسون','تسع و خمسون','ستون','واحد و ستون',
'إثنان و ستون','ثلاث و ستون','أربع و ستون','خمس و ستون','ستون',
'سبع و ستون','ثمان و ستون','تسع و ستون','سبعون','واحد و سبعون','إثنان و سبعون','ثلاث و سبعون',
'أربع و سبعون','خمس و سبعون','ست و سبعون','سبع و سبعون','ثمان و سبعون','تسع و سبعون','ثمانون','واحد و ثمانون',
'إثنان و ثمانون','ثلاث و ثمانون','أربع و ثمانون','خمس و ثمانون','ست و ثمانون','سبع و ثمانون',
'ثمان و ثمانون','تسع و ثمانون','تسعون','واحد و تسعون','إثنان و تسعون','ثلاث و تسعون','أربع و تسعون',
'خمس و تسعون','تسعون','سبع و تسعون','ثمان و تسعون','تسع و تسعون',' مائة ');
begin
Result := MyChif[AChif];
end;
// تم إنجاز البرنامج من طرف مهدي عضو بمنتديات دلفي للعرب
// http://www.delphi4arab.com
// الكود المصدري مجاني بشرط الإشارة للمصدر أعلاه
function TForm1.Centaine (i: integer) : String;
begin
case i of
1..100: Centaine:=chif(i);
101..199: Centaine:=' مائة و ' + Chif(i mod 100);
201..299: Centaine:=' مائتان و ' + Chif(i mod 100);
300..999:
case (i mod 100) of
0: Centaine:=Chif(i div 100) + ' مائة و ';
1..99: Centaine:=Chif(i div 100) + ' مائة و ' + Chif(i mod 100);
end;
end;
end;
function TForm1.Millier (i: integer) : String;
begin
case i of
1..999: Millier:=Centaine(i);
1000..999999:
case (i div 1000) of
1: Millier:=' ألف و '+ Centaine(i mod 1000);
2: Millier:=' ألفان و '+ Centaine(i mod 1000);
3..10:Millier:=Centaine(i div 1000)+' آلاف و '+ Centaine(i mod 1000);
11..999:Millier:=Centaine(i div 1000)+' ألف و '+ Centaine(i mod 1000);
end;
end;
end;
function TForm1.Year(AYear: Integer): string;
begin
Result := Millier(AYear);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
d, m, y: Word;
begin
DecodeDate(Date, y, m ,d);
ShowMessage(Day(d) +' '+ Month(m) +' '+ Year(y));
end;
end.