Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Var
r: array [длина массива] of тип данных;
Как определяется, длина массива? Очень просто, это даже похоже на геометрическое определение. Например, тебе нужен массив из 12 значений. Длина такого массива может быть [0..11] или [1..12]. В квадратных скобках ты должен поставить начальное значение массива и конечное, а между ними две точки.
Тип данных может быть любой из уже пройдённых нами. Например, тебе надо объявить массив их 12 строк, это можно сделать следующим образом:
Var
r: array [0..11] of String;
В этом примере я объявил переменную r типа массив из 12 строк.
Чтобы получить доступ к какому-то элементу, нужно написать имя переменной массива и после этого, в квадратных скобках написать номер элемента, к которому нужно получить доступ. Например, давай прочитаем 5-й элемент и запишем 7-й элемент нашего массива:
Var
r: array [0..11] of String; Str:String;
begin Str:=r[5];
r[7]:=’Привет’; end;
В этом примере я в первой строке кода присваиваю переменной Str значение пятого элемента массива (Str:=r[5];). В следующей строке я седьмому элементу присваиваю строку «Привет» (r[7]:=’Привет’;).
Давай напишем какой-нибудь пример для работы с массивами. Допустим, нам надо узнать какой сегодня день недели. Я думаю, это будет полезный примерчик.
Создай новое приложение. Брось на форму один компонент TEdit (дадим ему имя DayOfWeekEdit) и одну кнопку (дадим ей имя GetDayButton и напишем в заголовке «Узнать день недели»). У меня получилась вот такая форма:
По нажатию кнопки мы будем узнавать, какой сегодня день недели и записывать результат в строку TEdit.
procedure TForm1.GetDayButtonClick(Sender: TObject);
var day:Integer; week: array[1..7] of string;
begin week[1]:= 'Воскресенье'; week[2]:= 'Понедельник'; week[3]:= 'Вторник'; week[4]:= 'Среда'; week[5]:= 'Четверг'; week[6]:= 'Пятница'; week[7]:= 'Суббота';
day:=DayOfWeek(Date); DayOfWeekEdit.Text:=week[day]; end;
Здесь я объявил массив week из семи элементов. После этого, я последовательно всем элементам массива присваиваю названия дней недель.
После этого, я узнаю, какой сегодня день недели. Для этого существует функция DayOfWeek. Ей нужно передать только один параметр – дату день недели которой нужно узнать. Я передаю результат работы функции Date, которая возвращает текущую дату. Получается, что DayOfWeek вернёт мне день недели текущей даты.
Вроде всё нормально, DayOfWeek возвращает не строку, в которой написано словами какой сегодня день, а число. Если функция возвращает 0, то это воскресенье, если 1 – понедельник, 2-вторник, 3 – среда и так далее. Как видишь, отсчёт идёт с воскресенья (по европейски). Точно так же я заполнял и массив: 1 – это воскресенье, 2 – понедельник и так далее.
После этого, нам надо превратить число в строку. Это делается очень просто. Нам надо получить только соответствующий элемент массива и всё. Если функция вернула нам 2, то это должен быть понедельник. В массиве под вторым номером тоже идёт «Вторник», поэтому нам просто нужно получить строку находящуюся под вторым номером в массиве. Вот именно это и происходит в последней строке week[day].
На компакт диске, в директории \Примеры\Глава 10\Arrays ты можеш ь увидеть приме р это й программы.
Но это мы только закрепили на практике уже пройденный материал. Давай пойдём дальше и познакомимся с динамическими массивами.
Когда ты хочешь создать динамический массив, то не надо указывать его длину. Ты просто указываешь переменную, и её тип:
r: array of integer;
В этом примере я объявил переменную r типа массив целых чисел без указания размера (как мы указывали это в квадратных скобках [0..10]).
Чтобы указать размер массива можно воспользоваться функцией SetLength. У неё два параметра:
1. 1. Переменная типа динамического массива.
2. 2. Длина массива.
Давай посмотрим всё это на практике. Создай новый проект в Delphi, брось на форму две кнопки и один компонент TListBox:
Для первой кнопки мы напишем следующий текст:
var r:array of integer; i:Integer;
begin ListBox1.Items.Clear;
Дата публикования: 2014-11-04; Прочитано: 420 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!