Класс TM_Int64List можно использовать для хранения списка целых чисел. Данный класс обладает следующими свойствами и методами:
Метод |
Описание |
|---|---|
function Add(Item: Int64): Integer; |
Добавляет целое число Item в список |
procedure Insert(Index: Integer; Item: Int64); |
Добавляет число Item в список в позицию Index |
procedure Delete(Index: Integer); |
Удаляет из списка элемент с указанным индексом |
function Remove(AValue: Int64): Integer; |
Удаляет из списка число Item. Если список содержит несколько таких чисел, то удаляется только первое. Возвращает индекс числа в списке до его удаления или -1, если число не существует в списке. |
procedure Exchange(Index1, Index2: Integer); |
Меняет местами элементы в указанных позициях |
procedure Move(CurIndex, NewIndex: Integer); |
Перемещает число из позиции CurIndex в позицию NewIndex |
procedure Clear; |
Очищает список |
function First: Int64; |
Возвращает первое число из списка. Если список пуст, то будет выдано исключение. |
function Last: Int64; |
Возвращает последнее число из списка. Если список пуст, то будет выдано исключение. |
function IndexOf(Item: Int64): Integer; |
Возвращает индекс числа Item в списке. Возвращает -1, если такого числа нет в списке |
Свойство |
Описание |
|---|---|
property Items[Index: Integer]: Int64; |
Возвращает число с индексом Index из списка. Например myList.Items[3] вернет число из списка с индексом 3. Это свойство по-умолчанию, поэтому можно использовать короткую запись, например: myList[3]. |
property Count: Integer; |
Возвращает количество чисел в списке |
Пример использования
Допустим нам нужно создать список целых чисел, добавлять в него числа и работать с ними. Тогда можно создать новый глобальный модуль и объявить в нем список:
interface
var
myList: TM_Int64List; // объявляем список с именем myList
implementation
initialization // во время запуска проекта
myList := TM_Int64List.Create; // создаём список
finalization // во время выключения проекта
FreeAndNil(myList); // !!! обязательно удаляем список
end.
Теперь список myList можно использовать в любом скрипте проекта.
Пример добавления чисел в список
begin
myList.Add(250); // добавляем число 250 в список
myList.Add(128000); // добавляем число 128000 в список
myList.Add(1); // добавляем число 1 в список
end.
Пример поиска в списке
begin
if myList.IndexOf(250) > -1 then
Log_Add('Число 250 есть в списке')
else
Log_Add('Число 250 не найдено списке');
end.
Пример перебора элементов списка
var
I: Integer;
begin
// проходим в цикле по всем элементам списка
for I := 0 to myList.Count - 1 do
begin
if myList[I] = 250 then // если очередной элемент списка равен 250, то
begin
// здесь выполняем какие-то действия
end;
end;
end.