Безмолвный saveialog

Есть ли способ выполнить saveDialog, молча, имея в виду, не прося пользователя указать имя файла?

Он предназначен для автоматизации существующего кода. давайте предположим, что мы не можем использовать другой объект saveDialog.

1 ответ

Решение

Что ж, единственная цель, которую имеет SaveDialog - это предоставление имени файла, поэтому очевидный короткий ответ: не используйте SaveDialog.

Но если вы хотите принять во внимание все параметры SaveDialog, то вам нужно проверить себя перед сохранением файла. Применяемые невизуальные параметры и ключевые процедуры, используемые для обработки этих параметров:

  • ofPathMustExist: если False, то используйте ForceDirectories
  • ofFileMustExist: если True, то используйте FileExists
  • ofNoReadOnlyReturn: если True, то используйте FileIsReadOnly
  • ofNoDereferenceLinks: используйте его, инвертированный, как параметр FollowLink в FileExists.

Все остальные применимые варианты (ofOverwritePrompt = Правда, ofPathMustExist = Правда, ofNoTestFileCreate = False) сопоставляются с использованием try - кроме блока вокруг сохранения файла.

Другие вопросы по тегам