Главная страница
Навигация по странице:

  • Практическая работа

  • Практическая работа №15 Компоненты выбора и настройки параметров

  • Практическая работа №16. Создание Windows-приложения «Цифровые часы»

  • Объект Свойство Значение

  • GroupBox и RadioButton

  • Практическая работа №17 Использование cписков ListBox

  • Практическая работа №18 Создание приложения «Картинная галерея»

  • 1 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ Процедуры и функции преобразования данных

  • FloatToStr(X)

  • StrToFloat(S)

  • му паскаль и делфи. Методические рекомендации для студентов по выполнению практических работ для специальности 09. 02. 03 Программирование в компьютерных системах


    Скачать 2.13 Mb.
    НазваниеМетодические рекомендации для студентов по выполнению практических работ для специальности 09. 02. 03 Программирование в компьютерных системах
    Дата01.09.2022
    Размер2.13 Mb.
    Формат файлаdoc
    Имя файламу паскаль и делфи.doc
    ТипМетодические рекомендации
    #658926
    страница6 из 7
    1   2   3   4   5   6   7


    Практическая работа № 13.

    Простейшая математическая программа

    Цели работы: Целью работы является практическое освоение методологии и принципов создания базовых стандартных элементов интерфейса Windows-программы в среде визуального проектирования.

    В представленном ниже проекте используем следующий минимальный набор компонент.

    Button – стандартная кнопка, обычно кнопка используется для запуска действия, при этом задействуют только метод OnEvent (реакция на нажатие). Свойство Default=True ассоциирует вводимый компонент с кнопкой Enter, Cancel=True – с кнопкой Esc. Свойства Color для оформления надписи (Caption) у кнопки нет. Амперсант, помещенный в тексте надписи, указывает быструю Alt-клавишу запуска, например, Caption=A&Ppend вызывает срабатывание кнопки при нажатии Alt-P. Свойство ModalResult=true определит обязательность нажатия для закрытия дочернего окна.

    L abel – метка, используется как надпись или как область вывода информации для чтения. Как и для кнопки, для метки можно определить клавишу быстрого доступа, но она будет запускать связанный с меткой компонент (по FocusControl). Свойство AutoSize=True определит минимизацию размера метки под текст надписи, Aligment – центровку этого текста, WordWrap – возможность расположения текста в несколько строк, Transparent – прозрачность при наложении на другие элементы.

    Edit – строка ввода. Заголовка (Caption) у этого компонента нет, но есть свойство Text как содержимое строки. Это свойство можно как считывать, так и присваивать (при необходимости с ограничением длины назначением свойства MaxLength). При вводе конфиденциальной информации указывают отображаемые символы (обычно "*"), при этом нужно переопределить свойство PasswordChar, задав его отличным от #0.

    Составим проект для суммирования двух чисел, вводимых с клавиатуры.

    При этом на форме нужно разместить четыре надписи (с задаваемыми свойствами Caption) и пятую надпись с пустой Caption – для отображения суммы. Определить две строки ввода для суммируемых чисел (против меток "первое" и "второе") и одну кнопку "Расчет" для запуска процедуры суммирования после ввода чисел.

    После двойного щелчка на кнопке можно заполнить шаблон процедуры реакции на нажатие этой кнопки (рамкой выделен вводимый текст).

    procedure TForm1.Button1Click(Sender: TObject);

    var a,b,c: real;

    s: string; code: integer;

    begin

    {ввод данных из полей редактирования}

    val(edit1.text,a,code);

    val(edit2.text,b,code); c:=a+b;

    str(c:–10:4,s); {перевод числа в строку}

    label5.Caption:=s

    end;

    Практическая работа №14.

    Элементы оформления проекта

    Цели работы: Целью работы является практическое освоение методологии и принципов создания и оформления элементов интерфейса Windows-программы.

    Приведенный выше вариант программы вполне работоспособен. Но в подобных программах обязательное требование в части их оформления – предусмотреть реакции на ввод символов в полях редактирования, например, защиту от ввода букв или второй десятичной точки. При нажатии Enter естественно переносить курсор в следующее поле редактирования или выполнять другие действия, если ввод данных завершен. В обработчиках событий (закладка Events инспектора событий Delphi) для полей ввода определим методы OnKeyPress, задав им имена, например, e1 и e2. Затем после двойного щелчка заполним шаблоны процедур.

    procedure TForm1.e1(Sender: TObject; var Key: Char);
    begin

    {защита поля редактирования на ввод числа }

    case key of

    '0'..'9',chr(8):;

    '.': if pos('.',edit1.text)>0 then key:=chr(0);

    '–': if length( edit1.text)>0 then key:=chr(0);

    chr(13): edit2.SetFocus;

    else key:=chr(0);
    end;

    end;

    Вторая процедура отличается от первой лишь реакцией на нажатие клавиши Enter

    procedure TForm1.e2(Sender: TObject; var Key: Char);
    begin

    ... edit2.text ...
    chr(13): edit2.font.color:=clRed; ...

    end;

    Текст процедуры TForm1.Button1Click желательно оформить как самостоятельную процедуру, например, procedure Summa(edit1,edit2: tEdit; label5: TLabel);

    и вызывать ее как внутри TForm1.Button1Click, так и в реакции на Enter в процедуре TForm1.e2, при этом окончание ввода данных сразу запустит вычисления.

    Введем кнопку очистки полей ввода и вывода результата для нового расчета. Заголовок кнопки определим как Caption="новое", зададим реакцию OnClick (двойным щелчком на кнопке).

    procedure TForm1.Button2Click(Sender: TObject);

    begin

    {очистка полей ввода}
    edit1.text:='';
    edit2.text:='';
    label5.caption:='';
    edit1.SetFocus

    end;

    Введем кнопку выхода

    procedure TForm1.Button3Click(Sender: TObject);

    begin

    form1.close { завершение приложения}

    end;

    Практическая работа №15

    Компоненты выбора и настройки параметров

    Цели работы: Создание Windows-приложения, в котором при щелчке на радио-кнопке с названием цвета на светофоре загорается соответствующий цвет

    Выбор и настройка параметров при работе с программным приложением считается стандартной частью работы пользователя с любым серьезным приложением. Это может быть как настройка самого приложения, так и определение параметров отображаемых или моделируемых в приложении процессов и явлений. Элементы интерфейса Windows-программы для основных операций такой работы в настоящее время практически стандартизированы. Рассмотрим создание этих элементов на примере работы с компонентами библиотеки VCL (Visual Component Library) в среде Delphi.

    Б азовые элементы выбора и настройки параметров расположены на странице Standart палитры компонент Delphi. В представленном ниже проекте используем следующий классический набор компонент:

    GroupBox – группа, которая визуально и логически объединяет наборы компонент, определяет порядок перемещения по компонентам на форме (при нажатии клавиши TAB). При помещении в группу новый компонент получает свойства ParentColor, ParentShowHint, ParentFont, ParentCtl3D этой группы. Свойства Left и Top сгруппированных объектов определяются по верхнему углу группы, а не формы;

    RadioGroup – группа для объектов RadioButton (см. ниже);
    RadioButton – переключатели или радиокнопки, служат для выбора одной возможности из набора взаимоисключающих возможностей. Термин отражает сходство с набором кнопок выбора каналов радиоприемника. Эти кнопки обычно объединяют группой RadioGroup. Выбор кнопки отражает свойство Checked, свойство Alingment определяет положение поясняющей надписи относительно кнопки;

    CheckBox – выключатель, выглядит как строка текста с окошком для установки отметки о выборе. Выключатели работают независимо, но их обычно группируют. При определении реакции на выбор можно использовать событие OnClick, но обычно устанавливают как индикатор свойство State по трем состояниям – cbChecked (есть), cbUnChecked (нет), cbGrayed (неопределенно) внутри программы. При этом для блокировки ручного изменения этого свойства нужно установить DragMode=Automatic.

    Пример проекта с выбором параметров



    1. Поместить компоненты Label, Panel, GroupBox, RadioButton (страница Standard) в форму.

    2. Установить следующие свойства объектов, используя Инспектор объектов:

      Label1

      Caption

      Светофор

      Panel1,2,3Caption







      GroupBox1Caption

      Цвет




      RadioButton1Caption

      Красный




      RadioButton2

      Caption

      Желтый

      RadioButton3

      Caption

      Зеленый










    3. Записать код для процедуры обработки события Click (щелчок мыши) на объекте RadioButton1:

    procedure TForm1.RadioButton1Click(Sender: TObject);

    begin

    Panel1.Color := clRed;

    Panel2.Color := clWhite;

    Panel3.Color := clWhite;

    end;

    Самостоятельно записать код для процедур: TForm1.RadioButton2Click и TForm1.RadioButton3Click

    1. Добавить печать информации "Стойте", "Внимание", "Идите" на панели с соответствующим сигналом белым цветом шрифта жирным начертанием 12п.

    Практическая работа №16.

    Создание Windows-приложения «Цифровые часы»

    Цели работы: Создание Windows-приложения, в котором работают цифровые часы с разной скоростью



    1. Поместить компоненты Label (вкладка Standard) и Timer (System) в форму Form1.

    2. Установить следующие свойства объектов




    Объект

    Свойство

    Значение

    Form1

    Label1

    Label1

    Label1

    Label1

    Name

    Caption

    Color

    Font.Size

    Font.Color

    Clock

    00:00:00 clYellow

    24

    Красный




    1. Записать код обновления времени для процедуры TClock.Timer1Timer:

    Label1.Caption:=TimeToStr(Time);

    1. Добавление кнопок регулирования скорости обновления времени.

      1. Добавить в форму компоненты GroupBox и RadioButton:

      2. Установить следующие свойства объектов:

    GroupBox1

    Caption

    Скорость

    RadioButton1

    Caption

    Медленно

    RadioButton2

    Caption

    Умеренно

    RadioButton3

    Caption

    Быстро


    4.3. Записать код для процедуры TForm1.RadioButton3Click: Timer1.Interval := 1000;

    Самостоятельно записать код для процедур: TForm1.RadioButton1Click (3000) и

    TForm1.RadioButton2Click (2000)

    Практическая работа №17

    Использование cписков
    ListBox – обычный список, этот компонент предназначен для работы с перечнем текстовых элементов (с ограничением по количеству до

    5000 шт). Перечень можно создавать (в том числе загружать как строки из текстового файла), преобразовывать и выгружать в файл. Элементы списка могут быть выбраны с помощью клавиатуры или мыши. Классический пример использования ListBox в среде Windows – выбор файла из списка в пункте меню File/Open многих приложений.

    Основное свойство списка – Items (массив строк), оно аналогично свойству Lines для компонента Memo. Индекс выбранного элемента списка хранится в переменной ItemIndex. Методы Add, Delete, Insert используются для добавления, удаления и вставки строк.

    Свойство Sorted=True упорядочивает список по возрастанию кода символов строк. ItemHeight – вертикальный размер элементов, Columns – число колонок в списке, ExtendedSelect – возможность множественного выбора элементов (при удержании Shift), при этом для выбранных элементов свойство Selected[номер] равно True.

    ComboBox – комбинированный список, дополнительно к обычному включает строку ввода. Из нескольких типов ComboBox наиболее популярен спадающий вниз (drop-down combo box).



    Создадим типовой проект с компонентом ListBox

    На форме (рисунок 3). кроме списка разместим ряд кнопок (или пунктов меню), а также две строки ввода Edit1, Edit2 и две метки Label1, Label2. По выбору пунктов организуем следующие операции со списком:

    Загрузка строк из файла, имя которого предварительно набирается в строке ввода (пункт "файл")

    Listbox1.Sorted:=false;

    Listbox1.Items.LoadFromFile(Edit1.Text)

    Сортировка списка (пункт "сортировать"):

    Listbox1.Sorted:=true

    Запись списка в файл, имя которого предварительно набирается в строке ввода (пункт "сохранить как"):

    Listbox1.Items.SaveToFile(Edit2.Text);

    MessageDlg('Создан файл '+Edit2.Text,mtInformation,[mbOK],0)

    Загрузка списка экранных шрифтов (пункт "шрифт"):

    Listbox1.Items:=Screen.Fonts

    Добавление случайного числа в список с соблюдением сортировки, если она задана (пункт "добавить")

    var s: string;

    begin

    str(random:10:8,s); { генерация случайного числа }

    ListBox1.Items.Add(s) end;
    Добавление числа в нужное место списка (пункт "вставить")

    var s: string;

    begin

    str(random:10:8,s); { генерация случайного числа }

    ListBox1.Items.Insert(ListBox1.ItemIndex,s);

    end;
    Удаление выбранного элемента списка (пункт "удалить")

    ListBox1.Items.Delete(ListBox1.ItemIndex)

    Выведем некоторые характеристики выбранного элемента на метках:

    var code: integer; a: real;

    begin

    Label2.Caption:= ListBox1.Items[ListBox1.ItemIndex];

    Val(Label2.Caption,a,code);

    If code=0 then Label1.Caption :='число'

    else Label1.Caption :='строка';

    end;
    Практическая работа №18

    Создание приложения «Картинная галерея»
    Цель работы: Создать Windows-приложение, в котором при нажатии по соответствующей кнопке появляется соответствующая картина.

    1 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
    Процедуры и функции преобразования данных

    Компоненты Label, Edit и ряд других компонентов можно использовать для ввода и вывода данных. Обычно поля для отображения данных имеют тип String, поэтому при вводе и выводе числовых данных возникает проблема преобразования символьного представления числа в цифровую форму при вводе и преобразования цифрового представления числа в символьную форму при выводе. Для этого в Lazarus используются функции:

    Функция FloatToStr(X) преобразует вещественное число X типа Extended в символьное представление (возвращает строку типа String).

    Функция IntToStr(N) преобразует целое число N типа Integer в строку символов, содержащую символьное представление числа.

    Функция StrToFloat(S) преобразует строку S типа String в двоичное вещественное число типа Extended.

    Функция StrToInt(S) преобразует строку S в целое число типа Integer.
    2 ОПИСАНИЕ ПЛАНА РАЗРАБОТКИ ПРОГРАММЫ

    • Назовите Форму – Картинная галерея (свойство Caption). Сохраните Модуль под именем UnitPictures (File – Save as) в своей папке и там же сохраните Проект под именем ProjectPictures.

    • В эту же папку скопируйте три изображения из папки Collection.

    • На Форму поместите два компонента Panel (панель) со страницы Standard. В свойстве Caption (заголовок) для обеих панелей удалите текст.

    • В первую панель поместите три кнопки BitBtn со страницы Additional. В свойстве Caption для кнопок запишите: Первая картина, Вторая картина, Третья картина:






    • На вторую панель вставьте компонент Image со страницы Additional. Выделите компонет Image. Перейдите в Инспектор объектов в свойстов Picture, нажмите рядом на три точки. Выберите файл картинки. Когда она отобразится в вашей Форме, настройте ее размер и в свойстве Visible (видимость) выберите значение False. Это значит, что картинку не будет видно до тех пор, пока вы этого не захотите.

    • Два раза щелкните по кнопке «Первая картина» в тело процедуры внесите следующий оператор:

    begin

    Form1.Image1.Visible:=true;

    end;

    • Сохраните и запустите Проект.

    • Добавьте еще один компонент Image так, чтобы его размеры были такими же, как и у имеющегося уже объекта Image1, в свойстве Visible также выберите False.

    • В тело процедуры для кнопки «Вторая картина» вставьте операторы:

    begin

    Form1.Image1.Visible:=false;

    Form1.Image2.Visible:=true;

    end;

    • Процедура делает видимой вторую картину и невидимой – первую.

    • Сохраните изменения и запустите Проект. Если щелкнуть по кнопке «Первая картина», то не увидите картинки. Для отображения картинки, в процедуру для первой кнопки следует добавить оператор:

    Form1.Image2.Visible:= false;

    • Вставьте в Проект третий компонент Image, подберите размер и установите необходимые параметры.

    • Создайте процедуру для третьей кнопки.

    • Настройте процедуры для кнопок, таким образом, чтобы картинки в правильном порядке исчезали и появлялись на Форме.

    • Теперь сделайте так, чтобы под каждой картинкой появлялась подпись. Для этого добавьте в Проект компонент Label (метка).

    • Для того чтобы при щелчке на кнопку надпись появлялась, добавьте в процедуру для первой кнопки:

    Form1.Label1.Caption:='Закат';

    Form1.Label1.Visible:=true;

    • Название укажите для своей картинки.

    • Добавьте аналогичные операторы и процедуры для двух остальных кнопок, меняя название картины.

    • Сохраните изменения и запустите проект.
    1   2   3   4   5   6   7


    написать администратору сайта