Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
daviddraiman
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 32
1

Как проверить, что один 2 DateTimePicker имеют большее значение чем 2 других

12.02.2016, 11:51. Просмотров 292. Ответов 12
Метки нет (Все метки)

На форме 4 DateTimePicker.
у DateTimePicker1 свойство kind :=Date
у DateTimePicker2 свойство kind :=Time

у DateTimePicker3 свойство kind :=Date
у DateTimePicker4 свойство kind :=Time
Первые 2 отвечают за дату и время начала договора, последние 2 - за дату и время конца договора.
Нужно добавить условие, чтобы дата последних двух не превышала первые два. Например первые два имеют значения 12.02.2016 и 12:00:00 соответственно. Как сделать, чтобы в последние два нельзя было задать значения 12.02.2016 11:00:00 или 11.02.2016 12:00:00(сообщение об ошибки неправильной даты). А лучше всего, чтобы минимальный разрыв между началом и окончанием договора был 1 час.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2016, 11:51
Ответы с готовыми решениями:

Определить, сколько членов последовательности с номерами 1,2,4,8,16 ... имеют значение, меньше чем 0.25
рассматривается последовательность а1...а1000. Требуется определить, сколько...

Найти в таблице значение (по второму столбцу) большее, чем введено в Edit и, если есть такие числа, вывести
procedure TForm8.btn1Click(Sender: TObject); var s,i,j,n,schetchik,h:integer;...

Определить, сколько строк файла имеют длину большую, равную, и меньшую, чем заданное значение k
пусть дан текстовый файл.определите сколько строк файла имеют...

Верно ли, что отрицательный элемент в последовательности сi встречается раньше, чем в других?
Здравствуйте,возникла проблема с решением задачи : Дано натуральное число n...

Как сложить поля dbedit и datetimepicker и результат записался в другой datetimepicker
procedure Tpods4et.DateTimePicker1Change(Sender: TObject); var d:string;...

12
northener
пофигист широкого профиля
3428 / 2327 / 631
Регистрация: 15.07.2013
Сообщений: 13,784
12.02.2016, 11:54 2
Delphi
1
if DateTimePicker1.Date+DateTimePicker2.Time >= DateTimePicker3.Date+DateTimePicker4.Time then //нельзя
1
daviddraiman
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 32
12.02.2016, 12:03  [ТС] 3
Спасибо. А есть ли возможность добавить условие, чтобы минимальный разрыв был час. Я просто никак не пойму в каком формате числа у DateTimePicker.
0
FIL
Модератор
3422 / 2556 / 728
Регистрация: 19.09.2012
Сообщений: 7,926
12.02.2016, 12:09 4
northener, у DateTimePicker'ов Date = Time = DateTime. Там ничего не "обрезается", а просто идет приведение типов.
0
northener
пофигист широкого профиля
3428 / 2327 / 631
Регистрация: 15.07.2013
Сообщений: 13,784
12.02.2016, 12:12 5
Цитата Сообщение от daviddraiman Посмотреть сообщение
А есть ли возможность добавить условие, чтобы минимальный разрыв был час
Delphi
1
DateTimePicker3.Date+DateTimePicker4.Time - DateTimePicker1.Date-DateTimePicker2.Time < 1/24 then //нельзя
Добавлено через 1 минуту
FIL, но писать Date красивше.
1
qwertehok
2310 / 2214 / 602
Регистрация: 29.08.2013
Сообщений: 14,797
12.02.2016, 12:20 6
Delphi
1
2
3
4
5
6
7
8
uses DateUtils;
...
var
  Res: Integer;
begin
  Res:= HourOf(Now); // извлекает час из текущего времени
  ShowMessage('Сейчас ' + IntToStr(Res) + ' часов');
end;
0
daviddraiman
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 32
12.02.2016, 12:42  [ТС] 7
Я вот присваивал значение DateTimePicker строковой переменной. Получается значение без времени. Как присвоить ей значение времени из DateTimePicker?
0
FIL
Модератор
3422 / 2556 / 728
Регистрация: 19.09.2012
Сообщений: 7,926
12.02.2016, 12:52 8
Цитата Сообщение от northener Посмотреть сообщение
но писать Date красивше
Это я к тому, что вычисления будут некорректными, т.к. складывается не дата со временем, а два датавремени.
Т.е. у первого Пикера помимо даты в соответствующем св-ве еще и время некое присутствует, а у второго - наоборот.
0
daviddraiman
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 32
12.02.2016, 12:57  [ТС] 9
ну пока что ве вычисления были правельнными. вроде всё логично: два датавремени в сумме дают больше чем два другие. Как всё таки получить время из этого компонента? чтобы я уже полностью с ним разобрался
0
qwertehok
2310 / 2214 / 602
Регистрация: 29.08.2013
Сообщений: 14,797
12.02.2016, 12:58 10
Цитата Сообщение от daviddraiman Посмотреть сообщение
Как присвоить ей значение времени из DateTimePicker?
Delphi
1
2
3
4
5
6
s:string
begin
s:=datetimetostr(DateTimePicker.datetime)
//или
s:=timetostr(DateTimePicker.time)
end;
1
daviddraiman
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 32
12.02.2016, 13:04  [ТС] 11
Спасибо. Я писал datetostr вместо timetostr
0
northener
пофигист широкого профиля
3428 / 2327 / 631
Регистрация: 15.07.2013
Сообщений: 13,784
12.02.2016, 13:47 12
Цитата Сообщение от FIL Посмотреть сообщение
Т.е. у первого Пикера помимо даты в соответствующем св-ве еще и время некое присутствует, а у второго - наоборот.
Да точно. Тогда
Delphi
1
DateOf(DateTimePicker3.Date)+TimeOf(DateTimePicker4.Time) - DateOf(DateTimePicker1.Date)-TimeOf(DateTimePicker2.Time) < 1/24 then
0
qwertehok
2310 / 2214 / 602
Регистрация: 29.08.2013
Сообщений: 14,797
12.02.2016, 13:54 13
тут вообще проверять ничего не надо
поменяли время на DateTimePicker2.Time - сразу же делаем +1 час на DateTimePicker4.Time
и наоборот
0
12.02.2016, 13:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2016, 13:54

Выбирая дату в dateTimePicker записать в одну переменную его значение, в другую - значение минус один день
Здравствуйте! У меня на форме лежит dateTimePicker1. Подскажите как...

Как проверить и сохранить значение label1 и использовать это в других формах?
Вот код: private void label1_Click(object sender, EventArgs e) { ...

Найти в последовательности первое значение, большее чем заданное
Разработайте программу, которая для любых вещественных положительных чисел a и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru