Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Tarih Farkı Hesaplama
#1
Arkadaşlar Merhaba; Günün tarihinden 1 yıl sonrasını bularak geriye doğru eksiltmek istiyorum. Ekteki kod ile 1 yıl sonrasını buldum ama günün tarihinden 365 den geriye doğru hesap yaptıramadım. Yardımcı olabilir misiniz?

Yapmak istediğim, İlk Yılı sıfır geçip sonraki yılı hesaplatmak.
16-11-2021 ile 16-11-2022 arası Sıfır sonraki yıl 16-11-2023 hesaplama yapacak.
 
D7 kullanıyorum.

procedure TForm1.Button2Click(Sender: TObject);
Var
Tarih, Tarih1, Tarih2 : Tdate;
Sonuc : Double;
LEM : Real;
begin
LEM:=StrToInt(ME1.Text) + StrToInt(ME6.Text);
Tarih := DateTimePicker1.Date + 365;
DateTimePicker2.Date:= Tarih;
Tarih1 := Date;
Tarih2 := DateTimePicker2.Date;
Sonuc := (Tarih2 - Tarih1);
Edit14.Text := FloatToStr(Sonuc);
If Date = DateTimePicker2.Date Then
Begin
Label20.Caption:='LEM Süresi Sona Erdi';
ME5.Text := FloatToStr(LEM * 10 / 100);
end
Else
Edit14.Text:='0';
end;
Cevapla
#2
Merhaba.

Delphi de IncYear vb. tarih artırıp azaltma için kullanılan fonksiyonları incelemenizi tavsiye ederim. Yapmak istediğiniz sanırım sayaç gibi bir şey. Bu kadar kod karmaşası yerine bir kaç satırda da iş çözülür diye düşünüyorum.

Örnek : http://www.delphibasics.co.uk/RTL.asp?Name=IncYear

İyi çalışmalar.
Bazen daha ileriye ulaşmak için bir kaç adım geri gitmek mecburidir. Çünkü en ileri sıçrayışlar iki adım geriden başlar.
Cevapla
#3
(16-11-2021, Saat: 15:48)ihalilcoban Adlı Kullanıcıdan Alıntı: Merhaba.

Delphi de IncYear vb. tarih artırıp azaltma için kullanılan fonksiyonları incelemenizi tavsiye ederim. Yapmak istediğiniz sanırım sayaç gibi bir şey. Bu kadar kod karmaşası yerine bir kaç satırda da iş çözülür diye düşünüyorum.

Örnek : http://www.delphibasics.co.uk/RTL.asp?Name=IncYear

İyi çalışmalar.

Kardeşim teşekkür ederim. Function da hata var sanırım çözemedim

function IncYear ( const StartDate : TDateTime { NumberOfYears : Tamsayı = 1} ) : TDateTime;


[Error] Unit1.pas(1048): ';' expected but '.' found
Cevapla
#4
(16-11-2021, Saat: 16:02)OZCANK Adlı Kullanıcıdan Alıntı:
(16-11-2021, Saat: 15:48)ihalilcoban Adlı Kullanıcıdan Alıntı: Merhaba.

Delphi de IncYear vb. tarih artırıp azaltma için kullanılan fonksiyonları incelemenizi tavsiye ederim. Yapmak istediğiniz sanırım sayaç gibi bir şey. Bu kadar kod karmaşası yerine bir kaç satırda da iş çözülür diye düşünüyorum.

Örnek : http://www.delphibasics.co.uk/RTL.asp?Name=IncYear

İyi çalışmalar.

Kardeşim teşekkür ederim. Function da hata var sanırım çözemedim

function IncYear ( const StartDate : TDateTime { NumberOfYears : Tamsayı = 1} ) : TDateTime;


[Error] Unit1.pas(1048): ';' expected but '.' found

Kendi projenizde bir sorun var.  Smile
Unit1'de nokta (.) veya noktalı virgül ( ; ) simgesi yanlış bir yere koyulmuştur.
Begin : = end / 2;
Cevapla
#5
(16-11-2021, Saat: 16:02)OZCANK Adlı Kullanıcıdan Alıntı:
(16-11-2021, Saat: 15:48)ihalilcoban Adlı Kullanıcıdan Alıntı: Merhaba.

Delphi de IncYear vb. tarih artırıp azaltma için kullanılan fonksiyonları incelemenizi tavsiye ederim. Yapmak istediğiniz sanırım sayaç gibi bir şey. Bu kadar kod karmaşası yerine bir kaç satırda da iş çözülür diye düşünüyorum.

