IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   Tarih Dönüştürme [ Hicri - Miladi ] (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/373711-tarih-donusturme-hicri-miladi.html)

CesuryureK 25 Aralık 2010 19:03

Tarih Dönüştürme [ Hicri - Miladi ]
 
--------------------------
Tarih: 25 Aralık 2010
Yazar: CesuryureK
Bilgi: Emeğe Saygı

---------------------------


Takvim Dönüştürme

Bilindiği üzere Türkiye 1926 yılından sonra miladi takvimi kullanmaya başlamıştır.
Lakin 1926 yılından önceki dönemlerde Hicri takvim kullanılmaktaydı.
1926 yılından önceki bir tarihi miladi takvime göre hangi yıla denk geldiğini öğrenmemiz için mecburi bazı matematiksel işlemler yapmak zorundayız.
Örneğin;
2010 Miladi yılını Hicri yılına dönüştürmek için;
2010 - 621 = 1389
1389 / 33 = 42.09
Eğerki Bölme işleminde çıkan sonuçta noktadan(Virgülden) sonraki ilk rakam(42.09) 5'e eşit ve 5'ten büyükse noktadan önceki(42.09) kısma +1 İlave ediyoruz. Değilse noktadan önceki kısmı direk alıyoruz. Noktadan sonraki ilk rakam "0" 5'e eşit ve 5'ten büyük olmadığı için direk alıp işleme devam ediyoruz.
1389 + 42 = 1431
Demekki 2010 Miladi Yılı 1431 Hicri Yılına Denk Gelir.
-----
Aynı durumun tersi de söz konusu
Elimizde bir hicri yıl varsa ve hangi miladi yıla eşit gelir bilmiyorsak, mecburi bazı matematiksel işlemler yapacağız.
Örneğin 1431 Hicri Yılı hangi Miladi yıla denk geldiğini öğrenmek istiyorsak;
1431 / 33 = 43.36
Noktadan sonraki ilk rakam ".36" 5'e ve 5'ten büyük olmadığı için noktadan önceki kısmı direk alıyoruz. "43."
1431 - 43 = 1388
1388 + 622 = 2010

Kodun da çalışma mantığı aynen bu şekilde olup işte Bu gibi matematiksel işlemlerle uğraşmayıp Kod ile rahatlıkla öğrenebiliriz :)

Kullanım:
Kişi kendisi kullanacaksa /Hicri Yıl: Belirtilen yılın Miladi Yıla Denkliğini verir.
Herhangi bir kanalda da;
!Hicri Yıl
.Hicri Yıl
!Miladi Yıl
.Miladi Yıl

şeklinde de sorgulanabilir.
Hicri ve Miladi sözcüklerinin tüm harf kombinasyonlarında da çalışacaktır. Hıcrİ gibi

Ne işe yarar yahu ne gerek vardı diyenler birgün lazım olursa kullanmayıp gidip hesap makinesini eline alıp hesaplasın :)

*DİPNOT: Kodu yazma nedenim, Bir mezarlığın önünden geçerken birinin
Doğum yılı: 1358
Ölüm yılı: 1999
diye gördüm ve doğum yılının hicri yıl olduğunu hemen farkettim ve böyle bir kod yazmak istedim.



SCREEN:

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]



Kod:

Alias Hicri {
  if (33 // $1) {
    if (%HicriBak == on) { set -u5 %Hicriver $calc($calc($1 - $calc($1 / 33)) + 622) }
    elseif (%HicriBak != on) { echo -a $chr(22) $1 Hicri Yılı $calc($calc($1 - $calc($1 / 33)) + 622) Miladi Yılına Denk Gelir | Takvim }
  }
  elseif (33 \\ $1) {
    var %HicriBol $calc($1 / 33)
    var %HicriYuvarla $mid($gettok(%HicriBol,2,46),1,1)
    var %HicriAna $gettok(%HicriBol,1,46)
    if (%HicriYuvarla >= 5) { 
      if (%HicriBak == on) { set -u5 %Hicriver $calc($calc($1 - $calc(%HicriAna + 1)) + 622) }
      elseif (%HicriBak != On) { echo -a $chr(22) $1 Hicri Yılı $calc($calc($1 - $calc(%HicriAna + 1)) + 622) Miladi Yılına Denk Gelir | Takvim }
    }
    else {
      var %HicriBol $calc($1 / 33)
      var %HicriAna $gettok(%HicriBol,1,46)
      var %HicriSon $calc($1 - %HicriAna)
      if (%HicriBak == on) { set -u5 %Hicriver $calc(%HicriSon + 622) }
      elseif (%HicriBak != on) { echo -a $chr(22) $1 Hicri Yılı $calc(%HicriSon + 622) Miladi Yılına Denk Gelir | Takvim }
    }
  }
}
Alias Miladi {
  Var %Bir $1
  var %Cikar $calc(%Bir - 621)
  if (33 \\ %Cikar) {
    var %MiladBol $calc(%Cikar / 33)
    var %MiladYuvarla $mid($gettok(%MiladBol,2,46),1,1)
    var %MiladNokta $gettok(%MiladBol,1,46)
    if (%MiladYuvarla >= 5) {
      if (%MiladiBak == on) { set -u5 %Miladiver $calc($calc(%MiladNokta + 1) + %Cikar) }
      elseif (%MiladiBak != on) { echo -a $chr(22) $1 Miladi Yılı $calc($calc(%MiladNokta + 1) + %Cikar) Hicri Yılına Denk Gelir | Takvim }
    }
    elseif (%MiladYuvarla < 5) {
      if (%MiladiBak == on) { set -u5 %Miladiver $calc(%MiladNokta + %Cikar) }
      elseif (%MiladiBak != on) { echo -a $chr(22) $1 Miladi Yılı $calc(%MiladNokta + %Cikar) Hicri Yılına Denk Gelir. | Takvim }
    }
  }
  if (33 // %Cikar) {
    if (%MiladiBak == on) { set -u5 %Miladiver $calc($calc(%Cikar / 33) + %Cikar) }
    elseif (%MiladiBak != on) { echo -a $chr(22) $1 Miladi Yılı $calc($calc(%Cikar / 33) + %Cikar) Hicri Yılına Denk Gelir. | Takvim }
  }
}
Alias Takvim {
  if (%MiladiBak == on) || (%HicriBak == on) { Set %Echo /msg %TakvimChan | TakvimBilgi }
  else { set %Echo Echo -a | TakvimBilgi }
}
Alias TakvimBilgi {
  %Echo 4HİCRİ TAKVİM BİLGİSİ
  %Echo * Hicri Takvim Hz. Muhammed'in Mekke'den Medine'ye hicretini (622 Yılı) başlangıç kabul eden ve ayın dünya çevresinde dolanımını esas alan bir takvim sistemidir.
  %Echo * Ay Esaslı Takvimdir.
  %Echo -
  %Echo 4MİLADİ TAKVİM BİLGİSİ
  %Echo * Hz. İsa'nın doğum gününü (0 Yılı) tarih başlangıcı olarak alınmıştır.
  %Echo * Dünyanın Güneş Etrafında Dönüşünü Esas Aldığı için Güneş Esaslı Bir Takvimdir.
  %Echo * Julien Takvimi Olarak da Bilinir.
%Echo * Türkiye Bu Takvimi 1926 Yılından İtibaren Kullanmıştır.
  unset %TakvimChan %Echo
}
on *:TEXT:*:#: {
  if $regex($1,/(^[!.]H(i|İ|ı)cr(i|İ|ı)$)/i) && !$2 { msg $chan Lütfen Tarih Belirtin! | halt }
  if $regex($1,/(^[!.]H(i|İ|ı)cr(i|İ|ı)$)/i) && !$regex($2,\d) { msg $chan şşş $nick Sen Hiç Yazıyla Rakam Gördün mü? Tarih Kısmı Rakamdan Oluşmalıdır! }
  elseif $regex($1,/(^[!.]H(i|İ|ı)cr(i|İ|ı)$)/i) && $2 && $regex($2,\d) {
    set %HicriBak on
    set %TakvimChan $Chan
    $hicri($2)
    msg $chan $chr(22) $2 Hicri Yılı %Hicriver Miladı Yılına Denk Gelir. | .Takvim | unset %HicriBak
  }
  if $regex($1,/(^[!.]M(i|İ|ı)lad(i|İ|ı)$)/i) && !$2 { msg $chan Lütfen Tarih Belirtiniz. Kullanımı: !Miladi 2010 }
  elseif $regex($1,/(^[!.]M(i|İ|ı)lad(i|İ|ı)$)/i) && ($2 < 622) { Msg $Chan Hicri Takvim Başlangıcı 622 Senesidir. O Yüzden Verdiğiniz Tarihten Önceki Yıllara Hicri Öncesi Yıllar Denilir ve Tarihi Verilmez! | halt  } 
  elseif $regex($1,/(^[!.]M(i|İ|ı)lad(i|İ|ı)$)/i) && $2 && !$regex($2,\d) { msg $chan şşş $nick Sen Hiç Yazıyla Rakam Gördün mü? Tarih Kısmı Rakamdan Oluşmalıdır! }
  elseif $regex($1,/(^[!.]M(i|İ|ı)lad(i|İ|ı)$)/i) && $2 && $regex($2,\d) {
    set %MiladiBak on
    set %TakvimChan $Chan
    $miladi($2)
    msg $chan $chr(22) $2 Miladi Yılı %Miladiver Hicri Yılına Denk Gelir. | .Takvim | unset %MiladiBak
  }
}


