C++ Builder - вопросы программирования


Система проверки знаний


Система проверки знаний
Система проверки знаний Тестирование широко применяется для оценки уровня знаний в учебных заведениях, при приеме на работу, для оценки квалификации персонала учреждений, т. е. практически во всех...
Требования к программе
Требования к программе В результате анализа используемых на практике методик тестирования были сформулированы следующие требования к программе: программа должна обеспечить работу с тестом произво...
Диалоговое окно программы тестирования
Рисунок 10.1. Диалоговое окно программы тестирования  ...
Файл теста
Файл теста Тест представляет собой последовательность вопросов, на которые испытуемый должен ответить путем выбора правильного ответа из нескольких предложенных вариантов. Файл теста состоит из тр...
Форма приложения
Форма приложения На Рисунок 10.2 приведен вид формы программы тестирования. Поле Label1 предназначено для вывода начальной информации, вопроса и результатов тестирования. Компонет image1 предназна...
Форма программы тестирования
Рисунок 10.2. Форма программы тестирования Нетрудно заметить, что в форме нет радиокнопок — компонентов RadioButton , обеспечивающих вывод альтернативных ответов и прием ответа испытуемого. В расс...
Таблица 10 1 Значения свойств формы
Таблица 10.1. Значения свойств формы Свойство Значение Пояснение Borderlcons.biSystemMenutrueЕсть кнопка системного менюBorder Icons.biMinimizefalse Нет кнопки Свернуть окноBorderlcons.biMaximize...
Таблица 10 2 Значения свойств компонента Label1
Таблица 10.2 . Значения свойств компонента Label1 Свойство Значение Пояснение AutoSizefalseЗапрет изменения размера поля в соответствии с его содержимымWordwraptrueРазрешить перенос слов в следую...
Отображение иллюстрации
Отображение иллюстрации Для отображения иллюстраций используется компонент image1 . Размер и положение компонента image и, следовательно, размер и положение поля, используемого для отображения илл...
Вычисление размера области вывода иллюстрации
Рисунок 10.3. Вычисление размера области вывода иллюстрации Если реальный размер иллюстрации превышает размер области, выделенной для ее отображения, то необходимо выполнить масштабирование иллюст...
Доступ к файлу теста
Доступ к файлу теста Передать имя файла теста программе тестирования можно через параметр командной строки. При запуске программы из операционной системы при помощи команды Пуск | Выполнить параме...
Передача параметра при запуске
Рисунок 10.4. Передача параметра при запуске программы командой Пуск | Выполнить Если запуск программы выполняется при помощи значка, изображающего программу на рабочем столе или в папке, то парам...
Настройка программы тестирования
Рисунок 10.5. Настройка программы тестирования на работу с файлом Peterburg.txt Программа может получить информацию о количестве параметров командной строки, обратившись к функции paramCount . Дос...
Параметры командной строки надо ввести в поле Parameters
Рисунок 10.6. Параметры командной строки надо ввести в поле Parameters  ...
Текст программы
Текст программы После того как будет создана форма программы, можно приступить к кодированию (набору текста). Сначала надо внести дополнения в объявление формы (листинг 10.1) — объявить массив ком...
Листинг10 1
Листинг10.1. Программа тестирования (заголовочный файл) #ifndef tester_H #define tester_H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Form...
Листинг 10 2
Листинг 10.2. Программа тестирования /* Универсальная .программа тестирования. Тест загружается из файла, имя которого должно быть указано в командной строке. Программа демонстрирует создание и на...
Игра "Сапер"
Игра "Сапер" Всем, кто работает с операционной системой Windows, хорошо знакома игра "Сапер". В этом разделе рассматривается аналогичная программа. Пример окна программы в конц...
Окно программы "Сапер"
Рисунок 10.7. Окно программы "Сапер"  ...
Правила игры и представление данных
Правила игры и представление данных Игровое поле состоит из клеток, в каждой из которых может быть мина. Задача игрока — найти все мины и пометить их флажками. Используя кнопки мыши, игрок может о...
Клетке игрового поля соответствует элемент массива
Рисунок 10.8. Клетке игрового поля соответствует элемент массива В начале игры каждый элемент массива, соответствующий клеткам игрового поля, может содержать число от 0 до 9. Ноль соответствует пу...
Массив в начале игры
Рисунок 10.9. Массив в начале игры  ...
Форма приложения
Форма приложения Главная (стартовая) форма игры "Сапер" приведена на Рисунок 10.10....
Главная форма программы "Сапер"
Рисунок 10.10. Главная форма программы "Сапер" Следует обратить внимание на то, что размер формы не соответствует размеру игрового поля. Нужный размер формы будет установлен во время раб...
Компонент MainMenu
Рисунок 10.11. Компонент MainMenu Значок компонента MainMenu можно поместить в любое место формы, т. к. во время работы программы он не виден. Пункты меню появляются в верхней части формы в резуль...
Структура меню программы "Сапер"
Рисунок 10.12. Структура меню программы "Сапер"...
Таблица 10 3 Свойства объекта TMenuItem
Таблица 10.3. Свойства объекта TMenuItem Свойство Определяет Name Имя элемента меню. Используется для доступа к свойствамCaption Название меню или командыBitmap Значок, который отображается слева...
Игровое поле
Игровое поле На разных этапах игры игровое поле выглядит по-разному. Вначале поле просто разделено на клетки. Во время игры, в результате щелчка правой кнопкой мыши, в клетке появляется флажок. Ще...
Начало игры
Начало игры В начале игры надо расставить мины и для каждой клетки поля подсчитать, сколько мин находится в соседних клетках. Функция NewGame (ее текст при-, веден в листинге 10.3), решает эту зад...
Листинг 10 3
Листинг 10.3. Функция NewGame // новая игра — генерирует новое поле void __fastcall NewGame() { // Очистим элементы массива, соответствующие отображаемым // клеткам, а в неотображаемые, по границе...
Листинг 10 4
Листинг 10.4. Функция ShowPole // показывает поле void __fastcall TForml::ShowPole( int status) { for ( int row =1; row <= MR; row++) for ( int col = 1; col <= MC; col++) Kletka(row, col, st...
Листинг 10 5
Листинг 10.5. Функция KLetka // рисует на экране клетку void __fastcall TForml::Kletka(int row, int col, int status) { int x = LEFT + (col-1)* W; int у = TOP + (row-1)* H; if (status == 0) // нача...
Игра
ИграВо время игры программа воспринимает нажатия кнопок мыши и, в соответствии с правилами игры, открывает клетки или ставит в клетки флажки. Основную работу выполняет функция обработки события On...
Листинг 10 6
Листинг 10.6. Обработка события OnMouseDown на поверхности игрового поля ; // нажатие кнопки мыши на игровом поле void _fastcall TForml::ForraMouseDown (TObject*Sender,TMouseButton Button, TShif...
Флажок
Рисунок 10.13. Флажок...
Мина
Рисунок 10.14. Мина...
Листинг 10 7
Листинг 10.7. Функция Flag рисует флажок // рисует флаг void _fastcall TForml::Flag( int x,   int y) { TPoint p[4]; // координаты флажка и нижней точки древка // точки флажка р[0].х=х+4;...
Листинг 10 8
Листинг 10.8. Функция Mina рисует мину // рисует мину void __faatcall TForml::Mina(int x,   int y) { Canvas->Brush->Color = clGreen; Canvas->Pen->Color = clBlack; // корпус C...
Справочная информация
Справочная информация В результате выбора в меню ? команды Справка или нажатия клавиши <F1> должна появляться справочная информация — правила игры (Рисунок 10.15)....
Окно справочной системы программы "Сапер"
Рисунок 10.15. Окно справочной системы программы "Сапер" Для того чтобы во время работы программы пользователь, нажав клавишу <F1>, мог получить справочную информацию, свойствам He...
Таблица 10 4 Значения свойств главной формы
Таблица 10.4 . Значения свойств главной формы Свойство Значение Пояснение HelpFile saper.hlpФайл справкиHelpContext 1Идентификатор раздела, содержимое которого отображается в результате нажатия &...
Информация о программе
Информация о программе При выборе из меню ? команды О программе на экране должно появиться одноименное окно (Рисунок 10.16)....
Выбрав ссылку можно активизировать
Рисунок 10.16. Выбрав ссылку, можно активизировать браузер и перейти на страницу издательства Чтобы программа во время своей работы могла вывести на экран окно, отличное от главного (стартового),...
Выбрать нужную форму можно в списке окна View Form
Рисунок 10.17. Выбрать нужную форму можно в списке окна View Form...
Командная кнопка View Form
Рисунок 10.18. Командная кнопка View Form Вид формы AboutForm после добавления необходимых компонентов приведен на Рисунок 10.19, значения ее свойств — в табл. 10.5....
Таблица 10 5 Значения свойств формы О программе
Таблица 10.5. Значения свойств формы О программе Свойство Значение Name AboutFormCaption O программеBorderStyle bsSingleBorderlcons.biSystemMenu falseBorderlcons.biMininize falseBorderlcons.biMax...
Форма О программе
Рисунок 10.19. Форма О программе Вывод окна О программе выполняет функция обработки события click , которое происходит в результате выбора из меню ? команды О программе (листинг 10.9). Непосредств...
Листинг 10 9
Листинг 10.9. Вывод окна О пограмме void fastcall TForml::N4Click(TObject *Sender) { // "привяжем" окно О программе к главному окну приложения AboutFom-ХГор=Forml->Top+ Forml->Heig...
Таблица 10 6 Значения свойств компонента Labels
Таблица 10.6. Значения свойств компонента Labels Свойство Значение Комментарий Font.Color clBlueЦвет — синийFont.Style.Underline trueПодчеркиваниеCursor crHandPointПри позиционировании указателя...
Листинг 10 10
Листинг 10.10. Щелчок в поле URL void _fastcall TAboutForm::Label5Click(TObject *Sender) { /* наиболее просто передать в функцию ShellExecute строку-константу  (URL-адрес)   та...
Текст программы
Текст программы Полный текст программы "Сапер" приведен ниже: в листингах 10.11 и 10.12 — заголовочный файл и модуль главной формы; в листинге 10.13 — модуль формы О программе....
Листинг 10 11
Листинг 10.11. Заголовочный файл главной формы (saper_.h) #ifndef saper_H fdefine saper_H #include <Classes.hpp>#include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms...
Листинг 10 12
Листинг 10.12. Модуль главной формы (saperXcpp), /* Игра "Сапер".  Демонстрирует работу с графикой, использование рекурсии, доступ к файлу справочной информации. */ #include <vcl...
Листинг 10 13
Листинг 10.13. Модуль формы О программе (saper2_.cpp) #include <vcl.h> #pragma hdrstop #include "saper_2.h" #pragma package(smart_init)#pragma resource "*.dfm" TAboutForm...
Очистка диска
Очистка диска Открыв каталог какого-либо проекта C++ Builder, можно увидеть, что помимо файлов, составляющих проект и используемых компилятором для генерации выполняемого файла (bpr-, dfm-, h- и с...
Содержимое каталога проекта "Проверка
Рисунок 10.20. Содержимое каталога проекта "Проверка знаний". Файлы, выделенные цветом, по окончании работы над проектом можно удалить Файлы с расширением tds и obj создает компилятор в...
Окно программы "Очистка диска" в начале ее работы
Рисунок 10.21. Окно программы "Очистка диска" в начале ее работы Процесс активизации процесса очистки активизирует кнопка Выполнить, которая становится доступной только после того, как п...
Таблица 10 7 Настройка компонентов
Таблица 10.7. Настройка компонентов Компонент Свойство Значение Комментарий Form1 BorderStyle bsSingleТонкая граница окна. Во время работы программы нельзя изменить размер окна, захватив границу...
Форма программы "Очистка диска"
Рисунок 10.22. Форма программы "Очистка диска"...
Листинг 10 14
Листинг 10.14 . Очистка диска #include <vcl.h> #pragma hdrstop #include "clear_.h" #include <FileCtrl.hpp> // для доступа к SelectDirectory #pragma package(smart_init) #pragm...
Алгоритм функции Clear
Рисунок 10.23. Алгоритм функции Clear Сначала функция clear обрабатывает текущий каталог: просматривает все файлы и удаляет те, которые надо удалить. Просмотр файлов обеспечивают функции FindFirst...








Начало    


Книжный магазин