Форма входа
Интересное
Опрос
Какие файлы больше всего Вам нравятся?
Всего ответов: 30
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Урок 6 - Одномерные массивы22:30

Массив (в некоторых языках программирования также таблица, ряд, матрица) — тип или структура данных в виде набора компонентов (элементов массива), расположенных в памяти непосредственно друг за другом.

 

Массив записывается туда же, куда мы записываем обычные переменные. 

Синтаксис:

1 var имя массива: array[интервал] of тип;

Теперь открываем Delphi и кидаем на форму компонент ButtonLabel и Memo. Компонент Memo находится на 6 месте на вкладке Standard
 

Form



Компонент Memo имеет свойство под названием Lines. Оно схоже со свойством Caption у компонента Label. Найдите это свойство в инспекторе объектов и нажмите на кнопочку с тремя точками: 
 

Lines



После нажатия на кнопку с тремя точками появится редактор: 
 

Окно редактора



Сотрите всё, что написано в редакторе и создайте событие OnClick на кнопке. Объявим массив с именем mas, интервалом от 1 до 3 и типом string. Да, и еще нам нужно объявить переменную i типа integer, она нам пригодиться позже.

1 procedure TForm1.Button1Click(Sender: TObject);
2 var mas: array[1..3of string;
3 i:integer;
4 begin
5 ...

Сейчас запишем в наши воображаемые вагоны массива значения:

1 mas[1]:='Первая строка';
2 mas[2]:='Вторая строка';
3 mas[3]:='Третья строка';

А сейчас выводим второй элемент массива в Label и все 3 элемента в Memo

В лабел:

1 Label1.Caption:=mas[2]; //Лабел отобразит содержимое второго элемента массива

Теперь, для того чтобы вывести все 3 значения в Memo, нужно воспользоваться циклом For:

1 for i:=1 to 3 do
2 Memo1.Lines.Add(mas[i]);

Так как в теле цикла выполняется всего одна строка, то можно опустить ключевые слова begin и end.
Строка Memo1.Lines.Add(mas[i]); при первом круге цикла добавит в memo первый элемент массива, так как переменная i равна 1. При втором круге переменная i равна 2 и строка Memo1.Lines.Add(mas[i]); добавит второй элемент массива. Точно так же и с третьим. 

Общий вид программы:

01 procedure TForm1.Button1Click(Sender: TObject);
02 var mas: array[1..3of string;
03 i:integer;
04 begin
05 mas[1]:='Первая строка';
06 mas[2]:='Вторая строка';
07 mas[3]:='Третья строка';
08  
09 Label1.Caption:=mas[2]; //Лабел отобразит содержимое второго элемента массива
10  
11 for i:=1 to 3 do
12 Memo1.Lines.Add(mas[i]);
13 end;

Без цикла For вывод элементов массива осуществлялся бы таким образом:

1 Memo1.Lines.Add(mas[1]);
2 Memo1.Lines.Add(mas[2]);
3 Memo1.Lines.Add(mas[3]);

Нам придется долго копировать и изменять номер элемента, если их будет сто, а бывает и больше тысячи! Цикл же помогает справиться с этим, всего ценой двух строчек. 

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

 

 

Дата: 09.06.2017 Добавил: WiseStar Просмотров: 468 Загрузок: 12 Комментариев: 0

Добавить комментарий

наверх