Файл: пособие по программированию на ДЕЛЬФИ.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.12.2024

Просмотров: 950

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Абдулгалимов г. Л.

Часть 2. Компоненты delphi

1. Компоненты страницы standard

2. Компоненты страницы additional

3.Компоненты страницы win 32

4. Компоненты страницы system

5. Компоненты страницы samples

Введение

ЧасТь 1 . Практикум по программированию в delphi Запуск и начало работы в среде delphi

Работа 1. Создание надписей и установка кнопок на форме

Работа 2. Ввод и обработка произвольных текстовых и числовых данных.

Работа 3. Создание главного и вспомогательного меню. Использование зависимых и независимых переключателей.

Работа 4. Создание и обработка табличных данных. Использование кнопок с фиксацией и с изображением

Var I:integer;

Работа 5. Создание и просмотр рисунков

Работа 6. Работа со списками, фигурами и регуляторами

Задачи для самоконтроля

Часть 2. Компоненты delphi

1. Компоненты страницы standard

1.1. TFrame - рама и шаблоны компонентов

1.2. TMainMenu - главное меню формы (программы)

1.3. TPopupMenu - вспомогательное (локальное) меню

1.7. TButton - кнопка

1.8. TCheckBox - независимый переключатель

1.11. TComboBox - раскрывающийся список выбора

1.12. TScrollBar - управление значением величины

1.13. TGroupBox - панель группирования

1.15. TPanel – панель

2. Компоненты страницы additional

2.1. TBitBtn - кнопка с изображением

2.2. TSpeedButton - кнопка для инструментальных панелей

2.3. TMaskEdit - специальный редактор

2.4. TStringGrid - таблица строк

2.5. TDrawGrid - произвольная таблица

2.6. TImage - отображение картинок

2.7. TShape - стандартная фигура

2.8. TBevel - кромка

2.10. TСheckListBox - группа независимых переключателей

2.11. TSplitter - компонент для изменения размеров

2.12. TStaticText - метка для отображения текста

2.13. TControlBar - инструментальная панель

3. Компоненты страницы win32

3.1. TTabControl - набор закладок

3.2. TPageControl - набор страниц с закладками

3.3. TImageList - хранилище изображений

3.4. TRichEdit - ввод и отображение rtf-текста

3.8. THotKey - ввод акселератора

3.10. TDateTimePicker - ввод и отображение даты/времени

3.12. TTreeView - дерево иерархии

3.13. TListView - список просмотра

3.15. TStatusBar - информационная панель

3.16. TToolBar и ToolButton - инструментальная панель и ее кнопки

3.17. TCoolBar и tCoolBand - инструментальная панель и полосы для нее

3.18. TPageScroller - панель с прокруткой

4. Компоненты страницы system

4.1. TTimer - таймер

4.2. TPaintBox - окно для рисования

4.3. TMediaPlayer - медиаплейер

5. Компоненты страницы samples

5.1. TGauge - индикатор величины

5.2. TColorGrid - выбор или отображение цвета

5.3. TSpinButton - спаренная кнопка

5.4. TSpinEdit - редактор для ввода целого числа

5.5. TDirectoryOutLine - отображение структуры каталогов

5.6. TCalendar - ввод и отображение даты

Приложения

1. Процедуры и функции для работы со строками

2. Пиктографические кнопки

Литература

Работа 1. Создание надписей и установка кнопок на форме

Надписи на компонентах можно менять с помощью свойства Caption (см. рис. В окне Инспектора объектов это свойство выделено). Для изменения атрибутов шрифта (стиль, размер, цвет и др.) пользуются свойством Font. Свойство Vizible используется для разрешения (значение True) или запрещения (значение False) отображения компонента на форме (после запуска программы). Свойство Enabled определяет возможность активизации данного компонента (Например, при значении False этого свойства кнопка не нажимается, пункт меню неактивен и т. д.). Вид курсора мыши над формой и над ее отдельными элементами задается свойством Cursor. Все компоненты имеют свойство Name, в котором хранятся их уникальные имена, присваиваемые им Delphi и которые могут быть изменены вами на свое усмотрение, но с соблюдением правил языка Pascal. Расположение компонентов относительно верхней и левой границ формы или другого контейнера, куда компоненты помещены (например, Panel), задаются свойствами: Top и Left. Размеры компонента (высота и ширина) задаются свойствами Height и Width. Последние четыре свойства меняются автоматически при выполнении соответствующих операций мышью или комбинаций клавиш Ctrl+<стрелки> и Shift+<стрелки>. Свойство Align производит упорядочение компонентов относительно друг друга или их контейнера или формы.

