Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Компоненты OpenDialog, SaveDialog, OpenPictureDialog, SavePictureDialog




 

Компоненты OpenDialog «Открыть файл» и SaveDialog «Сохранить

файл как...»используются в большинстве приложений.

Свойства этих компонентов одинаковы. Основное свойство, в котором

возвращается в виде строки выбранный пользователем файл, - FileName.

Значение этого свойства можно задать и перед обращением к диалогу. Тогда

оно появится в диалоге как значение по умолчанию в окне Имя файла.

Типы искомых файлов, появляющиеся в диалоге в выпадающем

списке Тип файла, задаются свойством Filter. В процессе проектирования

это свойство задается с помощью редактора фильтров, который вызывается

нажатием кнопки с многоточием около имени этого свойства в Инспекторе

Объектов.

Свойство Filterlndex определяет номер фильтра, который будет по

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

значение Filterlndex = 1 задает по умолчанию первый фильтр.

Свойство InitialDir определяет начальный каталог, который будет

открыт в момент начала работы пользователя с диалогом. Если значение

этого свойства не задано, то открывается текущий каталог или тот, который

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

диалогу в процессе выполнения данного приложения.

Свойство DefaultExt определяет значение расширения файла по

умолчанию. Если значение этого свойства не задано, пользователь должен

указать в диалоге полное имя файла с расширением. Если же задать значение

DefaultExt, то пользователь может писать в диалоге имя без расширения. В

этом случае будет принято заданное расширение.

Свойство Title позволяет вам задать заголовок диалогового окна. Если

это свойство не задано, окно открывается с заголовком, определенным в

системе (например, «Открытие файла»). Но можно задать свой заголовок,

подсказывающий пользователю ожидаемые действия. Например, «Укажите

имя открываемого файла».

Свойство Options определяет условия выбора файла. Множество

опций, которые можно установить программно или во время

проектирования включает множество опций, например:

 

ofAllowMultiSelect -позволяет пользователю выбирать несколько

файлов;

 

OverwritePromofpt - в случае, когда при сохранении файла делается

попытка

записать поверх существующего файла, запрашивается необходимость сохранения существующего

файла;

ofPathMustExist -генерирует сообщение об ошибке, если указан неверный каталог в имени файла;

оfOldStyleDialog - создает окно диалога в старом стиле и т.д.


 

Если задана опция разрешения множественного выбора файлов, то

список выбранных файлов можно прочитать в свойстве Files типа TStrings.

В компонентах диалогов открытия и сохранения файлов

предусмотрена возможность обработки ряда событий.

Событие OnCanClose возникает при нормальном закрытии

пользователем диалогового окна после выбора файла. При отказе пользователя

от диалога — нажатии кнопки Отмена, клавиши Esc и т.д. событие

OnCanClose не наступает.

Кроме этого возникают события OnFolderChange — изменение каталога,

OnSelectionChange — изменение имени файла, OnTypeChange — изменение

типа файла.

 

Пример:

 

Пусть приложение включает окно редактирования RichEditl, в

которое по команде меню MainMenu Открыть загружается текстовый файл и

после каких-то изменений, сделанных пользователем, — сохраняется по

команде Сохранить текст в том же файле, а по команде Сохранить как — в

файле с другим именем.

 

Предположим, что вы оставили их имена по умолчанию —

OpenDialogl и SaveDialogl. Поскольку после чтения файла вам надо

запомнить его имя, чтобы знать под каким именем потом его сохранять, вы

можете определить для этого имени переменную, назвав ее, например,

MyFName. Для этого в модуле формы объявите эту глобальную переменную:

AnsiString FName = "";

Тогда обработка команды Открыть может сводиться к следующему

оператору:

 

 

if(OpenDialogl->Execute())

{MyFName = OpenDialogl->FileName;

RichEditl->Lines->LoadFromFile(OpenDialogl->FileName);

}

Этот оператор вызывает диалог, проверяет, выбрал ли пользователь

файл (если выбрал, то функция Execute возвращает true), после чего имя

выбранного файла (OpenDialogl->FileName) сохраняется в переменной

MyFName и файл загружается в текст RichEditl методом LoadFromFile.

Обработка команды Сохранить как выполняется операторами:

SaveDialogl->FileName = FName;

if (SaveDialogl->Execute())

{FName = SaveDialogl->FileName;


 

RichEditl->Lines->SaveToFile(SaveDialogl-

>FileName); }

Первый из этих операторов присваивает свойству FileName компонента

SaveDialogl запомненное имя файла. Это имя по умолчанию будет предложено

пользователю при открытии диалога. Следующий оператор открывает диалог

и, если пользователь выбрал в нем файл, запоминает новое имя файла и сохра-

няет в файле с этим именем текст компонента RichEditl.

Обработка команды Сохранить выполняется операторами

If (FName!= "")

RichEditl->Lines->SaveToFile(FName);

Else

if (SaveDialogl->Execute())

{FName=SaveDialogl->FileName;

RichEditl->Lines->SaveToFile(SaveDialogl->FileName);}

Если имя файла FName не равно пустой строке, т.е. известно, то нет

необходимости обращаться к какому- то диалогу. Текст сохраняется методом

SaveToFi1е. Если же имя файла неизвестно, то текст сохраняется с помощью

диалога Save-Dialogl так же, как было рассмотрено выше.

 

Рассмотренные диалоги открытия и сохранения файлов относятся к

файлам произвольного типа.

 

В библиотеке C++Builder 5.0 имеются также специализированные

диалоги открытия и сохранения графических файлов: OpenPictureDialog и

SavePictureDialog, они отличаются удобной возможностью просматривать

изображения в процессе выбора файла.

Свойства компонентов OpenPictureDialog и SavePictureDialog ничем не

отличаются от свойств компонентов OpenDialog и SaveDialog. Единственное

отличие — заданное значение по умолчанию свойства Filter в

OpenPictureDialog и SavePictureDialog. В этих компонентах заданы

следующие фильтры:

 

All(*.jpg;*.jpeg;*.bmp;*.ico;*.emf;*.wmf)

JPEG Image File (*.jpg)

 

Bitmaps (*.bmp)

Icons (*.ico)

Enhanced Metafiles (*.emf)

Metafiles (*.wmf)

 

В этих фильтрах перечислены все типы графических файлов, с

которыми может работать диалог. Так что вам остается удалить, если хотите,

фильтры тех файлов, с которыми вы не хотите работать, добавить, может

быть, фильтр «Все файлы (*.*)» и перевести на русский язык названия

типов.


 

 

Работа с файловой системой — компоненты DriveComboBox,




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 939; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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