Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 2184; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.036 сек.