Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблемы с null


Daria ©   (2006-02-02 15:30:00) 

Всем привет.Пишу:
if VarIsNull(excel.workbooks[1].worksheets[1].cells[i,1].value) then
Эта ячейка сто процентов пустая. А воспиринимается как не пустая. и выполняет if. В чем ошибка??


Desdechado   (2006-02-02 17:00:00) [1]

VarIsNull
VarIsEmpty
VarIsClear

это все разные аспекты "пустоты"


Johnmen   (2006-02-02 16:03:00) [2]

>КиТаЯц ©   (02.02.06 16:00) [11]
>А неопределенность не может быть "на 100%"

А на сколько % может?


КиТаЯц   (2006-02-02 16:00:00) [3]


> Kolan ©   (02.02.06 15:49) [7]
>
> Я конечно не спец., но Эта ячейка сто процентов пустая.
> Значит VarIsNull = True.

НЕ ПРАВИЛЬНО! Если ячейка пустая, то она "содержит ничего" (clear), а null надо понимать как "неопределенно-пустое значение". А неопределенность не может быть "на 100%"


umbra   (2006-02-02 15:54:00) [4]

Daria   (02.02.06 15:30)

чтобы проверить, имеет ли вариант какое-то значение, надо использовать функцию VarIsClear. VarIsNullпроверяет немного другое


Daria   (2006-02-02 15:52:00) [5]

:) нет.  неправильно написала
if not VarIsNull(excel.workbooks[1].worksheets[1].cells[i,1].value) then


ZeroDivide   (2006-02-02 15:52:00) [6]


> и выполняет if
> Ну так и должно быть..


:))) Мда... тест на внимательность.


> а если пишу excel.workbooks[1].worksheets[1].cells[i,1].
> value<>'', то выдает ошибку


NullStrictConvert := False;


Kolan   (2006-02-02 15:49:00) [7]

Всем привет.Пишу:
if VarIsNull(excel.workbooks[1].worksheets[1].cells[i,1].value) then
Эта ячейка сто процентов пустая. А воспиринимается как не пустая. и выполняет if. В чем ошибка??


Я конечно не спец., но Эта ячейка сто процентов пустая. Значит VarIsNull = True.

и выполняет if
Ну так и должно быть...


Daria   (2006-02-02 15:42:00) [8]

а если пишу excel.workbooks[1].worksheets[1].cells[i,1].value<>'', то выдает ошибку


ZeroDivide   (2006-02-02 15:41:00) [9]


> Пустая строка ('') и NULL - совершенно разные вещи.


Ну.. в некоторых системах одинаковые.


Ega23   (2006-02-02 15:37:00) [10]

Грубо говоря, пустая строка озночает, что там строка есть. Вот только без содержимого.
А NULL означает, что там вообще ничего нет.


ZeroDivide   (2006-02-02 15:36:00) [11]

А может там пробелы в этой ячейке?
...Или может пустая строка <> null для excel'а


Ega23   (2006-02-02 15:36:00) [12]

Пустая строка ('') и NULL - совершенно разные вещи.


Johnmen   (2006-02-02 15:33:00) [13]

М.б. она не пустая, но содержит ''


Наверх

Титульная страница Поиск, карта сайта Написать письмо