Kamis, 27 Mei 2010

Ass. wr.wb... pagi yang indah saatnya buat beraktifitas kembali dengan penuh olahraga jemari dengan sang keyboard. heheheee....


Pagi ne ane ingin berbagi dikit ilmu neh tentang bagaimana membuat kalender / tanggal Hijriah, mungkin sudah artikel yang bekaitan dengan ini, setidaknya ingin mengingatkan kembali (mungkin file ilang kali yah...!!!! ^_^) okey sebelum kita mulai membuat tanggal hijriah menggunakan delphi, temen2 siepin segelas susu anget juga boleh asal gk usah tuaq ja yah (kalo tuaq manis juga boleh. ^_^)... Sudah siap dengan minuman dan cemilah, temen2 buka delphinya dan copy paste source dibawah ini ke form yang temen buat tadi :







Kalo sudah, dibawah ini ada sebuah function TglHijriah yang berfungsi merubah dari tanggal masehi ke tanggal Hijriah.

function TglHijriah(AValue: TDateTime; HijriDiff: integer=0): TDateTime;
var Y,M,D: word; Calculate,temp1,temp2,temp3: integer;
begin
DecodeDate(AValue, Y, M, D);
Inc(D,HijriDiff);
if ((Y>1582) or ((Y=1582) and (M>10)) or ((Y=1582) and (M=10) and (D>14))) then

Calculate:=Trunc((1461*(Y+4800+Trunc((M-14)/12)))/4)+Trunc((367*(M-2-12*(Trunc((M-14)/12))))/12)-Trunc((3*(Trunc((Y+4900+Trunc((M-14)/12))/100)))/4)+D-32075
else Calculate:=367*Y-Trunc((7*(Y+5001+Trunc((M-9)/7)))/4)+Trunc((275*M)/9)+D+1729777;temp1:=Calculate-1948440+10632;
temp2:=Trunc((temp1-1)/10631);
temp1:=temp1-10631*temp2+354;
temp3:=(Trunc((10985-temp1)/5316))*(Trunc((50*temp1)/17719))+(Trunc(temp1/5670))*(Trunc((43*temp1)/15238));
temp1:=temp1-(Trunc((30-temp3)/15))*(Trunc((17719*temp3)/50))-(Trunc(temp3/16))*(Trunc((15238*temp3)/43))+29;
M:=Trunc((24*temp1)/709);
D:=temp1-Trunc((709*M)/24);
Y:=30*temp2+temp3-30;
Result:=EncodeDate(Y,M,D);
end;


Setelah source code diatas dicopy di bawah implementation {$R *.dfm} kemudian dapa Form Show atau form create copy perintah dibawah ini :

procedure TForm1.FormCreate(Sender: TObject);
var tgl:TDate; bln:String[14];
begin

Tgl:=TglHijriah(Now);

Label1.Caption:=FormatDateTime('DDDD, dd MMMM yyyy',Now)+' Masehi';

Label2.Caption:=FormatDateTime('dd MM yyyy',tgl)+' Hijriah';

Case StrToInt(FormatDateTime('MM',tgl)) of

1: bln:='Muharram';

2: bln:='Shafar';
3: bln:='Rabi’ul Awal';

4: bln:='Rabi’ul Akhir';

5: bln:='Jumadil Awal';
6: bln:='Jumadil Akhir';

7: bln:='Rajab';

8: bln:='Sya’ban';

9: bln:='Ramadhan';

10: bln:='Syawal';

11: bln:='Zulqaidah';

12: bln:='Zulhijjah';

End;
Label3.Caption:=FormatDateTime('dd ',tgl)+bln+FormatDateTime(' yyyy',tgl)+' Hijriah';

end;


Nah kalo udah selese yah tinggal dijalankan aja dah, pada label 1 menunjukkan tanggal Masehi, Label 2 dan 3 tanggal Hijriahnya.


Semoga bermanfaat buat temen2 yah..!!! ^_^
Source code dan Aplikasi bisa di download disini


11 komentar:

Posting Komentar

makasih sudah mampir.... ^_^

Follow by Email

Daftar Kunjungan

sejak tanggal 11 agustus 2010

Date

dot_exe

Promosi dikit neh... ^_^

Jika anda ingin meningkatkan kinerja perusahaan atu tempat anda bekerja, saya penulis dapat memenuhi kebutuhan anda . baik atas nama kelompok (CV) atau perorangan:
penulis menyediakan softaware-software seperti:
1. Dinas pemerintahan / Swasta
2. Percetakan
3. Toko / swalayan
4. Dinas pendidikan
5. dll

software dapat berbentuk desktop atau model jaringan (client server).
Selain itu menerima pemesanan pembuatan Website baik yang pribadi maupun perusahaan.

bagi yang berminat dapat mengirim e-mail ke alamat dotexe.chili@gmail.com

Popular Posts

Daftar Komentar

temen-temenku