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
 



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