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;
Примітка.
Це ваша відповідальність перевірити, чи вибрав користувач існуючий файл, щоб запитати користувача, чи буде замінено файл.
Тип TSaveDialog в Delphi: Приклад коду
var
saveDialog : TSaveDialog; // Змінна діалогу збереження
begin
// Створення об'єкта діалогу збереження – призначаючи його нашою змінною діалогу збереження
saveDialog := TSaveDialog.Create(self);
// Дайте діалогу назву
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
Подібні функції, процедури та команди
Append — відкриває текстовий файл для додавання записів у файл (додає в кінець файлу).
AssignFile — пов'язує дескриптор файлу з бінарним чи текстовим файлом.
PromptForFileName — показує діалог, що дозволяє користувачеві вибрати файл.
Reset — відкриває текстовий файл для читання або двійковий файл для читання/запису.
TOpenDialog — відображає діалог вибору файлу.
