Разработка простого приложения Delphi

Автор работы: Пользователь скрыл имя, 23 Февраля 2011 в 07:41, лабораторная работа

Описание работы

. Цель работы

Ознакомление со средой визуального программирования Delphi и разра-

ботка в ней простейших приложений.

Файлы: 1 файл

ЛАБОРАТОРНАЯ РАБОТА по дельфи.doc

— 416.00 Кб (Скачать файл)

begin

Memo1.Lines.Clear;

end;

                                    35 
 

procedure TForm1.Center1Click(Sender: TObject);

begin

Center1.Checked := not Center1.Checked;

Image1.Center := Center1.Checked;

end; 

procedure TForm1.Load2Click(Sender: TObject);

begin

if OpenPictureDialog1.Execute then

begin

   Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

   Center1.Enabled := true;

   Stretch1.Enabled := true;

end;

end; 

procedure TForm1.Enabled1Click(Sender: TObject);

begin

  Enabled1.Checked := not Enabled1.Checked;

  Memo1.Enabled := Enabled1.Checked;

end;

5. Добавьте  в главное меню пункт:

♦ Lines: Add, (разделитель) - невидимый

6. Добавьте  методы: 

procedure TForm1.Add1Click(Sender: TObject);

var

I : TMenuItem;

begin

I := TMenuItem.Create(Lines1);

I.Caption := Memo1.SelText;

I.OnClick := Put;

Lines1.Add(I);

N3.Visible := true;

end; 

procedure TForm1.Put(Sender: TObject);

begin

Memo1.Text := Memo1.Text + (Sender as TMenuItem).Caption;

end; 
 

                               36 
 

   7.   Добавьте в меню Text пункт "Alignment: Left", циклически изме-

        няющий свойство Memo1.Alignment и своё свойство Caption для вы-

        равнивания по левому краю, по  центру и по правому краю. 

  Вариант  6 

   1.   На форме расположите три кнопки (вторая и третья - отключены),

        компоненты ProgressBar и Shape, пиктограммы диалога ColorDialog

   2.   Создайте меню:

   ♦    Progress: More, Less - отключен

   ♦    Buttons: First – с галочкой, Second, Third

   ♦    Shaping: Color 

   Пример  формы – рис. 3.10 
 
 
 

                     Рис. 3.10. Пример формы варианта 6 

   3.   Коды методов: 

    procedure TForm1.More1Click(Sender: TObject);

    begin

     ProgressBar1.Position := ProgressBar1.Position+10;

     Progress1.Caption := 'Progress: ' + IntToStr(ProgressBar1.Position) +

'%';

     More1.Enabled := ProgressBar1.Position<>100;

     Less1.Enabled := ProgressBar1.Position<>0;

    end; 

   procedure TForm1.First1Click(Sender: TObject);

   begin

    First1.Checked := true;

                                     37 
 

    Second1.Checked := false;

    Third1.Checked := false;

    Button1.Enabled := true;

    Button2.Enabled := false;

    Button3.Enabled := false;

   end; 

   procedure TForm1.Color1Click(Sender: TObject);

   begin

    if ColorDialog1.Execute then

      Shape1.Brush.Color := ColorDialog1.Color;

   end; 

   4.   Код метода TForm1.Less1Click аналогичен коду метода

        TForm1.More1Click

   5.   Коды методов TForm1.Second1Click и TForm1.Third1Click аналогич-

        ны коду метода TForm1.First1Click

   6.   Добавьте в меню Shaping пункт, циклически изменяющий свойство

        Shape1.Shape и отображающий эти изменения  своим свойством Cap-

        tion 

6. Результаты  работы

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

    монстрировать преподавателю готовый проект, содержащий меню, файл

    формы и исходный код модуля. 
 
 
 

                                     38 
 

                    ЛАБОРАТОРНАЯ РАБОТА №4 

                            Классы и модули

1. Цель  работы

    Объектно – ориентированное программирование в среде Delphi и разра-

 ботка  приложения, создающего и обрабатывающего  собственный класс. 

