|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.10.2016, 01:14 | #1 |
Пользователь
Регистрация: 15.04.2010
Сообщений: 98
|
Проверка переменной на null
На форме есть поле для ввода времени (DateTimePicker). Это значение нужно присвоить переменной типа TTime (а точнее свойству класса в реальном проекте, но пока упростим). Суть в том, что поле не обязательно и можно его не заполнять. Для этого у компонента отображается галочка (ShowCheckbox = True). Чтобы определить задано время или нет, добавлять отдельную переменную а-ля IsTimeSet не очень удобно, поэтому делаю так: если галка не стоит - пишу в переменную null. Потом дальше, где я орабатываю значение этой переменной мне нужно проверить null она или нет. Я делаю это либо так:
Код:
Код:
snap01001.png Вот код: Код:
timetest.zip |
22.10.2016, 01:30 | #2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,591
|
TTime это тип Double, а null - Variant. Используйте вместо null, например, 0.
E-Mail: arigato.freelance@gmail.com
|
22.10.2016, 01:37 | #3 |
Пользователь
Регистрация: 15.04.2010
Сообщений: 98
|
Тогда как отличить '00:00:00' от 0?
|
22.10.2016, 09:34 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
22.10.2016, 09:43 | #5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Tdatetimepicker это в том числе и поле для ВВОДа и стало быть есть его строковое представление.
Код:
программа — запись алгоритма на языке понятном транслятору
|
22.10.2016, 12:49 | #6 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
|
22.10.2016, 16:54 | #7 |
Форумчанин
Регистрация: 07.11.2011
Сообщений: 161
|
TTime это тот-же TDatetime, который double, причем DateTimePicker возвращает одно и то-же значение для Time, Date, Datetime(можете заглянуть в ComCtrls). На всякий напомню: дробная часть это время, а целая - дата. Если нужно только время, то можно поступить так:
Код:
|
22.10.2016, 17:26 | #8 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
Мудрено как-то...
А если: Код:
|
22.10.2016, 18:24 | #9 |
Форумчанин
Регистрация: 07.11.2011
Сообщений: 161
|
У ТС в рабочем проекте значение t - некое свойство класса(если я правильно понял), его методы могут к примеру выполнятся вне главного потока, а обращение к vcl из другого потока это уже потенциальные проблемы с синхронизацией Например может быть что-то такое:
Код:
|
22.10.2016, 19:55 | #10 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,591
|
Код:
E-Mail: arigato.freelance@gmail.com
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка переменной PHP на пустоту js-ом | Artsiom | JavaScript, Ajax | 8 | 24.10.2016 13:26 |
Сервер отправляет объект не null, а клиент принимает null (C# WCF) | NewLamer&Programer | Общие вопросы .NET | 3 | 22.04.2016 18:55 |
Проверка переменной на принадлежность к числовому типу | KPOBOCiCb | Общие вопросы C/C++ | 11 | 05.06.2015 07:22 |
Pascal: проверка переменной | WheelieJoe | Помощь студентам | 0 | 28.05.2011 13:53 |
SQL запрос. Не выводит строки, где в одном поле присутствует NULL, хотя идет проверка | lyle_200490 | SQL, базы данных | 7 | 07.04.2011 22:41 |