Опубликован: 07.04.2008 | Уровень: специалист | Доступ: платный
Лекция 9:

Массивы и константы

< Лекция 8 || Лекция 9: 12 || Лекция 10 >

Пройденный материал на практике

Создадим немного глупый, но использующий все новые возможности проект. Создайте новый проект, переименуйте форму в 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-1 массив 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 до 999.

Оператор цикла 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 главной формы. Далее в меню главной формы щелкните дважды по подразделу "О программе" и создайте там обработчик вызова новой формы.

< Лекция 8 || Лекция 9: 12 || Лекция 10 >
Виктор Пелих
Виктор Пелих

Здравствуйте.
Прохожу курс "Введение в программирование на Delphi"
Добрался до Лекции 29: Введение в базы данных.

Установлена RAD Studio 11.3, у которой отсутствует вкладка BDE и, соответственно, компонент Table,  который обеспечивает доступ к таблице средствами механизма BDE.
Поиск в интернете подсказал 
BDE Installer for RAD Studio, Delphi, C++Builder 10.3 Rio
Подскажите, имеется ли ещё возможность использовать механизм BDE в Delphi11 и если такая возможность есть, как подключить BDE к Delphi11?
С уважением...

 

Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Данила Некрасов
Данила Некрасов
Россия, Пермь, ПНИПУ
Сергей Федоров
Сергей Федоров
Россия