Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2013, 16:22   #1
as_sati
Пользователь
 
Аватар для as_sati
 
Регистрация: 10.10.2012
Сообщений: 30
По умолчанию подсчет времени (в секундах) и запись в файл (дельфи)

надо запомнить начальный момент времени и при завершении программы вычислить количество секунд, которое прошло от начального момента. И нужно записать количество секунд в файл

вот сам код

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
   t := Now;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  Z : Extended;
begin
  Z := (Now - t)/(24*60*60);
  AssignFile(R_file, 'c:\Check.txt');
  ReWrite(R_file);
  Write(R_file, Z);
//  WriteLn(R_file);
  CloseFile(R_file);
end;
решила протестировать, что я начудила..открыла прогу и закрыла через 1 секунду. открываю файл, а результат какой-то очень странный....

7.69019522892820E-0009

зы: что за трабла???
тащусь от своей гениальности

Последний раз редактировалось as_sati; 12.05.2013 в 20:59.
as_sati вне форума Ответить с цитированием
Старый 12.05.2013, 16:42   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,341
По умолчанию

TDateTime
Прочтите, что из себя представляет время.

UPD
Код:
Z := (Now - t) * (24*60*60);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 12.05.2013 в 16:57.
BDA вне форума Ответить с цитированием
Старый 12.05.2013, 16:47   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

А если так?

Код:
Write(R_file, Z:4:2);
У Вас переменная Z типа extended - если ее не ограничивать на выводе, то значение и выведется в экспоненциальной форме (что Вы и имеете).

В данном случае запись z:4:2 определяет, что под число выделено 4 знакоместа, из них 2 - после запятой. Причем, если до запятой у числа больше, чем (4-2) символа, то она все-равно выведет их все, то есть пример:

Код:
z:=34.4314645;
WriteLn(z:4:2);
на выходе получим 34.43

и в случае:

Код:
z:=1134.4314645;
WriteLn(z:4:2);
На выходе будет 1134.43


UPDATE. И прислушайтесь к совету BDA
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 12.05.2013, 16:56   #4
as_sati
Пользователь
 
Аватар для as_sati
 
Регистрация: 10.10.2012
Сообщений: 30
По умолчанию

классно)) теперь у меня сколько бы времени не прошло показывает 0.00 !!

Z := (Now - t)/(24*60*60); - здесь я правильно в секунды перевожу?
тащусь от своей гениальности

Последний раз редактировалось as_sati; 12.05.2013 в 17:00.
as_sati вне форума Ответить с цитированием
Старый 12.05.2013, 16:57   #5
as_sati
Пользователь
 
Аватар для as_sati
 
Регистрация: 10.10.2012
Сообщений: 30
По умолчанию

а что не так? что-то я ваш намек не понимаю
тащусь от своей гениальности
as_sati вне форума Ответить с цитированием
Старый 12.05.2013, 17:00   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
а что не так? что-то я ваш намек не понимаю
BDA дал вам ссылку, где написано, что такое Время в делфи и как с ним работать.
Продублирую:

http://www.delphibasics.ru/TDateTime.php
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 12.05.2013, 17:02   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,341
По умолчанию

Цитата:
здесь я правильно в секунды перевожу?
После нескольких переходов по ссылкам пришел к формуле (Now - t) * (24*60*60).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.05.2013, 17:05   #8
as_sati
Пользователь
 
Аватар для as_sati
 
Регистрация: 10.10.2012
Сообщений: 30
По умолчанию

точняк, ступила :DD
тащусь от своей гениальности
as_sati вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подсчет времени Наталья Баева C# (си шарп) 2 07.04.2013 19:41
Подсчет времени. WhiteLion Microsoft Office Excel 3 28.11.2012 22:47
счетчик времени в секундах Ledom Общие вопросы C/C++ 7 01.03.2011 21:14
Запись текущей даты времени в текстовый файл kanich Помощь студентам 3 07.09.2010 13:05
Подсчет времени kostya.myit Microsoft Office Excel 4 11.06.2009 23:43