Saat değerini dk olarak hesaplatma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
halil1910
Üye
Mesajlar: 2
Kayıt: 03 Mar 2013 09:26

Saat değerini dk olarak hesaplatma

Mesaj gönderen halil1910 »

Arkadaşlar mrb. Aranıza yeni katıldım.bu sitede delphi üzerine güzel paylaşımlar olduğunu gördüm.bende kendi çapımda uğraşıyorum delphi ile.
takıldığım bir konu var.bunu sormak istiyorum.yardım ederseniz sevinirim.
Datetimepicker dan elde edilen 02:45:06 tipinde saat değerini edite alıyorum stringe çevirip. bu değeri başka bir edit te nasıl dk ya çevirebilirim.yani başka bir edit te 165 dk olarak yazacak.saniye kısmı önemli değil. şimdiden vereceğiniz fikirler için tşk ediyorum. :bravo:
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Saat değerini dk olarak hesaplatma

Mesaj gönderen sabanakman »

Elde ettiğiniz TDateTime tipi aslında sayısal bir tiptir (TDateTime = type Double;) ve ondalık kısmı günün kaçta kaçı ise ona karşılık gelir. Mesela saat 12:00 ise günün yarısı olan 0.5 değerini elde edersiniz. Bu değeri 1440 ile çarpmak (24x60) istediğiniz dakika değerini verecektir.

Kod: Tümünü seç

var t:TDAteTime;
begin
  t:=StrToTime('02:45:06');
  edit1.Text:=IntToStr(Round(t*1440));//1440=24x60
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
halil1910
Üye
Mesajlar: 2
Kayıt: 03 Mar 2013 09:26

Re: Saat değerini dk olarak hesaplatma

Mesaj gönderen halil1910 »

hocam tşk ederim.oda bir çözüm ama ben onu şu şekilde çözdüm.
uses kısmına DATEUTILS ekliyoruz.Ve aşağıdaki kodla dk
olarak aldım.
edit3.text:= floattostr(MinuteSpan((strtodatetime(edit1.text)), (strtodatetime(edit2.text))));

Ama bu aldığım değeri case of yapısında kullanamıyorum.integer değer olmadığı için.başka nasıl bir döngünün içinde kullanabilirim sizce __??
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Saat değerini dk olarak hesaplatma

Mesaj gönderen SimaWB »

Kod: Tümünü seç

var
  saat, dakika: string
  toplam: integer;
begin
  saat := Copy(Edit1.Text, 1, 2);
  dakika := Copy(Edit1.Text, 4, 2);
  toplam := ( StrToIntDef(saat,0) * 60 ) + StrToIntDef(dakika, 0);
  case toplam of
  ....
  ...


end;
There's no place like 127.0.0.1
Cevapla