Помощь в написании студенческих работ
Антистрессовый сервис

Приложение «Текстовый редактор» № 1

РефератПомощь в написанииУзнать стоимостьмоей работы

Для проекта необходимы диалоги OpenDialogl, Save Dialogl, FontDialogl. Настройка диалогов открытия и закрытия файлов OpenDialogl, SaveDialogl заключается в задании свойства Filter. Это свойство определяет, какие файлы «увидит» диалог при запуске. Если пользователь уже сохранял файл, то в FileWork будет что-то храниться. Если хранится ‘ т. е. ничего не хранится, то вызываем SaveAs. Если переменная… Читать ещё >

Приложение «Текстовый редактор» № 1 (реферат, курсовая, диплом, контрольная)

Цель работы — создать текстовый редактор, содержащий меню, стандартные диалоги для работы с текстовыми файлами, установку параметров шрифта.

В проекте используются компоненты Memo, MainMenu, OpenDialog, Save Dialog, FontDialog.

Для компонента TMemo установим следующие значения свойств:

  • • Align = alClient (компонент заполняет все свободное пространство формы);
  • • ScrollBars = ssBoth;
  • • Wordwrap = False.

Необходимо очистить введенный в Memol текст по умолчанию, удалив этот текст из свойства Lines.

На форме (в любом месте, в том числе и на других объектах) размещаются невизуальные компоненты — стандартные диалоги. Это диалоги открытия и сохранения файла для текстовых и графических файлов, установки цвета, параметров шрифта и т. д. Они размещены на вкладке Dialogs Палитры компонентов.

Для проекта необходимы диалоги OpenDialogl, Save Dialogl, FontDialogl. Настройка диалогов открытия и закрытия файлов OpenDialogl, SaveDialogl заключается в задании свойства Filter. Это свойство определяет, какие файлы «увидит» диалог при запуске.

Размещают диалог на форме, затем для настройки свойства Filter выделяют его поле в Инспекторе объектов и нажатием на кнопку … развертывают Редактор фильтра. Установим фильтр, т. е. те файлы, которые будет этот диалог отображать.

Редактор фильтра.

Рис. 90. Редактор фильтра

В левый столбец заносится поясняющая строка, а в правый — шаблон имени файла. В примере таких строк две. В первой строке (она будет видна в поле Тип файлов при открытии диалога) заданы только текстовые файлы, во второй — все файлы.

Для диалога SaveDialogl дополнительно задается свойство DefaultExt = = *.txt. Это расширение будет автоматически добавляться к имени при записи файла.

Для удобства управления проектом создается меню, при выборе пунктов которого будут вызываться диалоги.

Двойным нажатием на компонент MainMenul открывается окно. Теперь создадим меню «Файл» с элементами «Создать», «Открыть», «Сохранить», «Сохранить как…», разделительную полосу (в поле Caption в Инспекторе объектов вводится символ «-») и «Выход». Установим горячие клавиши в свойстве Shortcut.

Установка горячих клавиш.

Рис. 91. Установка горячих клавиш

Аналогично создаем меню «Правка»:

Меню «Правка».

Рис. 92. Меню «Правка»

Аналогично создаем меню «Формат»:

Меню «Формат».

Рис. 93. Меню «Формат»

Окошко редактора меню можно закрыть. На нашей форме уже появилось меню. Осталось написать реакцию программы на выбор пунктов. Щелкнем по меню «Файл», выберем «Выход».

Рис. 94. Выбор команды «Выход».

Рис. 94. Выбор команды «Выход».

После нажатия по меню «Выход» появляется окно редактора кода с уже готовой процедурой.

Пишем: Close;

Close и Forml. Close — это одно и тоже, так как форма является родителем, то имя родителя можно опускать.

procedure TForml. NlClick (Sender: TObject); begin Close; end;

Теперь после выбора пункта меню «Выход» программа закроется.

Для реализации переноса по словам в меню «Формат» выберем «Перенос по словам»:

procedure TForml. N14Click (Sender: TObject);

begin

If Memol. Wordwrap then begin

Memol.Wordwrap := false;

Memol.ScrollBars := ssBoth;

N14.Checked := false; end else begin

Memol.Wordwrap := True;

Memol.ScrollBars := ssVertical;

N14.Checked := True; end;

end;

Если уже установлен режим переноса по словам, убираем его и устанавливаем галочку на N14, и наоборот.

Для реализации функции «Сохранить как…» понадобится диалоговое окно сохранения документа. Воспользуемся компонентом jg|_ TSaveDialog на вкладке Dialogs. Создадим процедуру сохранения файла. Напишем этот код сразу после {$R *.dfm}.

Procedure SaveAs;

begin

If Forml.SaveDialogl.Execute then begin

Forml.Memol.Lines.SaveToFile (Forml.SaveDialogl.FileName);

FileWork:=Forml.SaveDialogl.FileName; end;

end;

Когда вызывается функция Execute компонента TSaveDialog, появляется диалог сохранения файла. Если пользователь нажмет кнопку «Сохранить», то функция Execute возвратит True, иначе False. Если возвратится True, то будет выполнена процедура SaveToFile, т. е. сохранение файла. В SaveDialogl. FileName хранится путь к файлу, который пользователь указывает в диалоге.

Следующим шагом выбираем в меню Файл —" Сохранить как… Далее записываем: SaveAs;

Когда пользователь выбирает пункт меню Сохранить как…, вызывается процедура SaveAs.

Для реализации функции Файл —" Сохранить вводится глобальная переменная FileWork, в которой будет храниться путь к файлу, с которым работает пользователь. Не забудьте объявить переменную в разделе Var перед implementation:

Var

Forml: TForml;

FileWork: String;

Для реализации функции Файл —" Сохранить пишем:

If FileWork = '' then SaveAs else Memol.Lines.SaveToFile (FileWork);

Если пользователь уже сохранял файл, то в FileWork будет что-то храниться. Если хранится ‘ т. е. ничего не хранится, то вызываем SaveAs. Если переменная FileWork не пустая, то сохраняем файл по тому пути, который указан в FileWork.

Для реализации функции «Создать» выбираем Файл —> Создать и записываем:

FileWork:=''; { первая строчка очищает FiLeMork }.

Memol.Clear; { вторая строчка очищает Memol}.

Для реализации функции «Открыть» существует G3| TOpenDialog. Свойство Filter надо изменить так же, как у SaveDialogl.

Компоненты TSaveDialog и TOpenDialog похожи. Диалог открытия вызывается так же — функцией Execute, которая возвращает True, если пользователь желает открыть файл.

Для реализации функции Файл —" Открыть пишем:

if OpenDialogl. Execute then begin

Memol.Lines.LoadFromFile (OpenDialogl.FileName);

FileWork := OpenDialogl. FileName; end;

Или другим способом:

With OpenDialogl do begin

If Execute then begin

Memol.Lines.LoadFromFile (OpenDialogl.FileName);

Forml.Caption := 'Проект «Редактор текстов» ' + FileName; end; end;

Реализация функций в меню «Правка» происходит по щелчку по меню:

  • — «Вырезать»: Memol. CutToClipboard;
  • — «Копировать»: Memol. CopyToClipboard;
  • — «Вставить»: Memol.PasteFromClipboard.

Для реализации функций в меню «Шрифт…» необходим компонент j^f TFontDialog. Функция для вызова такая же, как у компонентов TOpenDialog и TSaveDialog — Execute.

if FontDialogl. Execute then Memol. Font := FontDialogl. Font;

Эту строку можно переписать другим способом:

With FontDialogl do begin

If Execute then Memol. Font := Font;

End;

Если пользователь применил изменения, то свойству Font у компонента Memol присваиваем выбранные пользователем настройки шрифта. Они хранятся в свойстве Font у FontDialogl.

Основная часть программы написана.

Теперь необходимо сделать активной форму, чтобы в инспекторе объектов появились ее свойства, но из-за Memol, который растянут на всю форму, не получается это сделать. Существует несколько вариантов:

  • — выделить форму в Object TreeView;
  • — выделить Memol, затем зажать клавишу Shift и щелкнуть по Memol еще раз.

После активации формы изменяем заголовок окна: в свойстве Caption вводим «Блокнот». Свойство Position измените на poScreenCenter для того, чтобы форма появлялась по центру экрана.

При изменении размеров окна поле Memol также изменяет свои размеры благодаря тому, что свойство Align имеет значение alClient. При этом текст также переформатируется.

Остается добавить модуль ХРМап (если установлена операционная система ХР) в список модулей (секция uses):

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, XPMan;

Показать весь текст
Заполнить форму текущей работой