2. Домашнее  задание

        Изучить раздел 3 конспекта лекций, описывающий объектно-

 ориентированное  программирование в Delphi.

        Ознакомиться с описанием и заданием на лабораторную работу. 

3. Основные  понятия и приемы

   3.1. Классы и сокрытие информации

           Класс может содержать сколько  угодно данных и любое количест-

 во  методов. Однако для соблюдения  всех правил объектно-

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

 ваны, внутри использующего их класса. Использование метода для получе-

 ния  доступа к внутреннему представлению  объекта уменьшает риск возник-

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

 внутреннее  представление в будущих версиях.  В Object Pascal имеются две

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

 к переменным: классы и модули. С классами  связаны некоторые специаль-

 ные  ключевые слова – спецификаторы доступа:

♦ private –  элементы интерфейса класса видны только в пределах модуля, в

    котором определен класс. Вне  этого модуля private-элементы не  видны и

    недоступны. Если в одном модуле  создано несколько классов, то  все они

    видят private-разделы друг друга.

♦ Раздел public не накладывает ограничений  на область видимости пере-

    численных в нем полей, методов  и свойств. Их можно вызывать  в любом

    другом модуле программы.

♦ Раздел published не ограничивает область видимости, однако в нем пере-

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

    исполнения, но и на этапе конструирования  программы. Раздел published

    используется при разработке  компонентов. Без объявления раздел  счита-

    ется объявленным как published. Такой умалчиваемый раздел располага-

    ется в самом начале объявления  класса любой формы и продолжается  до

    первого объявленного раздела.  В раздел published среда помещает  описа-

    ние вставляемых в форму компонентов.  Сюда не нужно помещать собст-

    венные элементы или удалять элементы, вставленные средой. 

                                     39 
 

♦ Раздел protected доступен только методам самого класса, а также любым

  потомкам, независимо от того, находятся  ли они в том же модуле  или

  нет.

        Порядок следования разделов может быть любой, любой раздел

может быть пустым.

  3.2. Классы  и модули

          Приложения Delphi интенсивно используют  модули. За каждой

формой  скрывается соответствующий ей модуль. Однако модули не обязаны

иметь соответствующие формы.

          Модуль содержит раздел interface, где  объявлено все, что доступно

для других модулей, и раздел implementation с реальным кодом. Наконец,

модуль  может иметь два необязательных раздела: initialization с некоторым

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

пользующей  данный модуль, и finalization, который выполняется  при завер-

шении программы.

          Предложение uses в начале раздела  interface указывает к каким

другим  модулям мы должны получить доступ из раздела interface текущего

модуля. Если же на другие модули необходимо сослаться  из кода подпро-

грамм и  методов, вы должны добавить новое предложение uses в начале

раздела implementation.

          В интерфейсе модуля можно  объявить несколько различных  эле-

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

данных. Также  можно поместить в модуль класс. Delphi это делает автома-

тически при создании каждой формы. Чтобы  создать новый не относящийся

к форме  модуль, выберите команду File/New и отметьте на странице New

появившегося  окна Object Repository элемент Unit.

    3.3. Модули и область видимости

         Область видимости идентификатора (переменной, процедуры, функ-

ции или  типа данных) определяет ту часть кода, в которой доступен этот

идентификатор. Основное правило состоит в том, что идентификатор являет-

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

           Если вы объявили идентификатор  внутри блока определения про-

 цедуры, вы не сможете использовать  данную переменную вне этой процеду-

 ры. Область  видимости идентификатора охватывает  всю процедуру, вклю-

 чая  вложенные блоки.

           Если вы объявили идентификатор  в области реализации модуля,

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

 блоке  и процедуре, определенных внутри модуля. Если вы объявили иден-

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

 страняется  на любой другой модуль, где  объявлен идентификатор. Любой

 идентификатор,  объявленный в интерфейсе модуля, является глобальным;

                                     40 
 

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

Информация о работе Разработка простого приложения Delphi