Лабораторная работа №03 icon

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



НазваниеЛабораторная работа №03
Дата конвертации30.06.2012
Размер48.02 Kb.
ТипЛабораторная работа
1. /OOP/Лабораторная работа ь00-Введение.doc
2. /OOP/Лабораторная работа ь01-Calc&Type.doc
3. /OOP/Лабораторная работа ь02-Drag&Except.doc
4. /OOP/Лабораторная работа ь03-Font&Phrase.doc
5. /OOP/Лабораторная работа ь04-Menu.doc
6. /OOP/Лабораторная работа ь05-Canvas.doc
7. /OOP/Лабораторная работа ь06-Animation.doc
8. /OOP/Лабораторная работа ь07-Hint&Format.doc
9. /OOP/Лабораторная работа ь08-Notepad&BMP.doc
10. /OOP/Лабораторная работа ь09-StringGrid.doc
11. /OOP/Лабораторная работа ь10-MediaPlayer.doc
12. /OOP/Лабораторная работа ь11-Shape.doc
13. /OOP/Лабораторная работа ь12-Events.doc
14. /OOP/Лабораторная работа ь13-Finally&Except.doc
15. /OOP/Лабораторная работа ь14-Animal.doc
16. /OOP/Лабораторная работа ь15-MyButton.doc
17. /OOP/Темы курсовых работ по курсу ООП.doc
Введение
Лабораторная работа №01
Лабораторная работа №02
Лабораторная работа №03
Лабораторная работа №04
Лабораторная работа №05
Лабораторная работа №06
Лабораторная работа №07
Лабораторная работа 08
Лабораторная работа №09
Лабораторная работа №10
Свойства в Delphi
Лабораторная работа №12 События в Delphi
Chapter 12
Лабораторная работа №14
Лабораторная работа №15
Кнопка (TButton)

Лабораторная работа №03.

Использование компонентов

Создание редактора для текста формата RTF


Windows 95 содержит новый управляющий элемент, который способен поддерживать формат Rich Text Format (RTF).
Компонент Delphi Rich Edit инкапсулирует поведение этого стандартного управляющего элемента. Поместите в форму три компонента: Panel, которая занимает верхнюю часть формы; Button, расположенная на панели; RichEdit, который занимает всю остальную часть формы. Нажатие на кнопку должно изменять шрифт выделенного фрагмента текста в окне RichEdit. Программа отображает стандартное диалоговое окно Font, использовав в качестве начального значения исходный шрифт компонента RichEdit. Затем выбранный пользователем шрифт скопируется в атрибуты текущего выбранного текста. Хотя свойства DefAttributes и SelAttributes компонента RichEdit не имеют тип TFont, они совместимы с ним, поэтому для копирования значения можно применить метод Assign:


procedure TForm1.Button1Click(Sender: TObject);

begin

if RichEdit1.SelLength>0 then

begin

FontDialog1.Font.Assign(RichEdit1.DefAttributes);

if FontDialog1.Execute then

RichEdit1.SelAttributes.Assign(FontDialog1.Font);

end

else

ShowMessage ('No text selected');

end;

Задание № 1


Создать вышеописанную форму и записать код для события OnClick кнопки. В форму поместить компонент FontDialog.

Выбор


Существуют два стандартных управляющих элементаWindows, которые позволяют пользователю выбирать разные опции. Первый – чекбокс. Он соответствует опции, которую можно выбрать независимо от других. Второй управляющий элемент – кнопка опций, которая соответствует исключительному выбору. Например, если вы видите две кнопки опций с метками А и В, вы можете выбрать или А, или В, но не обе одновременно. Еще одна особенность множественного выбора заключается в том, что вы обязательно должны выбрать одну из опций.

Группирование кнопок опций


Кнопки опций подразумевают исключительный выбор. Однако форма может содержать несколько групп кнопок опций. Сама система Windows не способна определить как связаны друг с другом различные кнопки опций. В Windows и в Delphi эта проблема решается так: связанные кнопки опций помещаются внутри компонента-контейнера. Для совместного хранения кнопок опций – и функционального и визуального – стандартный интерфейс пользователя Windows использует управляющий элемент блока группы. В Delphi этот управляющий элемент реализован в компоненте GroupBox. Аналогичный компонент, который используется для кнопок опций, - RadioGroup, представляющий собой блок группы с нарисованными внутри него несколькими копиями кнопок опций. Компонент RadioGroup способен автоматически выравнивать свои кнопки опций и вы легко можете добавить в него новые элементы на этапе выполнения.

Правила построения блока группы с кнопками опций очень просты: разместите в форме компонент GroupBox, а затем поместите в него кнопки опций. Компонент GroupBox способен содержать другие управляющие элементы и вместе с компонентом Panel является одним из самых распространенных компонентов-контейнеров. Если вы отключите или скроете блок группы, все управляющие элементы внутри него также будут заблокированы или скрыты.

Вы по-прежнему можете обрабатывать отдельные кнопки опций, но можете работать также со всем массивом управляющих элементов, принадлежащих блоку группы. Соответствующее свойство называется Controls. другое свойство ControlCount – хранит число элементов. К этим двум свойствам можно получить доступ только на этапе выполнения.

Задание № 2


