- •Программирование
- •Новосибирск
- •1. Общие положения
- •1.1. Цель лабораторных работ
- •1.2. Темы лабораторных работ
- •2. Обзор среды разработки
- •2.2. Панели инструментов, меню и горячие клавиши
- •Панель инструментов для рабочих столов
- •Панель инструментов отладки
- •2.3. Добавление компонентов в форму
- •2.4. Изменение вида и поведения объекта
- •2.4.1. Работа со свойствами объекта
- •2.4.2. Работа с событиями объекта
- •2.5. Просмотр и редактирование кода
- •2.5.1. Просмотр файлов форм
- •2.5.2. Просмотр кода при помощи редактора кода
- •2 Щелкните замещающий.5.3. Исследование кода
- •2.6. Управление проектами
- •2.7. Создание списков To-Do
- •2.8. Проектирование модулей данных
- •2.9. Настройка опций проекта и среды
- •2.10. Получение справки
- •2.11. Помощь в кодировании
- •Инструменты подсказки кода
- •2.12. Отладка приложений
- •2.13. Доступ к базам данных
- •2.14. Шаблоны и хранилище объектов
- •3. Лабораторная работа № 1
- •3.1. Начало разработки нового приложения
- •3.2. Установка значений свойств
- •3.3. Добавление объектов в форму
- •3.4. Добавление поддержки меню и панели инструментов
- •Планирование команд текстового редактора
- •3.4.1. Добавление действий в список действий
- •3.4.2. Добавление стандартных действий в список действий
- •3.4.3. Добавление изображений в список изображений
- •3.5. Добавление меню
- •3.6. Очистка окна редактирования текста
- •3.7. Добавление панели инструментов
- •3.8. Создание обработчиков событий
- •3.8.1. Создание обработчика событий для команды New
- •3.8.2. Создание обработчика событий для команды Open
- •3.8.3. Создание обработчика событий для команды Save
- •3.8.4. Создание обработчика событий для команды Save As
- •3.8.5. Создание обработчика событий для команды Exit
- •3.8.6. Создание файла справки
- •3.8.7. Создание обработчика событий для команды
- •3.8.8. Создание обработчика событий для команды Index
- •3.8.9. Создание обработчика событий для команды About
- •3.9. Завершение приложения
- •Список литератуРы
- •Оглавление
3.8.3. Создание обработчика событий для команды Save
Чтобы создать обработчик событий для команды Save:
1) откройте главную форму, нажав клавишу F12. Дважды щелкните объект ActionList. Откроется окно редактора списка действий;
2) выберите в нем категорию File и дважды щелкните действие FileSave. Откроется окно редактора кода с курсором в обработчике событий;
3) в этом окне справа от курсора введите строки:
if (FileName == ”Untitled.txt”)
FileSaveAsExecute(NULL);
else
RichEdit1->Lines->SaveToFile(FileName);
Если файлу еще не дано имя, то этот код выполняет диалог Save As [сохранить как], в котором принимает имя, вводимое пользователем, и сохраняет файл под этим именем. В противном случае этот код сохраняет файл под текущим именем. Обработчик событий для команды Save As описан ниже.
Теперь ваш обработчик событий должен выглядеть так:
3.8.4. Создание обработчика событий для команды Save As
Чтобы создать обработчик событий для команды Save As:
1) откройте главную форму, нажав клавишу F12. Дважды щелкните объект ActionList. Откроется окно редактора списка действий;
2) прокручивая вкладки палитры компонентов, найдите вкладку Dialogs [диалоги], а на ней – компонент SaveDialog. Добавьте его в главную форму приложения. Он не является визуальным, поэтому неважно, где он будет на на форме. C++Builder по умолчанию дает этому объекту имя SaveDialog1. Теперь вы можете вызывать для этого объекта метод Execute, который будет вызывать из Windows стандартный диалог сохранения файлов;
3) задайте свойства объекта SaveDialog1. Для этого в инспекторе объектов:
в поле DefaultExt введите значение txt;
в поле Filter [фильтр] дважды щелкните область значения. Откроется окно Filter Editor [редактор фильтров] с таблицей, содержащей два столбца – Filter Name [имя фильтра] и Filter [фильтр]. В первую строку таблицы впишите значения Text files и *.txt, а во вторую – значения All files и *.* соответственно. Щелкните кнопку OK;
в поле Title [название] введите значение Save As.
4) на форме дважды щелкните объект ActionList. Откроется окно редактора списка действий;
5) в нем выберите категорию File и дважды щелкните действие FileSaveAs. Откроется окно редактора кода с курсором в обработчике событий;
6) в этом окне справа от курсора введите строки:
SaveDialog1->FileName = FileName;
SaveDialog1->InitialDir =
ExtractFilePath(FileName);
if (SaveDialog1->Execute())
{
RichEdit1->Lines->SaveToFile(SaveDialog1->
FileName);
FileName = SaveDialog1->FileName;
StatusBar1->Panels->Items[0]->Text =
FileName;
}
Теперь ваш обработчик событий должен выглядеть так:
Эта
строка помещает текущее имя файла на
панель строки состояния.
Эта строка запоминает
принятое имя файла как текущее имя
файла.
Эта
строка сохраняет текст в файле с принятым
именем.
Эта
строка выполняет диалог Save
As и принимает
имя файла.
Эта
строка устанавливает в качестве папки
по умолчанию папку, к которой обращались
в прошлый раз.
Эта
строка передает в диалог Save
As текущее
имя файла, которое пользователь может
переписать на другое.