Umarım Tarih'e Faydamız Olur.
Hoşça Paylaşımlar..

Difuzyon 25 Aralık 2010 19:08

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
Kodu yazma nedenin bu olaya bir anlam daha kazandırmış...
Bu arada Regex ve \\ // operatörleri göz kamaştırıyor :)
Bir kez daha tebrikler...

XcLusive 25 Aralık 2010 19:14

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
Yakışır hocamıza :)

Azad 25 Aralık 2010 19:33

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
Bugün konu açmayı düşünüyordum. "Hazır kodlar" acaba miladını doldurdu mu?, diye.. ama görünen o ki;
Satır tükenir, ama fikir tükenmiyormuş.. Tebrik ederim, anlamlı bir çalışma olmuş.

Boreas 25 Aralık 2010 19:44

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
Hocam tarihci olduğunuzu çok belli ediyorsunuz :) , emeğinize sağlık.

saydek 26 Aralık 2010 09:20

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
tr de mirc coder denilince cesur gelir aklıma ve bir kez daha aklıma gelmesinin nedenini kendisi açıkladı yazdığı kodlarla devamını ve başarılarını dilerim kardeşim.

SNOOPY 26 Aralık 2010 12:26

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
adam işi biliyor.

h4pp3n 26 Aralık 2010 12:40

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
tebrikler abi .. yazma sebebinde ayrıca cok güzelmis ..

Entrance 26 Aralık 2010 12:46

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
Tebrikler. faydalı bir çalışma olmuş.

Coldman 26 Aralık 2010 13:50

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
eline emeğine sağlık başarilar.

Sametold 26 Aralık 2010 13:55

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
Herzamanki gibi hasan abi.
Herkulâde. ;rolleyes

Rodrigo 26 Aralık 2010 17:55

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
Daha önce yazdığınız ''bugün tarihte ne olmuş'' çalışmanızı irc.chat.com.tr'de tarih kanalında kullanıyorum. Güzel bir çalışma daha sunduğunuz için, tebrik ederim sizi...

eLsukr 15 Şubat 2011 13:31

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
hocam emegine sağlık tsk bunun tam tarih versiyonu yokmu hocam msela !miladi 15 şubat 2011 dediğimizde hicri takvimi gösteren bilgi demek istedim.. birde hocam o mezartaşında gördügünüz eski takvimimiz sanırım rumi takvimdi onla hicri arasındada fark var. Tsk ler

CesuryureK 16 Şubat 2011 03:44

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
Alıntı:

eLsukr Nickli Üyeden Alıntı (Mesaj 1040681270)
hocam emegine sağlık tsk bunun tam tarih versiyonu yokmu hocam msela !miladi 15 şubat 2011 dediğimizde hicri takvimi gösteren bilgi demek istedim.. birde hocam o mezartaşında gördügünüz eski takvimimiz sanırım rumi takvimdi onla hicri arasındada fark var. Tsk ler

merhabalar, tam tarih konusunda çok iyi bir bilgi sahibi olmak lazım, onuda bir ara düşündüm halada kafa yormaya fırsat bulamadım. İnşallah ilk fırsatta tam tarih konusunda bir mantık bulup koda dökerim.
(her yılda 11 günlük gecikmeleri hesaplamak lazım. Verilen tarihleri aynı cinse dönüştürüp gecen zamanda miladi ile hicri arasındaki 11 günlük hesaplamayı yıla,aya ve güne göre düzenleyip sonuca aktarmak lazımki buda çok hassas bir durum, insanları bu konuda yanlış yönlendirmemek için kafamda öncelikle en doğru mantığını düşünüyorum)
+
mezartaşında gördüğüm tarih rumi takvim değil hicridir. Çünkü rumi takvimi Osmanlı halkı kullanmıyordu. Osmanlı Devleti sadece "Mali" işlerde bu takvimi kullanıyordu. her ne kadar 1871 yılında düzenleme yapılmış olsa bile hicri takvime göre her 33 yılda 1 yıl geride kalıyor.

Deinonychus 17 Şubat 2011 01:23

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
eline ve emegine saglik

N1z3m 02 Mart 2011 01:51

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
Emeğinize sağLik , kolay gele..

FirariSevdam 13 Mart 2011 03:30

Cevap: Tarih Dönüştürme [ Hicri - Miladi ]
 
TşkLer Hocam Süper oLmuŞ Gene :)


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 19:39.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk