aktarım süresi alma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

aktarım süresi alma

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

function TForm21.getMinute(T: TDateTime): Word;
var Hour, Min, Sec, MSec: Word;
begin
DecodeTime(T,Hour, Min, Sec, MSec);
  result:=Min;
end;

function TForm21.getMSecond(T: TDateTime): Word;
var Hour, Min, Sec, MSec: Word;
begin
 DecodeTime(T,Hour, Min, Sec, MSec);
  result:=Sec;
end;

function TForm21.getSecond(T: TDateTime): Word;
var Hour, Min, Sec, MSec: Word;
begin
  DecodeTime(T,Hour, Min, Sec, MSec);
  result:=MSec;
end;

Kod: Tümünü seç

procedure TForm21.TimeBench;
var
    T1,T2:TDateTime;
    begin
      ShowMessage('Aktarım Zamanı = '+
      IntToStr((getHour(T2)  -getHour  (T1)))+':'+
      IntToStr((getMinute(T2)-getMinute(T1)))+':'+
      IntToStr((getSecond(T2)-getSecond(T1)))
      );
end;

end.

arkadaşlar buraya kadar tamam hata =
undeclerad identifier:gethour' hatası alıyorum
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

üstteki func. lara göre bir gethour func. u yazman gerekli.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Bir terslik var. getmsec func'u second'u, getsec func. u da msec'i geri döndürüyor. Tam tersi olmalı. Dikkat et :!:
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

function TForm21.getMinute(T: TDateTime): Word;
var Hour, Min, Sec, MSec: Word;
begin
DecodeTime(T,Hour, Min, Sec, MSec);
  result:=Min;
end;

function TForm21.getMSecond(T: TDateTime): Word;
var Hour, Min, Sec, MSec: Word;
begin
 DecodeTime(T,Hour, Min, Sec, MSec);
  result:=MSEC;
end;

function TForm21.getSecond(T: TDateTime): Word;
var Hour, Min, Sec, MSec: Word;
begin
  DecodeTime(T,Hour, Min, Sec, MSec);
  result:=Sec;
end;

bu şekilde düzenledim ama yine hata verdi hata bu kez şu nomal çalışıyor ama
result:=msec;
satırında hata verdi
hata
invalid floating point operation
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Şunu kullansanız:

ShowMessage('Aktarım zamanı = ' + FormatDateTime('hh:nn:ss.zzz', T2 - T1);


veya şu fonksiyonları kullansanız:

uses DateUtils;

HourOf(T1);
MinuteOf(T1);
SecondOf(T1);
MilliSecondOf(T1);
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Olmadı yada ben başaramadım...var bir terslik ama nerde aynı hatayı alıyorum halen daha

gethour , gethourof u kabul etmiyor undeclerad identifer hata sı veriyor

normalde

Kod: Tümünü seç

function TForm21.getMSecond(T: TDateTime): Word;
var Hour, Min, Sec, MSec: Word;
begin
 DecodeTime(T,Hour, Min, Sec, MSec);
  result:=hour;
end;
burada

Kod: Tümünü seç

result:=gethour; 
yerine

Kod: Tümünü seç

result:=getmsec;
yazıyorum program çalışıyor ama aktarım esnasında hata veriyor
hata
invalid floating point operation
hatası veriyor
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Cevapla