Örnek : http://www.delphibasics.co.uk/RTL.asp?Name=IncYear

İyi çalışmalar.

Kardeşim teşekkür ederim. Function da hata var sanırım çözemedim

function IncYear ( const StartDate : TDateTime { NumberOfYears : Tamsayı = 1} ) : TDateTime;


[Error] Unit1.pas(1048): ';' expected but '.' found

Fonksiyon zaten delphi de tanımlı ekstradan tanımlamaya gerek yok. 

var
tarih:TDate;
begin
tarih:=Date;
tarih:=incYear(tarih); //Yılı bir artır
Form1.Caption:=DateToStr(tarih);
end;

şeklinde kullanmak yeterli olacaktır.
Bazen daha ileriye ulaşmak için bir kaç adım geri gitmek mecburidir. Çünkü en ileri sıçrayışlar iki adım geriden başlar.
Cevapla
#6
(16-11-2021, Saat: 16:51)ihalilcoban Adlı Kullanıcıdan Alıntı:
(16-11-2021, Saat: 16:02)OZCANK Adlı Kullanıcıdan Alıntı: Kardeşim teşekkür ederim. Function da hata var sanırım çözemedim

function IncYear ( const StartDate : TDateTime { NumberOfYears : Tamsayı = 1} ) : TDateTime;


[Error] Unit1.pas(1048): ';' expected but '.' found

Fonksiyon zaten delphi de tanımlı ekstradan tanımlamaya gerek yok. 

var
tarih:TDate;
begin
tarih:=Date;
tarih:=incYear(tarih); //Yılı bir artır
Form1.Caption:=DateToStr(tarih);
end;

şeklinde kullanmak yeterli olacaktır.

[Error] Unit1.pas(1059): Undeclared identifier: 'IncYear' Bu hatayı veriyor.
Cevapla
#7
(16-11-2021, Saat: 16:59)OZCANK Adlı Kullanıcıdan Alıntı:
(16-11-2021, Saat: 16:51)ihalilcoban Adlı Kullanıcıdan Alıntı: Fonksiyon zaten delphi de tanımlı ekstradan tanımlamaya gerek yok. 

var
tarih:TDate;
begin
tarih:=Date;
tarih:=incYear(tarih); //Yılı bir artır
Form1.Caption:=DateToStr(tarih);
end;

şeklinde kullanmak yeterli olacaktır.

[Error] Unit1.pas(1059): Undeclared identifier: 'IncYear' Bu hatayı veriyor.

Uses'e dateutils eklediniz mi?
Bazen daha ileriye ulaşmak için bir kaç adım geri gitmek mecburidir. Çünkü en ileri sıçrayışlar iki adım geriden başlar.
Cevapla
#8
(16-11-2021, Saat: 17:01)ihalilcoban Adlı Kullanıcıdan Alıntı:
(16-11-2021, Saat: 16:59)OZCANK Adlı Kullanıcıdan Alıntı: [Error] Unit1.pas(1059): Undeclared identifier: 'IncYear' Bu hatayı veriyor.

Uses'e dateutils eklediniz mi?

Haklısın atlamışım.
Cevapla
#9
Günün tarihinden geriye doğru nasıl hesaplayabilirim?
Cevapla
#10
(17-11-2021, Saat: 13:46)OZCANK Adlı Kullanıcıdan Alıntı: Günün tarihinden geriye doğru nasıl hesaplayabilirim?

Tamamen ücretsiz içinde demosu var.

İster tarih saydırın.
İster terminal sayısı kontrol edin.
İsterseniz programa koruma ekleyin
Açık kaynak kod
Ücretsiz.
Önerilir.

https://github.com/TurboPack/OnGuard-VCL
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  2 Tarih arası periyodik tarih parçalama fonksiyonu adelphiforumz 4 948 17-02-2025, Saat: 17:33
Son Yorum: adelphiforumz
  Zamanı hesaplama (Saat) Kral 9 1.419 22-07-2024, Saat: 17:53
Son Yorum: Kral
  Tarih Guncelleme Trigger OZCANK 2 1.406 24-05-2023, Saat: 17:06
Son Yorum: OZCANK
  İki Tarih Arası Sorgulama Mikdad 19 4.798 23-05-2023, Saat: 08:24
Son Yorum: Mikdad
  son kayitdaki tarih bilgisini almak sadikacar60 11 3.654 16-01-2023, Saat: 19:04
Son Yorum: sadikacar60



Konuyu Okuyanlar: 1 Ziyaretçi