Программирование на С++ - eDrive
Программирование на С++ - eDrive Программирование на С++ - eDrive
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 и указать тип созда-
- Page 1 and 2: Федеральное агентс
- Page 3 and 4: Содержание Общие т
- Page 5 and 6: Кнопка управления
- Page 7 and 8: { for (int i = 0; i < gridRows; ++i
- Page 9 and 10: 9 void MySwap (double &a, double &b
- Page 11 and 12: 11 Для статистическ
- Page 13 and 14: 13 Задачи 1. Заменить
- Page 15 and 16: double stat = *max_element (myVecto
- Page 17 and 18: 17 подготовленным п
- Page 19 and 20: 19 for (int i=0; iColCount; ++i) f
- Page 21 and 22: 21 ADO панели визуаль
- Page 23 and 24: 23 В этом фрагменте
- Page 25 and 26: TImage *im; TSearchRec sr; 25 Ин
- Page 27 and 28: 27 Работа 11. Програм
- Page 29 and 30: 29 Series1->Assign (myForm1->Series
- Page 31 and 32: 31 а в деструкторе у
- Page 33: 33 ка. Методы Lock и Unloc
- Page 37 and 38: 37 10. Подключение сп
- Page 39 and 40: 39 требуемый заголо
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.