| Maximus | Дата: Понедельник, 26-03-2007, 4:11 PM | Сообщение # 1 |
|
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
| Возникла необходимость поработать с ини-файлами под ДОСом. Попытался воспользоваться вашей библиотекой max_ini. Для чтения секций используется функция EnumGroups. Не могли бы вы предоставить небольшой пример по использованию этой функции. Как пользоваться типом DoubleListPtr?
|
| |
|
|
| remax | Дата: Понедельник, 26-03-2007, 9:31 PM | Сообщение # 2 |
 Admin
Группа: Администраторы
Сообщений: 165
Репутация: 2
Статус: Offline
| DoubleListPtr определен в OPROOT | Code | DoubleListPtr = ^DoubleList; DoubleList = object(Root) dlHead : DoubleNodePtr; {Start of list} dlTail : DoubleNodePtr; {End of list} dlSize : LongInt; {Size of list} {!!.21} constructor Init; {-Initialize an empty list of items} destructor Done; virtual; {-Destroy list} procedure Clear; {!!.20} {-Remove all items from list} function Size : LongInt; {!!.21} {-Return the size of the current list} procedure Append(P : DoubleNodePtr); {-Add element to end of list} procedure Insert(P : DoubleNodePtr); {-Insert element at start of list} procedure Place(P, L : DoubleNodePtr); {-Place element P into list _after_ existing element L} procedure PlaceBefore(P, L : DoubleNodePtr); {-Place element P into list _before_ existing element L} procedure Delete(P : DoubleNodePtr); {-Delete existing element in list, disposing of its contents} procedure Remove(P : DoubleNodePtr); {-Remove existing element from list without disposing of it} function Head : DoubleNodePtr; |
|
| |
|
|
| remax | Дата: Понедельник, 26-03-2007, 9:32 PM | Сообщение # 3 |
 Admin
Группа: Администраторы
Сообщений: 165
Репутация: 2
Статус: Offline
| продолжение ... | Code | {-Return pointer to head of list} function Tail : DoubleNodePtr; {-Return pointer to tail of list} function Next(P : DoubleNodePtr) : DoubleNodePtr; virtual; {-Returns a pointer to the next node} function Prev(P : DoubleNodePtr) : DoubleNodePtr; virtual; {-Returns a pointer to the previous node} function Nth(N : LongInt) : DoubleNodePtr; {!!.03} {-Returns pointer to Nth node in list, starting at 1; nil if N > Size} function Posn(P : DoubleNodePtr) : LongInt; {!!.13} {-Returns ordinal position of P in list; 0 if P=nil or not in list} {$IFDEF UseStreams} constructor Load(var S : IdStream); {-Load a list from a stream} procedure Store(var S : IdStream); {-Store a list in a stream} {$ENDIF} {++++ for internal use ++++} {.Z+} procedure dlRemove(P : DoubleNodePtr; DisposeIt : Boolean); {.Z-} end; | function TIni.EnumGroups(P : DoubleListPtr) : Boolean; Возвращает True, когда в P загружены все имена групп иначе - false
|
| |
|
|