Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
TSaveDialog
Тип
Отображает диалог для выбора имени сохраняемого файла Dialogs unit
  type TSaveDialog;
Описание
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
 



© Форум Delphi   |  Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки   |  Английская версия