Пример 1. Создайте Delphi-программу, которая выводить окно с заголовком: «ПРИМЕР 1», с надписью «Моя первая программа» посередине окна, большими буквами (размер 24) красного цвета, а также с кнопкой «Далее», в нижней части окна. Причем при нажатии на эту кнопку надпись «Моя первая программа» сменится на – «СПАСИБО», а кнопка «Далее» исчезнет. Курсор мыши над надписью «СПАСИБО» пусть имеет вид: .

Решение. Приступим к процессу конструирования формы.

Запустите среду Delphi. Для изменения заголовка формы щелкните сначала на форму, а затем в окне Инспектора объектов выберите свойство Caption и измените его значение Form1 на ПРИМЕР 1. Для создания надписи на форме - одним щелчком левой кнопки мыши выберите компонент Label (т. е. в палитре компонентов, в главном окне, на закладке Standard), а затем щелкните в то место на форме, куда хотите нанести надпись. На форме появиться надпись «Label1», выделенная квадратиками. Измените значение свойства Caption на: «Моя первая программа». Для изменения атрибутов шрифта – щелкните сначала на свойство Font, а затем - на маленькую кнопку, которая появилась в конце этой строки. После этого откроется окно для ввода атрибутов шрифта созданной нами надписи. Изменим их по требованиям условия задачи. Перемещая с помощью мыши надпись можно расположить на любом месте формы. Для создания на форме кнопки «Далее» необходимо: выбрать компонент: Button (т. е. ), установить его на форму (в необходимое место), изменить размеры кнопки (растягивая или сдавливая с помощью мыши), нанести на кнопке надпись «Далее» (пользуясь свойствами: Caption и Font). Мы закончили конструирование формы. Запустите программу (нажмите F9). Получили окно первой вашей программы. Но нажатие кнопки «Далее» не вызывает никаких действий, потому что мы еще не написали программу обрабатывающую нажатие кнопки (т. е. не создан обработчик события OnClick для кнопки). Закройте окно вашей программы (нажатием крестика в верхнем правом углу окна), и вернитесь в среду Delphi.


Приступим к процессу кодирования. Для создания обработчика события OnClick – произведите двойной щелчок левой кнопкой мыши на соответствующем компоненте и мы автоматически попадем в окно кода и даже в «каркас» процедуры обработчика события OnClick приготовленного для нас средой Delphi, где нам остается написать только тело процедуры. Произведем двойной щелчок мыши на кнопке «Далее». Мы оказались в окне кода и внутри необходимой нам процедуры. Теперь вспомним, что нам требуется от кнопки: изменить свойство Caption на «СПАСИБО». Для этого вспомним имя (свойство Name) этой надписи. Так как мы имя не меняли, а по умолчанию Delphi присвоил ей имя: Label1. Запишем следующую строку в программу:

Label1.Caption:=’СПАСИБО’;

Запомните: имя компонента от его свойств и методов, в программной строке, разделяют точкой. Запустите программу и проверьте действие кнопки и закройте. Если учесть требования задачи, то в программу еще необходимо ввести следующие две строки:

Button1.Visible:=false; //кнопка исчезнет (Button1- это имя кнопки т. е. свойство Name) .

Label1.Cursor:=crNo; //курсор мыши над надписью Label1будет имеет вид:

Решение примера 1 завершено.

Упражнения

  1. Реализуйте на ПК Пример1.

  2. Внесите в Пример1 следующие изменения:

а) Кнопка «Далее» после ее нажатия, не исчезает, а становится неактивной;

б) Надпись на кнопке меняется на "отмена";

в) Размер кнопки становится почти в два раза больше;

г) Надпись «Спасибо» меняет цвет с красного на зеленый, размер с 24 на 48 , а расположение надписи становится ближе к верхнему краю окна;

д) Курсор мыши над надписью «спасибо» имеет вид: «песочных часов».

  1. Создать обработчик события OnClik для надписи «спасибо», следующих действий: при нажатии на надпись «спасибо» (один щелчок левой кнопкой мыши) исчезают данная надпись и кнопка «отмена», а на середине окна появляется надпись «Вот и все», со следующими атрибутами: размер букв - 72, шрифт- Times New Roman, стиль - полужирный курсив, цвет - синий.

  2. Составьте "Программу для развития навыков управления мышью и успокаивания нервов" : в окне поочередно появляются кнопки без надписей, разных размеров и форм, с разными координатами. Нажатие на кнопку вызывает ее исчезновение и появление другой и т.д. В процессе конструирования создайте произвольную заставку для программы с указанием названия программы имени программиста и кнопки «СТАРТ», при нажатии которой исчезает заставка и начинает работу программа. Заставку создайте на отдельной панели (компонент Panel).

  3. Составьте программу для изучения цифр и цветов для детей дошкольного возраста. В нижней части окна расположите десять кнопок с цифрами 0-9 и семь кнопок с цветами радуги. При нажатии каждой кнопки на все окно появляется соответствующая цифра выбранного цвета.



