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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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

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. 21
3. Совершенствование работы кадровой службы организации
4. задание Вы можете воспользоваться материалами инструментами нормативнотехнической документацией
5. столетий в Аравии и поэтому не отражает независимый небесный источник Краткая Энциклопедия Исламаp
6. Средняя общеобразовательная школа 2 Пермского края г
7. тема воспринимают данные на внутреннем уровне.html
8. . ВИДЫ ВЗАИМОДЕЙСТВИЯ АЛЛЕЛЬНЫХ ГЕНОВ Различают полное доминирование неполное доминирование кодоминирова
9. модуль упругости и коэффициент Пуассона вычисляются по определенным в процессе испытания нагрузкам Рр и 03Р
10. Тема- Свобода как философская проблема и ценность