Dakika formatındaki ifadeyi saat formatına çevirmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 11
- Kayıt: 01 Oca 2009 04:59
Dakika formatındaki ifadeyi saat formatına çevirmek
Merhaba,
Benim 2 sorum olacak:
1 - )
edit3.Text := inttostr(minutesbetween(strtodatetime(edit2.Text),strtodatetime(edit1.Text)));
koduyla iki saat arasındaki farkı dakika olarak bulabiliyorum fakat bunu nasıl saat olarak gösterebilirim? Mesela 135 dakika olarak çıkan sonucu 2:15 olarak yazdırmak istiyorum.
2 - )
DBEdit kontolündeki ifadelere nasıl matematiksel işlem yaptırabilirim? Aslında yukarıdaki kodda yazdığım edit kontolleri aslında DBEdit ama ben DBEdit kontolünde Text özelliğini bulamadığımdan emsal teşkil etmesi amacıyla yazdım.
Şimdiden teşekkür ederim.
Benim 2 sorum olacak:
1 - )
edit3.Text := inttostr(minutesbetween(strtodatetime(edit2.Text),strtodatetime(edit1.Text)));
koduyla iki saat arasındaki farkı dakika olarak bulabiliyorum fakat bunu nasıl saat olarak gösterebilirim? Mesela 135 dakika olarak çıkan sonucu 2:15 olarak yazdırmak istiyorum.
2 - )
DBEdit kontolündeki ifadelere nasıl matematiksel işlem yaptırabilirim? Aslında yukarıdaki kodda yazdığım edit kontolleri aslında DBEdit ama ben DBEdit kontolünde Text özelliğini bulamadığımdan emsal teşkil etmesi amacıyla yazdım.
Şimdiden teşekkür ederim.
Re: Dakika formatındaki ifadeyi saat formatına çevirmek
s.a.
1. sorunuz için 135 dakikanın 2 saat 15 dakika olduğunu nasıl hesap ettiyseniz bilgisayarada aynı şekilde hesap ettireceksiniz.
mod
div
2. sorunuz içinse dbedit in bağlı olduğu tabloyu ve alan adını kullanın.
şöyle diyelim.
dbedit1 tablo1 deki saat1 alanına bağlı.
dbedit2 tablo1 deki saat2 alanına bağlı
dbedit3 tablo1 deki fark alanına bağlı.
sizin yazdığınız kod.
olması gereken
tabiki önce tablonun durumunu edit moduna getirmeniz gerekebilir. bunu yapmazsanız tablonun edit yada insert modunda olmadığına dair mesaj alabilirsiniz.
kolay gelsin.
1. sorunuz için 135 dakikanın 2 saat 15 dakika olduğunu nasıl hesap ettiyseniz bilgisayarada aynı şekilde hesap ettireceksiniz.


2. sorunuz içinse dbedit in bağlı olduğu tabloyu ve alan adını kullanın.
şöyle diyelim.
dbedit1 tablo1 deki saat1 alanına bağlı.
dbedit2 tablo1 deki saat2 alanına bağlı
dbedit3 tablo1 deki fark alanına bağlı.
sizin yazdığınız kod.
Kod: Tümünü seç
dbedit3.text:= inttostr( minutesbetween( strtodatetime( dbedit2.Text), strtodatetime( dbedit1.Text)));
Kod: Tümünü seç
tablo1fark.value:=minutesbetween(tablo1saat2.asdatetime, tablo1saat1.asdatetime);
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Dakika formatındaki ifadeyi saat formatına çevirmek
135 dakikayı 2:15 çevirmek basit iş ama ben yinede yazayım benzer şeyleri kendiniz türetirsiniz artık...
Kod: Tümünü seç
var
saat,dakika:byte;
sonuc:string;
begin
dakika:= minutesbetween( DBEdit1.asdatetime, DBEdit2.asdatetime) ;
Saat:=dakika div 60;
dakika:=dakika mod 60;
sonuc:=inttostr(saat)+':'+inttostr(dakika);
end;
Re: Dakika formatındaki ifadeyi saat formatına çevirmek
1 gün = 1440 dakika
Text olarak almak istiyorsan:
Saat, Dakika, Saniye, MiliSaniye değerlerine ayrıştırmak istiyorsan:
Text olarak almak istiyorsan:
Kod: Tümünü seç
Edit1.Text := FormatDateTime('hh:nn:ss', 135/1440);
Kod: Tümünü seç
var
Saat, Dakika, Saniye, MiliSaniye: Word;
begin
DecodeTime(135/1440, Saat, Dakika, Saniye, MiliSaniye);
end;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Re: Dakika formatındaki ifadeyi saat formatına çevirmek
Kod: Tümünü seç
function SaatFarkiniVer(t1,t2:Double):string;
var
t:double;
sa,da,sn,sl:word;
begin
t:=abs(t2-t1);
decodetime(t,sa,da,sn,sl);
result:=inttostr(sa)+':';
if da<10 then result:=result+'0'+inttostr(da) else result:=result+inttostr(da)
end;
-
- Üye
- Mesajlar: 11
- Kayıt: 01 Oca 2009 04:59
Re: Dakika formatındaki ifadeyi saat formatına çevirmek
.asdatetime şeklinde yazınca derlemede Undeclared Identifier:'asdatetime' hatası veriyor.
Re: Dakika formatındaki ifadeyi saat formatına çevirmek
şeklinde olması lazım ama uzun olyor tabi....DBEdit1.datasource.dataset.fieldsbyname('tarih').asdatetime
şeklinde kullanmak daha kısa oluyor tercih seninstrtodatetime(DBEdit1.text)