Hi!
По просьбам трудящихся :) кидаю версию организации динамических массивов.
--- Terminate 5.00/Pro
* Origin: Все течет, все из меня... (2:467/84.1)
Вкратце, как этим пользоваться.
Например, самый тривиальный случай - нужно организовать массив из Word.
Что делаем:
1. Описываем переменную типа MemoryType (Var MyArray: MemoryType)
2. _Обязательно_ инициализиpуем ее. (MyArray.Init(SizeOf(Word)).
Word - это, в данном случае, наш тип.
3. Если известно число элементов заранее - делаем MyArray.InitArray(Count),
где Count - число элементов.
4. Для того, чтобы добавить элемент в конец - MyArray.AddElement(@MyVar),
где MyVar - переменная типа Word (в нашем примере).
5. Количество элементов в массиве - MyArray.RecCount.
6. Самое мерзкое - как получить элемент массива:
Word(MyArray.TopPtr(I)^), где Word - наш тип, I - порядковый номер.
7. Записать элемент на конкретное место можно двумя способами:
а) Рекомендуемый - MyArray.UpDateElement(@MyVar,I)
б) Не рекомендуемый (может не поддерживаться в следующих версиях при
использовании XMS/EMS/Disk) - Word(MyArray.TopPtr(I)^):=MyVar
8. После использования желательно выполнить MyArray.Done
|