МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Программирование на Object Pascal в среде Delphi

    Программирование на Object Pascal в среде Delphi

    Лабораторная работа №1

    Программирование линейных алгоритмов

    Цель лабораторной работы: изучить основные элементы визуальной среды,

    освоить использование простейших компонентов DELPHI для ввода/вывода

    данных, и создать приложение, которое использует линейный алгоритм.

    1.1.Визуальная среда DELPHI

    При запуске DELPHI на экране появляется панель интерфейса,

    показанная на рис. 1.1. Среда DELPHI визуально реализуется в виде

    нескольких одновременно раскрытых на экране монитора окон. Количество,

    расположение, размер и вид окон может изменяться программистом.

    Главное окно всегда присутствует на экране и предназначено для

    управления процессом создания приложения.

    Главное меню содержит все необходимые средства для управления

    проектом.

    Пиктограммы главного меню облегчают доступ к наиболее часто

    применяемым командам.

    Палитра Компонентов обеспечивает доступ к набору библиотечных

    программ среды DELPHI, которые описывают некоторый элемент (компонент),

    помещенный программистом в окно Формы. Каждый компонент имеет определенный

    набор свойств, которые программист может выбирать и изменять по своему

    усмотрению. Например, заголовок окна, надпись на кнопке, размер, цвет и тип

    шрифта и др. Свойства компонентов приведены в HELP.

    Окно Инспектора Объектов предназначено для изменения свойств

    выбранных компонентов и состоит из двух страниц. Страница Properties

    (Свойства) предназначена для изменения необходимых свойств компонента.

    Страница Events (События) – для определения реакции компонента на то или

    иное событие (например, щелчок кнопки “мыши ”).

    Окно Формы представляет собой интерфейс проектируемого Windows-

    приложения. В это окно на этапе проектирования приложения помещаются

    необходимые компоненты, которые разработчик берет из Палитры Компонентов.

    Каждой Форме проекта соответствует модуль (Unit), текст которого на языке

    Object Pascal размещается в окне Редактора Кода.

    Окно Редактора Кода предназначено для просмотра, создания и

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

    Редактора Кода находится текст модуля, содержащий минимальный набор

    операторов для нормального функционирования пустой Формы в качестве Windows-

    приложения. При размещении некоторого компонента в окне Формы, текст модуля

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

    Обо всех происходящих в системе событиях, таких как создание Формы,

    нажатие кнопки мыши или клавиатуры и т.д., ядро Windows информирует окна

    путем посылки соответствующих сообщений. Среда DELPHI принимает и

    обрабатывает сообщения с помощью обработчиков событий (например, щелчок

    кнопки “мыши” – событие OnClick, создание Формы – OnCreate). Наиболее часто

    применяемые события представлены в табл. 1.1.

    |Таблица 1.1 |

    |Событие |Описание события |

    |OnActivate |Возникает при активизации Формы |

    |OnCreate |Возникает при создании Формы. В обработчике данного события|

    | |следует задавать действия, которые должны происходить в |

    | |момент создания Формы, например установка начальных |

    | |значений. |

    |OnClick |Возникает при нажатии кнопки мыши в области компонента. |

    |OnDblClick |Возникает при двойном нажатии кнопки мыши в области |

    | |компонента |

    |OnKeyPress |Возникает при нажатии клавиши на клавиатуре. Параметр Key |

    | |имеет тип Char и содержит ASCII-код нажатой клавиши |

    | |(клавиша Enter клавиатуры имеет код #13, клавиша Esc - #27 |

    | |и т.д.). Обычно это событие используется в том случае, |

    | |когда необходима реакция на нажатие одной из клавиш. |

    |OnKeyDown |Возникает при нажатии клавиши на клавиатуре. Обработчик |

    | |этого события получает информацию о нажатой клавише и |

    | |состоянии клавиш Shift, Alt и Ctrl, а также о нажатой |

    | |кнопке мыши. |

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

    список компонентов в верхней части окна Инспектора Объектов и выбрать

    необходимый компонент. Затем, на странице Events Инспектора Объектов,

    нажатием левой клавиши мыши выбрать название обработчика и дважды щелкнуть

    по его правой (белой) части. В ответ DELPHI активизирует окно Редактора

    Кода модуля и покажет заготовку процедуры обработки выбранного события. Для

    каждого обрабатываемого события в тексте модуля организуется процедура

    (procedure), между ключевыми словами begin и end которой программист на

    языке Object Pascal записывает требуемый алгоритм обработки события.

    Переключение между окном Формы и окном Редактора Кода осуществляется

    кнопкой главного меню с пиктограммой [pic] или клавишей F12.

    1.2. Пример создания приложения

    Задание: создать Windows-приложение для вычисления выражения

    [pic] .

    Численные значения данных x, y и z занести с клавиатуры в соответствующие

    поля панели интерфейса. Один из возможных вариантов панели интерфейса

    создаваемого приложения показан на рис. 1.2.

    1.2.1. Сохранение проекта

    В процессе проектирования приложения DELPHI создает несколько файлов

    - проект. Каждый проект целесообразно хранить в отдельной, заранее

    созданной папке. С помощью подходящего приложения Windows создадим папку и

    назовем ее, например, LAB1.

    Для сохранения проекта откройте в главном меню пункт File и щелкните

    “мышью” на опции Save Project As…(Сохранить проект как…). Сначала DELPHI

    откроет панель диалога Save Unit1 As (Сохранить модуль как) для сохранения

    модуля проекта. В этой панели найдем созданную папку LAB1 и сохраним в ней

    модуль под именем, например, UnLinAlg. Обратите внимание на то, что DELPHI

    по умолчанию присвоит этому файлу тип Delphi unit c расширением *.pas.

    Затем откроется панель диалога Save Project1 As . Назовем наш проект,

    например, PrLinAlg и сохраним его в этой же папке. Здесь DELPHI даст файлу

    тип Delphi project и расширение *.dpr. Убедитесь в том, что главное окно

    DELPHI теперь называется PrLinAlg, окно главного файла проекта-

    PrLinAlg.dpr, а окно модуля проекта- UnLinAlg.pas.

    Старайтесь давать файлам осмысленные имена вместо однообразных Unit1

    и Project1, предлагаемых DELPHI.

    Чтобы избежать потери файлов проекта в аварийных ситуациях связанных,

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

    периодически сохранять проект, используя пиктограмму [pic] главного меню

    или опцию Save All в меню File.

    1.2.2. Настройка окон

    Чтобы работать с окном, необходимо сделать его активным, щелкнув

    “мышью” в любом месте окна. У активного окна заголовок становится

    выделенным, например, на рис. 1.1 активным является окно Редактора Кода.

    Окна Формы и Редактора Кода модуля в правом верхнем углу имеют кнопки

    управления, которые предназначены: [pic] -для свертывания окна в

    пиктограмму, [pic] -для разворачивания окна на весь экран и возвращения к

    исходному размеру [pic], [pic] -для закрытия окна.

    С помощью “мыши”, захватывая одну из кромок окна или выделенную

    строку заголовка, отрегулируете нужные размеры окон Формы, Редактора Кода,

    Инспектора Объектов и их положение на экране.

    1.2.3. Изменение заголовка Формы

    Новая Форма имеет одинаковые имя (Name) и заголовок (Сaption) -

    FORM1. Начинающим программистам имя Формы менять не рекомендуется, т.к. оно

    используется в тексте модуля.

    Для изменения заголовка активизируйте окно Инспектора Объектов и на

    странице Properties в свойстве Caption замените заголовок Form1 на

    Лаб. работа №1-Линейный алгоритм. Убедитесь, что одновременно

    изменился заголовок окна Формы.

    1.2.4. Размещение компонентов на Форме

    Будем размещать компоненты на Форме так, чтобы они соответствовали

    панели, показанной на рис 1.2.

    [pic]

    Для нанесения надписей на Форму используется компонент Label. Выберите в

    Палитре Компонентов на странице Standard пиктограмму [pic] компонента Label

    и щелкните на ней “мышью”. Затем в нужном месте Формы щелкните “мышью” -

    появится надпись Label1. В свойстве Caption Инспектора Объектов замените

    надпись Label1 на Введите значение X:. В свойстве Font подберите шрифт.

    Аналогично нанесите на Форму остальные надписи. Щелкнув “мышью” на любом из

    размещенных компонентов, отрегулируйте его местоположение на Форме и

    размер.

    Для ввода/вывода данных в простейших случаях используются компоненты

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

    представляются одной строкой. Если данные представляют собой несколько

    строк, то используется компонент Memo.

    Для создания полей ввода численных значений переменных x, y и z

    используем компонент Edit. Выберите в Палитре Компонентов на странице

    Standard пиктограмму [pic] и разместите компонент Edit в нужных местах

    Формы так же, как Вы это делали с компонентом Label.

    Для вывода результатов используем компонент Memo. Выберите в Палитре

    Компонентов на странице Standard пиктограмму [pic], поместите компонент

    Memo на Форму и откорректируйте его местоположение и размеры.

    1.2.5. Написание процедуры обработки события создания Формы (FormCreate)

    Если программист желает, чтобы при появлении панели интерфейса на

    экране в соответствующих полях находились начальные значения данных, он

    должен учесть, что при запуске приложения возникает событие - создание

    Формы (OnCreate). Создадим процедуру обработки этого события, которая

    занесет начальные значения переменных x, y, z в поля Edit1, Edit2 и Edit3

    соответственно, а в поле Memo1 поместит строку Лабораторная работа №1 –

    Линейный алгоритм. Для этого дважды щелкните мышью на любом свободном месте

    Формы. На экране появится текст модуля UnLinAlg, в котором DELPHI

    автоматически создает заготовку процедуры-обработчика события создания

    Формы: Procedure TForm1.FormCreate(Sender:TObject). Между операторами begin

    и end этой процедуры вставьте операторы, которые выполняют необходимые

    действия (текст модуля приведен в п.1.2.7).

    1.2.6. Написание процедуры обработки события нажатия кнопки Button1

    (Button1Click)

    Поместим на Форму кнопку, нажатие которой приведет к вычислению

    выражения. Выберите в Палитре Компонентов на странице Standart пиктограмму

    [pic] компонента Button. В свойстве Caption Инспектора Объектов замените

    надпись на кнопке Button1 на Вычислить. В свойстве Font подберите шрифт.

    Отрегулируйте положение и размер кнопки. Затем дважды щелкните “мышью” на

    кнопке, после чего курсор установится в тексте процедуры-обработчика

    события нажатия кнопки Button1 : Procedure

    TForm1.Button1Click(Sender:TObject). Внимательно наберите операторы этой

    процедуры, используя текст модуля UnLinAlg.

    1.2.7. Текст модуля UnLinAlg

    Unit UnLinAlg;

    interface

    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;

    type

    TForm1 = class(TForm)

    Label1: TLabel;

    Edit1: TEdit;

    Label2: TLabel;

    Edit2: TEdit;

    Label3: TLabel;

    Edit3: TEdit;

    Label4: TLabel;

    Memo1: TMemo;

    Button1: TButton;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.DFM}

    // Процедура обработки события создания Формы:

    procedure TForm1.FormCreate(Sender: TObject);

    begin

    Edit1.Text:='0.4'; // начальное значение X

    Edit2.Text:='8.75e-2'; // начальное значение Y

    Edit3.Text:='-19.63'; // начальное значение Z

    Memo1.Clear; // очистка Memo1

    // Вывод строки в Memo1:

    Memo1.Lines.Add('Лабораторная работа №1 - Линейный алгоритм');

    end;

    // Процедура обработки события нажатия кнопки Button1:

    procedure TForm1.Button1Click(Sender: TObject);

    var

    x,y,z,a,b,c,u : extended; // объявление локальных переменных

    begin

    x:=StrToFloat(Edit1.Text); // X присваивается содержимое Edit1

    y:=StrToFloat(Edit2.Text); // Y присваивается содержимое Edit2

    z:=StrToFloat(Edit3.Text); // Z присваивается содержимое Edit3

    // Вычисляется выражение

    a:=sqrt(x)-y*y*y;

    b:=sin(a)/cos(a);

    c:=Exp(5*Ln(b));

    u:=c+exp(y/z)*sin(z*z);

    Memo1.Lines.Add('X = '+Edit1.Text+' Y = '+Edit2.Text+

    ' Z = '+Edit3.Text); // контрольный вывод X, Y, Z в Memo1

    // Вывод результата в Memo1:

    Memo1.Lines.Add(' U = '+FloatToStrF(u,ffFixed,8,3));

    end;

    end.

    Данные, с которыми работают компоненты Edit и Memo, имеют тип String.

    Поэтому в процедуре TForm1.Button1Click при присваивании содержимого полей

    Edit1,Edit2,Edit3 переменным X,Y,Z c помощью функции StrToFloat

    осуществляется преобразование данных типа String в действительные значения

    с плавающей точкой типа Extended. Если необходимо работать с данными

    целого типа, используется функция StrToInt.

    При выводе данных в Memo1 используется метод Add свойства Lines,

    причем для преобразования данных из действительного значения в строковое и

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

    FloatToStrF.

    1.2.8. Работа с приложением

    Для запуска созданного приложения нажмите пиктограмму [pic] главного

    меню или клавишу F9. При этом происходит компиляция модулей и, если нет

    ошибок, компоновка проекта и создание выполняемого файла PrLinAlg.exe. На

    экране появляется панель интерфейса приложения (рис.1.2).

    Щелкните “мышью” на кнопке “Вычислить” и в поле Memo1 появляется

    результат. Измените исходные значения x, y, z в полях Edit и снова нажмите

    кнопку ”Вычислить”. Убедитесь, что в поле Memo1 отображаются новые

    результаты. Завершить работу приложения можно нажатием кнопки [pic] в

    правом верхнем углу панели интерфейса.

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

    первоначальный режим работы с проектом можно путем выбора в меню Run опции

    ProgramReset или нажать клавиши Ctrl+F2.

    1.3. Выполнение индивидуального задания

    По указанию преподавателя выберите свое индивидуальное задание.

    Уточните условие задания, количество и типы исходных данных. В соответствии

    с этим оформите дизайн панели интерфейса проектируемого приложения,

    установите необходимое количество полей Edit, тексты заголовков на Форме,

    размеры шрифтов, а также типы переменных и функции преобразования при вводе

    и выводе результатов.

    Индивидуальные задания

    1. [pic]

    При x=14.26, y=-1.22, z=3.5([pic] t=0.564849.

    2. [pic]

    При x=-4.5, y=0.75([pic],z=0.845[pic] u=-55.6848.

    3. [pic]

    При x=3.74[pic], y=-0.825, z=0.16[pic] v=1.0553.

    4. [pic]

    При x=0.4[pic] ,y=-0.875, z=-0.475[pic] w=1.9873.

    5. [pic]

    При x=-15.246, y=4.642[pic], z=20.001[pic] [pic]=-182.036.

    -----------------------

    3

    4

    5

    6

    Рис.1.2

    Label1

    Label2

    Label3

    Рис.2.1

    1- главное окно; 2 – главное меню, 3 – пиктограммы главного меню,

    4 - окно Инспектора Объектов; 5 – окно Редактора Кода,

    6- окно пустой Формы; 7 – Палитра Компонентов.

    Label4

    2

    1

    7

    Edit1

    Edit2

    Edit3

    Button1

    Memo1


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.