Программирование на С++ - eDrive

Программирование на С++ - eDrive Программирование на С++ - eDrive

edrive.narod.ru
from edrive.narod.ru More from this publisher
24.11.2014 Views

34 5. Приостановка и продолжение выполнения потока. Дополнить форму третьей кнопкой, обработчик которой приостанавливает и продолжает выполнение потока: void __fastcall TForm1::Button3Click (TObject *Sender) { if (mt–>Suspended) { mt–>Resume (); Button3–>Caption = "Пауза"; } else { mt–>Suspend (); Button3–>Caption = "Продолжить"; } } Функция Suspend задает паузу в выполнении потока, устанавливая переменную Suspended, тогда как функция Resume продолжает выполнение потока. Для исключения несвоевременного вызова рассматриваемого обработчика полезно дополнить все обработчики командами управления доступом к кнопкам. При этом нажатие кнопки запуска должно препятствовать повторному запуску (Enabled = false), разрешая завершение и приостановку рисования (Enabled = true), а нажатие кнопки завершения – препятствовать повторному завершению и приостановке, разрешая лишь новый запуск. Задачи 1. Запретить освобождение памяти потоком при завершении его работы с внесением соответствующих изменений в программу. 2. Используя элемент управления Timer и функции Now и TimeToStr, организовать вывод в форму времени работы потока. 3. Организовать прерывание выполнения потока не только кнопкой, но и клавишей . Работа 14. Справочная система WinHelp Задание Для овладения конструированием справочных систем в формате WinHelp подготовить справку к одному из ранее созданных приложений, включающего несколько форм. Справочная система должна состоять из пяти разделов, первый из которых описывает назначение приложения и сведения об авторе, второй содержит руководство по запуску, управлению, закрытию приложения и обработке возникающих ошибок кнопки управления, а остальные поясняют назначение элементов ввода и отображения информации формы и двух любых ее кнопок. Система должна содержать оглавление, гиперссылки между разделами и поддерживать индексацию (поиск) по ключевым словам. Справка должна вызываться нажатием клавиши F1.

35 Рекомендации 1. Структура файла справки. В Microsoft Word подготовить файл исходного текста справки и сохранить его в формате .rtf. Каждый раздел справки должен иметь заголовок. Следующий за заголовком текст раздела надо завершать символом «разрыв станицы», то есть число страниц равно числу разделов. 2. Заголовки. Все заголовки оформить одним из стилей «Заголовок», например, стилем «Заголовок 1». После набора текста следует пометить заголовки разделов сносками. Для этого нужно установить курсор перед первой буквой заголовка и из меню Вставка выбрать команду Ссылка.Сноска. В открывшемся диалоговом окне Сноски в группе Положение нужно установить Сноски внизу текста, а в группе Формат в поле Другой ввести символ #, используя шрифт Times New Roman, и нажать кнопку Вставить. В результате в документ будет вставлена сноска с тегом #, и в нижней части окна документа появится окно ввода текста сноски. В этом окне после символа сноски следует ввести идентификатор помечаемого раздела справки, например IDH_1. 3. Ключевые слова. Далее для каждого раздела надо создать сноску с тегом К, в которой задается список ключевых слов данного раздела для организации Указателя справочной системы. Разделителем элементов списка служит точка с запятой. 4. Имена разделов. Кроме того, для каждого раздела надо создать сноску с тегом $, под которой задается имя раздела, которое будет применяться для идентификации его в списке поиска и в списке просмотренных тем окна хронологии справочной системы. Имя может совпадать с заголовком. 5. Гиперссылки. Разделы справки должны содержат гиперссылки на другие разделы. Во время подготовки текста справочной информации гиперссылки следует выделять двойным подчеркиванием. Сразу за гиперссылкой надо поместить без пробела идентификатор раздела справки, на который будет выполняться переход. Вставленный идентификатор оформляется как скрытый текст Microsoft Word. 6. Создание проекта. Сохранив подготовленный rtf-файл в одной папке с приложением, для которого создается справочная система, следует создать проект справочной системы. Для этого запускается программа Microsoft Help Workshop (hcw.exe) в папке $BCB$\Help\Tools\. В ее меню File командой New надо открыть окно диалога Project File Name и указать тип созда-

34<br />

5. Приостановка и продолжение выполнения потока. Дополнить форму<br />

третьей кнопкой, обработчик которой приоста<strong>на</strong>вливает и продолжает выполнение<br />

потока:<br />

void __fastcall TForm1::Button3Click (TObject *Sender)<br />

{ if (mt–>Suspended) { mt–>Resume (); Button3–>Caption = "Пауза"; }<br />

else { mt–>Suspend (); Button3–>Caption = "Продолжить"; } }<br />

Функция Suspend задает паузу в выполнении потока, уста<strong>на</strong>вливая переменную<br />

Suspended, тогда как функция Resume продолжает выполнение<br />

потока. Для исключения несвоевременного вызова рассматриваемого обработчика<br />

полезно дополнить все обработчики командами управления доступом<br />

к кнопкам. При этом <strong>на</strong>жатие кнопки запуска должно препятствовать<br />

повторному запуску (Enabled = false), разрешая завершение и приостановку<br />

рисования (Enabled = true), а <strong>на</strong>жатие кнопки завершения – препятствовать<br />

повторному завершению и приостановке, разрешая лишь новый<br />

запуск.<br />

Задачи<br />

1. Запретить освобождение памяти потоком при завершении его работы с<br />

внесением соответствующих изменений в программу.<br />

2. Используя элемент управления Timer и функции Now и TimeToStr, организовать<br />

вывод в форму времени работы потока.<br />

3. Организовать прерывание выполнения потока не только кнопкой, но и<br />

клавишей .<br />

Работа 14. Справоч<strong>на</strong>я система WinHelp<br />

Задание<br />

Для овладения конструированием справочных систем в формате WinHelp<br />

подготовить справку к одному из ранее созданных приложений, включающего<br />

несколько форм. Справоч<strong>на</strong>я система долж<strong>на</strong> состоять из пяти разделов,<br />

первый из которых описывает <strong>на</strong>з<strong>на</strong>чение приложения и сведения об авторе,<br />

второй содержит руководство по запуску, управлению, закрытию приложения<br />

и обработке возникающих ошибок кнопки управления, а остальные поясняют<br />

<strong>на</strong>з<strong>на</strong>чение элементов ввода и отображения информации формы и<br />

двух любых ее кнопок. Система долж<strong>на</strong> содержать оглавление, гиперссылки<br />

между разделами и поддерживать индексацию (поиск) по ключевым словам.<br />

Справка долж<strong>на</strong> вызываться <strong>на</strong>жатием клавиши F1.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!