Создание Delphi Notepad: откройте и сохраните

При работе с различными приложениями Windows и DelphiМы привыкли работать с одним из стандартных диалоговые окна для открытия и сохранения файла, поиска и замены текста, печати, выбора шрифтов или установки цветов.

В этой статье мы рассмотрим некоторые из наиболее важных свойств и методов этих диалогов с особым акцентом на открыто и Сохранить диалоговые окна

Общие диалоговые окна находятся на вкладке Диалоги палитры компонентов. Эти компоненты используют преимущества стандартных диалоговых окон Windows (расположенных в DLL в вашем каталоге \ Windows \ System). Чтобы использовать общее диалоговое окно, нам нужно поместить соответствующий компонент (компоненты) в форму. Общие компоненты диалогового окна невизуальны (не имеют визуального интерфейса во время разработки) и поэтому невидимы для пользователя во время выполнения.

TOpenDialog и TSaveDialog

Диалоговые окна «Открыть файл» и «Сохранить файл» имеют несколько общих свойств. File Open обычно используется для выбора и открытия файлов. Диалоговое окно «Сохранить файл» (также используется как диалоговое окно «Сохранить как») используется при получении имени пользователя от пользователя для сохранения файла. Некоторые из важных свойств TOpenDialog и TSaveDialog:

instagram viewer

  • Параметры свойства очень важны в определении окончательного вида коробки. Например, строка кода вроде:
    с OpenDialog1 делатьОпции: = Опции + [ofAllowMultiSelect, ofFileMustExist];
    сохранит уже установленные параметры и позволит пользователям выбирать более одного файла в диалоговом окне вместе с генерацией сообщения об ошибке, если пользователь пытается выбрать несуществующий файл.
  • InitialDir свойство используется для указания каталога, который будет использоваться в качестве исходного каталога при отображении диалогового окна файла. Следующий код гарантирует, что Начальный каталог диалогового окна Открыть - это каталог запуска приложений.
    SaveDialog1.InitialDir: = ExtractFilePath (Приложение. ExeName);
  • Фильтр Свойство содержит список типов файлов, из которых пользователь может выбирать. Когда пользователь выбирает тип файла из списка, в диалоговом окне отображаются только файлы выбранного типа. Фильтр может быть легко установлен во время разработки через диалоговое окно «Редактор фильтров».
  • Чтобы создать маски файлов в программном коде, присвойте значение свойству Filter, которое состоит из описания и маски, разделенной символом вертикальной черты (трубы). Как это:
    OpenDialog1.Filter: = 'Текстовые файлы (* .txt) | * .txt | Все файлы (*. *) | *. * ';
  • Имя файла свойство. Когда пользователь нажимает кнопку «ОК» в диалоговом окне, это свойство будет содержать полный путь и имя файла выбранного файла.

казнить

Чтобы фактически создать и отобразить общее диалоговое окно, нам нужно обработать казнить метод конкретного диалогового окна во время выполнения. За исключением TFindDialog и TReplaceDialog, все диалоговые окна отображаются модально.

Все общие диалоговые окна позволяют нам определить, нажимает ли пользователь кнопку «Отмена» (или нажимает ESC). Так как метод Execute возвращает True, если пользователь нажал кнопку OK, мы должны отловить щелчок на кнопке Cancel, чтобы убедиться, что данный код не выполняется.

если OpenDialog1.Execute тогда
ShowMessage (OpenDialog1.FileName);

Этот код отображает диалоговое окно «Открыть файл» и отображает выбранное имя файла после «успешного» вызова метода для выполнения (когда пользователь нажимает кнопку «Открыть»).

Примечание: Execute возвращает True, если пользователь нажал кнопку OK, дважды щелкнул имя файла (в случае диалоговых окон файлов) или нажал Enter на клавиатуре. Execute возвращает значение False, если пользователь нажал кнопку «Отмена», нажал клавишу Esc, закрыл диалоговое окно с помощью кнопки закрытия системы или комбинации клавиш Alt-F4.

Из кода

Чтобы работать с диалоговым окном Open (или любым другим) во время выполнения без размещения компонента OpenDialog на форме, мы можем использовать следующий код:

процедура TForm1.btnFromCodeClick (Sender: TObject); вар OpenDlg: TOpenDialog; начать OpenDlg: = TOpenDialog. Создать (Self); {установите параметры здесь ...}если OpenDlg. казнить тогданачать
{код, чтобы сделать что-то здесь}
конец; OpenDlg. Свободно; конец;

Примечание. Перед вызовом Execute мы можем (должны) установить любые свойства компонента OpenDialog.

MyNotepad

Наконец, пришло время сделать реальное кодирование. Основная идея этой статьи (и нескольких других, которые появятся в будущем) заключается в создании простого приложения MyNotepad - автономного приложения для Windows, такого как Notepad.
В этой статье мы представляем диалоговые окна «Открыть» и «Сохранить», поэтому давайте посмотрим на них в действии.

Шаги для создания пользовательского интерфейса MyNotepad:
. Запустите Delphi и выберите File-New Application.
. Поместите одну заметку, OpenDialog, SaveDialog две кнопки на форме.
. Переименуйте Button1 в btnOpen, Button2 в btnSave.

кодирование

1. Используйте Object Inspector, чтобы назначить следующий код событию FormCreate:

процедура TForm1.FormCreate (Отправитель: TObject); начатьс OpenDialog1 делатьначать
Параметры: = Параметры + [ofPathMustExist, ofFileMustExist]; InitialDir: = ExtractFilePath (Приложение. ExeName); Фильтр: = 'Текстовые файлы (* .txt) | * .txt'; конец; с SaveDialog1 делатьначать
InitialDir: = ExtractFilePath (Приложение. ExeName); Фильтр: = 'Текстовые файлы (* .txt) | * .txt'; конец; Memo1.ScrollBars: = ssBoth; конец;

Этот код устанавливает некоторые свойства диалога Open, как обсуждалось в начале статьи.

2. Добавьте этот код для события Onclick кнопок btnOpen и btnSave:

процедура TForm1.btnOpenClick (Отправитель: TObject); начатьесли OpenDialog1.Execute тогданачать
Form1.Caption: = OpenDialog1.FileName; Memo1.Lines. LoadFromFile. (OpenDialog1.FileName); Memo1.SelStart: = 0; конец; конец;
процедура TForm1.btnSaveClick (Отправитель: TObject); начать
SaveDialog1.FileName: = Form1.Caption; если SaveDialog1.Execute тогданачать
Memo1.Lines. Сохранить в файл. (SaveDialog1.FileName + '.txt'); Form1.Caption: = SaveDialog1.FileName; конец; конец;

Запустите свой проект. Вы не можете в это поверить; Файлы открываются и сохраняются так же, как с «настоящим» Блокнотом.

Заключительные слова

Вот и все. Теперь у нас есть собственный «маленький» блокнот.

instagram story viewer