Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ ЗАДАНИЯ НА ДОМАШНЮЮ КОНТРОЛЬНУЮ РАБОТУ 2 ДЛЯ УЧ

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024

PAGE   \* MERGEFORMAT 50

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

УЧРЕЖДЕНИЕ  ОБРАЗОВАНИЯ

«МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ»

УТВЕРЖДАЮ

Директор колледжа

_________А.Н.Шапчиц

____________________

                        

О С Н О В Ы  А Л Г О Р И Т М И З А Ц И И  

И  П Р О Г Р А М М И Р О В А Н И Я

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ

ПО  ИЗУЧЕНИЮ ДИСЦИПЛИНЫ,

ЗАДАНИЯ НА ДОМАШНЮЮ КОНТРОЛЬНУЮ РАБОТУ № 2

ДЛЯ УЧАЩИХСЯ ЗАОЧНОЙ ФОРМЫ ОБУЧЕНИЯ

ПО СПЕЦИАЛЬНОСТИ  2-40 01 01

2013


Автор: Пикулина А.Н., преподаватель УО «Могилевский государственный  политехнический колледж»

Рецензент: Сергиенко О.В., преподаватель УО «Могилевский государственный  политехнический колледж»

Разработано на основе учебной программы для учреждений, обеспечивающих получение среднего специального образования, утвержденной Министерством образования Республики Беларусь, 2007.

Обсуждено и одобрено на  

заседании цикловой комиссии

специальности «Программное

обеспечение информационных технологий»

Протокол № ______ от _________________

Согласовано с цикловой комиссией

стандартизации

Протокол  № ______ от _________________


Пояснительная записка

Для учащихся специальности “Программное обеспечение информационных технологий” необходимо получить навыки алгоритмизации и программирования вычислительных, экономических и финансовых задач.

Для этого необходимо изучить несколько языков высшего уровня с упором на алгоритмизацию таких задач, при этом использовать сведения других специальных курсов, таких как  «Математика», «Теория вероятностей и математическая статистика».

Дисциплина "Основы алгоритмизации и программирования" ставит своей целью изучение основ алгоритмизации, методов проектирования и разработки программ на языках программирования Паскаль на основе интегрированной среды Турбо-Паскаля и современной системы программирования Delphi.

Специалист должен в области алгоритмизации и программирования знать на уровне представления:

- эволюцию языков программирования, их классификацию, понятие системы программирования;

- структуру программного обеспечения и систем программирования;

- статические и динамические структуры данных;

- зависимость эффективности алгоритмов от способов представления данных;

знать на уровне понимания:

- понятие алгоритмизации, свойства алгоритмов, общие принципы построения алгоритмов, способы описания алгоритмов, виды алгоритмов, программ и данных;

- принципы построения эффективных алгоритмов;

- основы структурного проектирования программ;

- методы разработки программ, структуру программы, основные элементы языка программирования, операторы, функции и операции, управляющие структуры, структуры данных, файлы, классы памяти;

- принципы программирования на процедурно-ориентированном языке на примере одного из простых языков программирования (например, Паскаль, Си);

- виды подпрограмм, методику разработки библиотек подпрограмм;

уметь:

- разрабатывать алгоритм решения задачи;

- разрабатывать программы, проводить их отладку, тестирование п верификацию;

- использовать разработанные библиотеки подпрограмм.

В результате изучения дисциплины учащиеся выполняют 2 домашние контрольные работы, курсовой проект и сдают экзамен.

Общие методические рекомендации по выполнению домашней

контрольной работы № 2

Основным методом изучения дисциплины является самостоятельная работа, которая должна проводиться в последовательности, предусмотренной программой дисциплины, и быть обязательно систематической.

Задания на домашнюю контрольную работу № 2 разработаны в количестве 100 вариантов в соответствии с программой курса. Номера заданий выбираются в соответствии с двумя последними цифрами шифра учащегося, на пересечении соответствующей строки с соответствующим столбцом из таблицы 9. 

Каждый вариант содержит 5 заданий- 3 теоретических вопроса и 2 практических задания.

При оформлении контрольной работы следует придерживаться следующих требований:

- работа выполняется в отдельной тетради или на листах А4 (шрифт 12-14, межстрочный интервал - одинарный). Следует пронумеровать страницы и оставить на них поля: справа – не менее 3 см для замечаний преподавателя, остальные поля – 2,5 см;

- на титульном листе указываются название дисциплины, номер работы, группа, фамилия, имя, отчество учащегося, шифр;

- ответ следует начинать с номера и полного названия вопроса. В ответе на теоретические вопросы текст ответа должен быть осмыслен автором. Тексты, переписанные из книг или скачанные из Интернета, и не обработанные учащимся, не засчитываются. При выполнении практических заданий необходимо описать ход работы по разработке приложения со вставкой изображений созданных форм;

- чертежи и схемы следует выполнять аккуратно, соблюдая масштаб и ГОСТ19.701-90 (ИСО 5807-85);

- в конце работы следует указать список использованных источников, которым вы пользовались, проставить дату выполнения работы и подпись;

- к домашней контрольной работе прикладывается диск с файлами, содержащими программы решения задач;

- если в работе допущены недочеты или ошибки, то учащийся должен выполнить все указания преподавателя, сделанные в рецензии;

- контрольная работа должна быть выполнена в срок (в соответствии с учебным графиком). В период сессии работы на проверку не принимаются;

- учащиеся, не имеющие зачета по контрольной работе, к экзамену не допускаются;

- во время экзамена зачтенные контрольные работы предоставляются преподавателю.


Критерии оценки домашней контрольной работы № 2

Контрольная работа, признанная преподавателем удовлетворительной и содержащая 75% положенного объема, оценивается словом «Зачтено».

Контрольная работа будет не зачтена, если:

- выполнена не по варианту;

- не раскрыто основное содержание 1 теоретического вопроса и есть незначительные недочеты в других теоретических вопросах или в практических заданиях;

- не выполнено одно практическое задание;  

- нет диска с программами;

- есть существенные недочеты в заданиях (в сумме более 25%).


Список используемых источников

  1.  ГОСТ ИСО / МЭК 2382-99. Информационные технологии. Словарь. Ч. 1. Основные термины.
  2.  ГОСТ19.701-90 (ИСО 5807-85). Описание символов. Правила применения символов и выполнения схем.
  3.  СТУ СМК 4.04-2011. Стандарт учреждения. Общие требования к оформлению текстовых документов».
  4.  Архангельский, А.Я. Программирование в Delphi 6 / А.Я. Архангельский. – Москва: ЗАО «Издательство Бином», 2002. – 1120 с. ил.
  5.  Бобровский, С.И. Delphi 7. Учебный курс / С.И.Бобровский. - Санкт-Петербург: Питер, 2003. – 736 с.
  6.  Немюгин, С.А.TURBO PASCAL. Программирование на языке высокого уровня / С.А. Немюгин. – Санкт-Петербург: Питер, 2003. –504с. ил.
  7.   Федоренко, Ю.А. Алгоритмы и программы на Turbo Pascal / Ю.А. Федоренко. – Санкт-Петербург: Питер, 2001. – 240 с. ил.


Программа дисциплины и методические р
екомендации по ее

изучению

Раздел 6 Элементы системного программирования на Паскале

Тема 6.1 Доступ к системным ресурсам

Предопределенные массивы МЕМ. Функции библиотеки DOS. Прерывания, обработка прерываний. Адреса памяти для доступа к системным ресурсам. Назначение и объявление абсолютной переменной. Назначение и объявление предопределенных массивов. Функции библиотеки DOS для работы с системными ресурсами. Понятие прерываний. Прерывания DOS и BIOS. Примеры обработки прерываний.

Литература: [6, с. 10-54]; [7, с. 80-81]

Тема 6.2 Структура резидентной программы

Структура памяти MS DOS. Раздел резидентных программ. Структура Exe, com-файлов. Передача параметров вызываемым программам. Процедурные типы. Передача функций в качестве параметров.

Литература: [6, с. 10-54]; [7, с. 80-81]

Вопросы для самоконтроля

1 Адреса памяти для доступа к системным ресурсам.

2 Назначение и объявление абсолютной переменной.

3 Назначение и объявление предопределенных массивов.

4 Функции библиотеки DOS для работы с системными ресурсами.

5 Прерывания DOS и BIOS.

6 Обработка прерываний.

7 Структура памяти  MS DOS, раздел резидентных программ.

8 Структура Exe, com-файлов.

9 Передача параметров вызываемым программам.

10 Процедурные типы.

11 Передача функций в качестве параметров.

Раздел 7 Объектно-ориентированное программирование

Понятия объект, свойства объекта. Способы описания объекта. Инкапсуляция. Полиморфизм. Наследование  Понятие конструктора и деструктора. Понятие и назначение конструктора и деструктора объектов. Понятие и назначение виртуальных функций. Реализация виртуальных функций

Литература: [4]; [5, с. 14-19, 83-96]

Вопросы для самоконтроля

  1.  Объектно-ориентированное программирование-объект, класс.
  2.  Объектно-ориентированное программирование-метод, свойство, событие.
  3.  Объектно-ориентированное программирование-инкапсуляция, скрытие данных, наследование.
  4.  Понятие и назначение конструктора и деструктора объектов.
  5.  Понятие и назначение виртуальных функций.

Раздел 8 Система программирования Delphi

Тема 8.1 Особенности разработки программ под WINDOWS.

Введение в Delphi

Отличительные особенности разработки программ под Windows. Среда разработки Delphi, ее назначение, возможности и достоинства.

Литература: [3, с. 97-98]; [6]

Тема 8.2 Основы визуального программирования

Основы визуального программирования. Свойства, методы и события объектов. Компоненты Главного окна. Форма и палитра компонентов. Редактор и Знаток кода. Компоненты страницы Standard, их назначение, основные свойства. Размещение нового компонента. Источники и обработка событий. Обращения к свойствам и методам.

Литература: [5, с. 98-143]; [4]

Тема 8.3 Компоненты страницы Additional, их назначение,

свойства, применение

Компоненты страницы Additional, основные свойства.  Назначение компонентов страницы Additional.

Литература: [4]; [5, с. 221-251]

Тема 8.4 Компоненты страницы Win 32, их назначение,

свойства, применение

Компоненты страницы Win 32, основные свойства. Назначение компонентов страницы Win 32.

Литература: [4]; [5, с. 252-301]

Тема 8.5 Компоненты страницы System, их назначение,

свойства, применение

Компоненты страницы System, основные свойства.  Назначение компонентов страницы System.

Литература: [4]; [5, с. 302-306]

Тема 8.6 Компоненты страниц Dialogs и Samples, их

назначение, свойства, применение

Компоненты страниц Dialogs и Samples, основные свойства. Назначение компонентов страниц Dialogs и Samples.

Литература: [4]; [5, с. 214-218]

Тема 8.7 Графические возможности Delphi

Графические возможности Delphi. Понятие Канвы. Ее возможности. Использование Пера (Карандаша), Кисти. Вывод текста в графическом режиме. Создание графических объектов. Приемы работы с иллюстрациями. Приемы работы с битовыми образами. Алгоритм создания мультипликации. Создание файла ресурсов.

Литература: [4]; [5, с. 183-198]

Тема 8.8 Мультимедийные возможности Delphi

Мультимедийные возможности Delphi. Назначение и свойства компонентов Animate и MediaPlayer. Способы записи и воспроизведения звука. Принципы создания анимации. Способы просмотра видеороликов и анимации. 

Литература: [4]

Тема 8.9 Компоненты страниц Data Access, Data Control и BDE

Назначение, свойства компонентов страниц Data Access, Data Control и BDE. Возможности компонентов страниц Data Access, Data Control и BDE на примерах.

Литература: [4]; [5, с. 307-370]

Тема 8.10 Создание справочной системы

Подготовка материалов. Создание сносок и ссылок на раздел.  Компиляция справочной системы.

Литература: [4]; [5, с. 647-652]

Тема 8.11 Создание установочного диска

Процесс создания установочного диска.

Литература: [3, с. 10-54]; [6, с. 80-81]

Вопросы для самоконтроля

  1.  Среда разработки Delphi,  ее назначение, возможности и достоинства.
  2.  Свойства, методы и события объектов.
  3.  Компоненты Главного окна.
  4.  Форма и палитра компонентов.
  5.  Редактор и Знаток кода.
  6.  Компоненты страницы Standard, их назначение, основные свойства.
  7.  Компоненты страницы Additional, основные свойства.
  8.  Компоненты страницы Win 32, основные свойства.
  9.  Компоненты страницы System, основные свойства.
  10.  Компоненты страниц Dialogs и Samples, основные свойства.
  11.  Графические возможности Delphi.
  12.  Создание графических объектов.
  13.  Приемы работы с иллюстрациями.
  14.  Создание файла ресурсов.
  15.  Мультимедийные возможности Delphi.
  16.  Назначение, свойства компонентов страниц Data Access, Data Control и BDE.
  17.  Создание справочной системы.
  18.  Создание установочного диска.


Задания на домашнюю контрольную работу № 2 по

дисциплине « Основы алгоритмизации и программирования»

  1.  Опишите адреса памяти для доступа к системным ресурсам.
    1.  Опишите назначение и объявление абсолютной переменной.
      1.  Опишите назначение и объявление предопределенных массивов.
        1.  Опишите функции библиотеки DOS для работы с системными ресурсами.
        2.  Дайте понятие прерываний DOS и BIOS.
        3.  Приведите примеры обработки прерываний.
        4.  Опишите структуру памяти  MS DOS, раздел резидентных программ.
        5.  Опишите структуру Exe, com-файлов.
        6.  Охарактеризуйте передачу параметров вызываемым программам.
        7.  Опишите процедурные типы.
        8.  Опишите процесс передачи функций в качестве параметров.
        9.  Объектно-ориентированное программирование. Дайте понятие объект, класс.
        10.  Объектно-ориентированное программирование. Дайте понятие метод, свойство, событие.
        11.  Объектно-ориентированное программирование. Дайте понятие инкапсуляция, скрытие данных, наследование.
        12.  Опишите назначение  и особенности системы программирования Delphi.  
        13.  Опишите основные компоненты среды Delphi-форма, палитра компонентов, инспектор объектов.
        14.  Опишите   назначение  Редактора кода, Знатока кода.
        15.  Охарактеризуйте отличительные особенности разработки программ под Windows.
        16.  Опишите среду разработки Delphi,  ее назначение, возможности и достоинства.  
        17.  Опишите процесс визуального программирования. Свойства, методы и события объектов.
        18.  Перечислите и опишите компоненты Главного окна.
        19.  Перечислите и опишите основные свойства объектов.
        20.  Перечислите и опишите методы объектов.
        21.  Дайте характеристику событиям, опишите источники событий.
        22.  Перечислите и опишите компоненты отображения статического текста.
        23.  Охарактеризуйте назначение  формы и палитры компонентов.
        24.  Перечислите и опишите компоненты отображения текста
        25.  Перечислите и опишите компоненты страницы Standard, их назначение, основные свойства.
        26.  Перечислите и опишите компоненты с возможность редактирования.
        27.  Опишите процесс размещение нового компонента.
        28.  Перечислите и опишите источники и обработку событий.
        29.  Опишите процесс обращения к свойствам и методам.
        30.  Перечислите и опишите функции взаимного преобразования строкового и числового типов
        31.  Перечислите и опишите компоненты выбора из списков на примере компонента ComboBox.
        32.  Перечислите и опишите компоненты выбора из списков на примере компонента ListBox.
        33.  Перечислите управляющие элементы  и опишите назначение Кнопки.
        34.  Перечислите управляющие элементы  и опишите назначение объекта SpeedButton.
        35.  Охарактеризуйте компонент RadioButton.
        36.  Охарактеризуйте компоненты RadioGroup и GroupBox.
        37.  Охарактеризуйте компонент CheckBox.
        38.  Перечислите и опишите компоненты для ввода целых чисел.
        39.  Перечислите и опишите компоненты для ввода и отображения дат и времени.
        40.  Охарактеризуйте назначение системных диалогов.
        41.  Опишите компоненты OpenDialog и SaveDialog.
        42.  Приведите пример использования компонентов OpenDialog и SaveDialog.
        43.  Опишите компоненты MainMenu и PopupMenu.
        44.  Опишите процесс создание обработчика событий.
        45.  Опишите процесс изменения свойств объекта динамически в обработчике события, размещение нового компонента.
        46.  Охарактеризуйте источники и опишите процесс обработка событий.
        47.  Опишите процесс обращения к свойствам и методам.
        48.  Перечислите и опишите компоненты страницы Win 32, основные свойства.
        49.  Перечислите и опишите назначение компонентов страницы Win 32.
        50.  Опишите процесс выбора компонентов при создании формы.
        51.  Компоненты страницы System, основные свойства.
        52.  Перечислите и опишите назначение компонентов страницы System.
        53.  Перечислите и опишите компоненты страницы Dialogs
        54.  Перечислите и опишите назначение компонентов страницы Samples.
        55.  Охарактеризуйте графические возможности Delphi
        56.  Дайте понятие канвы. Охарактеризуйте рисование по пикселям.
        57.  Опишите процесс рисования с помощью пера.
        58.  Приведите пример создания простого изображения по пикселям и пером.
        59.  Опишите процесс вывода текста в графическом режиме.
        60.  Опишите процесс создания графических примитивов.
        61.  Опишите приемы работы с иллюстрациями.
        62.  Опишите приемы работы с битовыми образами.
        63.  Опишите алгоритм создания мультипликации.
        64.  Опишите процесс создания файла ресурсов.
        65.  Опишите процесс создания мультипликации.
        66.  Опишите компонент Timer.
        67.  Опишите и приведите пример использования готовых изображений при создании анимации.
        68.  Опишите мультимедийные возможности Delphi.
        69.  Опишите назначение и свойства компонентов Animate и MediaPlayer.
        70.  Опишите способы записи и воспроизведения звука.
        71.  Опишите принципы создания анимации.
        72.  Опишите способы просмотра видеороликов и анимации.
        73.  Дайте понятие о базах данных и СУБД. Опишите способы реализации работы с СУБД в системе Delphi.
        74.  Опишите назначение, свойства компонентов страниц Data Access, Data Control и BDE.
        75.  Опишите возможности компонентов страниц Data Access, Data Control и BDE.
        76.  Опишите компоненты и приложения для работы с базами данных.
        77.  Опишите утилиты для работы с СУБД в системе Delphi
        78.  Опишите создание структуры таблиц с помощью DataBase Desktop.
        79.  Опишите процесс задания псевдонимов и свойств полей, установку связи между таблицами
        80.  Дайте описание схемы взаимодействия приложения и базы данных в технологии BDE.
        81.  Дайте описание компонентов для установки связи с базой данных. Алгоритм установки связи в базе данных.
        82.  Опишите основные методы работы с наборами данных в СУБД в системе Delphi
        83.  Опишите основные компоненты для отображения данных, их свойства. Основные компоненты управления данными, их свойства.
        84.  Опишите создание запросов  в СУБД в системе Delphi
        85.  Опишите создание справочной системы в системе Delphi
        86.  Опишите процесс подготовки содержимого справочной системы
        87.  Опишите этапы создания установочного диска.

Практические задания

91-120 Выполните задание, добавив, если необходимо, защиту от неправильного ввода данных. Форма обязательно должна содержать кнопку для закрытия приложения, кнопку очистки компонентов  и главное меню, дублирующее основные действия.

  1.  Введите три числа. В зависимости от выбранного переключателя RadioButton вычислить сумму или произведение чисел.  
    1.  Введите три числа. В зависимости от выбранного переключателя RadioButton вычислить объем или площадь поверхности параллелепипеда с такими сторонами.  
      1.  Создайте приложение для перевода введенного числа сантиметров квадратных в метры, дециметры и миллиметры квадратные. Выбор единиц, в которые надо перевести число осуществлять при помощи компонента RadioGroup.  
        1.  Создайте приложение для перевода введенного числа литров в миллилитры, метры кубические. Выбор единиц, в которые надо перевести число осуществлять при помощи компонента RadioButton.  
        2.  Введите число. В зависимости от выбранного переключателя  RadioButton выводить информацию о числе:  знак числа (положительное или отрицательное), четность (четное не четное), делимость на 3 (делится или не делится).
        3.  Поместите на форму компонент Label, внесите в него текст «Это компонент – надпись», оформите его шрифтом  размером 8,  синим цветом текста, белым цветом фона.
        4.  Разместите на форме три компонента-флажка CheckBox – размер шрифта, цвет текста, цвет фона. Для каждого флажка создать группу переключателей, с вариантами размера или цветов. Если флажок выбран, то переключатели должны становиться доступными. В зависимости от выбранного переключателя надпись Label должна принимать выбранное форматирование цветом или размером. Если с флажка снимается выделение, форматирование исчезает, и восстанавливается исходное.
        5.  Поместите на форму компонент Label, внесите в него текст «Label – это надпись», оформите его шрифтом  размером 10,  белым цветом текста, синим цветом фона.
        6.  Разместите на форме три компонента-флажка CheckBox – размер шрифта, цвет текста, цвет фона. Для каждого флажка список ListBox, с вариантами размера или цветов. Если флажок выбран, то список должен становиться доступным. В зависимости от выбранного элемента списка, надпись Label должна принимать выбранное форматирование цветом или размером. Если с флажка снимается выделение, форматирование исчезает, и восстанавливается исходное.
        7.   Поместите на форму компонент Edit, внесите в него текст «Флажок – это CheckBox», оформите его шрифтом  размером 10,  курсивным начертанием, зеленым цветом фона.
        8.   Разместите на форме три компонента переключателя RadioButton. Каждый из них будет соответствовать варианту оформления. Для каждого переключателя создать группу компонентов-флажков CheckBox с элементами оформления. В зависимости от выбранного переключателя становится доступной группа флажков.  Выбирая флажки из данной группы, пользователь может установить форматирование компонента Edit.

1 вариант (размер текста 12, начертание жирное и курсивное, фон - белый).

  1.   Разместите на форме три компонента переключателя RadioButton. Каждый из них будет соответствовать варианту оформления. Для каждого переключателя создать группу компонентов-флажков CheckBox с элементами оформления. В зависимости от выбранного переключателя становится доступной группа флажков. Выбирая флажки из данной группы, пользователь может установить форматирование компонента Edit. (размер текста 8, начертание подчеркнутое, фон - серый).
    1.  Разместите на форме три компонента переключателя RadioButton. Каждый из них будет соответствовать варианту оформления. Для каждого переключателя создать группу компонентов-флажков CheckBox с элементами оформления. В зависимости от выбранного переключателя становится доступной группа флажков.  Выбирая флажки из данной группы, пользователь может установить форматирование компонента Edit. (размер текста 14, начертание жирное, фон - голубой).
      1.  Поместите на форму четыре компонента-флажка CheckBox с категориями блюд – Первое, Второе, Напиток, Десерт.  Для каждого флажка при помощи компонентов ComboBox создайте список возможных блюд. Если пользователь выделил флажок с категорией блюда, то список блюд данной категории становится доступен. Поместить  на форму кнопку «Оформить заказ», при ее нажатии все выбранные пользователем блюда должны выводиться в компоненте Label.
        1.  Поместите на форму три компонента-флажка CheckBox с категориями товаров – Книги, Фильмы, Канцелярские товары. Для каждого флажка при помощи компонентов ListBox создайте список возможных блюд. Если пользователь выделил флажок с категорией товара, то список товаров данной категории становится доступен. Поместить  на форму кнопку «Оформить покупку», при ее нажатии все выбранные пользователем товары должны выводиться в компоненте Edit, без возможности редактирования.
        2.  Поместите на форму компонент Memo, заполните его минимум пятью строками. Добавьте окно Edit и компонент UpDown, его максимальное значение сделайте равным числу строк в Memo. При нажатии кнопки Старт выводить в компонент  Label содержимое строки с номером установленном компонентом  UpDown. Добавить возможность сохранять содержимое Memo в файл.
        3.  Создайте приложение для работы с компонентом Memo, позволяющее добавлять строки с заданным содержимым и удалять строки с указным номером. Добавить возможность сохранять содержимое Memo в файл и загружать из файла, при этом использовать системные диалоги.
        4.  Создайте приложение для оформления формы цветами и компонентов формы шрифтами. Для этого используйте системные диалоги. Предусмотреть возможность отмены выбранного оформления.
        5.  Создайте приложение для оформления компонента Memo цветами и шрифтом. Для этого используйте системные диалоги. Предусмотреть возможность отмены выбранного оформления.
        6.  Поместите на форму компоненты Memo, Edit, Label. В каждый внесите текст. При нажатии кнопки формат должно появляться диалоговое окно выбора шрифта. Компонент (Memo, Edit, Label) для которого будет применен выбранный шрифт и размер шрифта должен определяться при помощи RadioGroup.  
        7.  На канве компонента Image при нажатии кнопки «Рисовать» построите изображение домика. Использовать рисование пером. При помощи компонентов RadoButton задавать размер будущего изображения – большой, средний, маленький.
        8.  На канве компонента Image при нажатии кнопки «Рисовать» построите изображение кораблика. Использовать рисование по точкам. При помощи компонентов RadoButton задавать размер будущего изображения – большой, средний, маленький.
        9.  На канве компонента Image при нажатии кнопки «Рисовать» построите изображение кораблика. Использовать рисование по точкам. При помощи компонентов RadoButton задавать способ вывода изображения – мгновенно, замедленно. Для замедления использовать компонент Timer.
        10.  На канве компонента Image при нажатии кнопки «Рисовать» построите изображение домика. Использовать рисование по точкам. При помощи диалога выбора цвета задавать цвет линий будущего изображения.
        11.  На канве компонента Image при нажатии кнопки «Рисовать» построите изображение кораблика. Использовать рисование пером.  При помощи диалога выбора цвета задавать цвет линий будущего изображения.
        12.  На форме элемент выбора даты – MonthCaLendar. При помощи текстовых компонентов выведите выбранный пользователем год, месяц (словом) и день. Для преобразования названия месяца использовать оператор Case или If.
        13.  На форме элемент выбора даты – MonthCaLendar. При помощи текстовых компонентов выведите выбранный пользователем год, месяц, день и день недели. Для преобразования названия дня недели использовать оператор Case или If.
        14.  На форме разместите два компонента Edit и два компонента UpDown. Первый счетчик должен отображать целые числами от 0 до 30 с шагом 2 и циклической прокруткой. Второй должен отображать дробные числа от 0 до 2 с шагом 0,1 и фиксацией максимума и минимума. В компонент Label вывести надпись «сумма показаний =» и добавить текущее значение суммы показаний счетчиков.
        15.  Разместите на форме два компонента Edit и два компонента UpDown. Первый счетчик должен отображать целые числами от -10 до 10 с шагом 2 и фиксацией максимума и минимума. Второй должен  отображать дробные числа от -5 до 5 с шагом 0,5 и циклической прокруткой. В компонент Label вывести надпись «произведение показаний =» и добавить текущее значение произведения показаний счетчиков.
        16.  Создать на форме при помощи компонентов Label и Timer бегущую строку. Текст бегущей строки должен вводится пользователем. Запуск производится кнопкой Старт, которая после запуска меняет название на Стоп и наоборот.

121-150 Выполните задание, добавив, если необходимо, защиту от неправильного ввода данных. Форма обязательно должна содержать кнопку для закрытия приложения.

  1.  Создайте список – ComboBox из пяти актеров. Программа должна работать в двух режимах, выбираемых переключателем: 1 – в текстовое поле вводится номер актера, и он становиться выбранным в списке. 2 –  вводится имя актера и добавляется в список. Добавить защиту от некорректного вывода.
    1.  Создайте список – ListBox из пяти городов. Программа должна работать в двух режимах, выбираемых переключателем: 1 – в текстовое поле вводится номер города, и он становиться выбранным в списке. 2 –  вводится название города и добавляется в список. Добавить защиту от некорректного вывода.
      1.  Создайте список – ComboBox из пяти металлов. При щелчке по списку выбранный металл должен отобразиться в надписи или в текстовом окне, в зависимости от выбранного переключателя.
        1.  Создайте список – ListBox из пяти фруктов. При щелчке по кнопке выбранный фрукт должен появиться в текстовом окне или в компоненте Label, в зависимости от выбранного переключателя.
        2.  Создайте приложение для решения квадратного уравнения.
        3.  Поместите на форму пять флажков, подписать их названиями товаров. В компонент Label выводить названия всех выбранных товаров. Добавить обработку ситуации, когда не выбран ни один флажок и меню дублирующее кнопки.
        4.  Введите два положительных числа – координаты Х и У. При нажатии на кнопку она должна принимать положение в соответствии с введенными координатами. Добавить защиту от некорректных чисел и меню дублирующее кнопки.
        5.  Введите три положительных числа, ответьте, существует ли треугольник с такими сторонами.  Результат можно выводить при помощи компонентов Label, StaticText, Panel. Какие компоненты используются для вывода, задавать при помощи компонентов CheckBox. Добавить защиту от отрицательных чисел.
        6.  Введите два положительных числа – катеты прямоугольного треугольника, вычислите гипотенузу или площадь  треугольника (в зависимости от выбранного переключателя).  Добавить защиту от отрицательных чисел.
        7.  Введите три положительных числа, вычислите периметр или площадь треугольника с такими сторонами (в зависимости от выбранного переключателя).  Добавить защиту от некорректных чисел.
        8.  Введите строку и букву. Вывести, сколько раз буква встречается в строке. Добавить меню дублирующее кнопки.
        9.  Создайте приложение для определения максимального из трех чисел. Добавить меню дублирующее кнопки. При открытии и при завершении, должно появляться сообщение об авторе программы.
        10.  Создайте приложение для просмотра текстовых файлов, с возможностью сохранения под старым и под новым именем. Добавить меню дублирующее кнопки.
        11.  Создайте приложение позволяющее очищать список ListBox, добавлять в него новые строки, сохранять и загружать списки значений.
        12.  Создайте приложение позволяющее при помощи системного диалога выбрать цвет, при помощи компонента  CheckBox указать компоненты (форма, метка, текстовое окно), которые должны принять выбранный цвет.
        13.  Поместите на форму компоненты Label, StaticText, Panel. При помощи системного диалога выбрать шрифт и его форматирование. При помощи компонента CheckBox задать компоненты, для которых должно быть применено выбранное форматирование.
        14.  Создайте приложение, содержащее: список значений – при помощи компонента CheckListBox; поле для ввода новой строки и кнопку для добавления новой строки в список; поле со счетчиком для ввода номера удаляемой строки и кнопку для добавления удаления выбранной строки. Предусмотреть соответствие вводимого номера и количества строк.
        15.  Создайте приложение, содержащее: список значений; поле для ввода новой строки и кнопку для добавления новой строки в список; поле со счетчиком для ввода номера удаляемой строки и кнопку для добавления удаления выбранной строки. Предусмотреть соответствие вводимого номера и количества строк.
        16.  Создайте список – ComboBox из пяти писателей. Программа должна работать в двух режимах, выбираемых переключателем: 1 – При щелчке по списку в текстовом окне должен появиться порядковый номер выбранного писателя. 2 – В текстовое поле вводится номер писателя, и он становиться выбранным в списке. Добавить защиту от некорректного вывода.
        17.  Создайте список – ListBox из пяти видов грибов. Программа должна работать в двух режимах, выбираемых переключателем: 1 – При щелчке по списку в текстовом окне должен появиться порядковый номер выбранного вида. 2 – В текстовое поле вводится номер города, и он становиться выбранным в списке. Добавить защиту от некорректного вывода.
        18.  Создайте кнопки для выбора двух цветов и кнопку Старт. После нажатия кнопки Старт текст надписи должен чередовать выбранные цвета.
        19.  Создайте кнопки для выбора двух цветов и кнопку Старт. После нажатия кнопки Старт надпись должна мигать выбранными цветами.
        20.  Создайте надпись, оформив ее  ярким цветом. Создайте кнопки Старт и Финиш, которые будут начинать и заканчивать движение надписи по форме. Если надпись  движется, кнопка Старт должна быть недоступна. Если движения нет, недоступна должна быть кнопка Финиш.
        21.  Поместить на форму две группы переключателей. Первая группа определяет цвет надписи, а вторая размер шрифта (маленький, средний, большой). Изменять надпись в соответствии с выбранным описанием. При открытии и при завершении, должно появляться сообщение об авторе программы.
        22.  Поместите на форму две группы переключателей. Первая группа определяет цвет формы, вторая размер (маленький, средний, большой). Изменять форму в соответствии с выбранным описанием. При открытии и при завершении, должно появляться сообщение об авторе программы.
        23.  Поместите на форму две группы переключателей. Первая группа определяет четное или нечетное число, а вторая диапазон числа (0-10, 11-20,21-30). Вывести все числа, отвечающие выбранным условиям.
        24.  Если существует файл С:/text.txt, то выведите его в окно Memo. Подсчитайте в нем число слов.
        25.  Если существует файл С:/text.txt, то выведите его в окно Memo. Введите номер строки и в поле компонента Edit выведите строку из Memo, с номером соответствующим введенному числу.
        26.  Если существует файл С:/text.txt, то выведите его в окно Memo. При помощи компонента Edit выведите первую строку из Memo.
        27.  Создайте на форме при помощи компонентов Label и Timer бегущую строку. Текст бегущей строки должен вводиться пользователем. Запуск производится кнопкой «Старт», которая после запуска меняет название на «Стоп» и наоборот.

Методические рекомендации по выполнению задач домашней

контрольной работы № 2

1 Состав проекта

Delphi загружается с уже созданным пустым проектом. Чтобы  закрыть этот проект – выбрать из меню File пункт Close All. Чтобы сохранить проект Save All. Создать новый проект можно тремя способами:

- выбрать из меню File пункт New и затем Application;

- выбрать из меню File пункт New и затем Other. Откроется окно, в нем нужно выбрать пункт Application и нажать ОК;

- в окне менеджера проекта нажать кнопку New и сразу откроется окно. В нем нужно выбрать пункт Application и нажать ОК.

Для просмотра состава проекта применяю Менеджер проекта. (Вид/Менеджер проекта).

ProjectGroup1 (заголовок дерева) – имя группы проектов. В одной группе проектов может быть несколько приложений. Если нажать кнопку New в окне менеджера проектов и создать новое приложение, то оно будет добавлено в существующую группу проектов.

Project1.exe – имя проекта (приложения). Когда ты создаётся новое приложение, Delphi даёт ему имя Project плюс порядковый номер.

Unit1 – модуль. Проект состоит из модулей. Каждое окно программы – это отдельный модуль. Модуль состоит из двух файлов:

Unit1.pas – С расширением .pas показываются файлы, содержащие исходный код модуля. Имя файла такое же, как и у модуля.

Form1 – это визуальная форма. Она сохраняется в файле с таким же именем, как у модуля, но с расширением .dfm.

Для сохранения приложения – из меню File пункт Save All. Сначала Delphi запросит ввести имя модуля. По умолчанию, уже указано текущее имя Unit1.pas. Нежелательно вводить имена с пробелами или на русском языке. Важно выбрать директорию, куда надо сохранить модуль и проекты. Желательно, чтобы всё хранилось в одной директории. Нажать  кнопку «Сохранить». Затем Delphi запросит имя будущего проекта. Проект сохранится под именем «*.dpr».

В папке проекта можно найти следующие файлы:

- *.cfg – файлы с расширением .cfg содержат конфигурацию проекта;

- *.dof - файлы с расширением .dof содержат опции проекта;

- *.dpr – файлы с расширением .dpr это сам проект. В этом файле находится описание используемых в проекте модулей и описание инициализации программы. Этот файл можно использовать и для написания кода. В будущем, мы научимся писать код и в этом модуле;

- *.res - файлы с расширением .res содержат ресурсы проекта, такие как иконки, курсоры и др.;

- *.pas - файлы с расширением .pas содержат исходный код модулей;

- *.dfm - файлы с расширением .dfm содержат визуальную информацию о форме;

- *.ddp – файлы с расширением .ddp - вспомогательный файл модуля;

- *.dcu - файлы с расширением .dcu – откомпилированный модуль. Когда компилируется программа, все модули проекта собираются в один и получается запускной файл.

Для выполнения при проектировании некоторых команд предназначены пиктографические кнопки (рисунок 1).

2 Работа с проектом

Для запуска проекта надо нажать F9 или соответствующую пиктограмму. Для завершения работы программы надо нажать стандартную кнопку Закрыть в верхней части окна или создать копку для закрытия формы, поместив в обработчик ее события OnCick команду <Имя формы>.Close; Например: form1.Close;

Если в процессе выполнения возникла ошибка, и  появилось сообщение об этом, то программа выглядит зависшей. Для устранения этой проблемы надо еще раз нажать F9 или пиктограмму Запустить.

Если программа зависает, и нет возможности закрыть ее без закрытия Delphi. Надо в меню Запуск (Run) выбрать команду Сброс программы (Program Reset) или Ctrl +F2.

Для отладки используют клавиши F7 (пошаговое выполнение), F8 (пропуск блока) и F4 (Запуск до курсора). Значение переменных и свойств во время отладки можно просматривать, просто наводя на них курсор мыши. Всплывающая подсказка будет содержать текущее значение.

3 Назначение и свойства компонентов страницы Standard

Страница Standard содержит все основные компоненты (рисунок 2), необходимые для создания простого приложения.

Рисунок 2 – Компоненты страницы Standard

Для ввода текста и чисел используются Edit и Memo.

Для вывода текста и чисел – Edit, Memo, Label, Panel.

Для вызова события – Button.

Для переключения и индикации – RadioButton, RadioGroup, CheckBox.

Для вывода списков – ComboBox, ListBox.

Компоненты  имеют много общих свойств, приведем некоторые из них:

  •  Name – имя в программе;
  •  Caption – надпись на компоненте или около него;
  •  Text – введенный или выбранный текст;
  •  Font – шрифт текста;
  •  AllignMent –выравнивание или расположение текста;
  •  Color – цвет компонента;
  •  Visible – видимость;
  •  Enabled – доступность;
  •  Width – ширина;
  •  Height – высота;
  •  Top, Left – координаты  верхнего и левого краев компонента относительно форму.

Основные свойства компонентов представлены в таблице 1:

Таблица 1 - Компоненты страницы Standard

Вид

Пояснение

Label (метка) – компонент для отображения статического текста.

AutoSize – определяет, зависит ли размер элемента от текста.

Transperend – прозрачность компонента.

WordWrap – если равно True, и  AutoSize=False то производится автоматический перенос на следующую строку.

Edit (текстовое поле)– компонент ввода и вывода текста, с возможностью редактирования.

ReadOnly – только для чтения.

PasswordChar – задает символ на которые будет заменяться вводимый текст. Используется при создании окна пароля.

Memo – Компонент для редактирования многострочного текста.

Lines –содержимое текста. Это имеет свои свойства и методы:

Strings – свойство объекта Lines – служит для доступа к каждой строке. Чтобы получить i-ю строку, нужно написать Memo1.Lines.Strings[1], нумерация с нуля.

CaretPos – указывает на текущую позицию курсора. Тип переменной – запись. У TPoint есть два свойства «Х» и «Y». Х – указывает на текущую колонку, а Y указывает на текущую строку.

Button – кнопка.

Cursor – выбор вида курсора , который будет отображаться на этой кнопкой.

Cancel – если = true, то нажатие клавиши Esc будет эквивалентно нажатию на данную кнопку.

Default – если= true, то нажатие клавиши ввода Enter будет эквивалентно щелчку на данной кнопке, даже если она в этот момент не находится в фокусе. Если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе. Если у нескольких кнопок на форме свойство Default задано равным true, то при нажатии Enter сработает та из них, которая находится раньше в последовательности табуляции.

Click –метод, его выполнение эквивалентно щелчку на кнопке, т.е. вызывает событие кнопки OnClick.

Продолжение таблицы 1

Вид

Пояснение

ListBox – Компонент выбора из списка.

Items – содержимое списка.

ItemIndex – номер выбранной строки. Если ни одна строка не выбрана, то Itemlndex = -1.

Strings – свойство объекта Lines  служит для доступа к каждой строке.

MultiSelect –Свойство, разрешающее пользователю множественный выбор в списке.

Columns – определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента ListBox.

Sorted – позволяет упорядочить список по алфавиту. При Sorted = true новые строки в список добавляются не в конец, а по алфавиту.

ComboBox – выпадающий список с возможностью ввода текста

Items –Свойство, содержащее список строк.

Text – Выбор пользователя или введенный им текст определяется по значению этого свойства.

ItemIndex – индекс выбранного пользователем элемента списка. Если в окне проводилось редактирование данных, то ItemIndex = -1.

Style – Стиль изображения компонента.

МaxLength – определяет максимальное число символов, которые пользователь может ввести в окно редактирования. Если MaxLength = 0, то число вводимых символов не ограничено.

DropDownCount – число строк, в выпадающем списке без возникновения полосы прокрутки.

CheckBox –Индикаторы с флажком.

State: cbChecked, cbGrayed, cbUnchecked  соответствуют трем состояниям.

AllowGrayed – если= true, то допускаются три состояния, иначе только 2.

Checked – свойство обозначающие состояние, если = true, то индикатор выбран.

RadioButton – Радиокнопка.

Радиокнопки образуют группы взаимосвязанных индикаторов, из которых обычно может быть выбран только один.

Checked – определяет, выбрана ли данная кнопка пользователем, или нет.

Продолжение таблицы 1

Вид

Пояснение

RadioGroup — панели группы радиокнопок.

Items – Надписи кнопок и их количество.

Columns – задает количество столбцов для расположения кнопок.

ItemIndex – показывает индекс выбранной кнопки. Индексы, начинаются с 0. По умолчанию Itemlndex = -1, что означает отсутствие выбранной кнопки.

В некоторых случаях необходимо использовать свободное размещение индикаторов. Такие группы и объединяются единым контейнером, панелью GroupBox.

Panel – компонент группировки объектов.

Все компоненты, размещенные на панели, перемещаются вместе с ней. Если панель становится невидимой, то невидимыми будут и все компоненты на ней.

Имеет функцию отображения статического текста в одну строку.

Свойства BorderStyle, BevelInner, BevelOuter, BevelWidht, BorderWidht, дающие обширные возможности для оформления надписи.

4 Обработка массивов при помощи компонентов страницы

 Standard 

Обработка массивов по сравнения с обычными переменными имеет ряд особенностей.

Для задания значений элементов массива в Паскале применялся цикл For, который выполнял команду вывода подсказки Writeln и команду чтения Readln.

В Delphi для задания ряда чисел – обычно массив выглядит именно так, можно использовать несколько компонентов самым удобным из которых является StringGrid.

Из компонентов страницы  Standard для задания массива желательно использовать Memo. Каждая его строка должна соответствовать значению одного элемента массива. В него можно ввести заранее выбранное число строк и считывать числа построчно циклом For.  

Если размер массива не задан, можно в компоненте Memo на следующей после последнего элемента массива строке  поставить условный знак окончания массива (например *). В этом случае считывание производится циклом While memo1.Lines.strings[i]<>’*’ do 

Для дальнейшей обработки массив надо преобразовать к числовому виду. Для этого в программе должен быть объявлен массив и строковая переменная. Чтение из Memo производится в строковую переменную,  а затем при помощи функций перевода из одного типа в другой (например StrToFloat) очередному элементу массива надо присвоить значение.

Для вывода нового или измененного массива можно использовать компоненты Memo, ListBox, Label, Edit. Для добавления новой строки с элементом массив обычно используется метод Add. Для компонентов Label и Edit надо создать текстовую переменную, к которой циклом For надо добавить  все элементы, предварительно преобразовывая их к текстовому типу, например   s:=s+’   ‘+IntToStr(a[i]).

Для выбора операции над массивом можно использовать компоненты ListBox, ComboBox, RadioButton, ChekBox.

При работе с ними, для проверки того, какая операция выбрана, необходим оператор ветвления If .

Например If RadioButton1.Checked, If ListBox1.ItemsIndex =1 и т.д.

5 Назначение и свойства компонентов страницы Additional

Страница Additional содержит большой набор компонентов (рисунок 3) различных назначений. Часть из них подобна компонентам страницы Standard, но обладает более широкими возможностями. Часть не имеет аналогов на других страницах и применяется для оформления приложения.

Рисунок 3 – Компоненты страницы Additional

Основные свойства компонентов страницы Additional представлены в таблице 2.

Таблица 2 - Компоненты страницы Additional

Вид

Пояснение

BitBtn – кнопка с картинкой.

BitBtn – аналог кнопки Button отличается, в основном, возможностью выводить на ее поверхность изображение. Большинство свойств, методов и событий у этих видов кнопок одинаковы.

Продолжение таблицы 2

Вид

Пояснение

Glyph – Задает изображение на кнопке. При нажатии кнопки с многоточием в строке свойства Glyph в Инспекторе Объектов вызывается окно. Нажав в нем кнопку Load, вы перейдете в обычное окно открытия файла рисунка и можете выбрать файл битовой матрицы .bmp, содержащий желаемое изображение. В частности, с Delphi поставляется большое количество изображений для кнопок. Они расположены в каталоге \lmages\Buttons, а сам каталог Images расположен в каталоге \program files\borland\borland shared.

Margin – размещение надписи и рисунка на кнопке. Если свойство Margin равно -1 (значение по умолчанию), то изображение и надпись размещаются в центре кнопки.

Layout – определяет положение изображения по отношению к надписи.

Spacing – задает число пикселей, разделяющих изображение и надпись на поверхности кнопки.

Kind –определяет тип кнопки. По умолчанию равно bkCustom — заказная. Можно установить и множество других предопределенных типов: bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bkgnore, bkAll.

SpeedButton – быстрая кнопка.

SpeedButton – кнопка с возможностью отображения пиктограмм, может использоваться как обычная кнопка или как кнопка с фиксацией нажатого состояния. Обычно они используются в качестве быстрых кнопок, дублирующих различные команды меню, и в инструментальных панелях, в которых требуется фиксация нажатого состояния.

Grouplndex – индекс группы. Если Grouplndex = 0, то кнопка ведет себя так же, как Button и BitBtn. Если Grouplndex > 0 и AllowAllUp = true, то кнопка работает с фиксацией состояния. Если есть несколько кнопок, имеющих одинаковое ненулевое значение GroupIndex, то они образуют группу взаимосвязанных кнопок, из которых нажатой может быть нажата только одна кнопка.

MaskEdit – компонент Шаблон ввода.

Этот компонент позволяет вводить данные в текстовое поле по заданному шаблону. Он полезен для приложений, где надо контролировать вводимую пользователями информацию.

Структура маски обычно задается через свойство EditMask, которое хранит структуру маски в текстовом виде. Это же свойство позволяет вызвать окно построителя маски.

В первом разделе — шаблоне записываются специальным образом символы, которые можно вводить в каждой позиции, и символы, добавляемые самой маской.

Продолжение таблицы 2

Вид

Пояснение

Bevel – компонент Рамка.

Используется для создания рамок и отдельных линий оформления. Напоминает панель, но не предназначен для группировки элементов.

Style – стиль отображения Bevel

Shape – контур компонента.

StringGrid – таблица строк.

Cells[ACol, ARow: Integer]: string – Строка, содержащаяся в ячейке с индексами столбца и строки ACol и ARow.

ColCount и RowCount –число столбцов и строк, соответственно.

FixedCols и FixedRows — число фиксированных, не прокручиваемых столбцов и строк.

FixedColor – цвет фона фиксированных ячеек определяется свойством.

ScrollBars – определяет наличие в таблице полос прокрутки.  

Options является множеством, определяющим многие свойства таблицы: наличие разделительных вертикальных и горизонтальных линий в фиксированных (goFixedVertLine и goFixedHorzLine) и не фиксированных (goVertLine и goHorzLine) ячейках, возможность для пользователя изменять с помощью мыши размеры столбцов и строк (goColSizing и goRowSizing), перемещать столбцы и строки (goColMoving и goRowMoving) и многое другое. Важным элементом в свойстве Options является goEditing — возможность редактировать содержимое таблицы.

OnSelectCell – событие, возникающее в момент выбора пользователем ячейки. В обработчик этого события передаются целые параметры ACol и ARow — столбец и строка выделенной ячейки, и булев параметр CanSelect — допустимость выбора. Параметр CanSelect можно использовать для запрета выделения ячейки, задав его значение false. А параметры ACol и ARow могут использоваться для какой-то реакции программы на выделение пользователя.

Image – изображение.

Данный компонент активно используется во многих программах, причем не только для отображения статических картинок, но и для создания различных анимационных эффектов.

Picture – изображение.

Center – Если свойство Center = True, рисунок центрируется, в противном случае его верхний левый угол совмещается с верхним левым углом рамки.

Transparent – определяется прозрачность. Этот режим не применим к точечному изображению в формате .BMP.

Назначение  символов  первой  части  маски представлены в таблице 3.

Таблица 3 – Назначение символов первой части маски

Символ

Назначение

1

2

!

Если этот символ присутствует в маске, то необязательные символы вставляются перед маской. Если отсутствует — необязательные символы вставляются после маски

>

– Все последующие символы автоматически приводятся к верхнему регистру

<

– Все последующие символы автоматически приводятся к нижнему регистру

<>

– Прекращение преобразования регистра

\

– Последующий символ вставляется в маску. Данная возможность необходима для добавления символов, используемых в качестве элементов шаблона

L

– В данную позицию разрешен только ввод буквы

I

– В данную позицию разрешен только ввод буквы, но ее можно оставить пустой

А

– В данную позицию разрешен только ввод буквы или цифры

а

– В данную позицию разрешен только ввод буквы или цифры, но ее можно оставить пустой

С

– В данную позицию разрешен ввод произвольного символа

с

– В данную позицию разрешен ввод произвольного символа, но ее можно и оставить пустой

О

– В" данную позицию разрешен только ввод цифры

9

– В данную позицию разрешен только ввод цифры, но ее можно оставить пустой

#

– В данную позицию разрешен только ввод цифры или символов. Позицию можно оставить пустой

:

В данную позицию вставляется символ, который в текущей версии Windows используется для разделения часов, минут и секунд при записи времени

_

В данную позицию автоматически вставляется пробел

Вторая часть маски определяет, будут ли эти дополнительные символы включены в итоговый текст. Символ 0 указывает, что они не должны включаться в результат, любой другой символ разрешает их включение. Третья часть маски – символ, наполняющий позиции шаблона, которые пользователь оставил пустыми (по умолчанию используется пробел).

6 Назначение  и свойства компонентов страницы Win 32

Компоненты страницы Win 32 представлены на рисунке 4.

Рисунок 4 – Компоненты страницы Win 32

Основные свойства компонентов страницы Win 32 представлены в таблице 4.

Таблица 4 - Компоненты страницы Win 32

Вид

Пояснение

UpDownкнопка-счетчик. Обеспечивают ввод целых чисел.

Компонент UpDown превращает окно редактирования Edit в компонент, в котором пользователь может выбирать целое число, изменяя его кнопками со стрелками. Если к тому же установить в true свойство Edit ReadOnly, то пользователь просто не сможет ввести в окно какой-либо свой текст и вынужден будет ограничиться выбором числа.

Свойства компонента:

- Associate – связывает кнопки со стрелками с одним из оконных компонентов, обычно с Edit.

- AlignButton – определяет, слева или справа от окна будут размещаться кнопки.

- Orientation – определяет, расположатся ли кнопки по вертикали  или по горизонтали.

- ArrowKeys определяет, будут ли управлять компонентом клавиши клавиатуры со стрелками.

- Тhousands определяет наличие или отсутствие разделительного пробела между каждыми тремя цифрами разрядов вводимого числа.

- Min и Мах задают минимальное и максимальное значения чисел.

- Increment – задает целое приращение числа при каждом нажатии на кнопку.

- Position определяет текущее значение числа. Это свойство можно читать, чтобы узнать, какое число задал пользователь.

- Wrap определяет, поведение достижении максимального или минимального значений. Если Wrap = false, то при достижении максимального или минимального значения это число. Если Wrap = true, то Т.е. изменение чисел «закольцовывается».

Продолжение таблицы 4

Вид

Пояснение

Для ввода дробных значений компонент нужно программировать. Например, обработчик щелчка имеет вид:

procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);

Begin

End 

Параметр Button передает в процедуру тип нажатой кнопки. Он может принимать два значения btNext и btPrev. Проверяя, какая кнопка нажата, можно увеличивать или уменьшать число в компоненте Edit на любой шаг, в том числе и дробный. При этом связывать компонент Edit и  UpDown не нужно.

PageControl – набор страниц.

Представляет собой набор страниц, наложенных одна на другую. Доступ к каждой странице, содержащей свой набор элементов управления, осуществляется через так называемые корешки — небольшие выступы над страницей, содержащие короткое название.

Новая страница добавляется командой New Page (Создать страницу) из контекстного меню. В Инспекторе объектов (и в описании класса TForml) появляется описывающий ее новый объект TabSheetl.

Для задания свойств одной страницы в списке Инспектора объектов выбирается нужная страница (но не объект PageControll!), а затем нужное свойство.

Свойства компонента:

- ActivePage – выбранная в данный момент страница. Значение свойства – это имя (свойство Name) текущей страницы.

Для переключения страниц можно использовать и это свойство, если заранее известно, какую страницу надо показать: PageControl1.ActivePage := TabSheet2.

- HotTrack – имеет значение True, если текст корешка при наведении указателя выделяется ярким цветом.

- MultiLine – имеет значение True, если корешки разрешено отображать в несколько строк.

- Style – стиль объекта.

- TabHeight, TabWidth – высота и ширина корешка в пикселях

- TabPosition – определяет, где отображаются корешки.

- OnChange – событие перехода к новой вкладке

Продолжение таблицы 4

Вид

Пояснение

- OnChanging – событие происходит если пользователь выбрал новую вкладку, но процесс переключения страниц еще не произошел. Обычно обрабатывается, если надо сохранить (запомнить) состояние элементов управления старой страницы или установить начальные состояния элементов управления новой страницы в зависимости от некоторых условий.

StatusBar –строка состояния.

Сразу после размещения компонента на форме строка состояния автоматически прикрепляется к нижней части формы. В дальнейшем она сама подстраивается под изменяемую ширину формы. Высоту строки подсказки можно менять либо с помощью мыши, либо с помощью свойства Height.

ToolBar – компонент Панель инструментов.

Эта панель используется для управления быстрыми командными кнопками и другими «горячими» элементами управления. Она позволяет формировать многострочные наборы инструментов.

Сразу после создания панель инструментов автоматически размещается у верхнего края формы.

Animate –Анимация AVI.

Данный компонент позволяет организовать на форме небольшую анимацию - воспроизвести клип в формате А VI (Audio Video Interleaved, расширение файла .AVI) без воспроизведения звука.

ProgressBar – Индикатор.

Индикаторы активно применяются во многих программах для отображения сведений о ходе длительного процесса (например, процесса инсталляции).

Свойства Min, Max, Position, Orientation аналогичны свойствам компонента TTrackBar. Необходимо также отметить свойство Smooth. Если оно имеет значение True, то в полосе заполнения (отсчет в ней ведется слева направо) отображается сплошная линия, в противном случае — сегментированная.

7  Ввод и вывод даты и времени

Символы, предназначенные для ввода и вывода даты и времени представлены в таблице 5.

Таблица 5 – Символы для ввода и вывода даты и времени

Вид

Пояснение

MonthCaLendar – календарь.

В красном кружке выделена текущая дата (она же более развернуто указана в нижней части календаря), синим подсвечена дата, выбранная при помощи мыши. Слева показаны номера недель в году (свойство WeekNumbers).  

MaxDate Максимальная дата, до которой календарь может быть прокручен помесячно. Тип свойства — TDate (см. ниже).

MinDate Минимально допустимая для просмотра дата.

ShowToday Имеет значение True, если текущая дата дополнительно отображается в нижней части календаря.

ShowTodayCircle Имеет значение True, если текущая дата выделяется красным кружком.

Работа с календарем происходит на основе типа TDate (или его аналога TDateTime).

Текущая выбранная дата записывается в свойство Date этого типа. Кроме типа TDateTime можно применять также системный формат TSystemTime, который содержит полное описание текущих даты и времени.

Для работы с этими форматами в системе Delphi 7 имеется набор стандартных подпрограмм:

- function Date: TDateTime; Возвращает текущую дату;

- function DayOfWeek(Date: TDateTime): Integer; Номер дня недели, число от 1 до 7. (1 — воскресенье, 7 — суббота);

- procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word); – Выделение из даты года, месяца, дня и размещение их в переменных указанных на месте Year, Month, Day и имеющих тип Word;

- procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word); – Выделение из даты часов, минут, секунд и миллисекунд;

- function DateTimeToStr(DateTime: TDateTime): string; Преобразование даты и времени в строку;

- function DateToStr(Date: TDateTime): string; Преобразование даты в строку;

- function StrToDateTime (const S: string): Преобразование строки, хранящей описание TDateTime; даты в формате, соответствующем локальным требованиям Windows, в дату и время формата TDateTime;

function StrToTime(const S: string): TDateTime; Преобразование строки, хранящей описание даты в формате, соответствующем локальным требованиям Windows, во время в формате TDateTime;

function StrToDate (const S: string): TDateTime; Преобразование строки, хранящей описание даты в формате, соответствующем локальным требованиям Windows, в дату формата TDateTime.

Продолжение таблицы 5

Вид

Пояснение

DateTimePicker – компонент Поле ввода даты/времени.

Компонент представляет собой раскрывающийся список и используется для ввода даты и времени с клавиатуры (по формату в соответствии с локальными настройками Windows). При раскрытии списка открывается календарь (компонент TMonthCalendar).

DateMode – выбор способа работы компонента.

Kind – Если значение свойства равно dtkDate, компонент используется для ввода даты, в противном случае (значение dtkTime) — для ввода времени.

Когда дата или время в поле изменяются, генерируется сообщение OnChange. При раскрытии списка, содержащего календарь, объект пол учит сообщение OnDropDown, при закрытии — сообщение OnCloseUp.

8 Назначение  и свойства компонентов страницы Standard

Компоненты страницы Standard представлены на рисунке 5.

Рисунок 5 - Компоненты страницы Standard

Основные назначения и свойства компонентов страницы Standard представлены в таблице 6.

Таблица – 6 Компоненты страницы Standard

Вид

Пояснение

Timer – таймер.

Используется если в программе надо совершать некие действия через определенный промежуток времени. Например анимация и мультипликация.

Имеет два свойства:

- Enabled – принимает значение True, если требуется, чтобы Timer включился;

- Interval – задает фиксированный промежуток времени между срабатываниями в миллисекундах. 1000 = 1 секунда.

Событие, у данного компонента, только одно — ОnТimег. Оно возникает, когда истекает указанный в свойстве Interval промежуток времени с момента последней генерации этого события.

Если для работы необходимо знать системное время, то его возвращает функция Time: TDateTime;

Продолжение таблицы 6

Вид

Пояснение

PaintBox – компонент для рисования.

Специальный компонент, имеющий канву (свойство компонента, позволяющее рисовать на его поверхности) и позволяющий рисовать на ней. Рисование на PaintBox вместо формы не имеет никаких преимуществ, кроме, может быть, некоторого облегчения в расположении одного или нескольких рисунков в площади окна.

MediaPlayer – мультимедийный проигрыватель.

Предназначен для воспроизведения в рамках программы музыкальных и видеоклипов в различных форматах, поддерживаемых драйвером MCI (Media Control Interface).

CoLoredButtons – Настройка видимости различных кнопок управления. Можно сделать невидимым и весь компонент, установив его свойство Visible равным False. Это нужно, если требуется, например, проигрывать фоновую музыку или прокручивать небольшой анимационный клип.

Enabled Buttons – позволяет оставить видимыми некоторые кнопки, одновременно запретив их использование.

Тип мультимедийного файла, который будет воспроизводиться, задается одним из двух возможных способов: явно в свойстве DeviceType (Тип устройства) или загрузкой файла на этапе проектирования (с использованием свойства fileName). В последнем случае в качестве типа устройства указывается значение dtAutoSelect (автоматическое определение типа в зависимости от расширения файла).

Display – задается объект, в котором будет демонстрироваться видео, обычно, для этого используется компонент TPanel. В Delphi 7 входит пример Coolstuf, содержащий два видеоклипа.

Этот пример хранится в подкаталоге Demos\Coolstuf той папки, куда установлена система Delphi 7.

AutoEnable – Имеет значение True, если проигрыватель автоматически управляет состоянием своих кнопок. Например, когда клип закончен, кнопка Play становится недоступной, пока не будет выполнена команда Перемотка в начало.

AutoOpen – Имеет значение True, если при запуске выполняется автоматическое открытие устройства MCI, предназначенного для воспроизведения информации заданного типа.

OleContainer – контейнер OLE, основной компонент, обеспечивающий внедрение и связывание различных объектов в приложении.

9 Динамический обмен данными - DDE

Динамический обмен данными (Dmamical Data Exchange — DDE) — это технология, появившаяся на заре Windows, но сохраняющая свое значение до сих пор, поскольку предоставляет удобный способ обмена данными между программами.

В этом диалоге программ одна, инициирующая диалог, называется клиентом, а другая, отвечающая на сообщения клиента — сервером. Диалог ведется на заданную тему (topic). Данные, передаваемые от одной программы к другой, называются элементами данных (items). В диалоге могут также передаваться серверу некоторые команды — макросы (macros). Этих основных понятий: клиент, сервер, тема, элемент данных в макрос достаточно, чтобы строить приложения, основанные на DDE. Всю сложную задачу обработки в процессе диалога множества сообщений Windows берет на себя Delphi, инкапсулируя все необходимые процедуры в четырех компонентах, расположенных в библиотеке на странице System: DdeClientConv, DdeClientltem, DdeServerConv и DdeServerltem. Первые два из них организуют работу клиента, а два вторые - работу сервера

10 Назначение  и свойства компонентов страницы Dialogs 

В состав  Delphi включены  простые компоненты (рисунок 6), реализующие стандартные диалоговые окна Windows.

Рисунок 6 – Вид страницы Dialogs

Все компоненты стандартных диалогов со страницы Dialogs являются невизуальными компонентами, следовательно,  их размещения на форме не имеет значения. При обращении к ним вызываются стандартные диалоги, вид которых зависит от версии Windows и настройки системы.

Основной метод, которым производится обращение к любому диалогу, - Execute. Эта функция открывает диалоговое окно и, если пользователь произвел в нем какой-то выбор, то функция возвращает true. При этом в свойствах компонента - диалога запоминается выбор пользователя, который можно прочитать и использовать в дальнейших операциях. Если же пользователь в диалоге нажал кнопку Отмена или клавишу Esc, то функция Execute возвращает false. Поэтому стандартное обращение к диалогу имеет вид:

- if  <имя  компонента-диалога>  Execute then;

- <операторы, использующие  выбор  пользователя>.

Основные назначения и свойства компонентов страницы Dialogs представлены в таблице 7.

Таблица 7 - Компоненты страницы Dialogs

Вид

Пояснение

OpenDialog – диалог «Открыть файл» и SaveDialog – диалог «Сохранить файл как».

Все свойства этих компонентов одинаковы, но их смысл различен для открытия и сохранения файлов.  

Внимание! Сами эти диалоги только позволяют указать, куда сохранять файл, или какой файл надо открыть. Команды открытия или сохранения должен написать сам разработчик.

FileName – имя выбранного пользователем файла, записанное в виде строки. Значение этого свойства можно задать и перед обращением к диалогу. Тогда оно появится в диалоге как значение по умолчанию в окне Имя файла

Filter – Типы искомых файлов, появляющиеся в диалоге в выпадающем списке Тип файла. В процессе проектирования это свойство проще всего задать с помощью редактора фильтров.

В его левой панели Filter Name записывается тот текст, который увидит пользователь в выпадающем списке Тип файла диалога. А в правой панели Filter записываются разделенные точками с запятой шаблоны фильтра.

Filterlndex – определяет номер фильтра, который будет по умолчанию показан пользователю в момент открытия диалога. Например, значение Filterlndex = 1 задает по умолчанию первый фильтр.

InitialDir – определяет начальный каталог, который будет открыт в момент начала работы пользователя с диалогом.  

DefaultExt – определяет значение расширения файла по умолчанию.  

Title – позволяет вам задать заголовок диалогового окна, подсказывающий пользователю ожидаемые действия. Например, «Укажите имя открываемого файла».

Событие OnCanClose возникает при нормальном закрытии пользователем диалогового окна после выбора файла.

При отказе пользователя от диалога - нажатии кнопки Отмена, клавиши Esc и т.д. событие OnCanClose не наступает. В обработке события OnCanClose можно произвести дополнительные проверки выбранного пользователем файла.

Продолжение таблицы 7

Вид

Пояснение

Можно также написать обработчики событий OnFolderChange - изменение каталога, OnSelectionChange - изменение имени файла, OnTypeChange - изменение типа файла.

В этих обработчиках предусматривают обычно какие-то сообщения пользователю.

Пример использования диалога:

- if OpenDialogl.Execute then begin;

- FName   := OpenDialogl.FileName;

- Memo1.Lines.LoadFromFile(FName); end.

Для создания команды «Сохранить как выполняется» рекомендуется перед вызовом диалога указать команду SaveDialogl.FileName   :=  <Имя файла>; Если файл быт создан и еще не сохранялся, то это имя файла по умолчанию, а если он был открыт и изменен, то это его имя.

OpenPictureDialog – окно открытия рисунка и SavePictureDialog – окно сохранения рисунка.

Эти компоненты являются, соответственно, наследниками класса TOpenDialog и класса TSaveDialog. Диалоговые окна содержат дополнительную область для быстрого просмотра содержимого выбранного графического файла. 

FontDialog –окно выбора шрифта.

Компонент предназначен для вызова стандартного диалогового окна выбора шрифта, доступного в системе. Компонент имеет набор свойств, которые приведены ниже: 

- Device – устройство, для которого отображается список доступных шрифтов. Возможные значения - fdScreen (экран), fdPrinter (принтер) и fdBoth (как экран, так и принтер);

- Font – выбранный пользователем шрифт (тип TFont);

- MaxFontSize Максимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов;

- MinFontSize Минимальный размер шрифта, ограничивающий содержимое показываемого списка шрифтов;

- Options Дополнительные характеристики внешнего вида диалогового окна.

Если, например, на форме имеется надпись Labell, то при щелчке на кнопке Button следующий обработчик вызовет диалоговое окно выбора шрифта. После того как пользователь сделает выбор, шрифт, которым сделана надпись, изменится.

procedure TForml.ButtonlClick(Sender: TObject);

begin

if FontDialogl.Execute then

Labell.Font.Assign(fontDialogl.Font);

end;

Продолжение таблицы 7

Вид

Пояснение

ColorDialog – окно выбора цвета.

С помощью данного компонента вызывается стандартное диалоговое окно выбора цвета.

Color (тип ТСоlor) – содержит выбранный пользователем цвет.

CustomColors (тип TStrings) – хранит в текстовом формате описание дополнительных пользовательских цветов. Цвет в этом формате задается шестью символами, определяющими в шестнадцатеричном виде значение цвета в соответствии с требованием цветовой системы RGB. Каждый байт задается двумя символами, например FFFFFF или 08ЕЕ08. B соответствует одной из составляющих цвета RGB.

Options –позволяет выполнять тонкие специфические настройки работы окна.

PrintDialog, PrinterSetupDialog, PageSetupDialog –Печать, Настройка принтера, Настройка параметров страницы печати.

TPrinterSetupDialog, предназначен для настройки параметров работы принтера, не имеет оригинальных свойств, потому что эти настройки существенно различаются для разных видов принтеров. На основании этого компонента можно создавать свои собственные компоненты для конкретных принтеров.

TPrintDialog отображает стандартное окно печати Windows. B нем можно задать различные параметры печати, которые определяются следующими свойствами диалога.

PageSetupDialog позволяет настроить характеристики печатаемых страниц. Они задаются в свойствах Margin Bottom, MarginLeft, Margin Right, MarginTop (нижняя, левая, правая, верхняя границы печати), PageHeightH PageWidth (высота и ширина страницы), а также в свойстве Options, описывающем дополнительные параметры. Единицы измерения размеров задаются в свойстве Units.

11 Назначение  и свойства компонентов страницы Samples

Вид страницы Samples представлены на рисунке 7.

Рисунок 7 – Вид страницы Samples

Основные назначения и свойства компонентов страницы Samples представлены в таблице 8.

Таблица 8 - Компоненты страницы Samples

Вид

Пояснение

Gauge – отображение хода процесса.

Используется для создания индикатора хода процесса в виде линейки, круговой диаграммы или текста. Аналог компонента ProgressBar.

SpinEdit – поле со счетчиком.

Свойства компонента похожи на UpDown, только имеют другие имена: MinValue, MaxValue, Value. Компонент SpinEdit во многих отношениях удобнее, если не требуются такие возможности возможностей UpDown как нестандартное расположение кнопок, «закольцовывание» изменений и т.п.  

Calendar – календарь на указанный месяц.

Отображение календаря на указанный месяц. Основные свойства: Year, Month, Day.

12 Обработка файлов

Для доступа к файлам чаще всего используется специальная файловая переменная. Она связывается с указанным файлом процедурой AssignFile.

Эта процедура имеет синтаксис:

procedure AssignFile(var F: File, S: string);

где F - файловая переменная любого типа,

S - строка, содержащая имя файла.

Открытие существующего файла осуществляется процедурой Reset, формат которой (кроме нетипизированных файлов) следующий:

procedure Reset(var F: File);

Файловая переменная F перед обращением к этой процедуре должна быть связана с файлом. Создание и открытие нового файла осуществляется процедурой Rewrite, формат которой (кроме нетипизированных файлов - см. разд. 14.14.2.3) следующий:

procedure Rewrite(var F: File);

После выполнения различных операций чтения и записи файл должен быть закрыт процедурой CloseFile:

procedure CloseFile(var F: File);

При работе с файлами, при чтении и записи в них каких-то данных возможны различные ошибки. Если не принять соответствующих мер, то эти ошибки приведут к прерыванию работы программы. Предотвратить это можно двумя путями.

Первый предполагает обработку исключений InOutError, поле errorcode которых содержит информацию о конкретном виде ошибки. Второй предполагает применение опции {$I-}, отключающей генерацию исключений ошибок ввода/вывода, и дальнейшее обращение к функции IOResull, возвращающей код ошибки и сбрасывающей его в 0 (так что повторное обращение к IOResuIt бессмысленно). После обработки операции ввода/вывода контроль ошибок можно снова включить опцией {$I+}. В этом случае общая организация работы с файлами строится примерно по такой схеме:

AssignFile (F, OpenDialogl.FileName);

{SI-}

Reset(F);

{SI+}

I:=IOResult;

if I <> 0 then <операторы обработки кода ошибки>

else ...

{SI+}

<операторы чтения или записи>

{SI-}

I:=IOResult;

if I <> 0 then <операторы обработки кода ошибки>

CloseFile(var F: File);

При операциях ввода/вывода проверять окончание файла можно функцией Eof(F: File), возвращающей true при достижении конца файла.

Различают файлы трех видов: текстовые, файлы, типизированные файлы и нетипизированные файлы.

Текстовые файлы состоят из последовательностей символов, разбитых на строки. В Object Pascal предопределен тип TextFile, соответствующий текстовому файлу. Таким образом, объявление файловой переменной может иметь вид:

var <Имя файловой переменной>: TextFile;

Запись данных в текстовый файл осуществляется процедурой

procedure Write(var F: TextFile; <список выражений>);

Выражения могут быть типов Char, Integer, Real, string, упакованных строк, Boolean. При этом может использоваться форматирование.

Например:

Write(F, 'Baм ', I, ' лет);

Аналогичная процедура Writeln отличается от Write только тем, что после записи пишет символ перехода на новую строку, т.е. Writeln формирует одну строку.

Чтение данных из текстового файла осуществляется последовательно от его начала процедурой

procedure Read(var F: TextFile; <список переменных>);

где в списке перечисляются переменные, в которые читаются данные из файла.

Read(F, S1, I, S2]; даст значение S1, равное «Вам», значение I, равное записанному числу лет, и значение S2, равное «лет».

Аналогичная процедура Readln отличается от Read только тем, что после чтения переводит текущую позицию в файле на новую строку. Если в процедуре Readln не задан список переменных, то она просто пропускает текущую строку и переходит к следующей.

Типизированные файлы являются двоичными файлами, содержащими последовательность однотипных данных. Объявление файловых переменных таких файлов имеет вид:

var <имя файловой переменной;»: file of <тип данных>;

Тип данных может быть не только простым типом, но и, например, типом записей. Так операторы:

type

PhoneEntry = record

Fans, Nam: string[20];

PhoneNumber: string[15];

Listed: Boolean;

end;

PhorieList = file of PhoneEntry;

объявляет типизированный файл, содержащий записи телефонных номеров.

Процедуры чтения и записи Read и Write не отличаются от рассмотренных ранее для текстовых файлов. Только типы выражений при записи и переменных при чтении должны соответство-вать объявленному типу данных файла. Процедур, аналогичных Readln и Writeln для типизированных файлов нет. Зато есть процедура Seek, позволяющая перемещаться по файлу не только последовательно, как в текстовых файлах, но сразу переходить к требуемому элементу. Ее синтаксис:

procedure Seek(var F: File, N: Longint);

где N — номер элемента.

Эта процедура перемещает текущую позицию в файле на нужный элемент.

Имеется также функция FilePos: function FilePos(var F ) : Longint; , которая возвращает текущую позицию в файле.


Пример выполнения практического задания

Задание №

Введите строку и букву. Выведите, сколько раз буква встречается в строке. Добавьте меню, дублирующее кнопки.

Для решения задачи необходимо создать форму и разместить на ней два компонента Edit, три Button, три Label, один MainMenu. В инспекторе объектов надо изменить их свойства:

У компонентов Label в свойстве Caption задать необходимую подпись.

У компонентов Edit в свойстве Text удалить все.

У компонентов Button в свойстве Caption задать необходимую подпись – Считать, Очистить, Закрыть.

Двойным щелчком по компоненту MainMenu был вызван редактор меню и в нем создан пункт Файл, а в нем три пункта: Считать, Очистить, Закрыть.

Для того чтобы в Edit2 могли внести только одну букву надо выделить компонент и в инспекторе объектов на закладке Events для события KeyUp (отпускание нажатой клавиши) написать код:

procedure TForm1.Edit2KeyUp(Sender: TObject; var Key: Word;

Shift: TShiftState);

var s:string;

begin

s:=Edit2.Text; //считываем имеющийся текст

if Length(s)>1 then //если его длин больше 1 символа

s:=s[length(s)];//все заменяем последним символом

Edit2.Text:=s;//заносим в Edit символ 

end;

Двойным щелчком по компоненту Button1 был вызван редактор кода, в нем написан следующий код для решения задачи:

procedure TForm1.Button1Click(Sender: TObject);

var s,s2:string;

i,n:integer;

begin

s:=Edit2.Text;//Запоминаем символ

s2:=Edit1.Text; Запоминаем текст

n:=0;//Обнуляем счетчик символов

for i:=1 to Length(s2) do//перебираем номера символов в строке

if s[1]=s2[i] then n:=n+1; //Если текущий символ равен искомому то увеличиваем счетчик

Label1.Caption:='Символ ' + s[1]+ ' встречается '+inttostr(n)+  ' раз';//вывод результата

end;

Двойным щелчком по компоненту Button2 был вызван редактор кода, в нем написан следующий код для очистки:

procedure TForm1.Button3Click(Sender: TObject);

begin

Edit2.Text:='';

Edit1.Text:='';

Label1.Caption:='';

end;

Для выхода:

procedure TForm1.Button2Click(Sender: TObject);

begin

form1.Close;

end;

Двойным щелчком по компоненту MainMemu1 был вызван редактор меню, в нем выделен первый пункт и в инспекторе объектов на закладке Events для события onClick выбран Button1Click. Аналогично для остальных.

Работающая форма с результатами представлена на рисунке 8:

Рисунок 8 – Форма с результатами


Таблица 9 – Варианты домашней контрольной работы № 2 по дисциплине «Основы алгоритмизации и

программирования»

Предпоследняя цифра шифра

Последняя цифра шифра

0

1

2

3

4

5

6

7

8

9

0

27, 57, 65, 117, 127

26, 44, 79, 100, 132

18, 49, 63, 111, 137

17, 48, 69, 106, 137

22, 60, 70, 113, 131

7, 55,

83, 92, 127

19, 41, 77, 106, 141

24, 53, 88, 100, 137

23, 38, 76, 112, 140

19, 51, 87, 91, 121

1

8, 59,

83, 97, 135

13, 52, 75, 107, 128

20, 35, 90, 113, 139

14, 59, 75, 116, 147

2, 50,

64, 101, 126

26, 39, 79, 102, 139

16, 32, 72, 117, 134

30, 54, 70, 94, 143

22, 59, 86, 104, 125

28, 55, 65, 109, 146

2

12, 56, 76, 98, 149

22, 31, 86, 96, 130

19, 40, 88, 115, 121

13, 40, 84, 112, 134

11, 47, 73, 120, 129

23, 36, 74, 115, 150

18, 58, 67, 105, 136

21, 57, 90, 114, 139

3, 40,

89, 95, 133

30, 53, 80, 102, 143

3

30, 58, 64,105,

136

5, 43, 77, 91, 138

25, 47, 62,106,

123

25, 58, 61, 96, 122

16, 32, 85,114,

145

1, 43,

72, 95, 125

6, 52,

75, 99, 122

7, 37,

71, 120, 148

28, 1,

62, 98,

142

23, 40, 84, 94, 131

4

15, 53, 72, 99, 142

21, 50, 66,118,

144

29, 45, 87, 95, 122

29, 42, 89,119,

142

12, 31, 88,100,

133

27, 57, 82,118,

123

4, 47,

78, 108, 124

10, 46, 63,111,

123

11,33,

61, 110, 131

10, 60, 75, 99, 127

5

4, 36, 71,116,

140

2, 39, 74,102,

150

23, 51, 81,110,

124

19, 35, 80,104,

130

6, 53, 71,103,

146

20, 37, 81, 91, 128

13, 43, 85, 93, 145

14, 34, 79,101,

130

9, 51, 74,116,

127

20, 44, 72, 95, 135

Продолжение таблицы 9

Предпоследняя цифра шифра

Последняя цифра шифра

0

1

2

3

4

5

6

7

8

9

6

10,33,

89,119,

134

24, 48, 78,120,

148

14, 60, 85,93,

147

30, 41, 62,98,

149

5, 38, 63,93,

143

9, 44, 66,91,

148

5, 55,

87,102,

126

29,42,

64,107,

146

1, 45, 73,97, 138

1, 45, 71,107,

148

7

1, 54, 80,101,

131

11, 32, 73,103,

146

3, 38, 61,114,

143

24, 51, 77,110,

138

21, 49, 86,117,

132

8, 46, 65,108,

140

15, 36, 83,103,

149

26, 56, 65,92,

150

25, 50, 81, 91, 147

26, 48, 76,110,

141

8

6, 41, 70,109,

145

17, 55, 69,92,

141

16, 37, 82,108,

126

18, 33, 68,94,

135

3,34,

76,107,

136

15, 54, 67,109,

144

17, 48, 66,118,

132

12, 49, 69,113,

121

20, 39, 82,96, 129

12, 34, 86,111,

150

9

7,34,

68,104,

133

28, 42, 67,112,

129

9, 46, 84,94, 125

28, 56, 87,105,

141

4, 52, 90,99,

124

10, 45, 78,110,

121

2, 60, 84,109,

128

27, 35, 80,119,

144

8, 44, 68,115,

135

2, 38, 81,112,

149





1. МаршрутТВ Стоимость размещения на 1 мес
2. Реферат Статистика уровня образования населения и развития системы обучения
3. Борьба идей в русской политологии XVII века
4. Work very much My nme is I~m eleven-twelve
5. второй столицы
6. Препараты гормонов коры надпочечников
7. политическое развитие и борьба за власть в послевоенном Советском Союзе
8. Тема- Андрей Лысенко почт
9. В этой ситуации складывающаяся у врача картина отношений пациента с другими людьми основывается на том что
10. индивидуальность человека и акцентуация личности Людей отличают друг от друга не только врожденные ин
11. Рекреационные ресурсы Северо- кавказского района
12. Росток
13. CKEWIK Установка программы проста
14. Матча Звезд КБЛ 1
15. Передачами называются устройства предназначенные для передачи энергии на расстояние механическим э
16. Складская логистика Задачи складской логистики
17. а 8м 9а 9б 9м
18. Пути совершенствования этикета преподавателя
19. на тему- ldquo; Джейсон Стетхем ldquo;
20. Курсовая работа на тему-Особенности интеллектуального потенциала российского западноевропейского восточ