takya.ru страница 1
скачать файл
Тема: Використання елементів типу «поле з списком дисків, каталогів, фільтрів, файлів».
Те, що ми дізналися в попередньому уроці, дозволяє працювати з файлами за адресою, жорстко записаному в тексті програми. Ми ж хочемо мати можливість відкривати будь-які файли і працювати з файлами за нашим вибором. Природно, Delphi надає нам таку можливість. Розглянемо компоненти, що дозволяють в працюючій програмі здійснювати вибір. Delphi діалоги вибору файлу дозволяють вказати програмі, з яким файлом ми хочемо працювати.

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



Delphi діалоги вибору файлу самі по собі нічого не роблять, а лише надають налаштування, зроблені користувачем при виборі файлу. Найважливіший метод Delphi діалогів - Execute. Він спрацьовує в момент натискання кнопки "відкрити" або "зберегти" у вікні вибору файлу. Для прикладу давайте введемо в програму можливість вибору файлу для завантаження в редактор Memo, і збереження після редагування.


Завдання: Створити проект, що реалізує можливість працювати з файлами директорію, використовуючи компоненти діалогу.
Отже, кидаємо на Форму обидва 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);
Запис виходить компактнішим.

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


with SaveDialog1, Memo1 do

if Execute then

begin

Lines.SaveToFile(FileName);

OpenDialog1.FileName:=FileName; / / Щоб виправлений текст не затер джерело

end;
Нарешті, для кнопки "Зберегти" пишемо:
Memo1.Lines.SaveToFile(OpenDialog1.FileName); / / Зберігаємо туди, звідки вважали
При роботі цих фрагментів можна помітити, що вибирати доводиться з усіх файлів в потрібній директорії. Зручніше бачити тільки, наприклад, текстові файли, або інший тип файлів за нашим вибором. Для цього використовуються фільтри, властивість Filter в наших компонентах. Настроюється вона в Інспектора Об'єктів. При виборі його можна перейти в редактор фільтрів:


У колонці FilterName записуємо імена фільтрів, у колонці Filter - список масок файлів, розділених крапкою з комою. Маска файлу в даному випадку виглядає як


* . розширення файлу ;

Зірочка означає, що вибираються файли з будь-якими іменами, які підходять по розширенню.

Властивість Delphi діалогів Title дозволяє записати в заголовок потрібну нам фразу. Якщо залишити його порожнім, то в заголовку будуть стандартні "відкрити" або "зберегти"

Властивість InitialDir дозволяє в момент відкриття виявити потрібний нам директорій. Він доступний як на етапі "конструювання", так і програмно.






скачать файл



Смотрите также:
Використання елементів типу «поле з списком дисків, каталогів, фільтрів, файлів»
30.92kb.
Підприємство з виробництва металевих елементів та котлів
308.82kb.
Закон і періодична система елементів Д.І. Менделєєва Задачі на знаходження елементів періодичної системи хімічних елементів Д.І. Менделєєва
49.17kb.
Інформації на комп'ютері Практична робота №4 Тема. Пошук інформації на комп'ютері. Мета: за даними критеріями пошуку знаходити в комп'ютері необхідні файли. Навчитися працювати з Центром довідки та підтримки
10.83kb.
Тема: Впорядкування даних, пошук даних. Використання фільтрів для пошуку даних в бд
43.96kb.
Тема. Організація взаємодії елементів керування у формах Мета
8.58kb.
Положення про дитячий будинок сімейного типу Детские дома семейного типа рейтинг: 1136 затверджено постановою Кабінету Міністрів України від 26 квітня 2002 р. N 564 положення про дитячий будинок сімейного типу
90.38kb.
Экономические деловые игры
72.78kb.
Требования к оформлению электронного варианта списка аттестуемых педагогических и руководящих работников на соответствие квалификационной категории
10.82kb.
Тема. Гостра дихальна недостатність, респіраторний дистрес-синдром дорослого типу у дітей: патогенез, клініка, перебіг, діагностика, ДИФЕРЕНЦІЙНА діагностика, невідкладна допомога
242.57kb.
Твої помічники у виборі книг (бібліотечний урок) Мета
69.34kb.
Реферати врахування нелінійності при визначенні ндс залізобетонних елементів з нормальними тріщинами при крученні
522.76kb.