Помогите со скриптом.
Есть несколько скриптов для подсчёта наработки:
procedure Narabotka_OnDataChange(Sender:Tm_Control);
begin
if kot_v_rab.ValueAsInt = 1 then
Time.Value := IncSecond(Now, -Interval.ValueAsInt);
if kot_v_rab.ValueAsInt = 0 then
Interval.Value := SecondsBetween(Now, Time.Value);
end.
Второй выводит в текст занчение наработки:
procedure OnSecondTimer;
begin
if kot_v_rab.ValueAsInt = 1 then
Narabotka.Text := IntToStr(DaysBetween(Now, Time.Value)) + ' дней '+ TimeToStr(Now-Time.Value);
end.
Всё это нормально работает, но до тех пор пока не выйдешь из клиента, после выхода и входа всё начинает считать сначала т.е предыдущие показания не сохраняются.
Поэтому решил при выходе сохранять показания в файл, а при входе из файла их выдёргивать и продолжать счёт. Для этого думаю использовать OnInitialization и OnExit, но никак не соображу как сделать сохранение и считывание правильно. Пытался сохранять в файл значение переменной Interval.ValueAsInt при выходе и считывать значение в неё из файла при входе, но ничего не получается, счет начинается с нуля или с каких-то нереальных цифр типа 7345 дней 20:45:12.
Чувствую, что делаю что-то не так, а что, понять не могу. Поэтому помогите, пожалуйста.
П.С за основу был взят ваш пример счетчика наработки из 31 ответа.