Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/55: Рейтинг темы: голосов - 55, средняя оценка - 4.80
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
1

Ошибка: Syntax error, ";" expected but "BEGIN" found

16.08.2015, 13:11. Показов 10973. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ошибка
unit1.pas(529,1) Fatal: Syntax error, ";" expected but "BEGIN" found
тут в строке с сообщением в комментарие, строка 40. Не понимаю почему.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
procedure Ordering;
 //type TValueSign = -1..1;
 var
   procinstruction: integer;
   rezultat,rezultat1:extended;
   arrproccond: arr;
   napravleniesumm,napravlen:boolean;
//   function Sign(
//     const AValue: Extended
//   ):TValueSign; overload;
//   begin
//end;
procedure turn;//поворот
var
  x2,x3,y2,y3:extended;
begin
SurfaceList := ASurfaceList[copyTimeBoxMaxY.IDsurface];
x3:=SurfaceList.x[2];
y3:=SurfaceList.y[2];
x2:=SurfaceList.x[3];
y2:=SurfaceList.y[3];
SurfaceList.x[2]:=x2;
SurfaceList.y[2]:=y2;
SurfaceList.x[3]:=x3;
SurfaceList.y[3]:=y3;
ASurfaceList[copyTimeBoxMaxY.IDsurface]:=SurfaceList;
end;
 procedure smenanapravlenia;/////////////////////////////////////////////процедура с параметром, надо сделать так
begin
napravleniesumm:=not(napravleniesumm);
end;
 procedure napravlenie;/////////////////////////////////////////////////////////////////////////////////////////////////////////
 begin
 napravlen:=true;
 napravlen:=napravlen=napravleniesumm;
 raise Exception.Create('napravlenie');
 end;
 
 procedure line
begin//unit1.pas(529,1) Fatal: Syntax error, ";" expected but "BEGIN" foundunit1.pas(529,1) Fatal: Syntax error, ";" expected but "BEGIN" foundunit1.pas(529,1) Fatal: Syntax error, ";" expected but "BEGIN" foundunit1.pas(529,1) Fatal: Syntax error, ";" expected but "BEGIN" found
raise Exception.Create('line');
end;
 procedure condition;//сравнение
begin
if rezultat=0 then ///////////////
  begin
    arrproccond[procinstruction];
    procinstruction:=procinstruction+1;
  end;
end;
 procedure sistemscondition
begin
napravleniesumm:=true;
procinstruction:=0;
rezultat:=SurfaceList.x[3]/SurfaceList.y[3]-abs(SurfaceList.x[2]/SurfaceList.y[2]);
condition;
procinstruction:=procinstruction-1;
rezultat:=SurfaceList.x[3]/SurfaceList.y[3]-SurfaceList.x[2]/SurfaceList.y[2];
rezultat1:=rezultat;
condition;
rezultat:=SurfaceList.y[3] - abs(SurfaceList.y[3]);
condition;
procinstruction:=procinstruction-1;
rezultat:=SurfaceList.y[2] - abs(SurfaceList.y[2]);
condition;
rezultat:=rezultat1;
rezultat:=rezultat-abs(rezultat);
condition;
napravlen:=false;
raise Exception.Create('sistemscondition');
rezultat := ord(napravlen);
condition;
end;
 
begin
arrproccond[0]:=@line;
arrproccond[1]:=@smenanapravlenia;
arrproccond[2]:=@napravlenie;
arrproccond[3]:=@turn;
end;
sistemscondition;
except
end;
Добавлено через 5 минут
исправил, невнимательность
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2015, 13:11
Ответы с готовыми решениями:

Ошибка: project1.lpr(1,1) Fatal: Syntax error, "BEGIN" expected but "end of file" found
project1.lpr(1,1) Fatal: Syntax error, "BEGIN" expected but "end of file" found выдает эту ошибку...

Ошибка unit1.pas(48,0) Fatal: Syntax error, "BEGIN" expected but "end of file" found
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls,...

Ошибка: Syntax error, "BEGIN" expected but "end of file" found
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms,...

Ошибка "project1.lpr(35,0) Fatal: Syntax error, "BEGIN" expected but "end of file" found"
type tarray= array of integer; var a:tarray; m,s,k:integer; procedure...

Fatal: Syntax error, "BEGIN" expected but "end of file" found
Привет! Поможите, пожалуйста! Что здесь не так? Ошибка - Fatal: Syntax error, "BEGIN" expected but...

7
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.08.2015, 13:37 2
Pascal
1
procedure line;
1
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
16.08.2015, 13:51  [ТС] 3
Да, да у меня там куча таких ошибок была, исправил все, долго писал не компилируя.
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
16.08.2015, 15:46 4
А теперь для полной красоты нажми Ctrl-D.
Этим ещё можно пользоваться вместо компиляции для недопущения таких и других ошибок.
Миниатюры
Ошибка: Syntax error, ";" expected but "BEGIN" found  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
16.08.2015, 16:50 5
Этот Ctrl+D на больших неформатированных текстах очень часто дает сбой, и вреда от него получается больше, чем пользы. Проще прогнать через ptop (если нужно - выложу GUI-обертку, которую когда-то делал для ptop, чтобы было удобнее форматировать программы, не прибегая к использованию консольных команд)
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
16.08.2015, 17:49 6

Не по теме:

Sorry, за мой холивар, но ptop тоже небезгрешен. Пример обработки

Pascal
1
2
3
4
5
6
7
8
9
10
  If a=0 Then
    Begin
      If b=0 Then
        If c=0 Then
          Writeln('-1')
      Else                <---------- здесь не хватает ещё одного отступа
        Writeln('0')
      Else
        Begin
          x := c/b;
Минус его настройка будет сложна для начинающего - я имею в виду настройку конфигурационного файла, возможности у которого превосходят командную строку.
Минус его набор ключевых слов очень ограничен.
Но Плюс-Плюс он очень хорош при поиске небаланса begin-end, где JCF просто выдаст ошибку и остановит работу.

Из глюков JCF мне попадались только плохое форматирование типизированных констант, самостоятельная разбивка на строки длинных заголовков процедур (отличная от удобного для меня вида), плохое форматирование директив компилятора (условная компиляция). Так сразу и не вспомню ещё. А какой сбой+вред может получиться на больших неформатированных текстах?

На форуме freepascal.com читал, что JCF уже тоже устарел и многого не понимает, хотели приспособить штатный парсер FPC но до реализации так и не дошло.

Плюс у Lazarus "из коробки" встроенная поддержка JCF. Новичку - легче.
Плюс по умолчанию, JCF в составе Lazarus идёт настроенным "по кодексу" (по рекомендациям от Borland).


----------------------------------------------
Подытоживая, ТС - жми Ctrl-D и не бойся. Чуть позже разберись с PToP - тоже хороший инструмент.

Не по теме:

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

0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
16.08.2015, 18:35 7
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
А какой сбой+вред может получиться на больших неформатированных текстах?
Психологический. Человек жмет Ctrl+D, и вместо ожидаемого результата получает диалоговое окно с диким деревом, которое ему показывает, что его код в принципе не разбирается утилитой. У меня в первый раз был шок, но я - это я, переформатировал исходник через ptop, и потом уже регулярно жал Ctrl+D (ну, либо, если есть новая Дельфи - то отформатировать вместо ptop Дельфийским Ctrl+D, он гораздо более всеяден, дико запущенные тексты программ запросто форматирует)
1
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
16.08.2015, 18:50 8
Спасибо, буду знать.

Да, кажется, JCF "спотыкается" и останавливается, если посреди оператора присвоения ":=" встретится перенос ": =". А это не редкость в чужих исходниках. Заглянуть бы в багтрекер проекта, но лень и без толку.

Но тогда, чем раньше ТС начнёт нажимать заветное Ctrl-D, тем лучше.
0
16.08.2015, 18:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.08.2015, 18:50
Помогаю со студенческими работами здесь

Fatal: Syntax error, "BEGIN" expected but "end of file" found
Пожалуйста, помогите! Я начинающий, на завтра надо сделать это, но не совсем понимаю в чём ошибка....

Fatal: Syntax error, "BEGIN" expected but "identifier BITMAP" found
Добрый день! пишу программу по методичке, выдает вот такие ошибки: unit1.pas(78,1) Fatal: Syntax...

Fatal: Syntax error, "BEGIN" expected but "end of file" found
Доброго времени суток! Вот простой код, который, по идее, находит корни квадратного уравнения....

В коде выдает ошибку unit1.pas(47,0) Fatal: Syntax error, "BEGIN" expected but "end of file" found
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls,...

Выдаёт ошибки Fatal: Syntax error, "BEGIN" expected but "end of file" found. Пожалуйста посмотрите что не так, прошу!
Выдаёт ошибки Fatal: Syntax error, &quot;BEGIN&quot; expected but &quot;end of file&quot; found. Пожалуйста...

Fatal: Syntax error, "." expected but "(" found Ошибка при обращении к модулю
В коде обращаюсь к модулю создания директории, однако выдает эту ошибку для строки &quot;CrDir(PathDir,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru