Род Стивенс

Книги → Delphi. Готовые алгоритмы → Глава 2. Списки

Delphi, начиная с версии 4.0, поддерживает встроенный механизм изменяемых массивов. По своему синтаксису работа со встроенными динамическими массива­ми очень похожа на работу с обычными массивами языка Pascal.

Сначала следует объявить переменную массива, не указывая при этом его гра­ниц. Изменение его размера производится с помощью процедуры SetLength. Так как заранее длина массива не известна, потребуются еще три функции: Length, возвращающая количество элементов массива, Low, возвращающая индекс перво­го элемента (обычно 0) и High, возвращающая индекс последнего элемента.

// Изменение размера массива.

procedure TSizeArrForm.CmdResizeClickfSender : TObject);

var

Numltems : Integer; // Количество элементов массива.

Items : Array Of Integer; // Массив элементов.

I : Integer;

Txt : String;

begin

// Инициализация массива.

Numltems : = StrToInt(NumltemsText.Text);

SetLength(Items,Numltems);

// Заполнение массива значениями.

Txt := '' ;

for i := Low(Items) to High(Items) do begin

Items[i] := i;

Txt : = txt + IntToStr (Items [i] ) + 1 1 ;

end;

ItemsLabel.Caption := Txt;

// Освобождение массива.

SetLength(Iterns,0); end;

Список переменного размера

С помощью динамических массивов вы можете построить простой список пе­ременного размера. Новый элемент в список добавляется следующим образом. Со­здайте новый массив, который на один элемент больше старого. Скопируйте эле­менты старого массива в новый и добавьте новый элемент. Затем освободите старый массив и установите указатель массива на новую страничку памяти.

Следующий фрагмент кода содержит операцию, которая добавляет элемент в динамический массив. Для удаления элемента можно написать аналогичный код, только массив необходимо сделать меньше.

var

List : PIntArray; • // Массив.

Numltems : Integer; j j Количество используемых элементов.

procedure Addltem(new_item : Integer);

var

new_array : PIntArray; i : Integer; begin

← предыдущая следующая →

Страницы раздела: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.