Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Ошибка "Statement expected but end of file found"


Автор: ermilo123 10.11.2013, 17:38
выдаёт ошибку [Error] Unit6.pas(93): Type of expression must be BOOLEAN,[Error] Unit6.pas(96): Statement expected but end of file found и выделяет предпоследний енд

Код

unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, Unit8, Unit9, Unit10, Unit11, Unit12;

type
  TForm6 = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N11: TMenuItem;
    N21: TMenuItem;
    N31: TMenuItem;
    N41: TMenuItem;
    N51: TMenuItem;
    N2: TMenuItem;
    Button1: TButton;
    Frame81: TFrame8;
    Button2: TButton;
    Button3: TButton;
    Frame91: TFrame9;
    Frame101: TFrame10;
    Frame111: TFrame11;
    Frame121: TFrame12;
    procedure N2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Frame91RadioGroup1Click(Sender: TObject);
    procedure Frame101RadioGroup1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6: TForm6;
   i: integer;
implementation

uses Unit1;

{$R *.dfm}

procedure TForm6.N2Click(Sender: TObject);
begin
close;
end;

procedure TForm6.Button1Click(Sender: TObject);
begin
Form6.Visible:= false;
Form1.Visible:= true;
end;

procedure TForm6.Button2Click(Sender: TObject);
begin
Frame81.Visible:= False;
Frame91.Visible:= True;
Button2.Visible:= False;
Button3.Visible:= True;
Button1.Visible:= False;
end;

procedure TForm6.Frame91RadioGroup1Click(Sender: TObject);
begin
inc(i);
end;

procedure TForm6.Frame101RadioGroup1Click(Sender: TObject);
begin
inc(i);
end;

procedure TForm6.Button3Click(Sender: TObject);
begin
if i=1 then begin
Frame91.Visible:= False;
Frame101.Visible:= True;
end
else if if i=2 then begin
Frame101.Visible:= false;
Frame111.Visible:= True;
Button3.Caption:='Çàêîí÷èòü òåñò';
end
else if i=3 then begin
Frame111.Visible:= false;
Frame121.Visible:= True;
Button1.Visible:= True;
end;
end.


Автор: Akella 10.11.2013, 18:15
Что именно непонятно?

Добавлено через 12 секунд
там же написано в какой строке и какая ошибка

Автор: Данкинг 11.11.2013, 00:02
Наверное, число begin'ов не совпадает с числом end'ов.

Автор: БелАмор 11.11.2013, 00:26
Цитата(ermilo123 @  10.11.2013,  18:38 Найти цитируемый пост)
выдаёт ошибку [Error] Unit6.pas(93): Type of expression must be BOOLEAN

Два if подряд?

Цитата(ermilo123 @  10.11.2013,  18:38 Найти цитируемый пост)
[Error] Unit6.pas(96): Statement expected but end of file found и выделяет предпоследний енд

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

Кроме того:
1. Обратите внимание на необходимость форматирования кода. Можно почитать, например, здесь: http://delphikingdom.com/asp/viewitem.asp?catalogid=802 
2. Приводя код, обрамляйте его тегом "Код/Delphi"
3. Во фразе "непонятная ошибка" "не" пишется вместе, а во фразе "не понятная, а заумная" - раздельно.

Код

procedure TForm6.Button3Click(Sender: TObject);
begin
  if i=1 then begin
    Frame91.Visible:= False;
    Frame101.Visible:= True;
  end
  else if if i=2 then begin    // Убрать второй if
    Frame101.Visible:= false;
    Frame111.Visible:= True;
    Button3.Caption:='Çàêîí÷èòü òåñò';
  end
  else if i=3 then begin
    Frame111.Visible:= false;
    Frame121.Visible:= True;
    Button1.Visible:= True;
  end;
end;    // Добавить

end.

   

Автор: Poseidon 11.11.2013, 01:44
Модератор: Название темы должно отражать ее суть!
Название я изменил, но на будущее старайтесь придерживаться этого правила. 

Автор: Akella 11.11.2013, 13:38
ermilo123, читай http://forum.vingrad.ru/forum/topic-353769.html до просветления!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)