- •Оглавление
- •20.1. Практическая работа 83
- •Глава I. Знакомство со средой Delphi
- •1.1. Общие сведения
- •Глава II. Создание приложений в среде Delphi
- •2.1. Характеристика проекта
- •2.2. Файл проекта
- •2.3. Файл формы
- •2.4. Файл модуля
- •2.5. Файл ресурсов
- •2.6. Практическая работа
- •Глава III. Использование компонентов
- •3.1. Понятие компонента
- •3.2. Страница Standard.
- •3.3. Страница Additional.
- •3.4. Страница Win32.
- •3.5. Страница System.
- •3.6. Страница Data Access.
- •3.7. Страница Data Controls.
- •3.8. Страница qReport.
- •3.9. Страница Dialogs.
- •3.10. Основные свойства объектов.
- •Глава IV. Работа с кнопками
- •4.1. Стандартная кнопка Button.
- •4.2. Кнопка с рисунком BitBtn.
- •4.3. Кнопка быстрого доступа SpeedButton.
- •4.4. Практическая работа
- •4.5. Самостоятельная работа
- •Глава V. Поля редактирования
- •5.1. Edit-однострочный редактор
- •5.2. Memo-многострочный редактор
- •5.3. Практическая работа
- •5.4. Самостоятельная работа
- •5.5. MaskEdit - специальный редактор
- •5.6. Практическая работа
- •6.3. Структура программы.
- •6 .4. Типы данных
- •6.4.1. Простые типы данных
- •6.4.2. Структурные типы данных
- •6.4.3. Функции и процедуры работы со строками
- •6.4.4. Функции преобразования строк в другие типы.
- •6.5. Операторы языка
- •6.6. Практическая работа.
- •6.8. Самостоятельная работа
- •6.9. Самостоятельная работа
- •6.10. Самостоятельная работа
- •6.11. Обработка исключительных ситуаций
- •Глава VII. Классы в Object Pascal.
- •7.1. Понятие класса
- •7.2. Поля класса
- •7.3. Методы класса
- •Глава VIII. Процедуры и функции, реализующие диалоги
- •8.1. Процедура ShowMessage.
- •8.2. Функция MessageDlg.
- •8.3. Функция MessageDlgPos.
- •8.4. Функция InputBox
- •9.2. Практическая работа
- •9.3. Самостоятельная работа
- •Глава X. Работа со списками
- •10.1. Простой список ListBox.
- •10.2. Комбинированный список ComboBox.
- •10.3. Общая характеристика списков
- •10.3.1. Свойства
- •10.3.2. Методы
- •10.4. Объект UpDown
- •10.5. Практическая работа
- •10.6. Самостоятельная работа
- •10.7. Самостоятельная работа
- •10.8. Самостоятельная работа
- •Глава XI. Объекты MainMenu и PopupMenu.
- •11.1. Основные свойства объектов
- •11.2. Игра «Крестики-нолики»
- •11.3. Самостоятельная работа
- •Глава XII. Использование переключателей.
- •12.1. Объект CheckBox
- •12.2. Объект RadioButton
- •12.3. Объект RadioGroup
- •12.4. Практическая работа
- •12.5. Самостоятельная работа
- •12.6. Самостоятельная работа
- •Глава XIII. Регуляторы величины
- •13.1. Объект ScrollBar
- •13.2. Практическая работа
- •13.3.Объект TrackBar
- •13.4. Самостоятельная работа
- •13.5. Самостоятельная работа
- •13.6. Компонент ProgressBar
- •Глава XIV. Объединение элементов управления
- •14.1. Объект Panel.
- •14.2. Область прокрутки ScrollBox
- •14.3. Фреймы Frame.
- •14.4. Практическая работа
- •14.5. Самостоятельная работа
- •Глава XV. Работа с таблицами
- •15.1. Объекты StringGrid и DrawGrid
- •15.2. Проект «Олимпиада»
- •15.3. Практическая работа
- •15.4. Самостоятельная работа
- •15.5. Самостоятельная работа
- •Глава XVI.Страница Dialogs
- •16.1. Стандартные диалоговые окна Windows
- •16.2. Общие свойства OpenDialog и SaveDialog:
- •16.3. Общие свойства OpenPicyureDialog и SavePictureDialog:
- •16.4. Практическая работа
- •16.5.Объект FontDialog
- •16.6. Объект ColorDialog
- •16.7. Практическая работа
- •16.8. Объекты FindDialog и ReplaceDialog
- •16.9. Проект «Примитивный редактор текста»
- •Глава XVII. Элементы с закладками
- •17.1. Однострочный блокнот TabControl.
- •17.2. Практическое задание
- •17.3. Самостоятельная работа
- •17.4. Многостраничный блокнот PageControl.
- •17.5. Практическая работа
- •Глава XVIII. Иерархические структуры
- •18.1. Объект TreeView
- •18.2. Практическая работа
- •18.3. Самостоятельная работа
- •18.4.Объект ListView
- •18.5. Практическое работа
- •Глава XIX. Работа с датами и временем
- •19.1. Объект DateTimePicker
- •19.2. Объект MonthCalendar
- •19.3. Объект Calendar.
- •19.4. Самостоятельная работа
- •19.5. Объект Timer
- •19.6. Практическая работа
- •19.7. Самостоятельная работа
- •Глава XX. Объект Animate
- •20.1. Практическая работа
- •20.2. Игра «угадай число»
- •Глава XXI. Панели инструментов
- •21.1. Объект ToolBar.
- •21.2. Объект ControlBar
- •21.3. Создание текстового редактора с использованием объекта RichEdit
- •Глава XXII. Графика в Delphi
- •22.1. Класс tCanvas
- •22.2. Класс tFont.
- •22.3. Класс tPen.
- •22.4. Класс tBrush
- •22.5. Класс tGraphic
- •22.6. Класс tPicture
- •22.7. PaintBox - окно для рисования
- •22.8. Практическая работа
- •22.9. Практическая работа
- •22.10. Самостоятельная работа
- •22.11. Объект Shape
- •22.12. Самостоятельная работа
- •22.13. Создание графического редактора
16.6. Объект ColorDialog
Компонент создает и обслуживает стандартное окно выбора цвета.
Свойство |
Значение |
Color |
Содержит выбранный цвет |
CustomColors |
Содержит до 16 цветов, определенных пользователем. Каждая строка имеет следующий формат: ColorX=HHHHHH, где X – буква от А до Р, определяющая номер цвета, HHHHHH –шестнадцатеричное представление цвета в формате RGB. |
Options |
Определяет настройку окна: cdFullOpen – паказывать с развернутчм окном выбора цвета пользователем; cdPreventFullOpen – запретить показ окна выбора цвета пользователя; cdSolidColor – выбирать ближайший сплошной цвет; |
16.7. Практическая работа
С
оздадим
приложение, на примере которого рассмотрим
работу с диалогами выбора шрифта и
цвета. На форме расположим компоненты
Button1, Button2,
Label1, ColorDialog1(CD1)
и FontDialog1(FD1)
Кнопка Button1 вызывает диалог выбора шрифта для текста, содержащегося в Label1. Кнопка Button2 вызывает диалог выбора цвета для окна приложения.
procedure TForm1.Button1Click(Sender: TObject);
begin
if FD1.execute then
label1.font:=FD1.font;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if CD1.execute then
Form1.color:=CD1.color;
end;
16.8. Объекты FindDialog и ReplaceDialog
Стандартные диалоговые окна для поиска и замены текстового фрагмента
Свойство |
Значение |
FindText |
Указывает образец для поиска |
Position |
Содержит горизонтальную и вертикальную позицию верхнего левого угла места появления окна |
Options |
Определяет настройку диалога: frDown – устанавливает поиск вперед по тексту frFindNext – сообщает программе, что пользователь нажал кнопку «Найти далее» frReplace – используется в компоненте ReplaceDialog и указывает на необходимость замены текущего выбора frReplaceAll - используется в компоненте ReplaceDialog и указывает на необходимость замены всех вхождений образца поиска |
ReplaseText |
Содержит текст замены |
Для компонентов определены следующие события:
OnFind – возникает при нажатии на кнопку «Найти далее». Обработчик события находит образец в тексте и показывает его пользователю.
OnReplace - возникает при нажатии кнопки «Заменить» или «Заменить все»
16.9. Проект «Примитивный редактор текста»
Создадим редактор, в котором можно создавать, просматривать, сохранять текстовые файлы, изменять шрифт и цвет символов, искать нужное слово.
Разместите на форме компонент Memo и MainMenu с соответствующими пунктами: Файл/(Создать, Открыть, Сохранить, Выход), Формат/(Шрифт, Цвет), Правка/(Найти, Заменить), и панель состояния StatusBar
Файл/Создать
procedure TForm1.New1Click(Sender: TObject);
begin
memo1.clear;
StatusBar1.SimpleText:=’’;
end;
Файл/Открыть
procedure TForm1.Open1Click(Sender: TObject);
begin
OpenDialog1.Filter:='Текстовые файлы|*.txt';
If OpenDialog1.Execute then
memo1.Lines.LoadFromFile(OpenDialog1.FileName);
StatusBar1.SimpleText:=OpenDialog1.FileName;
end;
Файл/Сохранить
procedure TForm1.Save1Click(Sender: TObject);
begin
If SaveDialog1.Execute then
if SaveDialog1.FileName<>'' then
Memo1.Lines.SaveToFile(SaveDialog1.FileName)
end;
Файл/Выход
procedure TForm1.Exit1Click(Sender: TObject);
begin
If CloseQuery then Form1.Close;
end;
Формат/Шрифт
procedure TForm1.Font1Click(Sender: TObject);
begin
If fontDialog1.Execute then
Memo1.Font:=Fontdialog1.Font;
end;
Формат/Цвет
procedure TForm1.Color1Click(Sender: TObject);
begin
if ColorDialog1.Execute then
Memo1.Color:=colorDialog1.Color;
end;
Процедура на пункт меню Правка/Найти
procedure TForm1.Find1Click(Sender: TObject);
begin
FindDialog1.Execute;
end;
Процедура на компонент FindDialog
procedure TForm1.FindDialog1Find(Sender: TObject);
begin
If Pos(FindDialog1.FindText, Memo1.Text)<>0 then
begin
Memo1.HideSelection:=False;
Memo1.SelStart:=Pos(FindDialog1.FindText, Memo1.Text)-1;
Memo1.SelLength:=Length(FindDialog1.FindText);
end
else
MessageDlg ('Строка '+FindDialog1.FindText+' не найдена',mtConfirmation,[mbYes],0);
end;
Процедура на пункт меню Правка/Заменить
procedure TForm1.Replace1Click(Sender: TObject);
begin
ReplaceDialog1.Execute;
end;
Процедура на компонент ReplaceDialog
procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
Label 10;
begin
Memo1.HideSelection:=True;
10:
If Pos(ReplaceDialog1.FindText, Memo1.Text)<>0 then
begin
Memo1.Selstart:=Pos(Replacedialog1.FindText, Memo1.Text);
Memo1.SelLength:=Length(Replacedialog1.FindText);
Memo1.Seltext:=Replacedialog1.ReplaceText;
Goto 10;
end;
Memo1.HideSelection:=false;
end;
end.
