List index out of bounds (0)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

List index out of bounds (0)

Mesaj gönderen oguzozturk74 »

SA
Arkadaşlar Delphiile programlamaya yeni başladım.Sizlere 2 tane takıldığım sorum olacak.

1- Ben hazırladığım programlarda belirli dini günlerde kullanıcıya uyarı mesajı ve kutlama tebriği vermek istiyorum.Tabi buda Hicri Takvimin yapısı doloyısı ile normal tarih fonksiyonları ile mümkün görünmüyor.İnternetten araştırdım fakat herhangi birşeyler bulamadım. Sizin bir bilginiz var mı?

2-Şu an üzerinde çalıştığım basit bir veritabanı programım var. Sorunum programı her RUN yapışımda aşağıdaki hata mesajı ile karşılaşıyorum:
a Class ElistError with message
‘’ List index out of bounds (0) ‘’
Sizce bunun sebebi ne olabilir?

Not: Delphi7 ve Paradox table kullanıyorum

Saygılar

Oğuz ÖZTÜRK
E-mail: oguzozturk74@yahoo.com
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam.

- Miladi Takvim <-> Hicri takvim dönüşümünü biliyorsunuzdur. Bunu bir fonksiyon yazarak çözebilirsiniz.

- Fonksiyon için gerekli formülü bilmeyenler için
(Kaynak : http://www.ottomanlanguage.com/sayi.htm)

Kod: Tümünü seç

//-------------------------------------------------------------------------------
Takvim
Osmanlıca metinlerde hicri, rumi ve miladi takvimler kullanılmıştır. Kameri takvim olarak da bilinen Hicri takvim yeni Ayın göründüğü günün başlangıç kabul edildiği, 12 aydan oluşan yıla dayanan takvim sistemidir. Hz. Ömer döneminde düzenlenen bu takvimde Hz. Muhammed’in Mekke’den Medine’ye göç ettiği tarih olan 622 başlangıç yılı olarak kabul edilir. Osmanlılar 17. yüzyılın ikinci yarısına değin bütün resmi işlerde bu takvimi kullandılar. Hicri tarihlerin Miladi tarihe çevrilmesinde çeşitli yöntemler kullanılmıştır. Bunlar içinde yaygın olarak kullanılanı şu şekilde formüle edilmiştir:

Kod: Tümünü seç

     H x 3  
H- -------- + 622 = M 
      100 
Örneğin,

Kod: Tümünü seç

1326 x 3  = 3978 / 100 = 39,78 
1326 - 39,78 = 1286,22   
1286 + 622 = 1908 
Ay yılı (354 gün) ile Güneş yılı (365 gün) arasında 11 günlük fark olması bazı sorunlara yol açıyordu. Bu sebeple 1676’da (H. 1087) yeni bir takvim kullanılmaya başladı. Güneş yılını 365 gün olarak kabul eden Jülyen takvimini temel alan bu güneş takvimine Rumi takvim ya da mali takvim adı verildi. Mali işlemler için 1739’da (H. 1152) yürürlüğe giren Rumi takvime göre başlangıç yılı gene 622, yılın ilk günü ise 1 Mart olarak kabul edildi. 1839’da (H. 1255) tüm mali ve resmi işlerde Rumi takvim kullanılmaya başladı. Öte yandan 19. yüzyıl sonuna değin Rumi tarihlerin yanı sıra Hicri tarihlerde konuluyordu. Rumi yılların Miladi yıla çevrilmesinde ise şu yöntem izlenir:

Kod: Tümünü seç

R + 584 = M 
Örneğin,

Kod: Tümünü seç

1326 + 584 = 1910 
Mali takvim yılbaşının 1 Mart’ta olması sebebiyle Gregoryen (Miladi) takvime göre 13 gün geride kalıyordu. Bu yüzden 1917’de (H. 1332, R. 1333) Miladi takvim de kullanılmaya başladı. Cumhuriyet’in ilanından sonra, 1926’da Rumi takvim, bütçe dışında bütün resmi işlerde kaldırıldı ve Miladi takvim kabul edildi. Öte yandan Mali yılbaşı 1 Mart olarak kaldı, 1983’te bu uygulamaya da son verilerek mali yılbaşı 1 Ocak olarak kabul edildi.

Kod: Tümünü seç

//-------------------------------------------------------------------------------
- List index out of bounds (0) hatası konusunda da forumda arama yaptırırsanız bu hatanın oluşum sebebi hakkında gerekli bilgilere ulaşırsınız.

- Yine de çözemezseniz, muhtemel hata oluşan kod örneği ile mesaj yazdığınızda buradan yardımcı olunmaya çalışıacaktır.
Resim
Resim ....Resim
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

SA

Muharrem Bey
Cevabınız için sağolun.
1-En sonunda Veritabanı tablomu yeniden oluşturdum ve program hata vermekten vazgeçti. Sanırım alan isimlerini uzun yazmıştım , sebebi o olabilir. ( CALISTIGIGUNSAYISI ismindeki alanı Gun olarak değiştirdim). :D
2-Verdiğiniz siteyi inceledim. Zaten sizin de belirttiğinizden başka işime yarar birşeyler bulamadım. Verilen formül sadece verilen yılı çeviriyor. Fakat bana Gün/Ay/Yıl olarak çeviri lazım. Benim düşündüğüm; elime kalem kağıt alıp önümüzdeki 20 yıl için sözkonusu Mübarek günleri belirlemek ve bunları Date fonksiyonuna gün olarak eklemek. :?:

Bu arada biraz geçte olsa, bütün herkesin geçmiş mübarek Kurban Bayramını kutlamak isterim.

Saygılar,

Oğuz Öztürk
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Tekrar selam...

- Sana alternatif sunayım o zaman...

http://www.ori.unizh.ch/hegira.html linkinde Conversion of Islamic and Christian dates başlıklı bir html tabanlı hesap cetveli var..

- Buradaki HTML kaynak kodunda formül mevcut, eğer doğru hesaplıyorsa, bu formüllerden çıkarımda bulunabilir Delphi dilinde bir fonksiyon yazabilirsin.

ayrıca Kuzey Amerika'ya göre ama yardımcı olur diye veriyorum..
http://moonsighting.com/calendar.html takvim var... gün karşılaştırmasını tablo şeklinde görmek faydalı olur diye gönderiyorum bunu.

- Vakim olsa ben yazardım ama şu sıralar çok yoğunum...
En son mrmarman tarafından 07 Şub 2004 07:47 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Resim
Resim ....Resim
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

SA

Verdiğniz siteleri araştıracağım. Bilgi için :idea: sağolun.
İnşallah yaptığımda, birlikte paylaşırız.

Saygılar

Oğuz ÖZTÜRK
Cevapla