Выполнить построитель английских предложений по типу The book is on the table. Цель данного прмера состоит в том, чтобы создать инструмент для построения подобных фраз путем выбора из различных доступных опций.

  1. Поместите в форму компонент GroupBox с заголовком First Object и затем кнопки опций с заголовками The book, The pen, The pencil, The chair.

  2. Поместите еще один компонент GroupBox с заголовком Position c опциями on, under, near.

  3. Поместите компонент RadioGroup с заголовком Second Object c опциями the table, the big box, the carpet, the computer. В этом случае для создания элементов вы должны ввести список значений в свойство Items (тип TStringList).

  4. Одну из кнопок опций в каждой группе нужно обязательно пометить, установив свойство Checked в True, соответствующее значение должно иметь и свойство ItemIndex группы опций (которое указывает на текущий выбор).

  5. Поместите в верхнюю часть формы компонент Label, где будет отображаться построенная фраза.

  6. Выберите в форме все кнопки опций (щелкая по каждой из них при нажатой клавише Shift) и введите имя метода TForm1.ChangeText в окне Object Inspector после события OnClick. Код этого метода представлен ниже.


procedure TForm1.ChangeText (Sender: TObject);

var

Phrase:String;

I:Integer;

begin

For i:=0 to GroupBox1.ControlCount - 1 do

if (GroupBox1.Controls[ i ] as TRadioButton).Checked then

Phrase:= (GroupBox1.Controls[ i ] as TRadioButton).Caption;

Phrase:= Phrase + ' is ';

For i:=0 to GroupBox2.ControlCount-1 do

with GroupBox2.Controls[ i ] as TRadioButton do

if Checked then

Phrase:= Phrase + Caption;

Label1.Caption:= Phrase + ' ' + RadioGroup1.Items[RadioGroup1.ItemIndex];

end;

Список со многими опциями


Когда вам нужно добавить много опций, кнопки опций не подходят. Для решения этой проблемы используется список. Список способен хранить в небольшом месте большое количество опций и может содержать полоску прокрутки, чтобы показывать на экране только ограниченную часть всего выбора. Другое преимущество списка состоит в том, что вы легко можете добавить в него новые элементы или удалить некоторые из текущих. Списки чрезвычайно гибки и мощны.

Еще одна важная особенность: используя компонент ListBox, вы можете осуществлять как однозначный выбор – поведение, аналогичное группе кнопок опций, - так и множественный выбор – подобно группе чекбоксов.

Задание № 3


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

  1. Поместите в центре формы компонент RadioGroup c заголовком Position и опциями on, under, near (одну опцию пометьте).

  2. Слева и справа от блока группы поместите два списка и добавьте несколько строк в свойства Items обоих списков. Вы можете скопировать все строки из редактора свойств Items одного списка и вставить в редактор такого же свойства другого списка. Для удобства строки можно отсортировать, установив свойство Sorted списков в True. Не забудьте также поместить над списками пару надписей, раскрывающих их содержание.

  3. В верхнею часть формы поместите компонент Label, в котором будет отображаться построенная фраза.

  4. В нижней части формы поместите поле редактирования с надписью и кнопку с заголовком Add . В поле редектирования будет вводиться строка текста, которую необходимо добавить в оба списка по нажатию кнопки Add.

  5. Чтобы первоначально выбрать по строке из каждого списка, записать метод для события OnCreate формы:


procedure TForm1.FormCreate (Sender: TObject);

var

N : Integer ;

begin

N := ListBox1. Items . IndexOf (‘book’) ;

ListBox1. ItemIndex := N ;

N := ListBox2 . Items . IndexOf (‘table’) ;

ListBox2 . ItemIndex := N ;

end;


  1. Создать процедуру ChangeText, соединенную с событиями OnClick группы опций и двух списков. Чтобы получить из списка выбранный текст, вы должны только взять номер выбранного элемента (хранится в свойстве этапа выполнения ItemIndex) и затем отыскать строку в соответствующей ячейке массива Item ( ListBox1. Items [ListBox1. ItemIndex] ).

  2. Добавлять строку String1 в список с помощью метода Add класса TStrings –

ListBox1. Items . Add ( String1) .

Задание № 4


Написать программу по переносу данных из одного списка в другой:



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



Похожие:

Лабораторная работа №03 iconЛабораторная работа: создание мини-презентации «Памятники Кремля»
Лабораторная работа проводится в компьютерном классе, с подключением к сети Internet
Лабораторная работа №03 iconДокументы
1. /Lab1/Лабораторная работа 1.doc
2. /Lab2/Лабораторная...

Лабораторная работа №03 iconИ я забуду Покажи мне и я запомню, Дай мне действовать самому и я научусь. Китайская мудрость Тема: Лабораторная работа
Тема: «Лабораторная работа «Измерение работы и мощности тока в электрической лампочке»
Лабораторная работа №03 iconДокументы
1. /Nash/lab1/Лабораторная работа ь1.doc
2. /Nash/lab10/Лабораторная...

Лабораторная работа №03 iconЛабораторная работа №2 «Система безопасности Windows xp»
Лабораторная работа №2 «Система безопасности Windows xp» Цель работы: Изучить систему безопасности Windows xp
Лабораторная работа №03 iconЛабораторная работа «Работа в Windows c помощью основного меню. Использование технологии ole»
Запишите размер папки, выраженный в Мб (мегабайтах) в текстовый редактор блокнот
Лабораторная работа №03 iconЛабораторная работа «Работа с текстовыми фрагментами без помощи мыши»
Скопируйте последнее слово получившегося текста и вставьте его в начало текста один раз
Лабораторная работа №03 iconДокументы
1. /Базовые задачи на обработку массива.doc
2. /ЗадачиНаЛиниВетвление.doc
Лабораторная работа №03 iconДокументы
1. /laba/Лабораторная работа ь1.doc
2. /laba/Лабораторная...

Лабораторная работа №03 iconДокументы
1. /механизация/~$б работа ь4.doc
2. /механизация/~$бораторная...

Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов