В создаваемой программе вручную придется запрограммировать фактически только одно событие — нажатие на кнопку Закрасить. Чтобы создать первоначально пустую подпрограмму, вызываемую при нажатии на эту кнопку, надо просто дважды щелкнуть на ней мышкой. При этом система Delphi 7 вызовет редактор, автоматически сгенерирует нужный текст и разместит курсор именно в том месте, где можно начать описание нужного алгоритма.
procedure TForml.ButtonlClick(Sender: TObject); begin end; Обработчик события Нажатие на кнопку Button 1 — это обычная подпрограмма, метод класса TForml (этот класс описывает главную форму Formi). Единственный параметр Sender характеризует источник сообщения о случившемся событии. Его практически всегда можно игнорировать. Алгоритм работы данного метода будет следующим. Первоначально надо убедиться, что длина введенной в поле Editi строки равна 6 символам и каждый из этих символов — шестнадцатеричная цифра. Если это не так, то выполнение обработчика надо сразу завершить (для этого предназначена стандартная процедура Паскаля Exit, мгновенно завершающая работу текущей подпрограммы).Если же введенные данные корректны, их надо: ,
1.
Преобразовать в промежуточную строку в формате $00хххххх, где хххххх — шесть введенных цифр.2. Эту строку преобразовать в число, которое будет рассматриваться как цвет.
3.
Установить новый цвет круга на основании полученного значения. Содержимое поля ввода Editi хранится в виде строки в его свойстве Text. Доступ к этому свойству осуществляется с помощью конструкции Editi .Text. Длина строки определяется стандартной функцией lengthQ со строкой в качестве параметра.Стандартная функция Pos(), получая две строки как аргументы, проверяет, не содержится ли первая строка во второй, и если содержится, то возвращает номер начальной позиции. В противном случае Pos() возвращает ноль. Эта функция потребуется для определения, все ли символы во введенной строке допустимы.
s: string;
begin
// если длина введенной строки не равна 6, II то закончить работу if length(Editl.Text) <> 6 then exit; // в локальную переменную s заносится строка,// содержащая допустимые символы
Запуск программыDelphi 7abcdef,тически выполнится компиляция и тольствующие им цвета.Программа запускграмма запустится. Задавая различные стend;Shapelsfor i := 1 to 6 do// :=if числу/преобразованному 987654 и т. п.), можно наглядно ув —еон недопустивУстанавливаем значепровго pos "$00"+Editl.Text;это компилирующая система, сли очереднойе .Brush.Colorовим промежуто0123456789 (Uppercaseряетормальноется нажатием на клави я каждый с, и рабABCDEF";— (Editlсимвол не н := StrToIntв перную строие цве .Textтменнвол изтр ниак[i]ойта зкуебуевошу F стрроки (s).ачалдетьйдео по s )в9.н. а;ттоки в палведенносоответ-(, s) =. в стр автомаом про-FFOFFF,сяТак каквки пре оке s, знай строке 0 then exiкеременнойатитьуга равнРис 20.3. Пзакраски чtыsвр работеит,;мограмма
626 Глава 20. Основы программирования
Некоторая подпрограмма задает зависимость значения функции от аргумента. Надо нарисовать в окне график, показывающий эту зависимость.
Visual C++ Projects (Проекты Visual C++), а на панели Templates (Шаблоны) — значок MFC Application (Оконное приложение).
Название проекта (например, Grafiki) и его местонахождение задается в полях Name (Имя) и Location (Расположение). После нажатия на кнопку ОК запускается Мастер настройки вида будущего приложения. Изменять в нем ничего не надо, достаточно нажать кнопку Finish (Готово). Система сгенерирует заготовку пустого, но работоспособного проекта. Посмотреть его структуру можно с помощью средства Просмотра решения (SolutionExplorer), вызываемого командой View • Solution Explorer (Вид • Просмотр решения).
В этом множестве автоматически сгенерированных файлов нас интересует файл GrafikiView.cpp, непосредственно ответственный за отображение содержимого клиентских окон на экране. Чтобы открыть его в редакторе, надо дважды щелкнуть мышкой на соответствующей строке. Алгоритм отображения графика несложен. Он умещается в нескольких операторах. Рис. 20.4. Структура20.9. Пример на Си++. Рисование графиков | 627 |
Необходимо сформировать обработчик события OnDraw. Для этого перейдем в раскрывающийся список в верхнем правом углу окна редактора исходных текстов, и найдем в нем строку OnDraw. После ее выбора в редакторе появится следующий новый текст:
Параметр pDC — это нужный нам указатель на контекст устройства. Его мы и будем использовать для вывода графиков. Обратите внимание, что по умолчанию он взят в скобки-комментарии и недоступен внутри функции. Поэтому его надо раскомментировать.