iki saat arası fark?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

iki saat arası fark?

Mesaj gönderen serkan »

merhaba arkadaşlar aşağıdaki kodla iki saat arasındaki farkı dakika cinsinden bulabiliyorum..

Kod: Tümünü seç

sure.Value:=MinuteSpan(baslangic.Time,bitis.Time);
fakat yukardaki kod başlangıç:08:00 Bitiş:12:00 olduğunda sonuç:240 dk. olarak sorunsuz.çalışyor.Ancak gece vardiyalarında operatör başlangıç:22:00 Bitiş:02:00 saatlerinde çalıştığından bu değerleri time editlere girdiğimde çalışma süresi:1200 dk. çıkıyor. çünkü bitiş saati 1 gün sonraya atlıyor.Bu problemi nasıl aşabilirim acaba bilgisi olan arkadaşlar yardımcı olursa sevinirim.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: iki saat arası fark?

Mesaj gönderen Battosai »

Fonksiyon saati ileriye dönük alıyor yani saat 02:00 ile 22:00 arasını hesap ediyor...İlk önce 22 ile 24 arasını hesap ettir...sonra 24 ile 02 arasını sonrada topla...
Kullanıcı avatarı
Commandx
Üye
Mesajlar: 183
Kayıt: 01 Oca 2008 05:34

Re: iki saat arası fark?

Mesaj gönderen Commandx »

Malesef aynen bende şu an bu problemle uğraşmaktayım
çözüme bende çok yaklaştım

edindiğim bilgilere göre iki tarih arasını dakika olarak gösterebilmek için "MinuteSpan" komutuyla işlem yapmak gerekiyor
örneğin
edit1.text := 21.05.2006 15:50:00
edit2.text:= 22.05.2006 02:50:00 böyle olsun

Sonucuda edit3 e yazmak istiyorum bende bir türlü başaramadım
En sağlam yol şu anda budur fakat bende başaramadım sayılır, 6 saat bu tarih hesaplaması üzerinde araştırmadığım site kalmadı
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
Kullanıcı avatarı
Commandx
Üye
Mesajlar: 183
Kayıt: 01 Oca 2008 05:34

Re: iki saat arası fark?

Mesaj gönderen Commandx »

Oleyy sonunda buldum
uses kısmına DATEUTILS ekliyoruz
form üzerine üç adet edit bir adet buton koyup butona alttaki kodu yapıştırdığımızda
edit3 e iki tarih arasındaki dakika farkını veriyor


Kod: Tümünü seç

edit3.text:= floattostr(MinuteSpan((strtodatetime(edit1.text)),(strtodatetime(edit2.text))));
En son Commandx tarafından 02 May 2015 08:23 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
oklawa
Üye
Mesajlar: 68
Kayıt: 01 Oca 2008 02:53

Re: iki saat arası fark?

Mesaj gönderen oklawa »

MinutesBetween ile daha kolay olur sanırım.
Kullanıcı avatarı
Commandx
Üye
Mesajlar: 183
Kayıt: 01 Oca 2008 05:34

Re: iki saat arası fark?

Mesaj gönderen Commandx »

Hocam minutesbetween ile aradan bir gün geçmesi gerekiyor
geçmezse değer 0 gözüküyor
onuda denemiştim
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
oklawa
Üye
Mesajlar: 68
Kayıt: 01 Oca 2008 02:53

Re: iki saat arası fark?

Mesaj gönderen oklawa »

Birdaha dene istersen.. Gün geçmesine gerek yok, zaten anlamsız olurdu..

Kod: Tümünü seç

 edit3.Text := inttostr(minutesbetween(strtodatetime(edit2.Text),strtodatetime(edit1.Text)));
Kullanıcı avatarı
Commandx
Üye
Mesajlar: 183
Kayıt: 01 Oca 2008 05:34

Re: iki saat arası fark?

Mesaj gönderen Commandx »

sizinkide oluyormuş , sanırım bir yerlerde dönüştürme hatası yapmışım


evet en son şekli buymuş, uses DATEUTILS ekledikten sonra

Kod: Tümünü seç

EDIT3.Text:=TIMETOSTR((STRTOTIME(EDIT1.Text)-STRTOTIME(EDIT2.Text)));
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
Cevapla