Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.11;
Скачать: CL | DM;

Вниз

Type of expression must be BOOLEAN - что за хрень   Найти похожие ветки 

 
Cossys ©   (2002-10-31 11:53) [0]

if ((POS("3425", frmPNLWork.DBMemo2.Text)) and (POS("PRED", frmPNLWork.DBMemo2.Text))) then тут курсор останавливается
begin
Edit;
...
Post;
end
что такое?


 
Skier ©   (2002-10-31 11:55) [1]

>Cossys
if (POS("3425", frmPNLWork.DBMemo2.Text) <> 0) and (POS("PRED", frmPNLWork.DBMemo2.Text) <>{или = не знаю что нужно} 0) then...


 
Cossys ©   (2002-10-31 11:56) [2]

да, сэнкс, оно


 
Zemal ©   (2002-10-31 12:22) [3]

>> Cossys
Функция POS возвращает номер позиции в строке первого вхождения подстроки, а значит она возвращает значение Integer, а это тебе не Boolean, поэтому проверяй, не равно-ли возвращаемое значение нулю (... <> 0), тогда это будет True или False, т.е. Boolean. Следи за соответствием типов, родной :).


 
gek ©   (2002-10-31 12:46) [4]

можно и так

if (bool(POS("3425",frmPNLWork.DBMemo2.Text))) then


 
Zemal ©   (2002-10-31 13:05) [5]

>> gek
И что вернёт твой bool() если pos() вернёт к примеру 54? Unknown? И как if это обработает? Какой блок он выполнит then или else? В данном случае никакой небудет выполнен... bool() корректно может обработать только 0 и 1... в остальных случаях будет возвращено неопределённое значение, т.е. Unknown. Правильно? Ну в принципе это тоже вариант :). Смотря какая логика требуется от if-а :). Это так сказать тройное ветвление получится :).


 
Opuhshii ©   (2002-10-31 13:30) [6]

2Zemal © (31.10.02 13:05)
странно это все.... как-то было предположение что bool это либо 0 - что есть false либо все остальное - что есть true,... разве нет?,..


 
Zemal ©   (2002-10-31 13:45) [7]

Да фиг его знает... это лично мне так кажется... :) я не пользуюсь подобным :) и про оператор goto, к примеру, тоже ничего сказать немогу и label в тексте ставить неумею... мне просто либо неприспичил этот bool, либо он просто ни к чему, как в прочем и ряд других функций, которые иногда только затрудняют понимание смысла исходника :).


 
gek ©   (2002-10-31 14:13) [8]

Посм сам что вернет, тогда и поймещь

if (bool(POS("3","24234"))) then
showmessage("found");
if (bool(POS("3","2424"))) then
showmessage("found")
else
showmessage("not found")


 
Zemal ©   (2002-10-31 14:16) [9]

>> gek
Да. Понял. А вопрос мона? Что будет возвращено если bool(Null)?


 
Opuhshii ©   (2002-10-31 14:36) [10]

2Zemal © (31.10.02 14:16)
а что такое Null?


 
Opuhshii ©   (2002-10-31 14:36) [11]

2Zemal © (31.10.02 14:16)
и чему оно равно..


 
gek ©   (2002-10-31 14:36) [12]

тут наверное надо так
if VarIsNull(null) then
showmessage("value is null")


 
Zemal ©   (2002-10-31 14:44) [13]

>> Опухший
Null := Opuhshii;


 
Zemal ©   (2002-10-31 14:51) [14]

>> gek
Спасибо, я это знал :). Я просил ответить что произойдёт, если bool получит неопределённый параметр, т.е. Null?


 
gek ©   (2002-10-31 15:02) [15]

Наверное исключение о невозможности конвертировать тип


 
Zemal ©   (2002-10-31 15:09) [16]

>> gek
аха :) так что легче написать своё функцию, которая возвращала значение boolean в зависимости от результата, чем использовать bool... но это уже другая история :)



Страницы: 1 вся ветка

Текущий архив: 2002.11.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.022 c
3-33876
leshik
2002-10-21 09:27
2002.11.11
создать запрос по периодам...


6-34149
Freeze
2002-09-13 09:53
2002.11.11
Помогите!!! ПЛИЗЗЗ!!!


3-33869
Cossys
2002-10-22 12:36
2002.11.11
Вывод значений для BooleanFields


3-33897
Utyg
2002-10-22 19:20
2002.11.11
ПОМОГИТЕ ЛАМЕРУ!!!


1-34067
Vile_denis
2002-10-30 17:25
2002.11.11
Полупрозрачная форма