![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Тип Boolean в InterBase [D5, IB6.x]
Konuhov sergey © (2002-04-18 19:02:00)Насколько я понял, в IB6 тоже нет типа Bool.
А можно ли написать внешнюю процедуру, которая будет принимать переменную типа bool в параметрах. Необходимо передать результат выражения типа "a<5".
Digitman (2002-04-24 14:19:00) [1]>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
Praco (2002-04-24 10:50:00) [2]> 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 08:48:00) [3]в 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
zx (2002-04-23 17:45:00) [4]Вы тут о ib6 или о dll разговариваете???
Konuhov sergey (2002-04-23 17:35:00) [5]Вопрос был о внешних функциях, которые хранятся в отдельном
dll-модуле. Причем тут внутренние.
Johnmen (2002-04-22 16:21:00) [6]>..внешней процедуре для IB...
А что же тогда внутренняя ?
Konuhov sergey (2002-04-22 15:25:00) [7]Вопрос был о внешней процедуре для IB.
Но dедь вызывать то ее требуется из SQL.
Reindeer Moss Eater (2002-04-19 18:34:00) [8]А разве спрашивалось про процедуру в IB?
Konuhov sergey (2002-04-19 16:36:00) [9]А разве в IB будет работать такое приведение типа?
Konuhov sergey (2002-04-19 16:36:00) [10]А разве в IB будет работать такое приведение типа?
Konuhov sergey (2002-04-19 16:35:00) [11]А разве в IB будет работать такое приведение типа?
Reindeer Moss Eater (2002-04-18 19:09:00) [12]Передавай
Integer( a < 5 )