ItemIndex

 (Available in 00 TS Tools(Base) - TS_Tools_PointerSafe)

Purpose

Set the 'ItemIndex'

Syntax

oPointerSafe:ItemIndex:=10

Arguments

dwItemIndex
DWORD

Description

Set the 'ItemIndex', this value is provided for the application programmer and can be used as an index to a actual item of stored data. The methods 'ItemNext()', 'ItemPrevious()', 'ItemFirst()' and 'ItemLast()' can be used to iterate the 'array' of data items.

Returns

dwItemIndex

Example

METHOD UsingThePointerSafe( ) CLASS MyObject
LOCAL oPointerSafe AS TS_PointerSafe
LOCAL pItem AS PTR
   oPointerSafe:=TS_PointerSafe{ SELF, 10, _SIZEOF( _WinGUID ) }
   oPointerSafe:ItemAdd( TS_GUID_IDispatch( ) )
   oPointerSafe:ItemAdd( TS_GUID_IUnknown( ) )
   oPointerSafe:ItemAdd( TS_GUID_ITypeInfo( ) )
   IF oPointerSafe:ItemLocate( TS_GUID_ITypeInfo( ) )
      oPointerSafe:ItemDel( oPointerSafe:ItemIndex )
   END
   IF !oPointerSafe:ItemLocate( TS_GUID_ITypeInfo( ) )
      oPointerSafe:ItemAdd( oPointerSafe:ItemIndex )
   END
   oPointerSafe:ItemFirst( )
   WHILE pItem<>NULL_PTR
      IF pItem<>NULL_PTR
         SELF:UseItem( pItem )
      END
      pItem:=oPointerSafe:ItemNext( )
   END
   oPointerSafe:ItemLast( )
   WHILE pItem<>NULL_PTR
      IF pItem<>NULL_PTR
         SELF:UseItem( pItem )
      END
      pItem:=oPointerSafe:ItemPrevious( )
   END
   oPointerSafe:ItemFirst( TRUE )
   WHILE oPointerSafe:ItemNext( )<>NULL_PTR
      SELF:UseItem( oPointerSafe:ItemPTR )
   END
   oPointerSafe:ItemLast( TRUE )
   WHILE oPointerSafe:ItemPrevious( )<>NULL_PTR
      SELF:UseItem( oPointerSafe:ItemPTR )
   END
RETURN SELF

Source

ASSIGN ItemIndex( dwItemIndex AS DWORD ) AS DWORD PASCAL CLASS TS_PointerSafe
   TSTrace Enter
   IF Between( dwItemIndex, 0, SELF:_ItemCount+1 )
      SELF:_ItemIndex:=dwItemIndex
   ELSE
      TSTrace Warning "!Between(dwItemIndex,0,SELF:_ItemCount+1)"
   END
   TSTrace Leave
RETURN dwItemIndex