Birbirini takip eden ay ve günler. Ama nasıl???

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
gamsizgani

Mesaj gönderen gamsizgani »

Ben bir yolunu buldum da bi sürü yolu kaldı :o
uzun zamandır en kısa ve kesin yolunu sordum durdum

Dostlukla...
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

gamsizgani yazdı:Ben bir yolunu buldum da bi sürü yolu kaldı :o
uzun zamandır en kısa ve kesin yolunu sordum durdum

Dostlukla...

;) valla sen incmont ile kestirip atma dedin diye onsuz yazdım (ama ilk kodumun içine incmonthu da koyabilirsin demiştim) ;) neyse eğer en kisa kodu istiyosan:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
    ii:integer;
begin
    for ii:=1 to 11 do
        Tedit(findcomponent('edit'+inttostr(ii+1))).text:=datetostr(incmonth(StrToDate(edit1.Text),ii));
end;
en kisa ve en kesin (incmont icinde) 2 satircik


Saygılar...
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
gamsizgani

Mesaj gönderen gamsizgani »

Merhaba :)

Verdiğin kod tam anlamıyla istenilen sonucu vermiyor.

Mesela;

Edit1.text'e 29.02.2004 girdiğinde sonraki edit 29.03.2004 veriyor. Halbu ki edit2 31.03.2004 vermeli.

Dostlukla... :D
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

acemiliğime verin ticari yani taksitli satışları yapan prg. hakkında bilgim yok ve böyle bir çalışmam da olmadı ama burada anlayamadığım bir konu var microchip ustanın verdiği kodu denedim ve dediğiniz gibi 29.01.2005 girilmiş ise peşine gelen tarihleri 29.02.2004 ... şeklinde döndürüyor. burada taksitler birer ay arayla gelmiyormu. yani kişi ayın yirmisinden yirmisine ödeme gibi. buzdolabı taksidim var ve her ayın yirmisinde. prg. ma 20.01.2005 girince diğerlerinide yirmisi olarak verecek.

kolay gelsin.
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

benim son yazdigim kod incmont ile ay artımı yapıyo, ve mucar ın kodunun kisa haliydi. eğer ilk kodu kullanırsanız incmont suz ve uzun olanı istediğiniz ay artımını istediğiniz gibi yapar (yani ayın sonuna denk geliyorsa bir dahaki aylar da sonuna denk geliyo)

biz isteğe göre şekillendiririz (sen öyle istemiştin gamsiz)

saygılar...
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
gamsizgani

Mesaj gönderen gamsizgani »

bobasturk yazdı:merhaba,

acemiliğime verin ticari yani taksitli satışları yapan prg. hakkında bilgim yok ve böyle bir çalışmam da olmadı ama burada anlayamadığım bir konu var microchip ustanın verdiği kodu denedim ve dediğiniz gibi 29.01.2005 girilmiş ise peşine gelen tarihleri 29.02.2004 ... şeklinde döndürüyor. burada taksitler birer ay arayla gelmiyormu. yani kişi ayın yirmisinden yirmisine ödeme gibi. buzdolabı taksidim var ve her ayın yirmisinde. prg. ma 20.01.2005 girince diğerlerinide yirmisi olarak verecek.

kolay gelsin.
bobasturk merhaba

Benim sana tafsiye edeceğim en kısa ve kesin sonucu veren kod aşağıdadır. Dene ve gör :roll:

procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),1));
edit3.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),2));
edit4.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),3));
edit5.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),4));
edit6.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),5));
edit7.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),6));
edit8.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),7));
edit9.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),8 ));
edit10.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),9));
edit11.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),10));
edit12.text:=DateTimeToStr(IncMonth(StrToDateTime(edit1.Text),11));
end;



microchip Merhaba

Bu kod gerçekten daha kısa ve net sonucu veriyor. Mutlaka başka yolları da vardır. Ama en kısa yoldan olanı makbuldür her zaman :lol: Sanma ki sadece bu sorumla kurtulacaksın. İlerde daha neler soracağım neler...?
Dostlukla
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

evet ustacım tavsiyen üzerine denedim ve gördüm. hoş microchip ustamın verdiklerinide denemiş ve görmüştüm. oda aynı sonuçları veriyordu. ben sizin tam istediğimi vermiyor demeniz üzerine yazmıştım. taksit olayları bir aylık periyotlarla döndürülüyor. yani satıcı gelen alıcıya her ayın yirmisi ödemeniz var diyor.(gün sayısı örnektir). siz ilk taksit için soru sorup sonra ilk girilen 20.01.2005 girildi ise peşinden gelen ayın sonunu versin deyince konuyu karıştırdım sanırım. ilk ay yirmisi girildi ise taksitlerde peşinden gelen ayların yirmisinde olması gerekmiyormu diye. ve verilen cevaplarda bunu hesaplıyordu. o yüzden yukarıda yazdığımı yazmıştım.

neyseki sorununuz çözüldü ve bende burada gayet güzel bir şey öğrenmiş oldum hepinize teşekkür ederim.

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
gamsizgani

Mesaj gönderen gamsizgani »

:o

Az de olsa katkıda bulunabildiysem ne mutlu bana. Sormak ya da paylaşmak istediklerini burada yazmaya devam et hem bildiğimiz kadarıyla yardımcı olalım hem de bu arada bir şeyler öğrenmiş olalım.

Dsotlukla... :o
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

ya gamsiz sana bişi demiyorum :D ne kadar gamsizsin
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
gamsizgani

Mesaj gönderen gamsizgani »

Haydaaaa

Bu da nerden çıktı yahu :shock: de bakayım nerden çıktı? :o
gamsizgani

Mesaj gönderen gamsizgani »

Uzun bi aradan sonra ynı soru ile takıldığım bir yeri sizlere açmak istiyorum.

Edit1'deki tarih 29 şubat 2004 olunca takip eden ayların günü de 29 olarak algılanıyor. Bu tarih dışındakilerde sorun yaratmıyor. Bunu nasıl çözebilirim?
Cevapla