Последние записи
- Как создать полноценный сайт на Open Server
- Получить температуру процессора на bat-файлах
- Динамические массивы в Lazarus / Delphi — индексация элементов
- Многозадачность на бат-файлах
- Дата и время изменения файла
- Правильно объединить ячейки построчно в Microsoft Office Excel
- Пример проигрывания музыки по нотам на бат-файлах (через powershell)
- Ограничение логина при регистрации символами AZ-az, А-Я, а-я и цифры
- Взвешивание любого груза на весах
- CMD/BAT: звуки (2 разных + бонус: сигнал SOS)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
23rd
Ноя
Динамические массивы в Lazarus / Delphi — индексация элементов
Posted by obzor under Delphi, Lazarus, Free Pascal
Привет, приведите листинг примера создания динамического символьного массива (занесения к примеру элементы: Катя, Петя, Лена и вывод одного из них скажем в Memo1 )
Динамический массив:
var
i: Integer;
arrName: array of Type; (string|integer|char|Byte и т.д)
begin
// задаем длину
setLentgh(arrName, 2);
arrName[0]:= 'Катя';
arrName[1]:= 'Петя';
arrName[2]:= 'Лена';
for i:= 0 to Length(arrName) do
memo1.lines.add(arrName);
end;
Не проверял, но подозреваю что вы где-то ошиблись.
setLength задает количество элементов массива. Length возвращает это количество. Динамические массивы индексируются с нуля. То есть если у вас 3 элемента в массиве, то им будут соответствовать индексы: 0, 1, 2.
Чтобы перебрать все элементы, надо либо запустить цикл от 0 до Length(arrName) — 1, либо от Low(arrName) до High(arrName), что более верно и гарантирует невыход за границы массива.
Если у вас и сработал код arrName[2]:= ‘Лена’; то возможно отключена проверка на выход за границы массива. То есть ‘Лена’ оказалась за пределами массива. Вот это надо проверить. Но так писать точно неправильно.
SetLength устанавливает количество элементов. Если вы задаете количество 2 элемента, то у вас в массиве и будет два элемента с индексами 0 и 1 — http://www.delphibasics.ru/setlength.php
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)


