Форум: "Базы";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];
ВнизТип 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c