|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.04.2012, 01:47 | #1 |
Пользователь
Регистрация: 27.05.2009
Сообщений: 17
|
Описание логической функции earlier(t1,t2)
Доброй ночи! Помогите, пожалуйста, исправить ошибку, связанную с несоответствием типов Time и TDateTime...
Дано время, описанное следующим образом: type time = record h:0..23; m,s: 0..59 end; Описать логическую функцию erlier(t1,t2) для проверки, предшествует ли время t1 времени t2 (в рамках суток) и проиллюстрировать её работу в программе. Код программы: Код:
|
30.04.2012, 01:56 | #2 |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
А на какой именно строке ошибка? Не знаю, толк ли я говорю, но мне кажеться, что нужно рекорд Тайм изменить на что-нибудь другое, т.к. может быть конфликт с глобальной переменной Time, которая возвращает текущую дату.
|
30.04.2012, 02:38 | #3 |
Форумчанин
Регистрация: 26.03.2012
Сообщений: 665
|
Интересно, а что вычисляется тут - ((T1.s * 60 + T1.m) * 60 + T1.h) ?
|
30.04.2012, 03:07 | #4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Delphi_ProGer, верно говорит.
Ваша запись конфликтует с той, что обьявлена в system модуле. Замените свой Time на TmyTime. |
30.04.2012, 09:58 | #5 | ||
Пользователь
Регистрация: 27.05.2009
Сообщений: 17
|
Цитата:
Код:
Вычисляется определение часа, минут и секунд и выполняется действие, что T1 должно быть < T2. Цитата:
Спасибо, заменил... Но опять выскакивает: [Error] Unit1.pas(47): Incompatible types: 'TmyTime' and 'TDateTime' [Error] Unit1.pas(48): Incompatible types: 'TmyTime' and 'TDateTime' Видимо, я что-то не так догоняю? |
||
30.04.2012, 10:36 | #6 | ||
Форумчанин
Регистрация: 26.03.2012
Сообщений: 665
|
Цитата:
Цитата:
явно видно что T1 < T2 вычислим t1 = ((20*60 + 20)*60 + 6 = 73206 t2 = ((05*60 + 15)*60 + 7 = 18907 получилось T1 > T2 Так чтож вы вычисляете то? |
||
30.04.2012, 18:52 | #7 | |
Пользователь
Регистрация: 27.05.2009
Сообщений: 17
|
Т.е. T1 и T2 нужно присвоить отдельный тип переменных?
Цитата:
Можно, в принципе, этот расчёт заменить на: Код:
|
|
30.04.2012, 19:35 | #8 | |
Форумчанин
Регистрация: 26.03.2012
Сообщений: 665
|
Цитата:
var myTime : TDateTime; далее распарсить вводимые данные myTime:=StrToTime(Edit1.Text); и инициализировать ваши t_1.h:=... t_1.m:=... t_1.s:=... тоже и для t_2 myTime:=StrToTime(Edit2.Text); t_2.h:=... t_2.m:=... t_2.s:=... а вот сейчас уже можно и проверки делать. |
|
04.05.2012, 23:06 | #9 |
Пользователь
Регистрация: 27.05.2009
Сообщений: 17
|
Всё, я разобрался! Большое спасибо за оказанную помощь!
Вот итоговый код программы: Код:
Последний раз редактировалось Mitzzz; 04.05.2012 в 23:11. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать программу для построения таблицы истиности логической функции. | Elimay25 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 02.03.2012 08:34 |
Описание логической функции ПОТОМОК(А,Б) | Boomhauer | Помощь студентам | 2 | 03.04.2011 20:28 |
Чем отличается описание функции от определения функции в С++? | Go6a | Помощь студентам | 4 | 18.07.2009 18:07 |
Помогите, пожалуйста, дописать программу на C++ (построение эквивалентной логической функции) | Anastasiya209 | Помощь студентам | 0 | 07.06.2009 23:58 |
Построение эквивалентной логической функции (C++) | Anastasiya209 | Помощь студентам | 5 | 03.06.2009 20:28 |