     ,      
  ,    By descriptor.   :

function CreateIbList (var i : integer) : integer; cdecl;
	 List,   ,    -1.
	    .     .

function DeleteIbList (var i : integer) : integer; cdecl;
	 List  
	  : ,   CREATELIST ( IdList)
	  : 0 - , -1 - .


function IbListAdd (var i : integer; v : PDSC) : integer; cdecl;
	 
	  : IdList,  
	  : 0 - , -1 - .

function IbListInsert (var i : integer; var j : integer; v : PDSC) : integer; cdecl;
	    
	  : IdList, , 
	  : 0 - , -1 - .

function IbListSet (var i : integer; var j : integer; v : PDSC) : integer; cdecl;
	   
	  : IdList, , 
	  : 0 - , -1 - .

function IbListGet (var i : integer; var j : integer; v : PDSC) : integer; cdecl;
	    
	  : IdList,  
	  : 0 - , -1 -       3-
	.

function IbListDelete (var i : integer; var j : integer) : integer; cdecl;
	   
	  : IdList,  
	  : 0 - , -1 - .

function IbListClear (var i : integer) : integer; cdecl;
	    
	  : IdList
	  : 0 - , -1 - .

function IbListExchange (var i : integer; var j : integer; var k : integer) : integer; cdecl;
	     
	  : IdList,  
	  : 0 - , -1 - .

function IbListFind (var i : integer; v : PDSC) : integer; cdecl;
	   
	  : IdList,   
	  :  -1 -   ,   .
	        Null=Null.        Null   -   .

function IbListSort (var i : integer) : integer; cdecl;
	        . Null  .
	  : IdList
	  : 0 - , -1 - .

      ,    NULL-.

:

1.     . ,       
 ,         , 
  ,     . 
2.      - .  ,   
   .
3.       :

create procedure ttt 
returns (
    v varchar(255))
as
declare variable h integer;
declare variable i integer;
declare variable name varchar(100);
begin
--  
  h = CreateList(0);

--    
  for select name from clients into :name do
    i = ListAdd(h, name);

--  - 

--    
  i = 0;
  while (ListGet(h, i, v) = 0) do begin
     suspend;
     i = i + 1;
  end

--  
  i = deletelist(h);
end

        (       
 10   100     )     
  .  :     FetchAll,    
SQL      ,       . 
  Order by.

5.  ListGet        .   
    . :

create procedure ttt1 
returns (
    v varchar(255))
as
declare variable h integer;
declare variable i integer;
begin
  h = createlist(0); --  
  i = listadd(h, 123); --   INTEGER
  i = listget(h, 0, v); --  v   ( v  INTEGER )
  v = 'aaa'; --   " conversion error from string 'aaa' "
  i = deletelist(h);
  suspend;
end

       :

create procedure ttt1 
returns (
    v varchar(255))
as
declare variable h integer;
declare variable i integer;
declare variable tmp varchar(255);
begin
  h = createlist(0);
  i = listadd(h, 123);
  i = listget(h, 0, tmp);
  v = tmp; --   IB  123   
  i = deletelist(h);
  suspend;
end


6.    FB 1.5 RC 5. ,       
  .       . 
     TestList.sql.        
 ,      .


---
  . E-mail gvm@pergam.com. 