Есть ответ 👍

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

177
275
Посмотреть ответы 3

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


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

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

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


Вобработчике  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);   // сохраняем туда, откуда считали
moon89
4,7(73 оценок)

Program < имя программы>   var < имя переменной > : < тип переменной> ; - обязательная часть, объявление переменных uses crt; begin < тело программы> - обязательная часть end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS