Delphi -- miladi Takvimiini Hicriye Çevirin

Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: miladi Takvimiini Hicriye Çevirin  (Okunma sayısı 1433 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Mikdad

  • Delphi 4 Level 1
  • *
  • İleti: 150
  • Rep: +2/-2
  • Cinsiyet: Bay
    • http://www.mikdad.net
miladi Takvimiini Hicriye Çevirin
« : 08 Kasım 2005 19:10:01 »
Uses kısmına Math unit'ini eklemeyi unutmayın ayrıca form'unuza 1 adet DateTimePicker bileşeni ve 1 adet Button ekleyiniz.

Function IntPart(FloatNum:Double):Double;
Begin
    if FloatNum < -0.0000001 Then
        Result:= Ceil(FloatNum -0.0000001)
    Else
        Result:= Floor(FloatNum +0.0000001);

End;



procedure TForm1.Button1Click(Sender: TObject);
var
    Tarih:TDateTime;
    JD, L,N, J:TDateTime;
    Gun, Ay, Yil: Word;
    AyStr:String;
begin
    Tarih := DateTimePicker1.Date;
    DecodeDate(Tarih, Yil, Ay, Gun);
    jd := IntPart((1461*(Yil + 4800 + IntPart((Ay-14)/ 12)))/ 4) + IntPart((367*(Ay-2-12*(IntPart((Ay-14)/ 12))))/ 12)-IntPart((3*(IntPart((Yil+4900+IntPart((Ay-14)/ 12))/ 100)))/ 4)+Gun-32075;
    L := Jd - 1948440 + 10632;
    N := IntPart((l-1)/10631);
    L := L - 10631 * N + 354;
    J := (IntPart((10985-L)/5316))*(IntPart((50*L)/17719))+(IntPart(L/5670))*(IntPart((43*L)/15238));
    L := L-(IntPart((30-J)/15))*(IntPart((17719*J)/50))-(IntPart(J/16))*(IntPart((15238*J)/43))+29;
    Ay := Ceil(((IntPart((24*L)/ 709))));
    Gun := Ceil(L-IntPart((709*ay)/ 24));
    Yil := Ceil(30* N + J -30);

    Case (Ay) Of
        1: AyStr:= 'Muharrem';
        2: AyStr:= 'Safer';
        3: AyStr:= 'Rebiü"l- Evvel';
        4: AyStr:= 'Rebiü"l- Ahir';
        5: AyStr:= 'Cemaziye"l- Evvel';
        6: AyStr:= 'Cemaziye"l- Ahir';
        7: AyStr:= 'Recep';
        8: AyStr:= 'Saban';
        9: AyStr:= 'Ramazan';
        10: AyStr:= 'Sevval';
        11: AyStr:= 'Zi"l-ka"de';
        12: AyStr:= 'Zi"l-Hicce';
    End;
    if AyStr = 'Sevval' Then //Örnek 14/11/2004 Tarihi Ramazan Bayramı
    Begin
        if (Gun >= 1) and (Gun <=3) then
            ShowMessage('Ramazan Bayramı Tatili !!!');
    End
    Else
    if AyStr = 'Zi"l-Hicce' Then //Örnek 21/01/2005 Tarihi Kurban Bayramı
        if (Gun >= 10) and (Gun <=14) then
            ShowMessage('Kurban Bayramı Tatili !!!');



    ShowMessage(IntToStr(Gun) + ' ' + AyStr+ ' ' + IntToStr(Yil));
end;
« Son Düzenleme: 09 Kasım 2005 13:25:16 by Fatih »
Hiç KiMSe VaZGeÇiLMeZ DeĞiLDiR
WwW.Minikhost.Net    Host Dünyasında Yeni Bir Soluk
WwW.Mikdad.Net        İslami İçerikli Portalınız
WwW.Pckahvesi.com   Netteki Yeni Adresiniz

Çevrimdışı sako

  • Delphi 1 Level 3
  • ***
  • İleti: 27
  • Rep: +0/-1
Ynt: miladi Takvimiini Hicriye Çevirin
« Yanıtla #1 : 13 Mayıs 2010 10:02:50 »
Yanlış hesaplıyor !!!
Diyanetin takviminde
1 SAFER 1437  13  KASIM-2015  CUMA

Programda ise
30 MUHARREM 1437 olarak çıkıyor.