unit Unit1;

interface

uses
  MMSystem, Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, Buttons, StdCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    Memo1: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    SpeedButton3: TSpeedButton;
    Label3: TLabel;
    Timer1: TTimer;
    Itog: TSpeedButton;
    Timer2: TTimer;
    procedure SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormActivate(Sender: TObject);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Label2Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure ItogClick(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  MoveButton:boolean;
  i,j:integer;
  temp:string;
  Mas_chet_Yes:array[1..20] of integer;
  Mas_vopros:array[1..20] of string;
  mas_otvet:array[1..5] of string;
implementation

{$R *.DFM}

procedure TForm1.SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  if MoveButton=False then PlaySound('Move.wav',1,snd_async);
  MoveButton:=true;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  j:=1;
  MoveButton:=false;

//Опись вопросов.
mas_vopros[1]:='Заняты ли вы обычно несколькими делами, которые вряд ли удастся завершить в ближайшем будующем?';
mas_vopros[2]:='Ложась спать вы сразу просыпаетесь?';
mas_vopros[3]:='Часто ли вы страдаете от несварения желудка или тошноты?';
mas_vopros[4]:='Вы можете легко забыться, читая хорошую книгу, увлекшись своим любимым занятием или предавшись какому-нибудь развлечению?';
mas_vopros[5]:='Бывает ли у вас сильное сердцебиение, когда вы лежите?';
mas_vopros[6]:='Вы довольны своей работой и коллегами?';
mas_vopros[7]:='Часто ли вы злитесь на неодушевленные предметы (например, на упорно не застегивающиюся молнию, на стул, оказавшися у вас на пути)?';
mas_vopros[8]:='Вам нравится большинство людей, с которыми вы знакомы?';
mas_vopros[9]:='Есть ли у вас привычка скрипеть зубами или сжимать губы?';
mas_vopros[10]:='Вы знаете очень многое помимо того, что связано с вашей работой?';
mas_vopros[11]:='Вам сложно перестать злоупотреблять курением (не обкусывать ногти, не почесывать подпородок или оставить в покое свои волосы)?';
mas_vopros[12]:='Вы говорите тихо, заранее все обдумав?';
mas_vopros[13]:='Вы постоянно стремитесь что-то улучшить в себе?';
mas_vopros[14]:='Ваши сноведения чаще всего приятные, а иногда они даже кажутся смешными?';
mas_vopros[15]:='Способны ли вы расмияться когда переживате кризис или когда вам грустно?';
mas_vopros[16]:='Вам легко обсуждать свои проблемы и чувства с другими людьми?';
mas_vopros[17]:='Кажется ли вам, что вы всегда виноваты в том, что ваша жизнь не совсем удачно складывается?';
mas_vopros[18]:='Предусматриваете ли вы в своих планах на неделю достаточное время для отдыха?';
mas_vopros[19]:='Вы часто испытываете злость, ненависть или ревность?';
mas_vopros[20]:='Вы относительно удовлетворены своим материальным достатком?';


//0-5;
  mas_otvet[1]:='Вы на пределе; терятете своих друзей и в любой момент можете окончательно сорваться.';
//6-10;
  mas_otvet[2]:='Вы постоянно на нервах. Смотрите проще на жизнь. Отдохните - утро вечера мудренее. Если нервное напряжение возникает часто и долго не проходит, то нужно быть начеку.';
//11-15;
  mas_otvet[3]:='Ваш результат можно классифицировать как "средний". Когда ситуация начинает выходить из под контроля, нервы дают о себе знать.';
//16-18;
  mas_otvet[4]:='Вы хорошо контролируйте свои нервы. Иногда бывают периоды напряжения, но мы готовы поспорить: вы не подвержены заболиваниям на нервной почве.';
//19-20;
  mas_otvet[5]:='Всем иногда нужна некоторая встряска, чтобы не потерять ощущение жизни. Возможно, у вас слабовато стремление жить полной жизнью.';

end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  MoveButton:=false;
end;

procedure TForm1.SpeedButton2MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  if MoveButton=False then PlaySound('Move.wav',1,snd_async);
  MoveButton:=true;
end;

procedure TForm1.SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  if MoveButton=False then PlaySound('Move.wav',1,snd_async);
  MoveButton:=true;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  if j mod 2=0 then mas_chet_yes[j]:=1;
  SpeedButton3.visible:=true;
  j:=j+1;
  label3.caption:=mas_vopros[j];
  Label2Click(Sender);

  if j=20 then ItogClick(sender);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  label3.caption:=mas_vopros[1];
  timer1.enabled:=false;
end;

procedure TForm1.Label2Click(Sender: TObject);
begin
  str(j,temp);
  label2.caption:=temp;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  if j mod 2>0 then mas_chet_yes[j]:=1;
  SpeedButton3.visible:=true;
  j:=j+1;
  label3.caption:=mas_vopros[j];
  Label2Click(Sender);

  if j=20 then ItogClick(sender);
end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
 if j<3 then SpeedButton3.visible:=false;
 j:=j-1;
 label3.caption:=mas_vopros[j];
 Label2Click(Sender);
end;

procedure TForm1.ItogClick(Sender: TObject);
begin
  label3.Font.Color:=255;
  Label1.caption:='Смотрите:';
  label1.font.Size:=9;

  label3.font.Size:=12;
  label3.Height:=label3.Height+75;
  label3.Width:=label3.Width+50;

  timer2.enabled:=true;

  speedButton1.visible:=false;
  speedButton2.visible:=false;
  speedButton3.visible:=false;

  j:=0;
  for i:= 1 to 20 do
  begin
    j:=j+mas_chet_yes[i];
  end;
  if (j>=0) and (j<=5) then label3.caption:=mas_otvet[1];
  if (j>=6) and (j<=10) then label3.caption:=mas_otvet[2];
  if (j>=11) and (j<=15) then label3.caption:=mas_otvet[3];
  if (j>=16) and (j<=18) then label3.caption:=mas_otvet[4];
  if (j>=19) and (j<=20) then label3.caption:=mas_otvet[5];
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
  Label1.Font.size:=Label1.Font.size+1;
  if Label1.Font.size>25 then Timer2.enabled:=false;
end;

end.
