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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2015, 21:18   #1
rAMEO
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 45
По умолчанию Дата и время

Что ни так???
Login Это форма авторизации
Код:
procedure TYS.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Date1, Date2: TDateTime;
  tDiff: TDateTime;
  days: integer;
  sDiff: String;
begin  // 
      Login.DateTimePicker_Po.DateTime:=now;
      Date1:=StrToDateTime(Login.DateTimePicker_s.DateTime);
      Date2:=StrToDateTime(Login.DateTimePicker_Po.DateTime);
      if Date2>Date1 then
         tDiff := Date1 - Date2
           else
              tDiff := Date2 - Date1;
         days:=Trunc(tDiff);
         tDiff:= tDiff - days;
         sDiff:= '';
         if days > 0 then sDiff := IntToStr (days)+' День ';
         if tDiff > 0 then sDiff := sDiff + TimeToStr(tDiff);
     with DM_Registr_Jurnal.AQ_Reg_Jur do
        begin
          Active:=true;
          Insert;
          FieldByName('s').AsDateTime:=Login.DateTimePicker_s.DateTime;
          FieldByName('po').AsDateTime:=Login.DateTimePicker_Po.DateTime;
          FieldByName('Id_Sotrudnik').AsString:= Trim(YS.SB_Yrist.Panels[1].Text);
          FieldByName('Rol').AsString:= Trim(YS.SB_Yrist.Panels[2].Text);
          FieldByName('Result').AsDateTime:=(sDiff);
          Post;
        end;
  end
;

Последний раз редактировалось Stilet; 14.01.2015 в 09:11.
rAMEO вне форума Ответить с цитированием
Старый 14.01.2015, 09:13   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Что ни так?
А с чего ты взял что тут что-то не так?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.01.2015, 09:17   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А что не так? Подозреваю, что здесь:
Код:
 Date1:=StrToDateTime(Login.DateTimePicker_s.DateTime);
 Date2:=StrToDateTime(Login.DateTimePicker_Po.DateTime);
Для чего там StrToDateTime?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.01.2015, 09:26   #4
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Мне интересно, как работает сравнение Date1>Date2. Это же не числа, чтоб их сравнивать напрямую.
WinCoder вне форума Ответить с цитированием
Старый 14.01.2015, 09:51   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это как раз вещественные числа типа Double
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.01.2015, 11:13   #6
rAMEO
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 45
По умолчанию

Date1:=StrToDateTime(Login.DateTime Picker_s.DateTime);
Date2:=StrToDateTime(Login.DateTime Picker_Po.DateTime);
в этих строках
выдает ошибку
rAMEO вне форума Ответить с цитированием
Старый 14.01.2015, 11:26   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
выдает ошибку
Что неужели до сих пор ничему не научился? )
Без обид, но ты держишь марку школоло.
Ладно. Толку не будет все равно, телепатирую: Login.DateTime Picker_s.DateTime у тебя не строка, поэтому компилятор говорит что в функцию StrToDateTime() это подставлять низзя.
Угадал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.01.2015, 12:26   #8
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Это как раз вещественные числа типа Double
О как. Думал это какой нибудь Record. Сейчас глянул исходники, действительно Double. Буду знать.
WinCoder вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дата и время NEoMASTERR Помощь студентам 4 22.12.2010 16:16
Дата и время soulbringer Microsoft Office Access 2 29.10.2010 12:50
Дата и время Xdron Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 09.04.2010 12:37
Дата и время Rio309 Общие вопросы Delphi 12 08.12.2008 14:33