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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2015, 12:48   #1
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию Проверяет, пуста ли переменная

Есть ли в delphi аналог функции empty ?
nibufep вне форума Ответить с цитированием
Старый 21.01.2015, 12:51   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

if x=null then Ваши действия
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.01.2015, 12:51   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Смотря какая переменная
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.01.2015, 12:56   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Смотря какая переменная
Вроде всякая с той лишь разницей, что простые типы инициализируются от балды и в принципе не могут быть пустыми. Однако вариант с null работает и с числами например.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.01.2015, 13:04   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Есть ли в delphi аналог функции empty ?
VarIsClear() VarIsNull() это как варианты.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.01.2015, 13:34   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это все для вариантных типов, для других типов не работает или вообще не совместимо
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.01.2015, 13:41   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Проверка на NULL по-моему работает со всем. Справедливости ради empty в php наверно относится к тому что описал Стилет. Там ведь переменные чистый Variant и есть.
Цитата:
"" (пустая строка)
0 (целое число)
0.0 (дробное число)
"0" (строка)
NULL
FALSE
array() (пустой массив)
В принципе эти условия можно реализовать одноименными функциями empty в отдельном юните. Не знаю только как насчет:
Цитата:
var $var; (переменная объявлена, но не имеет значения в классе)
Но кажется что и это условие выполнимо.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

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

Цитата:
Проверка на NULL по-моему работает со всем
По-моему тоже, но не проверял.
Как вариант еще есть отдельный механизм для типа OleVariant. Можно его еще попробовать для таких проверок.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.01.2015, 13:48   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
i: Integer;
p: Pointer;
s: String;

  i:=0;
  if i=null then ... //вернет False
  if p=null then ... //ошибка компиляции  
  s:='';
  if s=null then ... //вернет False
а тот empty и 0 и '' съест
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.01.2015, 13:50   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
а тот empty и 0 и '' съест
Значит писать отдельным юнитом и подключать в Uses.
Код:
if p=null then ... //ошибка компиляции
Empty этого не требует. Я вообще не знаю есть ли там указатели.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить пуста ли переменная сессии Решетова Алена PHP 2 14.05.2013 21:14
При добавлении в файл 1 строка пуста DKENT PHP 1 03.06.2012 11:54
Узнать пуста ли ячейка? LinkorA Microsoft Office Excel 3 28.10.2011 12:45
Если ячейка пуста, то залить..... Verbludov Microsoft Office Word 12 21.10.2009 12:28
Проверить пуста ли строка? Slim Microsoft Office Excel 2 09.04.2007 15:55