Будь умным!


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

ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ФГБОУ ВПО ВГТУ ВГТУ Факультет информаци

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

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

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

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

от 25%

Подписываем

договор

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ  ГОСУДАРСТВЕННОЕ  БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ

ВЫСШЕГО  ПРОФЕССИОНАЛЬНОГО  ОБРАЗОВАНИЯ

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

(ФГБОУ ВПО «ВГТУ», ВГТУ)

Факультет информационных технологий и компьютерной безопасности

(факультет)

Кафедра Систем автоматизированного проектирования и информационных систем

КУРСОВАЯ РАБОТА

по дисциплине  Объектно-ориентированное программирование    

_____________________________________________________________________

Тема Разработка систем автоматического заполнения анкеты в формате MS Word 

  

Расчетно-пояснительная записка

Разработал студент                          _______________________А.В.Худяков  

                                                          Подпись, дата              Инициалы, фамилия

Руководитель                                   _______________________Е.Н.Королёв  

                                                           Подпись, дата             Инициалы, фамилия

Защищена ____________________ Оценка __________________________________

                                дата

2013

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ  ГОСУДАРСТВЕННОЕ  БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ

ВЫСШЕГО  ПРОФЕССИОНАЛЬНОГО  ОБРАЗОВАНИЯ

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

(ФГБОУ ВПО «ВГТУ», ВГТУ)

Кафедра Систем автоматизированного проектирования и информационных систем

ЗАДАНИЕ

на курсовую работу

по дисциплине Объектно-ориентированное программирование     _______________________________________________________________________

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

автоматического заполнения анкеты в MS Word  

Студент группы АП-121                 Худяков Александр Васильевич   

                     Фамилия, имя, отчество

Номер варианта     6           

Технические условия           

             

Содержание и объем работы (графические работы, расчеты и прочее)

_______________________________________________________________________

_______________________________________________________________________

_______________________________________________________________________

Сроки выполнения этапов          

Срок защиты курсовой работы ____________________________________________

Руководитель                                         Е.Н.Королёв

                                                                Подпись, дата             Инициалы, фамилия

Задание принял студент                        А.В.Худяков

                                                           Подпись, дата              Инициалы, фамилия

Замечания руководителя

Оглавление

[1]
Введение

[2]
Постановка задачи

[3] Разработка программного обеспечения

[4]
Описание пользовательского интерфейса

[5]
Приложение


Введение

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

Delphi — мощная система визуального объектно-ориентированного проектирования, позволяющая решать множество задач, например:

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

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

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

• Создавать мощные системы работы с локальными и удаленными базами данных любых типов; при этом имеются средства автономной отладки приложений с последующим выходом в сеть.

• Формировать и печатать сложные отчеты, включающие таблицы, графики и т.п.

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

И многое, многое другое.

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


Постановка задачи

   Целью курсовой работы является: изучение основных принципов объектно-ориентированного программирования. Требуется изучить современные требования к составлению анкет и реализовать их в своей системе

1.Нужно реализовать возможность автоматического заполнения анкеты по современным требованиям и реализовать их в своей системе (необходимо реализовать интерфейс, в котором будет несколько вопросов и различных типов данных для вводимых ответов), а также обеспечить возможность сохранение анкеты под уникальным именем в word-файле, загрузки анкеты из word-файла редактирования и сохранения.

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

3.На второй форме мне необходимо реализовать опрос в котором должно быть не менее 15 вопросов и 3 типов данных.

4.Пройдя опрос пользователь нажимает на кнопку “узнать результат” и deldpi автоматически выводит текст анкеты в word, где построчно написаны вопросы и ответы вводимые пользователем программы. Программа ориентирована на выпускников, которые хотят поступить в ВУЗ, но не могут определиться свыбором профессии.
Выбор средств реализации

Для создания такого приложения будем использовать среду визуального объектно-ориентированного программирования Borland Delphi 7.

            Начнём с описания компонент.

В ходе разработки приложения использовались компоненты:

  •  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, ExtCtrls, ComCtrls- это тот набор модулей, который используется практически во всех приложениях. Эти модули включают в себя почти все основные функции и процедуры.

  •  Delphi MainMenu предназначен для добавления к программе главного меню, элемента, без которого не обходится ни одно из приложений для Windows. Чтобы добавить к программе Delphi главное меню, нужно расместить на Форме  в произвольном месте компонент MainMenu. Компонент MainMemu невизуальный, то есть, хотя и отображается на прототипе Формы как небольшой квадрат, в работающей программе не будет виден. Опции главного меню создаются с помощью специального редактора. Редактор меню вызывается с помощью двойного щелчка по компоненту MainMenu.
  •  MenuItem При выборе нового раздела вы увидите в Инспекторе Объектов множество свойств данного раздела. Дело в том, что каждый раздел меню, т.е. каждый элемент свойства Items, является объектом типа TMenuItem, обладающим своими свойствами, методами, событиями.
  •  Delphi Button это простая командная кнопка. Командная кнопка Delphi Button используется для реализации в программе команд с помощью обработчика события OnClick этого компонента.Один и тот же обработчик может обрабатывать события нескольких компонентов TButton (да и не только TButton, но и даже компонентов других типов). Для определения того, событие какого именно компонента нужно обрабатывать, используется встроенная переменная Sender типа TObject, обозначающая объект, вызвавший данное событие. Для иллюстрации этой возможности рассмотрим простую процедуру, определяющую нажатую кнопку.
  •  Label - Компонент Delphi Label предназначен для показа текста на форме нашей программы, которые не будет меняются в течение работы программы. Текст надписи компонента Label можно изменить, но делается это только программно.Текст, отображаемые в компоненте, определяются значением свойства Caption. Он прописывается в процессе проектирования или задается программно во время выполнения програ
  •  RadioButton (переключатель) находиться на странице Standard Палитры Компонентов. Назначение переключателя выбор одного из нескольких возможных, например выбрать пол человека (мужской женский) или способ оплаты (наличные, чеком, кредитной картой). Он представляет собой белый кружок с текстовой надписью, поясняющей его предназначение. При выборе в середине кружка появляется черная отметка. Ее можно убрать выбрав другой переключатель. Свойство Caption является текстовым заголовком переключателя. Значение свойства Alignment задает, где расположится заголовок переключателя.
  •  Delphi Memo это простой текстовый редактор. Delphi Memo позволяет вводить многострочный текст с клавиатуры, загружать его из файла, редактировать и сохранять в файл текстового формата. При изучении работы с Delphi Edit советую посетить страничку работа со строками delphi, так как там описываются функции Delphi для работы с данными, представленными в текстовой форме, с которыми и оперирует компонент Memo.
  •  Edit - Компонент Delphi Edit предназначен для ввода пользовательских данных и представляет собой однострочное поле. Основным свойством edita является text типа данных string т.е. для ввода чисел нужно использовать функции
  •  FloatToStr(дробные числа) и IntToStr(целые числа). Перенос строк в этом компоненте по сравнению с label невозможен. Текст, не поместившийся по длине в компонент, просто сдвигается влево и пользователь может курсором перемещаться по этому тексту.
  •  CheckBox это флажок - независимый переключатель. Флажок Delphi CheckBox используется в программе для визуализации состояний включено-выключено. Каждый щелчок мышкой по компоненту Delphi CheckBox меняет его состояние на противоположное. Смена состояния переключателя также доступна и в программе. OleServer - позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Например, установленная на персональном компьютере издательская система может послать некий текст на обработку в текстовый редактор.

Класс — это тип данных, определяемый пользователем. То, что в Delphi имеется множество предопределенных классов, не противоречит этому определению -ведь разработчики Delphi тоже пользователи Object Pascal.Класс должен быть объявлен до того, как будет объявлена хотя бы одна переменная этого класса. Т.е. класс не может объявляться внутри объявления переменной.

Для работы приложения так же использовались и класс Delphi:

  •  TForm - класс TForm никогда напрямую не используется в приложениях: вместо него мы всегда будем работать с классами, порожденными на его основе. Дело в том, что формы всегда индивидуальны, ведь окна приложений содержат в себе другие элементы управления которые, в свою очередь, являются ни чем иным, как свойствами класса, описывающего форму. Разумеется, что при всем этом создаваемый класс, описывающий форму, унаследует все свойства и методы от базового класса TForm, который происходит от класса TCustomForm, добавляя к нему лишь методы, связанные с многооконным интерфейсом (MDI). Класс TCustomForm, в свою очередь, происходит от класса TScrollingWinControl и так далее.

Разработка программного обеспечения

      Разработку программного обеспечения начнём с построения пользовательского интерфейса. Разместим на форме кнопки «Начать опрос», «Выход»,«Далее», «Узнать результат», при нажатии на которые будут осуществляться соответствующие действия. Далее составим анкету по современным требованиям и реализуем их в своей системе. Анкета будет иметь корректные условия перехода от одного вопроса к другому, будет представлено несколько типов данных вводимых ответов. После прохождения анкеты обеспечим возможность сохранения анкеты под уникальным именем в word-файле редактирования и сохранения.

  •  AssignFile - вызывается для присваивания имени типизированному, нетипизированному или текстовому файлу перед его открытием. AssignFile не является настоящей процедурой.
  •  FileExists - возвращает false при любой ошибке при попытке определить, существует ли указанный файл. Это может произойти в ситуациях, которые создают исключения, таких как передача имени файла с недопустимыми символами или слишком большим числом символов, неработающий или отсутствующий диск, или когда у вызывающей стороны нет разрешений на чтение файла.
  •  FileSetttr – функция выставляет атрибуты файла, имя которого передано в параметре FileName. Атрибуты перечесляются в параметре Attr с помощью оператора OR. В случае успешного выполнения функция возвращает 0, а иначе возвращает код ошибки Windows.
  •  Rewrite - Процедура ReWrite открывает файл, указанный в FileHandle для записи. Открывает текстовый или двоичный файл для записи.
  •  AppendFile -  значение, указывающее, сгенерированный скрипт добавляется в конец файла вывода или переписывает его. Если правда , сценарий добавляется в конец выходного файла. Если ложные (по умолчанию), сценарий перезаписывает существующий содержимое выходного файла.
  •  Export to Word -  Отчеты, экспортированные в формат Word, имеют вид вложенной таблицы, представляющей текст отчета. Область данных таблица подготавливается к просмотру в виде вложенной таблицы, в которой отображается структура области данных отчета. Текстовые поля и прямоугольники выводятся как отдельные ячейки таблицы. Значение текстового поля отображается внутри ячейки.

Эта процедура создает отчет в виде word документа. Опишем структуру этой процедуры создадим переменную типа variant. Далее мы связываем переменную и файл.

После открываем файл на запись, создадим экземпляр переменной типа word.


Описание пользовательского интерфейса

На рисунке 1 представлена первая форма, на которой опубликовано вступление.

Рисунок 1 – Главный экран.

      

       По щелчку кнопки «Начать опрос» открывается вторая форма на которой непосредственно расположены вопросы анкетирования. Это представлено на рисунке 2.

Рисунок 2 – Первый вопрос.

Если пользователь нажимает кнопку “нет”, то программа выводит: “К сожалению вы не попали в целевую группу опроса” и программа закрывается. При нажатии кнопки “да” программа автоматически переходит к следующему вопросу.

       

Рисунок 3 – пример неправильной работы.

На рисунке 4 представлена область программы, в которой требуется ввести Имя и Фамилию.

Рисунок 4 – ввод имени и фамилии пользователя.

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

Рисунок 5 – ошибка “пустое поле!”

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

  

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

Рисунок 6 – очередной вопрос.

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

Далее для нас интересен вопрос под номером 8 на нем расположены 5 кнопок  CheckBox и 1 кнопка RadioButton, причем если нажать кнопку СheckBox, то RadioButton автоматически закрывается для нажатия. Это нужно для удобства использования программы:

Рисунок 7 – вопрос номер 8.

По окончанию анкеты пользователю предоставляется узнать результат после чего программа целиком выводит анкету в MS Word.

Рисунок 8 – завершение работы.


Вывод

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

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

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

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

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


Приложение

(Обязательное)

Листинг программы:

unit SurveyForm;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, ExtCtrls, ComCtrls, ComObj, Menus, OleServer, WordXP;

type

 TForm2 = class(TForm)

   PageC1: TPageControl;

   ts1: TTabSheet;

   ts2: TTabSheet;

   ts3: TTabSheet;

   ts4: TTabSheet;

   ts5: TTabSheet;

   ts6: TTabSheet;

   ts7: TTabSheet;

   ts8: TTabSheet;

   ts9: TTabSheet;

   ts10: TTabSheet;

   ts11: TTabSheet;

   ts12: TTabSheet;

   ts13: TTabSheet;

   ts14: TTabSheet;

   ts15: TTabSheet;

   MainMenu1: TMainMenu;

   Exit: TMenuItem;

   Button3: TButton;

   Button4: TButton;

   Label1: TLabel;

   rb1: TRadioButton;

   rb2: TRadioButton;

   Label3: TLabel;

   Button5: TButton;

   Memo1: TMemo;

   Label4: TLabel;

   rb4: TRadioButton;

   rb5: TRadioButton;

   Label5: TLabel;

   rb3: TRadioButton;

   rb6: TRadioButton;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   rb7: TRadioButton;

   rb8: TRadioButton;

   rb9: TRadioButton;

   rb10: TRadioButton;

   Label9: TLabel;

   edt2: TEdit;

   Button1: TButton;

   Label10: TLabel;

   Label11: TLabel;

   CheckBox1: TCheckBox;

   CheckBox2: TCheckBox;

   CheckBox3: TCheckBox;

   CheckBox4: TCheckBox;

   CheckBox5: TCheckBox;

   Button2: TButton;

   Label12: TLabel;

   RadioButton1: TRadioButton;

   RadioButton2: TRadioButton;

   RadioButton3: TRadioButton;

   Label13: TLabel;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Label14: TLabel;

   Edit4: TEdit;

   Label15: TLabel;

   Label16: TLabel;

   RadioButton4: TRadioButton;

   RadioButton5: TRadioButton;

   RadioButton6: TRadioButton;

   Label17: TLabel;

   RadioButton7: TRadioButton;

   RadioButton8: TRadioButton;

   Button6: TButton;

   Button7: TButton;

   Label18: TLabel;

   Label19: TLabel;

   Edit6: TEdit;

   Edit7: TEdit;

   Edit8: TEdit;

   rb11: TRadioButton;

   N1: TMenuItem;

   RadioButton9: TRadioButton;

   RadioButton10: TRadioButton;

   Edit5: TEdit;

   procedure ExitClick(Sender: TObject);

   procedure rb1Click(Sender: TObject);

   procedure rb2Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

   procedure rb3Click(Sender: TObject);

   procedure rb4Click(Sender: TObject);

   procedure rb5Click(Sender: TObject);

   procedure rb6Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button5Click(Sender: TObject);

   procedure rb7Click(Sender: TObject);

   procedure rb8Click(Sender: TObject);

   procedure rb9Click(Sender: TObject);

   procedure rb10Click(Sender: TObject);

   procedure RadioButton1Click(Sender: TObject);

   procedure RadioButton2Click(Sender: TObject);

   procedure RadioButton3Click(Sender: TObject);

   procedure Button6Click(Sender: TObject);

   procedure Button7Click(Sender: TObject);

   procedure RadioButton4Click(Sender: TObject);

   procedure RadioButton5Click(Sender: TObject);

   procedure RadioButton6Click(Sender: TObject);

   procedure RadioButton7Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure RadioButton8Click(Sender: TObject);

   procedure CheckBox1Click(Sender: TObject);

   procedure CheckBox2Click(Sender: TObject);

   procedure CheckBox3Click(Sender: TObject);

   procedure CheckBox4Click(Sender: TObject);

   procedure CheckBox5Click(Sender: TObject);

   procedure rb11Click(Sender: TObject);

   procedure N1Click(Sender: TObject);

   procedure RadioButton9Click(Sender: TObject);

   procedure RadioButton10Click(Sender: TObject);

 end;

const

 Q1='Вы желаете поступить в высшее учебное заведение?';

 Q2='Вы желаете узнать кто вы? Технарь или гумманитарий?';

 Q3='Фамилия и имя: ';

 Q4='Вы интересуетесь различной техникой? ';

 Q5='В какой высшее учебное заведение вы желаете поступить? ';

 Q6='Какой из этих предметов в школе вам давался легче всего?';

 Q7='Расскажите почему с этим предметом у вас не было проблем?';

 Q8='Какие работы заинтересуют вас больше всего?';

 Q9='Сколько часов в день максимум вы можете выделить для учебы? ';

 Q10='Охарактеризуйте себя в трех словах';

 Q11='Кем вы хотите стать в будущем?';

 Q12='Вы любите когда все идет по порядку, и знаете что вас ожидает завтра?';

 Q13='У вас легко получается подбирать слова, когда вы хотите выразить свою мысль?';

 Q14='Вам понравился наш опрос?';

var

 Form2: TForm2;

 result: string;

 question:string;

 schet1:integer;

 schet2:integer;

implementation

{$R *.dfm}

procedure HideFile;

var

 TName : string;

 TFile : TextFile;

begin

 TName := 'tmp.txt';

 AssignFile(TFile, TName);

 if FileExists(TName) then DeleteFile(TName);

 Rewrite(TFile);

 FileSetAttr(TName,faHidden);

 Close(TFile);

end;

procedure TempSave;

var

 TName : string;

 TFile : TextFile;

begin

 TName := 'tmp.txt';

 AssignFile(TFile, TName);

 Append(TFile);

   writeln(TFile,question);

   writeln(TFile,result);

   writeln(TFile,' ');

 Close(TFile);

 question:='';

 result:='';

end;

procedure ExportToWord;

var

 Word:Variant;

 TFile:TextFile;

 buffer:string;

begin

 AssignFile(TFile,'tmp.txt');

 Reset(TFile);

Word:=CreateOleObject('Word.Application');

Word.Documents.Add;

Word.Selection.TypeText('Сгенерированный опрос от '+DateToStr(Now)+', '+TimeToStr(Time));

Word.Selection.TypeParagraph;

Word.Selection.TypeParagraph;

while not Eof(TFile) do

 begin

   Readln(TFile,buffer);

   Word.Selection.TypeText(buffer);

   Word.Selection.TypeParagraph;

 end;

Close(TFile);

Word.Visible:=true;

end;

procedure TForm2.ExitClick(Sender: TObject);

begin

if Application.MessageBox('Вы уверены? Опрос еще не завершен!', 'Выход', MB_YESNO + MB_ICONQUESTION)=idYes

then

 begin

 if FileExists('tmp.txt') then DeleteFile('tmp.txt');

 Application.Terminate;

 end;

end;

procedure TForm2.N1Click(Sender: TObject);

begin

Application.MessageBox('Разработчик программы Худяков Александр Васильевич', 'ФИТКБ АП-121', MB_OK + MB_ICONINFORMATION);

end;

procedure TForm2.rb4Click(Sender: TObject);

begin

question:=Q1;

result:='да';

HideFile;

TempSave;

ts2.Enabled:=true;

ts1.Enabled:=false;

PageC1.SelectNextPage(true);

end;

procedure TForm2.rb5Click(Sender: TObject);

begin

Application.MessageBox('К сожалению, вы не попали в целевую группу опроса, поэтому приложение закрывается.', ':(', MB_OK +

 MB_ICONINFORMATION);

DeleteFile('tmp.txt');

Application.Terminate;

end;

procedure TForm2.rb1Click(Sender: TObject);

begin

question:=Q2;

result:='да';

TempSave;

ts3.Enabled:=true;

ts2.Enabled:=false;

PageC1.SelectNextPage(true);

end;

procedure TForm2.rb2Click(Sender: TObject);

begin

Application.MessageBox('К сожалению, вы не попали в целевую группу опроса, поэтому приложение закрывается.', ':(', MB_OK +

 MB_ICONINFORMATION);

DeleteFile('tmp.txt');

Application.Terminate;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

if (Edit7.Text<>'') and (Edit8.Text<>'') then

begin

question:=Q3;

result:=Edit7.Text+' '+Edit8.Text;

TempSave;

ts4.Enabled:=true;

ts3.Enabled:=false;

PageC1.SelectNextPage(true);

schet1:=1;

schet2:=1;

end

else

Application.MessageBox('Пустое поле!', 'Ошибка!', MB_OK+ MB_ICONINFORMATION);

end;

procedure TForm2.rb3Click(Sender: TObject);

begin

question:=Q4;

result:='да';

TempSave;

ts5.Enabled:=true;

ts4.Enabled:=false;

PageC1.SelectNextPage(true);

schet1:=schet1+1;

end;

procedure TForm2.rb6Click(Sender: TObject);

begin

question:=Q4;

result:='нет';

TempSave;

ts5.Enabled:=true;

ts4.Enabled:=false;

PageC1.SelectNextPage(true);

schet2:=schet2+1;

end;

procedure TForm2.Button5Click(Sender: TObject);

begin

if edit5.text='' then ShowMessage('Вы не заполниле поле!') else

begin

question:=Q5;

result:=Edit5.Text;

TempSave;

ts6.Enabled:=true;

ts5.Enabled:=false;

PageC1.SelectNextPage(true);

end;

end;

procedure TForm2.rb7Click(Sender: TObject);

begin

question:=Q6;

result:='Математика';

TempSave;

ts7.Enabled:=true;

ts6.Enabled:=false;

PageC1.SelectNextPage(true);

schet1:=schet1+1;

end;

procedure TForm2.rb8Click(Sender: TObject);

begin

question:=Q6;

result:='Обществознание';

TempSave;

ts7.Enabled:=true;

ts6.Enabled:=false;

PageC1.SelectNextPage(true);

schet2:=schet2+1;

end;

procedure TForm2.rb9Click(Sender: TObject);

begin

question:=Q6;

result:='Физика';

TempSave;

ts7.Enabled:=true;

ts6.Enabled:=false;

PageC1.SelectNextPage(true);

schet1:=schet1+1;

end;

procedure TForm2.rb10Click(Sender: TObject);

begin

question:=Q6;

result:='История';

TempSave;

ts7.Enabled:=true;

ts6.Enabled:=false;

PageC1.SelectNextPage(true);

schet2:=schet2+1;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

if Edit6.text='' then ShowMessage('Вы не заполниле поле!') else

begin

question:=Q7;

result:=Edit6.Text;

TempSave;

ts8.Enabled:=true;

ts7.Enabled:=false;

PageC1.SelectNextPage(true);

end;

end;

procedure TForm2.CheckBox1Click(Sender: TObject);

begin

CheckBox1.Enabled:=False;

rb11.Enabled:=False;

result:=result+' '+CheckBox1.Caption;

Button2.Enabled:=true;

schet2:=schet2+1;

end;

procedure TForm2.CheckBox2Click(Sender: TObject);

begin

CheckBox2.Enabled:=False;

rb11.Enabled:=False;

result:=result+' '+CheckBox2.Caption;

Button2.Enabled:=true;

schet1:=schet1+1;

end;

procedure TForm2.CheckBox3Click(Sender: TObject);

begin

CheckBox3.Enabled:=False;

rb11.Enabled:=False;

result:=result+' '+CheckBox3.Caption;

Button2.Enabled:=true;

schet1:=schet1+1;

end;

procedure TForm2.CheckBox4Click(Sender: TObject);

begin

CheckBox4.Enabled:=False;

rb11.Enabled:=False;

result:=result+' '+CheckBox4.Caption;

Button2.Enabled:=true;

schet2:=schet2+1;

end;

procedure TForm2.CheckBox5Click(Sender: TObject);

begin

CheckBox5.Enabled:=False;

rb11.Enabled:=False;

result:=result+' '+CheckBox5.Caption;

Button2.Enabled:=true;

schet2:=schet2+1;

end;

procedure TForm2.rb11Click(Sender: TObject);

begin

CheckBox1.Enabled:=False;

CheckBox2.Enabled:=False;

CheckBox3.Enabled:=False;

CheckBox4.Enabled:=False;

CheckBox5.Enabled:=False;

rb11.Enabled:=False;

question:=Q8;

result:=rb11.Caption;

ts9.Enabled:=true;

ts8.Enabled:=false;

PageC1.SelectNextPage(true);

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

question:=Q8;

TempSave;

ts9.Enabled:=true;

ts8.Enabled:=false;

PageC1.SelectNextPage(true);

end;

procedure TForm2.RadioButton1Click(Sender: TObject);

begin

question:=Q9;

result:='1-2 часа';

TempSave;

ts10.Enabled:=true;

ts9.Enabled:=false;

PageC1.SelectNextPage(true);

schet2:=schet2+1;

end;

procedure TForm2.RadioButton2Click(Sender: TObject);

begin

question:=Q9;

result:='3-5 часов';

TempSave;

ts10.Enabled:=true;

ts9.Enabled:=false;

PageC1.SelectNextPage(true);

end;

procedure TForm2.RadioButton3Click(Sender: TObject);

begin

question:=Q9;

result:='более 5 часов';

TempSave;

ts10.Enabled:=true;

ts9.Enabled:=false;

PageC1.SelectNextPage(true);

schet1:=schet1+1;

end;

procedure TForm2.Button6Click(Sender: TObject);

begin

if (edit1.text='') or (edit2.text='') or (edit3.text='') then ShowMessage('Вы не заполниле поле!') else

begin

question:=Q10;

result:=Edit1.Text+', '+Edit2.Text+', '+Edit3.Text;

TempSave;

ts11.Enabled:=true;

ts10.Enabled:=false;

PageC1.SelectNextPage(true);

end;

end;

procedure TForm2.Button7Click(Sender: TObject);

begin

if edit4.text='' then ShowMessage('Вы не заполниле поле!') else

begin

question:=Q11;

result:=Edit4.Text;

TempSave;

ts12.Enabled:=true;

ts11.Enabled:=false;

PageC1.SelectNextPage(true);

end;

end;

procedure TForm2.RadioButton9Click(Sender: TObject);

begin

question:=Q12;

result:='да';

TempSave;

ts13.Enabled:=true;

ts12.Enabled:=false;

PageC1.SelectNextPage(true);

schet1:=schet1+1;

end;

procedure TForm2.RadioButton10Click(Sender: TObject);

begin

question:=Q12;

result:='нет';

TempSave;

ts13.Enabled:=true;

ts12.Enabled:=false;

PageC1.SelectNextPage(true);

schet2:=schet2+1;

end;

procedure TForm2.RadioButton4Click(Sender: TObject);

begin

question:=Q13;

result:='да';

TempSave;

ts14.Enabled:=true;

ts13.Enabled:=false;

PageC1.SelectNextPage(true);

schet2:=schet2+1;

end;

procedure TForm2.RadioButton5Click(Sender: TObject);

begin

question:=Q13;

result:='затрудняюсь ответить';

TempSave;

ts14.Enabled:=true;

ts13.Enabled:=false;

PageC1.SelectNextPage(true);

end;

procedure TForm2.RadioButton6Click(Sender: TObject);

begin

question:=Q13;

result:='нет';

TempSave;

ts14.Enabled:=true;

ts13.Enabled:=false;

PageC1.SelectNextPage(true);

schet1:=schet1+1;

end;

procedure TForm2.RadioButton7Click(Sender: TObject);

begin

question:=Q14;

result:='да';

TempSave;

ts15.Enabled:=true;

ts14.Enabled:=false;

PageC1.SelectNextPage(true);

end;

procedure TForm2.RadioButton8Click(Sender: TObject);

begin question:=Q14;

result:='нет';

TempSave;

ts15.Enabled:=true;

ts14.Enabled:=false;

PageC1.SelectNextPage(true);

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

if schet1>schet2 then Memo1.Text:='Вам рекомендуется техническая специальность'

else Memo1.Text:='Вам рекомендуется гумманитарная специальность';

result:=Memo1.Text;

TempSave;

ExportToWord;

Application.Terminate;

end;

end.




1. Морфология российской вечеринки
2. Введение 7 Краткая характеристика предприятия 7
3. Химия 171 гр. 11 чел.
4. Современные автоматизированные информационные системы управления на Минском автомобильном заводе
5. Статья- Экологическая инспекция
6. Descriptio описание ~ описание окружающего мира
7. Основы обратноосмотической обработки воды
8. технических условий ценностей и традиций управления профессионального образовательного и нравственного.
9. Развитие химической промышленности Украины
10. Лабораторна робота 5
11. степной местности ПЛАН РАБОТЫ- Введение Влияние климатических и дорожных условий на работоспособност
12. ГЮнга и феномен периодичности человеческой истории Введен и рассмотрен особый класс глобальных синхронис
13. Тема 1 Феномен культуры- проблемы исследования 1
14. И.О. больного Коронаровентрикулография 2 Дата исследования
15. Христиан Вольф
16. жение в ее пределы персидского царя Дария I Гистаспа в 513 г
17. Теневая экономика в России
18. Тема 1- Предмет и метод истории экономических учений
19. статьях главы 22 УК РФ Преступления в сфере экономической деятельности за исключением статей 174 1741 178 185 185
20. местах шаговой доступности