Работа 2. Ввод и обработка произвольных текстовых и числовых данных.

Для ввода и редактирования текста и чисел можно использовать однострочные и многострочные окна редактирования представляемые компонентами Edit и Memo. Основными свойствами этих компонентов, в которых содержатся вводимый и выводимый текст является: Text – для компонента Edit и Lines – для компонента Memo.

Пример 2. Создайте приложение, которое при нажа­тии кнопки перемножало бы два числа, введенных пользователем, и показывало бы результат умножения. Эти числа можете понимать как хотите: как длину двух сторон прямоугольника, и тогда результат - это площадь, или как текущий курс доллара и сумму в долларах, - тогда результатом будет рублевый эквивалент сум­мы и т. п.

Решение

При построении этого приложения мы используем новые типы компонен­тов - окна редактирования. Кроме того, для разнообразия, будем выводить резу­льтат в панель Panel. Сконструируем форму. Перенесите на нее со страницы Addi­tional два окна редактирования с присоединенными к ним метками LabeledEdit, а со страницы Standard - одну панель Panel, одну кнопку Button и одну метку Label для надписи. Разместите все это примерно так, как показано на рисунке а). Так вы можете поступить, если работаете с Delphi 6 и 7. Если вы работаете с более ранними версиями, то в них компонента LabeledEdit нет. Поэтому, вместо двух компонентов LabeledEdit вам надо будет перенести на форму два окна редактиро­вания Edit со страницы Standard и две метки. Начальный вид формы в этом слу­чае показан на рисунке б).

а) б)

Измените надписи в метках компонентов LabeledEdit на что-то осмысленное. Например, на «Число 1», «Число 2», «Результат» или на «Ширина», «Высота», «Площадь» в зависимости от того, что вы хотите понимать под соответствующими числами. Для этого щелкните на символе «+» в свойстве EditLabel этих компонен­тов и измените надпись в свойстве Caption раскрывшихся списков свойств меток. Полезно задать для меток различные атрибуты шрифта, как вы это делали в предыдущей работе.

Если вы работаете с Delphi 4 или 5, то сделайте соответствующие надписи во введенных вами дополнительных метках.


Замените свойство Caption вашей кнопки, например, на «Расчет». Очистите свойство Caption у панели. В метке над панелью напишите «Результат». В свойст­ве Text (текст) окон редактирования задайте «1» - начальное значение текста.

Попробуйте изменить такие свойствами панели, как BevelInner и Bevel­Outer, которые определяют вид основного поля и рамки панели (утопленный - bvLowered или выпуклый - ­bvRaised). Например, можете установить ВеvеlIn­ner = bvLowered и BevelOuter = bvRaised.

Осталось написать обработчик щелчка кнопки. Единственный оператор этого обработчика может иметь вид:

Panel1.Caption := FloatToStr (StrToFloat (LabeledEdit1.Text) * StrToFloat(LabeledEdit2.Text)) ;

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

Panel1.Caption := LabeledEdit1.Text + ' * '+ LabeledEdit2.Text + ' = ' + FloatToStr (StrToFloat (LabeledEdit1.Text) * StrToFloat(LabeledEdit2.Text)) ;

Для Delphi5 изменяются только имена окон: вместо Labeled­Edit1 и LabeledEdit2 надо писать Edit1 и Edit2.

Попробуем проанализировать приведенный оператор. Начало его вам уже зна­комо: вы присваиваете свойству Caption компонента Panel1 значение выражения, указанного в правой части оператора. Это выражение должно иметь тип строки текста. Начинается строка с текста, введенного пользователем в окно редактирова­ния LabeledEdit1 - этот текст хранится в свойстве Text. Затем вы прибавляете к этому тексту символы «*». Знак «+» в выражениях для строк означает конкате­нацию - сцепление двух строк символов. Затем аналогичным образом к строке до­бавляется текст второго окна редактирования и символ «=». После этого мы хо­тим вставить в строку результат перемножения двух целых чисел. Этот результат будет числом и, чтобы вставить его в текст, надо сначала преобразовать это число в строку. Эту операцию выполняет функция FloatToStr, которая преобразует за­данный ей параметр типа действительного числа в строку символов. Осталось по­лучить само произведение двух чисел. Но числа заданы пользователем в виде тек­стов - строк символов в окнах редактирования. Прежде, чем перемножать, эти строки надо перевести в числа. Эту операцию выполняет функция StrТoFloat, пре­образующая символьное изображение числа в его значение типа действительного числа. Знак *, указанный между двумя вызовами функции StrToFloat, обознача­ет операцию умножения. Программа готова. Можете его сохранить, выполнив команду: File - Save All.

Упражнения

  1. Реализуйте Пример 2 на ПК.

  2. Внесите в Пример 2 следующие изменения: