Описание |
TSaveDialog - визуальный компонент. Он используется для выбора пользователем имени файла предназначенного для сохранения.
Он может быть определен перемещением значок с вкладки Dialogs или определяя переменную TSaveDialog.
TSaveDialog может быть сконфигурирован для удовлетворения ваших потребностей. При его использовании вы будете проходить через следующие шаги:
Создание объекта диалога
Вы определяете переменную TSaveDialog, затем присваиваете ей новый объект TSaveDialog:
var
saveDialog : TSaveDialog;
begin
saveDialog := TSaveDialog.Create(self);
Обратите внимание, что диалог должен иметь хозяина, в данном примере текущий объект мы снабжаем - self - как самостоятельный.
Установка опций
Перед отображением диалога, вы, вероятно, конфигурируете его по своим потребностям, устанавливая свойства диалога. Вот его основные свойства:
Свойство Title
Используется для установки заголовка диалога.
Свойство FileName
Выдает имя файла, заданное по умолчанию для сохранения. (Иначе, поле имени файла будет пробелом).
Свойство DefaultExt
Определяет расширение, которое будет добавляться к пользовательскому имени файла, если оно печатается вручную (а не выбирается из списка файлов). Если этих фильтров расширений два или больше, то это значение игнорируется. Они должны быть помещены в раскрывающийся список значений расширения. Очень странно!
Свойство Filter
Оно позволяет отображать и выбирать только некоторые типы файлов. Текст фильтра отображается в ниспадающем поле, чуть ниже поля имени файла. Следующий пример выбирает только текстовые файлы:
saveDialog.Filter := 'Text files only|*.txt';
Раскрывающийся список показывает текст, находящийся перед разделителем |. После разделителя вы определяете маску, которая выбирает файлы, которые вы хотите.
saveDialog.Filter := 'Text files|*.txt|Word files|*.doc';
Выше мы разрешили отображать текстовые и Word файлы как два отдельных пункта в раскрывающемся списке.
Свойство FilterIndex
Определяет, какой фильтр ниспадающего поля будет отображен первым.
Свойство InitialDir
Устанавливает начальный каталог в диалоге.
Отображение диалога
Теперь мы вызываем метод TSaveDialog:
if saveDialog.Execute
then ...
Execute возвратит истину, если пользователь выбрал файл и нажал OK. Теперь вы можете использовать выбранный файл:
Окончание диалога
Выбранный файл получает в использование следующее свойство:
Свойство FileName
Оно содержит полный путь плюс имя выбранного файла. Наконец, мы должны освободить объект диалога:
saveDialog.free;
|
|
Примечания |
Это ваша ответственность проверить, выбрал ли пользователь существующий файл, чтобы спросить пользователя, будет ли файл заменён.
|
|
Похожие команды |
Append Открывает текстовый файл, для добавления записей в файл (добавляет в конец файла)
AssignFile Связывает дескриптор файла с бинарным или текстовым файлом
PromptForFileName Показывает диалог, позволяющий пользователю выбрать файл
Reset Открывает текстовый файл для чтения, или двоичный файл для чтения/записи
TOpenDialog Отображает диалог выбора файла
| |
|
Пример кода : |
var saveDialog : TSaveDialog; // Переменная диалога сохранения
begin // Создание объекта диалога сохранения - назначая его нашей переменной диалога сохранения
saveDialog := TSaveDialog.Create(self);
// Give the dialog a title
saveDialog.Title := 'Save your text or word file';
// Установка начального каталога
saveDialog.InitialDir := GetCurrentDir;
// Разрешаем сохранять файлы типа .txt и .doc
saveDialog.Filter := 'Text file|*.txt|Word file|*.doc';
// Установка расширения по умолчанию
saveDialog.DefaultExt := 'txt';
// Выбор текстовых файлов как
стартовый тип фильтра
saveDialog.FilterIndex := 1;
// Отображение диалог сохранения файла
if saveDialog.Execute
then ShowMessage('File : '+saveDialog.FileName)
else ShowMessage('Save file was cancelled');
// Освобождения диалога
saveDialog.Free;
end;
|
Диалог сохранения файла отобразится с выбором двух ниспадающих типов фильтров:
Delphi проектируют файлы
Delphi файлы Паскаля - это отображено в начале
Диалог установлен в текущий каталог (из которого было запущено приложение).
Если Вы выбрали файл 'Unit1.pas' то в диалоге ShowMessage отобразится:
Файл: File : C:\Program Files\Borland\Delphi7\Projects\Unit1.pas
|
|