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

Вниз

Тип Boolean в InterBase   Найти похожие ветки 

 
Konuhov sergey   (2002-04-18 19:02) [0]

Насколько я понял, в IB6 тоже нет типа Bool.
А можно ли написать внешнюю процедуру, которая будет принимать переменную типа bool в параметрах. Необходимо передать результат выражения типа "a<5".


 
Reindeer Moss Eater   (2002-04-18 19:09) [1]

Передавай
Integer( a < 5 )


 
Konuhov sergey   (2002-04-19 16:35) [2]

А разве в IB будет работать такое приведение типа?


 
Konuhov sergey   (2002-04-19 16:36) [3]

А разве в IB будет работать такое приведение типа?


 
Konuhov sergey   (2002-04-19 16:36) [4]

А разве в IB будет работать такое приведение типа?


 
Reindeer Moss Eater   (2002-04-19 18:34) [5]

А разве спрашивалось про процедуру в IB?


 
Konuhov sergey   (2002-04-22 15:25) [6]

Вопрос был о внешней процедуре для IB.
Но dедь вызывать то ее требуется из SQL.


 
Johnmen   (2002-04-22 16:21) [7]

>..внешней процедуре для IB...

А что же тогда внутренняя ?


 
Konuhov sergey   (2002-04-23 17:35) [8]

Вопрос был о внешних функциях, которые хранятся в отдельном
dll-модуле. Причем тут внутренние.


 
zx   (2002-04-23 17:45) [9]

Вы тут о ib6 или о dll разговариваете???


 
Digitman   (2002-04-24 08:48) [10]

в UDF :

function CompareTwoInteger(var i1, i2: Integer): WordBool;
begin
Result := i1 > i2;
end;

в ISQL :

DECLARE EXTERNAL FUNCTION CompareTwoInteger
INTEGER,
INTEGER
RETURNS SMALLINT
ENTRY_POINT "CompareTwoInteger" MODULE_NAME "myudflib.dll";

CREATE PROCEDURE COMPARE
(I1 INTEGER, I2 INTEGER)
RETURNS (CMPRESULT SMALLINT)
AS
BEGIN
CMPRESULT = CompareTwoInteger(I1, I2);
END


 
Praco   (2002-04-24 10:50) [11]

> Digitman © (24.04.02 08:48)
Не пойдет. Вопрос был "принимать переменную типа bool в параметрах". А в функции CompareTwoInteger нет смысла. Это можно сделать в SQL.
> Konuhov sergey
"А можно ли написать внешнюю процедуру, которая будет принимать переменную типа bool в параметрах. Необходимо передать результат выражения типа "a<5"".

в SQL
IF a < 5 THEN i = 1
ELSE i = 0;
ExternalFunc(i);
...

в UDF
if Boolean(i) then ...

Вопрос был в этом?




 
Digitman   (2002-04-24 14:19) [12]

>Praco
Может, я не понял, но к чему тогда вот это уточнение :
>>"Необходимо передать результат выражения типа "a<5". ??
Какая разница - что с чем сравнивать : "a" с "5" или слона с моськой ? Речь-то не о сравнении чего-то там с чем-то, а о том, как принять/передать/интерпретировать булево значение )

в UDF :

function SomeFunction(var Value: LongBool): WordBool;
begin
...
if Value then
Result := ...
else
Result := ...
end;

в ISQL :

DECLARE EXTERNAL FUNCTION SomeFunction
INTEGER
RETURNS SMALLINT
ENTRY_POINT "SomeFunction" MODULE_NAME "myudflib.dll";

CREATE PROCEDURE SOME_SP
(I1 INTEGER, I2 INTEGER)
RETURNS (CMPRESULT SMALLINT)
AS
BEGIN
CMPRESULT = SomeFunction(I1 - I2);
IF (CMPRESULT <> 0) THEN ...
END







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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
1-64565
Wolverin
2002-05-04 21:58
2002.05.20
RES


3-64537
Beverson
2002-04-23 18:00
2002.05.20
Проблема при работе с BLOB ами через BDE.


3-64461
Саша
2002-04-25 07:46
2002.05.20
глюк Dbgrid


3-64546
Novak
2002-04-24 12:02
2002.05.20
Интересно, просто очень интересно.


3-64527
DDDD
2002-04-23 12:32
2002.05.20
Доступ к базам находящимся на сервере.