Ĺadny brzuch
chciałbym pewien czas z obiektu TDateTime pomnożyć przez jakąś liczbę, ponieważ chcę obliczyć stosunkowy czas kopiowania plików i obliczam czas kopiowania jednego i chcę go pomnożyć przez liczbę plików. Jak to zrobić?
chciałbym pewien czas z obiektu TDateTime pomnożyć przez jakąś liczbę, ponieważ chcę obliczyć stosunkowy czas kopiowania plików i obliczam czas kopiowania jednego i chcę go pomnożyć przez liczbę plików. Jak to zrobić?
Sory, tu masz dla bcb:TDateTime d; SYSTEMTIME s; __int64 sek=0; int i=2; DateTimeToSystemTime(d,s); s.wMinute=1; s.wSecond=1; sek=(s.wHour*3600+s.wMinute*60+s.wSecond)*i; s.wHour=sek/3600; sek=sek%3600; s.wMinute=sek/60; s.wSecond=sek-((sek/60)*60); d=SystemTimeToDateTime(s);
Użytkownik Cyrkiel edytował ten post 22 luty 2006, 11:15
Masz:procedure TForm1.Button1Click(Sender: TObject); var d:TDateTime; s1:tsystemtime; sek:int64; i:integer; begin i:=2; DateTimeToSystemTime(d,s1); s1.wMinute:=1; s1.wSecond:=1; sek:=(s1.wHour*3600+s1.wMinute*60+s1.wSecond)*i; s1.wHour:=sek div 3600; sek:=sek mod 3600; s1.wMinute:=sek div 60; s1.wSecond:=sek-((sek div 60)*60); d:=SystemTimeToDateTime(s1); end;
Przecież w BCB też masz typ TSystemTime.
 TDateTime d;  TSystemTime s1;  int sek, i;  i = 2;  DateTimeToSystemTime(d, s1);  s1.wMinute = 1;  s1.wSecond = 1;  sek=(s1.wHour*3600+s1.wMinute*60+s1.wSecond)*i;  s1.wHour = sek / 3600;  sek=sek % 3600;  s1.wMinute = sek / 60;  s1.wSecond = sek-((sek / 60)*60);  d=SystemTimeToDateTime(s1);
Tak chyba będzie to wyglądać po dość bezpośrednim przełożeniu.
Chociaż ja bym to raczej inaczej zrobił.
Dlaczego inaczej?
Bo przecież TDateTime zawiera czas doby, więc nie jestem pewien dlaczego chcesz używać tej klasy do obliczania czegoś takiego.
Użytkownik Chmurek edytował ten post 22 luty 2006, 18:29
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
chciałbym pewien czas z obiektu TDateTime pomnożyć przez jakąś liczbę, ponieważ chcę obliczyć stosunkowy czas kopiowania plików i obliczam czas kopiowania jednego i chcę go pomnożyć przez liczbę plików. Jak to zrobić?

Sory, tu masz dla bcb:TDateTime d; SYSTEMTIME s; __int64 sek=0; int i=2; DateTimeToSystemTime(d,s); s.wMinute=1; s.wSecond=1; sek=(s.wHour*3600+s.wMinute*60+s.wSecond)*i; s.wHour=sek/3600; sek=sek%3600; s.wMinute=sek/60; s.wSecond=sek-((sek/60)*60); d=SystemTimeToDateTime(s);
Użytkownik Cyrkiel edytował ten post 22 luty 2006, 11:15
Masz:procedure TForm1.Button1Click(Sender: TObject); var d:TDateTime; s1:tsystemtime; sek:int64; i:integer; begin i:=2; DateTimeToSystemTime(d,s1); s1.wMinute:=1; s1.wSecond:=1; sek:=(s1.wHour*3600+s1.wMinute*60+s1.wSecond)*i; s1.wHour:=sek div 3600; sek:=sek mod 3600; s1.wMinute:=sek div 60; s1.wSecond:=sek-((sek div 60)*60); d:=SystemTimeToDateTime(s1); end;

Przecież w BCB też masz typ TSystemTime.
 TDateTime d;  TSystemTime s1;  int sek, i;  i = 2;  DateTimeToSystemTime(d, s1);  s1.wMinute = 1;  s1.wSecond = 1;  sek=(s1.wHour*3600+s1.wMinute*60+s1.wSecond)*i;  s1.wHour = sek / 3600;  sek=sek % 3600;  s1.wMinute = sek / 60;  s1.wSecond = sek-((sek / 60)*60);  d=SystemTimeToDateTime(s1);
Tak chyba będzie to wyglądać po dość bezpośrednim przełożeniu.
Chociaż ja bym to raczej inaczej zrobił.
Dlaczego inaczej?
Bo przecież TDateTime zawiera czas doby, więc nie jestem pewien dlaczego chcesz używać tej klasy do obliczania czegoś takiego.
Użytkownik Chmurek edytował ten post 22 luty 2006, 18:29