У вас вопросы?
У нас ответы:) SamZan.net

Delphi диалоги выбора файла позволяют указать программе с каким файлом мы хотим работать

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 29.12.2024

Работа с текстовыми файлами с помощью диалога

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

На вкладке палитры компонентов
Dialogs находятся компонент Delphi OpenDialog и компонент Delphi SaveDialog. Все Delphi диалоги, находящиеся на этой вкладке, в том числе и Delphi диалоги выбора файла, невизуальные, т.е. при переносе их на Форму в работающей программе их не видно, они видны только на этапе конструирования. Компонент Delphi OpenDialog позволяет открыть в нашей программе стандартное Windows-окно диалога открытия файла, компонент Delphi SaveDialog - окно диалога сохранения.

При работе этих фрагментов можно заметить, что выбирать приходится из всех файлов в нужной директории. Удобнее видеть только, например, текстовые файлы, или другой тип файлов по нашему выбору. Для этого используются фильтры, свойство Filter в наших компонентах. Настраивается оно в Инспекторе Объектов. При выборе его можно перейти в редактор фильтров:



В колонке
FilterName записываем имена фильтров, в колонке Filter - список масок файлов, разделённых точкой с запятой. Маска файла в данном случае выглядит как

    *. расширение_файла;

Звёздочка означает, что выбираются файлы с любыми именами, подходящие по расширению.


   Свойство Delphi диалогов
Title позволяет записать в заголовок нужную нам фразу. Если оставить его пустым, то в заголовке будут стандартные "открыть" или "сохранить"
   Свойство
InitialDir позволяет в момент открытия оказаться в нужной нам директории. Оно доступно как на этапе "конструирования", так и программно.

Задания

Пример 1

Создать программу, которая с помощью диалога открывает файл и с помощью диалога сохраняет данные в файл:

  1.  Вывод данных в текстовый файл

Для начала, на форму нужно поместить компонент "SaveDialog". Свойству "DefaultExt" присвоить значение "TextFile"; Свойству "Фильтр" присвоить значение как на рисунке:

Для кнопки «Сохранить файл» набрать процедуру:

procedure TForm1.Button2Click(Sender: TObject);

var f:TextFile;

begin

   If SaveDialog1.Execute then

begin

AssignFile(f,SaveDialog1.FileName);

Rewrite(f);

Writeln(f,'Ваши данные');

CloseFile(f);

end;

end;

  1.  Чтение данных из текстового файла


На форму нужно поместить компонент "OpenDialog". Свойству "DefaultExt" присвоить значение "TextFile"; Свойству "Фильтр" присвоить значение как в предыдущем примере
Для кнопки «Открыть файл» набрать процедуру:

procedure TForm1.Button1Click(Sender: TObject);

 var f:TextFile;

s:string;

begin

 If OpenDialog1.Execute then

begin

AssignFile(f,OpenDialog1.FileName);

Reset(f);

Readln(f,s);

  label1.Caption:=s;

  memo1.Lines.Add(s);

CloseFile(f);

end;

end;

Самостоятельное задание

Вводить данные в Мемо и записывать их в файл при нажатии на кнопку «Сохранить файл».

Пример 2.   

Итак, располагаем на Форме оба Delphi диалога, текстовый редактор Memo, и три кнопки Button. В свойство Caption одной из них записываем "Открыть...", другой - "Сохранить", третьей - "Сохранить как..."

В обработчике 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);

Запись получается более компактной.

Создаём обработчик нажатия кнопки "Сохранить как..." и пишем:

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

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

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




1. Курсовая работа на тему- Источники Конституционного права Российской Федерации Выполнила- студен
2. Русский солдат в поэме Твардовского Василий Теркин
3. Каролина - Уголовно-Судебное уложение феодальной германи
4. относительно новое направление несколько обособленное от маркетинговых исследований товарной продукции
5. тема права понятие и структура Система права это внутренняя структура права которая выражается в единст.html
6. одна из важнейших отраслей животноводства дает практически все молоко около 50 мяса производимого в стран
7. Есть ли постмодернистская публицистика
8. Правила дорожного движения
9. Тема- Банковская система в экономике России
10. уровень. Состоит из микроэтнических единиц в качестве которых выступает семья обособленная группа людей к
11. Лекции по химии
12. Курсовая работа- Сільське господарство США
13. достижение либо сохранение средств производства экономической позиции власти или других ценностей польз
14. Система автоматичного регулювання (САР) турбіни атомної електростанції
15. Рассчитан по методике Управления Организации Объединенных Наций по наркотиками и преступности УНП ООН
16. Вплив математичної обізнаності на продуктивність памяті
17. Финансы и кредит КАЗАНЬ 2005 Д
18. Общие сведения Системой СЭУ называется совокупность специализированных трубопроводов с м
19. РЕФЕРАТдисертації на здобуття наукового ступеня кандидата хімічних наук Київ ~ Дис
20. Доклад- Тмин обыкновенный