Вопрос задан 31.07.2023 в 02:31. Предмет Информатика. Спрашивает DELETED.

Delphi диалоги открытия и сохранения файла. Объясните пожалуйста

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Смирнов Евгений.
В обработчике OnClick кнопки "Открыть..." пишем:

   if OpenDialog1.Execute then
      Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

В результате выбора файла свойство FileName компонента OpenDialog получает значение полного адреса выбранного файла, который мы и вставляем в функцию загрузки файла компонента Memo.
Всё это хорошо, но только в данном случае, когда записанное выражение записывается в одну строку. Если программа использует несколько раз выражение OpenDialog1.FileName, то писать руками устанешь. В Delphi для такого случая есть так называемый "оператор присоединения" with. Он используется для любых объектов, имеющих длинный "хвост" из свойств, которые приходится записывать многократно. Вот как он записывается:

   with Объект do
     begin

     end;

Свойства Объекта внутри логических скобок begin/end можно записывать непосредственно. Допускается перечислять через запятую несколько объектов. Естественно, в случае, когда внутри скобок находится один оператор, они необязательны. Перепишем фрагмент загрузки файла с использованием оператора присоединения:

   with OpenDialog1, Memo1 do
      if Execute then
         Lines.LoadFromFile(FileName);

Запись получается более компактной.
Так как свойства компонентов OpenDialog и SaveDialog одинаковы, сохранение текста выглядит абсолютно аналогично. Создаём обработчик нажатия кнопки "Сохранить как..." и пишем:

   with SaveDialog1, Memo1 do
      if Execute then
        begin
           Lines.SaveToFile(FileName);
           OpenDialog1.FileName:=FileName; // Чтобы исправленный текст не затёр источник
        end;

Наконец, для кнопки "Сохранить" пишем:

   Memo1.Lines.SaveToFile(OpenDialog1.FileName); // Сохраняем туда, откуда считали
0 0
Отвечает Загребина Инна.

Компоненты OpenDialog — диалог «Открыть файл» и SaveDialog — диалог «Сохранить файл как...», пожалуй, используются чаще всего, в большинстве приложений.

   Все свойства этих компонентов одинаковы, только их смысл несколько различен для открытия и закрытия файлов. Основное свойство, в котором возвращается в виде строки выбранный пользователем файл, — FileName. Значение этого свойства можно задать и перед обращением к диалогу. Тогда оно появится в диалоге как значение по умолчанию в окне Имя файла (см. рис.1,2).

Типы искомых файлов, появляющиеся в диалоге в выпадающем списке Тип файла (рис.1,2), задаются свойством Filter. В процессе проектирования это свойство проще всего задать с помощью редактора фильтров, который вызывается нажатием кнопки с многоточием около имени этого свойства в Инспекторе Объектов. При этом открывается окно редактора, вид которого представлен на рис.3. В его левой панели Filter Name вы записываете тот текст, который увидит пользователь в выпадающем списке Тип файла диалога. А в правой панели Filter записываются разделенные точками с запятой шаблоны фильтра. В примере рис.3 задано два фильтра: текстовых файлов с расширениями .txt и .doc и любых файлов с шаблоном *.*.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Компоненты диалогов открытия и сохранения файла в Delphi позволяют вам взаимодействовать с операционной системой для выбора файлов для открытия или сохранения. Это очень полезно для создания пользовательских интерфейсов, где пользователь может выбирать файлы для обработки или сохранения результатов своей работы. В Delphi такие диалоги реализованы с помощью соответствующих классов или компонентов.

TOpenDialog (Диалог открытия файла): Этот компонент позволяет пользователю выбрать файл для открытия. Когда вы добавляете компонент TOpenDialog на форму, вы можете настроить различные параметры:

  1. Title: Заголовок диалогового окна.
  2. InitialDir: Начальная папка, которая будет отображаться при открытии диалога.
  3. Filter: Фильтры файлов, которые будут отображаться пользователю (например, "Текстовые файлы (.txt)|.txt|Все файлы (.)|.").
  4. Options: Дополнительные опции, такие как возможность выбора нескольких файлов и т.д.

Когда пользователь выбирает файл и подтверждает выбор, вы можете получить путь к выбранному файлу через свойство FileName.

TSaveDialog (Диалог сохранения файла): Этот компонент позволяет пользователю выбрать место и указать имя файла для сохранения. Он имеет аналогичные параметры, такие как Title, InitialDir, и Options. Вы также можете указать допустимые расширения для сохраняемого файла через свойство DefaultExt.

Когда пользователь указывает место и имя файла для сохранения, вы можете получить путь и имя файла через свойство FileName.

Пример использования:

delphi
procedure TForm1.OpenButtonClick(Sender: TObject); var OpenDialog: TOpenDialog; begin OpenDialog := TOpenDialog.Create(nil); try OpenDialog.Title := 'Выберите файл для открытия'; OpenDialog.Filter := 'Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*'; if OpenDialog.Execute then begin // Действия с выбранным файлом (OpenDialog.FileName) end; finally OpenDialog.Free; end; end; procedure TForm1.SaveButtonClick(Sender: TObject); var SaveDialog: TSaveDialog; begin SaveDialog := TSaveDialog.Create(nil); try SaveDialog.Title := 'Выберите место и имя файла для сохранения'; SaveDialog.DefaultExt := 'txt'; if SaveDialog.Execute then begin // Действия с указанным местом и именем файла (SaveDialog.FileName) end; finally SaveDialog.Free; end; end;

Вы можете добавить кнопки на форму (например, "Открыть" и "Сохранить") и привязать к ним соответствующие обработчики событий, как показано в примере выше.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос