
- •Первая программа
- •Целые числа
- •Вещественные числа
- •Процедуры
- •Функции
- •События
- •Строковые типы данных
- •Символьные типы данных
- •Логический тип данных
- •Пройденный материал на практике
- •Оператор цикла repeat...Until
- •Форма About средствами Delphi
- •Функции работы с символами
- •Файлы проекта
- •Строка и строки tStrings
- •ListBox – список выбора
- •Примеры исключений с Try ... Finally ...
- •Работа с базами данных в Delphi
Пройденный материал на практике
Создадим немного глупый, но использующий все новые возможности проект. Создайте новый проект, переименуйте форму в fMain, а в свойстве Caption укажите "Случайные числа". Сохраните проект в новую папку. Проект назовите RandomNum.
Установите на форму Memo, удалите из него весь текст. Ниже – кнопку с названием "Генерировать".
Рис. 9.2. Окончательный вид формы
В обработчике нажатий на кнопку впишем такой текст:
procedure TfMain.Button1Click(Sender: TObject);
const
MaxValue = 1000; //записываем максимальный размер случайных чисел
var
a : array [1..100] of Integer; //массив целых чисел из 100 элементов
i : integer; //счетчикдля for
s : String;
begin
//вначале очистим Memo:
Memo1.Clear;
//Заполняем случайными числами от 0 до MaxValue массив a:
for i := 1 to 100 do
a[i] := Random(MaxValue);
//данные из массива добавляем сначала в строковую переменную, затем в Memo:
s := '';
for i := 1 to 100 do
s := s + IntToStr(a[i]) + ', ';
Memo1.Lines.Add(s);
end;
В результате выполнения этого кода мы получим строку s, в которой через запятую будут перечислены 100 случайных чисел от 0 до 1000.
Оператор цикла repeat...Until
Мы уже знаем условный цикл while, изучим еще один. Синтаксис цикла несложный:
repeat <тело цикла> until <условие>;
Если цикл while имел предусловие, то цикл repeat имеет постусловие, которое выполняется после тела цикла. Есть еще отличие – цикл while выполняется до тех пор, пока условие истинно, а цикл repeat будет выполняться, пока условие ложно. В цикле while, если условие изначально ложно, тело цикла никогда не будет выполняться. Repeat выполнит тело цикла по крайней мере, один раз. Затем оператор проверяет условие, и если оно ложно, выполняет тело цикла еще раз, и так до тех пор, пока <условие> не вернет истину. Еще одно замечание: зарезервированные слова repeat..until работают как скобки begin...end, поэтому в теле цикла может быть сколько угодно инструкций, которые уже не нужно заключать в begin..end. Пример:
i := 3;
repeat
i := i + 1;
ShowMessage('i = ' + IntToStr(i));
until i > 10;
Форма About средствами Delphi
Форму About вовсе не обязательно разрабатывать самостоятельно, Delphi уже предоставляет нам такую форму. Нужно будет лишь изменить текст, и при необходимости, картинку.
В предыдущем проекте, где мы выводили случайные числа, создайте главное меню. В этом меню создайте пункты "Файл – Выход" и "Справка – О программе".
Выберите команду "File – New – Other". Откроется окно репозитария, своеобразной коллекции шаблонов и мастеров для создания нужного окна. Это окно имеет множество вкладок, в которых окна и шаблоны разбиты по тематикам. Перейдем на вкладку Forms и выберем шаблон "About box". Сразу же переименуем форму в fName, а свойству Caption новой формы присвоим текст "О программе". Форма имеет вполне законченный дизайн, осталось только вписать нужный текст в компоненты Label и при необходимости, сменить картинку.
Впервойlabelнапишем: "Product Name: RandomNums". Во второй: "Version: 1.0". Имейте в виду, что в мировом сообществе принято давать номера версий программ от 1.0 и выше. Если в следующей версии произошли незначительные изменения, назовите версию 1.1, потом 1.2 и так далее. Иногда даже указывают три цифры: 1.0.1, 1.0.2 и выше, решать вам. Если изменения значительные, практически у вас получилась другая программа, тогда называйте версию 2.0.
В третьей Label напишите "Copyright: свое ФИО". Этот раздел указывает, кто имеет авторское право на продукт. В четвертой Label находится раздел Comments. Здесь нужно очень коротко и по существу написать, что делает ваша программа, для чего она предназначена. Вы можете перевести все на русский язык. Вместо "Product Name" напишите "Программа". "Version" замените на "Версия". "Comments" замените на "Комментарии". А вот слово "Copyright" переводить не нужно, именно таким образом принято указывать авторское право в мировом сообществе.
Если вы сделали форму до конца, сохраните ее и пропишите в раздел uses главной формы. Далее в меню главной формы щелкните дважды по подразделу "О программе" и создайте там обработчик вызова новой формы.
Символ
Символ – это один знак. Любой – буква, цифра, арифметический знак или пробел, знак препинания или подчеркивания... А также специальные символы – переход на новую строку, BackSpace, знак доллара или процент. Тип "символ" в Delphi обозначается Char:
var
c : Char;
begin
c := 'В';
ShowMessage('Вы ввели ' + c);
c := #13;
ShowMessage('Переход на новую' + c + 'строку');
...
Мы уже говорили, что символы берутся из таблицы символов ANSI или UNICODE. Большинство символов используются пользователями, некоторые символы являются служебными. Обратите внимание, что большая буква "А" и маленькая "а" - это разные символы! Также разными символами являются латинская "с" и русская "с", хотя они похожи, как две капли воды.
Нулевой символ не используется, он зарезервирован как полный нуль. Программисты нашли достойное применение этому символу, используя его в событиях ввода текста, когда требуется запретить пользователю ввод каких-либо символов. Служебные символы мы не можем увидеть в текстовом поле. Служебные символы, это <Esc>, <Enter>, <Tab> и другие. Каждый символ обрабатывается компьютером как число от 0 до 255, таким образом, слово "ПРИВЕТ" в памяти машины будет выглядеть как набор цифр: "207 208 200 194 197 210".