Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Begin ListBox1.Items.Clear;



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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...