Главная страница
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.015 c
1-64614
DenKop
2002-05-06 21:25
2002.05.20
ParamStr(1)


1-64633
Riko
2002-05-08 12:56
2002.05.20
Переустановка компонентов...


6-64761
snoup
2002-03-08 01:14
2002.05.20
Какие файлы в винде отвечают за удаленный доступ, сеть и все настройки сети?


1-64601
MisterBin
2002-05-07 15:41
2002.05.20
При повторном запуске программы, чтобы форма была на том же месте


1-64624
Varg
2002-05-08 09:30
2002.05.20
Функция времени работы пользователя