КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Тема: Создание проекта с использованием компонентов стандартных диалогов
Лабораторное занятие № 12
Цель: Приобретение навыков настройки свойств и программирования обработчиков событий компонентов диалога OpenDialog и SaveDialogсистеме Delphi. ТО и ПО: OC Windows 7, Delphi 2010. МО: методические указания. Задание: Требуется разработать проект, демонстрирующий загрузку текста из текстового файла в Delphi–приложение и копирование выделенного фрагмента текста в буфер обмена. Описание хода выполнения работы: 1 этап: Создание меню программы Запустила систему программирования Delphi 2010. Создала Delphi – проект. Со страницы Standart палитры компонентов поместила на форму один компонент TMainMenu1. Двойным щелчком мыши активизировала компонент меню. Открылось окно конструктора меню. Открыла контекстное меню, нажав правую кнопку мыши, в появившемся окне выбрала команду Insert (рис. 12.1).
Рисунок 12.1
В инспекторе объектов в свойстве Caption ввела «Файл». Переместилась на пункт ниже и аналогичным образом ввела пункт «Открыть», затем пункт «Выход». Создала остальные пункты меню, это показано на рисунке 12.2.
Рисунок 12.2
2 этап: Размещение и настройка компонентов приложения Со страницы Standart палитры компонентов поместила на форму компонент Memo1. Изменила значение следующих свойств: ReadOnly:=tue – запрет на редактирование пользователем просматриваемого текста. HideSelection:=false – помечать цвет выделенный текст. ScrollBars:=ssBoth – наличие горизонтальной и вертикальной полос прокрутки. Удалила текст «Memo1», содержащийся в окне Memo1. Со страницы Dialogs палитры компонентов перенесла на форму компоненты, реализующие диалоговые окна открытия файлов OpenDialog и сохранения фалов SaveDialog. Выполнила настройку диалогов. Для этого выделила компонент OpenDialog1. С помощью его свойства Filter задала типы файлов, появляющиеся в диалоге в выпадающем списке «Тип файла». Для этого в Object Inspector выделила это свойство и нажала кнопку с многоточием, чтобы вызвать редактор фильтров. В открывшемся окне редактора задала два фильтра: Текстовые файлы - *.txt Все файлы - *.*. С помощью свойства FilterIndex задала номер фильтра, который будет по умолчанию показан пользователю в момент открытия диалога, номер равен 1. Аналогично настроила диалог SaveDialog1. Кроме этого, в значение его свойства DefaultExt написала txt. Щелкнула по знаку плюс рядом со свойством Options и включила опцию ofOverwitePrompt, выбрав в случае если пользователь при сохранении файла напишет имя уже существующего файла, об этом будет выдано сообщение. 3 этап: Программирование обработчиков событий Сначала объявила переменные, которые будут использоваться в программе: файловую переменную FileVar типа Текстовый файл, используемую для доступа к файлам, и строковую переменную St, в которой будут храниться текстовая строка. Для этого в тексте модуля, ниже ключевого слова implementation, записала: Var FileVar: TextFile; St: string; В главном меню, которое я спроектировала у пункта «Открыть» создала событие OnClick, щелкнув на нем мышью. Для команды Открыть раздела меню Файл в обработчик события OnClick написала следующий код: If OpenDialog1.Execute Then Memo1.Lines.LoadFromFile (OpenDialog1.FileName); Для команды «Выход» раздела меню Файл в обработчик написала следующий код: Сlose; Для команды «Копировать» раздела меню Правка в обработчик написала следующий код: Memo1.CopyToClipboard; Для команды «Выделить» раздела меню Файл в обработчик написала следующий код: Memo1.SelectAll; 4 этап: Модернизация приложения. Добавила для пункта меню «Файл» подпункты: Создать, Сохранить как, Печать. Добавила для пункта меню «Правка» подпункт «Найти». Добавила пункт «Формат», содержащий команду «Шрифт». После разделов «Сохранить как», «Печать» и «Выделить» вставила разделители. Для этого с помощью конструктора меню создала новый раздел. В значении его свойства Caption написала символ минус. Редактирование одного пункта представлено на рисунке 12.3.
Рисунок 12.3
Со страницы Dialogs палитры компонентов поместила на форму следующие диалоги: PrinterSetupDialog, PrintDialog, FontDialog. Для упрощения алгоритма поиска текста удалила из диалога FindDialog1 некоторые опции: frHideWholeWord:=true – отключение опции Только словом целиком; frHideMatchCase:=true – отключение опции С учетом регистра; frHideUpDown:=true – отключение опции Вверх и Вниз. Для команды «Создать» раздела меню Файл в обработчик события OnClick написала следующий код: Memo1.Clear; Для команды «Открыть» раздела меню Файл в обработчик события OnClick написала следующий код: If OpenDialog.Execute Then Memo1.Lines.LoadFromFile (OpenDialog1.FileName); Для команды «Сохранить как» раздела меню Файл в обработчик события OnClick написала следующий код: If SaveDialog.Execute Then Memo1.Lines.SaveToFile (OpenDialog1.FileName); Для команды «установка принтера» раздела меню Файл в обработчик события OnClick написала следующий код: PrinterSetupDialog1.Execute; Написала обработчик события команды «Печать» раздела меню Файл. Для этого, сначала подключила модуль Delphi, который называется Printers. Фрагмент кода: uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, Printers; Затем задала событие OnClick для команды «Печать» раздела меню Файл и написала код, выполняющий печать текста, хранящегося в компоненте Memo1. Обработчик этого события имеет вид: procedure TForm10.N9Click(Sender: TObject); var printtxt:textfile; i:integer; begin if printdialog1.execute then begin assignprn(printtxt); for i:=0 to memo1.Lines.Count - 1 do writeln(printtxt,memo1.Lines[i]); closefile(printtxt); end; end; Для команды «Найти» раздела меню Правка в обработчик написала следующий код: FindDialog1.Execute; Для команды «Найти» раздела меню Правка в обработчик написала следующий код: If FontDialog1.Execupe Then Memo1.Font:=FontDialog1.Font; Полный код разработанного проекта: unit Unit10; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, Printers; type TForm10 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; Memo1: TMemo; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; N2: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N12: TMenuItem; N13: TMenuItem; N14: TMenuItem; N15: TMenuItem; N11: TMenuItem; N16: TMenuItem; PrinterSetupDialog1: TPrinterSetupDialog; PrintDialog1: TPrintDialog; FindDialog1: TFindDialog; FontDialog1: TFontDialog; N17: TMenuItem; procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N17Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N15Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form10: TForm10; implementation var fileVar: TextFile; St:string; {$R *.dfm}
procedure TForm10.N11Click(Sender: TObject); begin finddialog1.Execute(); end; procedure TForm10.N15Click(Sender: TObject); begin if fontdialog1.Execute then memo1.Font:=fontdialog1.font; end; procedure TForm10.N17Click(Sender: TObject); begin if Opendialog1.execute then memo1.Lines.LoadFromFile(opendialog1.filename); end; procedure TForm10.N2Click(Sender: TObject); begin memo1.clear; memo1.ReadOnly:=false; end; procedure TForm10.N3Click(Sender: TObject); begin printersetupdialog1.execute; end; procedure TForm10.N4Click(Sender: TObject); begin close; end; procedure TForm10.N6Click(Sender: TObject); begin memo1.CopyToClipboard; end; procedure TForm10.N7Click(Sender: TObject); begin memo1.SelectAll;end; procedure TForm10.N8Click(Sender: TObject); beginif savedialog1.Execute then memo1.Lines.SaveToFile(savedialog1.filename);end; procedure TForm10.N9Click(Sender: TObject); var printtxt:textfile; i:integer; begin if printdialog1.execute then begin assignprn(printtxt); for i:=0 to memo1.Lines.Count - 1 do writeln(printtxt,memo1.Lines[i]); closefile(printtxt); end; end; end.
Вывод: В ходе лабораторного занятия создала проект с использованием компонентов стандартных диалогов. В ходе создания проекта приобрела навыки настройки свойств и программирования обработчиков событий компонентов диалога OpenDialog и SaveDialog в системе Delphi.
Дата добавления: 2014-12-25; Просмотров: 2241; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |