Тестирующий комплекс

Автор: Пользователь скрыл имя, 17 Февраля 2012 в 19:39, курсовая работа

Описание работы

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

Содержание

Введение 3
Глава 1. Аналитический обзор 4
1.1. Компоненты 4
1.1.1. Button 4
1.1.2. ComboBox 5
1.1.3. Edit 6
1.1.4. Label, StaticText 8
1.1.5. RadioGroup 9
1.1.6. Memo 11
1.2. Новые методы решения 13
1.3. Этапы разработки программы 13
Глава 2. Разработка программы 15
2.1. Постановка задачи 15
2.2. Язык программирования Delphi 15
2.3. Пользовательский интерфейс 15
2.4. Структура программы 17
2.5. Минимальный состав оборудования 18
Заключение 19
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 20

Работа содержит 1 файл

Курсоваяы работа.doc

— 158.50 Кб (Скачать)

    Содержание

 

Введение

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

       Сейчас  компьютер является неотъемлемой частью работы людей. Компьютеры используются в школах и университетах. Они  помогают систематизации полученные данных как в рабочих целях, так и  в учебных.

     Данном  курсовом проекте рассмотрен программный продукт “Методика многофакторного исследования личности Р. Кеттелла”. Он представляет собой опросник из 187 вопросов, определяющий шестнадцать факторов личности и дает многогранную информацию о личностных чертах, которые называют конституционными факторами, предложен Р. Кеттеллом.

 

    1. Аналитический обзор
    1. Компоненты

     Создавая  данную программу, я использовал различные компоненты, такие как button, combobox, edit, label, radiogroup, statictext, memo.

      1. Button

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

     Основное  с точки зрения внешнего вида свойство кнопки — Caption (надпись). В надписях кнопок можно предусматривать использование клавиш ускоренного доступа, выделяя для этого один из символов надписи. Перед символом, который должен соответствовать клавише ускоренного доступа, ставится символ амперсанта «&». Этот символ не появляется в надписи, а следующий за ним символ оказывается подчеркнутым. Тогда пользователь может вместо щелчка на кнопке нажать в любой момент клавишу Alt совместно с клавишей выделенного символа.

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

     Свойство  Cancel, если его установить в true, определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку. Это свойство целесообразно задавать равным true для кнопок «Отменить» в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc. Свойство Default, если его установить в true, определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе. Правда, если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе.

     Из  методов, присущих кнопкам, имеет смысл  отметить один — Click. Выполнение этого метода эквивалентно щелчку на кнопке, т.е. вызывает событие кнопки OnClick. Этим можно воспользоваться, чтобы продублировать какими-то другими действиями пользователя щелчок на кнопке. Пусть, например, вы хотите, чтобы при нажатии пользователем клавиши с символом «С» или «с» в любой момент работы с приложением выполнялись операции, предусмотренные в обработчике события OnClick кнопки Button1. Поскольку неизвестно, какой компонент будет находиться в фокусе в момент этого события, надо перехватить его на уровне формы. Такой перехват осуществляется, если установить свойство формы KeyPreview в true. Тогда в обработчике события формы OnKeyPress можно написать оператор

     if (key='C' or key='c') then Button1.Click;

     Если  пользователь ввел символ «С» или  «с», то в результате будет выполнен обработчик щелчка кнопки Button1.

      1.   ComboBox

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

     csDropDown - Выпадающий список со строками одинаковой высоты и с окном редактирования, позволяющим пользователю вводить или редактировать текст;

     csSimple - Развернутый список со строками одинаковой высоты и с окном редактирования, позволяющим пользователю вводить или редактировать текст;

     csDropDownList - Выпадающий список со строками одинаковой высоты, не содержащий окна редактирования.

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

     Если  в окне проводилось редактирование данных, то ItemIndex = -1. По этому признаку можно определить, что редактирование проводилось.

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

     Если  MaxLength = 0, то число вводимых символов не ограничено.

      1. Edit

     В компоненте Edit вводимый и выводимый текст содержится в свойстве Text. Это свойство можно устанавливать в процессе проектирования или задавать программно. Выравнивание текста, как это имело место в метках и панелях, невозможно. Перенос строк тоже невозможен. Текст, не помещающийся по длине в окно, просто сдвигается и пользователь может перемещаться по нему с помощью курсора. Свойство AutoSize в окнах редактирования имеет смысл, отличный от смысла аналогичного свойства меток: автоматически подстраивается под размер текста только высота, но не ширина окна.

     Окна  редактирования снабжены многими функциями, свойственными большинству редакторов. Например, в них предусмотрены типичные комбинации «горячих» клавиш: Ctrl-C — копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X — вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V — вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z — отмена последней команды редактирования.

     Edit можно использовать и просто как компоненты отображения текста. Для этого надо установить в true его свойство ReadOnly и целесообразно установить AutoSelect в false. В этом случае пользователь не сможет изменять отображаемый текст и окно редактирования становится подобным меткам. При использовании окон редактирования для вывода, ввода и редактирования чисел необходимо использовать функции взаимного преобразования строк и чисел. Для вывода это описанные при рассмотрении меток функции FloatToStr и IntToStr. При вводе это функции StrToFloat — преобразование строки в значение с плавающей запятой, и StrToInt — преобразование строки в целое значение. Если вводимый текст не соответствует числу (например, содержит недопустимые символы), то функции преобразования генерируют исключение EConvertError. Поэтому в программе необходимо предусмотреть обработку этого исключения. Например:

     var A: integer;

     try

       A := StrToInt(Edit1.Text);

        ...{операторы,   использующие переменную А}

     except on EConvertError do

             ShowMessage('Вы  ввели  ошибочное   число;

                        повторите   ввод');

     Этот  код обеспечивает сообщение пользователю об ошибке ввода и предотвращает ошибочные вычисления. Впрочем, это не лучший вариант предотвратить ошибочный ввод, поскольку пользователь узнает о своей ошибке только после того, как программа пытается использовать введенные данные. Лучше, если пользователь просто не сможет ввести неправильные символы. Например, если вы хотите, чтобы пользователь мог вводить в окно редактирования Edit только цифры и символ точки, вы можете в обработчик события OnKeyPress этого компонента вставить оператор:

     if not (Key in ['0'..'9', ',']) then Key := #0;

     Этот  оператор подменит все символы, кроме  цифр и запятой, нулевым символом, который не занесется в текст  окна Edit.

     Свойство  MaxLength определяет максимальную длину вводимого текста. Если MaxLength = 0, то длина текста не ограничена. В противном случае значение MaxLength указывает максимальное число символов, которое может ввести пользователь.

     Свойство  PasswordChar позволяет превращать окно редактирования в окно ввода пароля. По умолчанию значение PasswordChar равно #0 — нулевому символу. В этом случае это обычное окно редактирования. Но если в свойстве указать иной символ (например, символ звездочки «*»), то при вводе пользователем текста в окне будут появляться именно эти символы, а не те, которые вводит пользователь (см. рис. 3.5). Тем самым обеспечивается секретность ввода пароля.

      1. Label, StaticText

     Для отображения различных надписей на форме используются в основном компоненты Label, StaticText (появившийся только в Delphi 3) и Panel. Первые два из этих компонентов — метки, специально предназначенные для отображения текстов.

     Тексты, отображаемые в перечисленных компонентах, определяются значением их свойства Caption. Его можно устанавливать в процессе проектирования или задавать и изменять программно во время выполнения приложения. Например:

     Label1.Caption := 'Новый текст';

     Если  требуется отобразить числовую информацию, можно воспользоваться функциями  FloatToStr и IntToStr, переводящими соответственно числа с плавающей запятой и целые в строку. Для формирования текста, состоящего из нескольких фрагментов, можно использовать операцию «+», которая для строк означает их склеивание (конкатенацию). Например, если в программе имеется целая переменная I, отображающая число сотрудников некоторой организации, то вывести в метку Label1 информацию об этом можно оператором:

     Label1.Caption := 'Число сотрудников: '+IntToStr(I);

     Во  всех компонентах цвет фона определяется свойством Color, а цвет надписи — подсвойством Color свойства Font.

     Для метки Label цвет и шрифт — единственно доступные элементы оформления надписи. Компонент StaticText имеет кроме того свойство BorderStyle, определяющее рамку текста — бордюр.

     Размер  меток Label и StaticText определяется также свойством AutoSize. Если это свойство установлено в true, то вертикальный и горизонтальный размеры компонента определяются размером надписи. Если же AutoSize равно false, то выравнивание текста внутри компонента определяется свойством Alignment, которое позволяет выравнивать текст по левому краю, правому краю или центру клиентской области метки.

     В метке Label имеется свойство Wordwrap — допустимость переноса слов длинной надписи, превышающей длину компонента, на новую строчку. Чтобы такой перенос мог осуществляться, надо установить свойство WordWrap в true, свойство AutoSize в false (чтобы размер компонента не определялся размером надписи) и сделать высоту компонента такой, чтобы в нем могло поместиться несколько строк.

     В метке StaticText перенос длинного текста осуществляется автоматически, если значение AutoSize установлено в false и размер компонента достаточен для размещения нескольких строк. Для того, чтобы в StaticText осуществлялся перенос при изменении пользователем размеров окна, надо осуществлять описанную выше перерисовку компонента методом Repaint в обработчике события формы OnResize.

      1. RadioGroup

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

     RadioGroup – это панель, которая может содержать регулярно расположенные столбцами и строками радиокнопки. Надпись в левом верхнем углу панели определяется свойством Caption. А надписи кнопок и их количество определяются свойством Items, имеющим тип TStrings. Щелкнув на кнопке с многоточием около этого свойства в окне Инспектора Объектов, вы попадете в редактор списков строк. В нем вы можете занести надписи, которые хотите видеть около кнопок, по одной в строке. Сколько строчек вы запишете — столько и будет кнопок.

Информация о работе Тестирующий комплекс