Fatal syntax error begin expected but end of file found lazarus

Ошибка: project1.lpr(1,1) Fatal: Syntax error, "BEGIN" expected but "end of file" found Lazarus Решение и ответ на вопрос 511952

alex9910

1 / 1 / 3

Регистрация: 26.11.2011

Сообщений: 169

1

04.03.2012, 11:54. Показов 26968. Ответов 5

Метки нет (Все метки)


project1.lpr(1,1) Fatal: Syntax error, «BEGIN» expected but «end of file» found
выдает эту ошибку при компиляции. Написал самое элементарное :

Delphi
1
2
3
4
procedure TForm5.Button1Click(Sender: TObject);
begin
  Caption:=Edit1.text;
end;

кнопка и поле ввода
Почему? при компиляции открывается еще одна вкладка: project1.lpr

p.s. Я еще начинающий так что не кричите

Миниатюры

Ошибка: project1.lpr(1,1) Fatal: Syntax error, "BEGIN" expected but "end of file" found
 

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

04.03.2012, 11:54

Ответы с готовыми решениями:

Ошибка «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 «end of file» found. Пожалуйста посмотрите что не так, прошу!
Выдаёт ошибки 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…

5

0 / 0 / 0

Регистрация: 26.02.2012

Сообщений: 4

04.03.2012, 15:43

2

project1.lpr пустой что ли?



0



PolarFoG

NPC

151 / 145 / 22

Регистрация: 10.01.2012

Сообщений: 390

04.03.2012, 16:04

3

У Вас пустой исходный код проекта…поэтому он его и открывает, мол посмотрите тут пусто, что делать то (образно говоря ).

Сделайте так..
Файл>создать… Выберите из папки проект пункт приложение …
Затем…
Проект>Просмотреть исходный код…
Вот это и должно быть у вас в исходном коде…

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program Project1;
 
{$mode objfpc}{$H+}
 
uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, Unit1
  { you can add units after this };
 
{$R *.res}
 
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

…Вы уже куда-то сохранили модуль с формой … но почему то с пустым файлом исходного кода?



0



1 / 1 / 3

Регистрация: 26.11.2011

Сообщений: 169

04.03.2012, 22:41

 [ТС]

4

PolarFoG, ага уже разобрался, книжку получше почитал еще раз

А есть какие еще сайты по lazarus ‘?



0



NPC

151 / 145 / 22

Регистрация: 10.01.2012

Сообщений: 390

07.03.2012, 15:46

5

Цитата
Сообщение от alex9910
Посмотреть сообщение

А есть какие еще сайты по lazarus ‘?

Т.к. Lazarus родственник Delphi я часто просто забиваю в поисковике «Delphi вопрос» чаще всего ответ для delphi будет и ответом для родимого Lazarus-а

Если нет проблем с английским (или с переводчиком ) много полезного есть на официальных сайтах и форумах Lazarus и FrePascal.



0



Содержание

  1. Куда поставить этот begin? lazarus Выдаёт ошибку: Fatal: Syntax error, «BEGIN» expected but «end of file» found.
  2. Fatal: Syntax error, «.» expected but «;» found
  3. 1 Answer 1
  4. Отладка и выполнение программы

Куда поставить этот begin? lazarus Выдаёт ошибку: Fatal: Syntax error, «BEGIN» expected but «end of file» found.

uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
StdCtrls;

TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
CheckGroup1: TCheckGroup;
CheckGroup2: TCheckGroup;
CheckGroup3: TCheckGroup;
CheckGroup4: TCheckGroup;
Label10: TLabel;
Label12: TLabel;
Label14: TLabel;
Label2: TLabel;
Label4: TLabel;
Label6: TLabel;
Label8: TLabel;
Memo1: TMemo;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
RadioGroup3: TRadioGroup;
procedure result(k:integer);
procedure Kav(ob:integer);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);

var
Form1: TForm1;
k,j:integer;

procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Result(j);
begin
Memo1.text:= ‘Всего вопросов — 5’+#10#13+’Правильных ответов — ‘+inttostr(k)
+ #10#13 +’Процент правильных ответов — ‘+strtofloat(k/7*100) +#10#13+’Оценка — ‘
+ Kav(sender);
end;
end.

Потом у меня было всё в том же духе, и в конце у меня это:
procedure TForm1.Button9Click(Sender: TObject);

begin
Button9.Enabled:=False;
If (CheckGroup4.Checked[0])
or (CheckGroup4.Checked[3])
and not (CheckGroup4.Checked[1])
and not (CheckGroup4.Checked[2])
then
begin
Label14.Visible:=True;
Label14.Caption:=’Подумай ещё.Ты на верном пути!’;

end
else if (CheckGroup4.Checked[1])or not
(CheckGroup4.Checked[0])
or not(CheckGroup4.Checked[3])
or (CheckGroup4.Checked[2])
then
begin
Label14.Visible:=True;
Label14.Caption:=’Неправильно’;

end
else if
(CheckGroup4.Checked[0])and(CheckGroup4.Checked[3])
then
begin
Label14.Visible:=True;
Label14.Caption:=’Верно’;
k:=k+1;j:=j+1;
if j=7 then memo1.visible:=true;
end;

end;
procedure TForm1.result(k);
begin
Memo1.text:= ‘Всего вопросов — 5’+#10#13+’Правильных ответов — ‘+inttostr(k)
+ #10#13 +’Процент правильных ответов — ‘+strtofloat(k/7*100) +#10#13+’Оценка — ‘
+ case k of
0..2: ‘1’;
3: ‘2’;
4: ‘3’;
5,6:’4′;
7:’5′;
end;
end;
end.

Источник

Fatal: Syntax error, «.» expected but «;» found

1 Answer 1

The reason for this is that your begin s and end s are not balanced; disregarding the opening begin and closing end. for the program’s syntax to be correct, you should have equal numbers of each, but you have 4 begin s and 8 end s.

Obviously, your code is to compute the solutions of a quadratic equation. What I think you should do is to adjust the layout of your code so that it reflects that and then correctly the begin s and end s. In particular, your program is trying to detect whether any of a, b and d is zero and, if so, write a diagnostic message, otherwise calculate the roots by the usual formula.

Unfortunately, your begin s and end s do not reflect that. Either the whole of the block starting d := . needs to be executed or none of it does, so the else on the line before needs to be followed by a begin , as in

(You don’t say which Pascal compiler you are using, but the above fixes two points which are flagged as errors in FreePascal.

If you need more help than that, please ask in a comment.

Btw, there are some grammatical constructs in Pascal implementations where an end can appear without a matching preceding begin such as case . of . end .

Источник

Отладка и выполнение программы

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

После набора программы ее рекомендуется записать на диск. Более того, если текст программы достаточно объемен, лучше всего делать и промежуточные записи во избежание потери информации при сбоях компьютера или пропадании напряжения питания.

Если программа набирается заново, то есть активное окно имеет имя noname01.pas, то при нажатии клавиши F2 выполнится команда File/ Save as. При этом появится диалоговое окно со списком файлов – программ из текущего раздела, с именами Files, как на рис.2.6.

Рис. 2.6. Сохранение программы в Free Pascal.

В окне Name набирается имя файла, с которым он будет сохранен на диске. Имя автоматически будет дополнено расширением .pas. После записи на диск имя в текущем окне редактора сменится на заданное в поле Name. После дальнейшего набора программы или ее корректировки при нажатии клавиши F2 будет выполняться команда File/ Save, и никаких дополнительных запросов происходить не будет.

При переходе к новой программе окно с текстом старой программы закрывают ( или Window / Close, хотя это и не обязательно) и открывают новое активное окно (File / New). При необходимости чтения другой, ранее набранной программы, выполняется команда File / Open. (F3), в появляющемся диалоговом окне в области Files перемещением маркера выбирается нужный файл и нажимается клавиша Enter, эквивалентная кнопке диалогового окна Open.

После ввода программы ее можно откомпилировать с целью устранения ошибок ( ). Если программа не сохранена, то при компиляции возникнет диалоговое окно как при сохранении программы. Если компилятор обнаружил синтаксические ошибки, то появится сообщение, представленное на рис.2.7.

Рис. 2.7. Сообщение о наличии в программе синтаксических ошибок.

После того, как все ошибки устранены, появится следующее сообщение, как на рис. 2.8.: «Компиляция выполнена: нажмите любую клавишу».

Рис. 2.8. Компиляция завершена успешно.

После ввода всей программы ее можно либо откомпилировать, либо сразу отдать команду на выполнение ( ). В последнем случае все равно выполнится предварительная компиляция, и если присутствуют синтаксические ошибки, программа выполняться не будет. Если программа не сохранена, то при компиляции возникнет диалоговое окно как при сохранении программы.

Все ошибки программ делятся на два больших класса: ошибки компиляции (синтаксические) и ошибки выполнения (логические или алгоритмические). О первом типе ошибок сообщает компилятор до запуска программы на выполнение с указанием типа ошибки и предполагаемого ее места. К сожалению, ошибка может быть и не там, где стоит курсор; его положение – это фактически то место, где компилятор «осознает» ошибку. Например, если имеется лишний BEGIN в программе, то компилятор не поймет этого до тех пор, пока пары BEGIN. END не будут сбалансированы. На начальном этапе программирования большинство синтаксических ошибок происходит из-за невнимательности набора программы. Даже в первой строке могут делаться ошибки, см. рис.2.9.

Рис. 2.9. Ошибка в служебном слове

В первой строке сообщений компилятора появится сообщение: «Prim1.pas(1,9) Fatal: Syntax error, “BEGIN” expected but “identifier PROGRAMM” found».

Здесь Prim1.pas – имя программы, данное ей при записи на диск.

(1,9) – место, где обнаружена ошибка (строка, столбец). Не всегда совпадает с реальным местом ошибки.

Fatal: Syntax error – синтаксическая ошибка фатальная, дальнейшее выполнение невозможно.

“BEGIN” expected but “identifier PROGRAMM” found — ожидается BEGIN, но найден идентификатор PROGRAMM. Первое обязательное служебное слово – Begin, все остальные: заголовок, разделы описаний, можно и не писать. Все конструкции языка Паскаль, которые состоят из букв и цифр и начинаются с буквы, являются идентификаторами, за исключением служебных слов и некоторых директив. Так как слово PROGRAMM к служебным не относится, то оно определено как идентификатор, с которого не должна начинаться программа.

В данном примере пояснение причины ошибки не имеет особого смысла, – ожидается оператор BEGIN, – и такое случается довольно часто. Более осмысленное толкование происходит в следующем случае:

«Prim1.pas(1,14) Fatal: Syntax error, ”;”expected but “ordinal const” found» – перед порядковой константой (единицей) ожидается точка с запятой.

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

Довольно часто позиция указывается в строке, следующей за ошибочной:

Точка с запятой должна стоять перед А, то есть в конце предыдущей строки.

В любом случае при непонимании ошибки следует обратиться к синтаксису отмеченной конструкции языка Турбо Паскаль, либо к предыдущей.

Ошибки выполнения появляются после компиляции и запуска программы на выполнение. На экране программы выдается сообщение вида, представленного на рис.2.10.

Рис. 2.10. Сообщение с кодом завершения 201.

Ошибки выполнения искать труднее, чем синтаксические. Это и ошибки на уровне ОС, и ошибки ввода — вывода, и критические ошибки, и фатальные ошибки. Но, хотя ошибок данного класса довольно много, в данном курсе лабораторных работ чаще всего появляются только три фатальные ошибки:

Exitcode = 200 – Деление на нуль.

Exitcode = 201 – превышение времени выполнения программой.

Exitcode = 207 – переполнение при операции с плавающей точкой.

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

Ошибки же по времени выполнения (зацикливания компьютера) возникают либо при неверно составленном алгоритме, а соответственно, и программе, либо при выходе за границы неконтролируемых величин. Так как циклы могут использовать 2 типа операторов, то в цикле FOR категорически запрещено принудительное изменение параметра цикла, так как он изменяется автоматически. В циклах While и Repeat, наоборот обязательно надо изменять параметр цикла принудительно, иначе он останется без изменения. В бесконечных циклах каждое последующее слагаемое должно уменьшаться. Пример последней ситуации приведен в примечании к лабораторной работе № 4.

ИСР Free Pascal имеет два экрана. На основном экране набираются, просматриваются и редактируются программы, отдаются команды ИСР, устанавливаются параметры работы и так далее. Но при запуске программы появляется другой экран – экран пользователя. Сюда помещаются результаты работы по программе, и он виден до тех пор, пока программа не перестанет выполняться. Так как в данном курсе лабораторных работ программы весьма просты, то они выполняются практически мгновенно, и снова появляется основной экран ИСР. Для просмотра экрана пользователя из меню выбирается Debug > User screen или нажимается комбинация клавиш .Для возврата к основному экрану можно нажать любую клавишу. Если в процессе запуска программы возникнет необходимость прервать ее работу, например в случае «зацикливания» программы, используют комбинацию клавиш .

На экране пользователя мы увидим либо сообщение об ошибке выполнения, либо результат (если пропущен оператор вывода, естественно, вывода результата не будет), например, как на рис.2.11.

Рис. 2.11. Результат по нажатию клавиш .

Здесь нам нужна только последняя строка:

Результат может быть и неверным как из-за неправильно составленного алгоритма, так и из-за ошибок в программе, которые формально, с точки зрения транслятора, ошибками не являются. Например, при вычислении суммы по следующему фрагменту программы

For I:=1 to 10 do;

результат вычислений будет равен 0.10000. Здесь после служебного слова DO стоит пустой оператор, поэтому именно он, то есть «ничто» будет выполняться десять раз. Затем к нулю прибавится одна десятая. Формально программа составлена правильно, и такую конструкцию иногда используют в качестве задержки по времени, но фактически десять раз должен выполняться оператор из третьей строки.

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

Первый метод самый универсальный и может использоваться с любыми языками программирования, трансляторами и ассемблерами. Заключается он в выводе промежуточных результатов. Внутрь цикла, или в «подозрительные» места программы временно вставляются операторы вывода изменяемых переменных. Например, программа (приведен фрагмент)

For i:=1 to 15 do

просто «зацикливается» (если не используются директивы контроля). Но если перед i:=i+1 поставить оператор

то после запуска программы появятся два столбика бегущих чисел. Если приостановить вывод информации на экран монитора клавишей Pause, то сразу будет видно, что i изменяется не с шагом 1, а 2. То есть параметр цикла изменяется и в операторе For, и в операторе присваивания.

Второй метод привлекает средства отладки ИСР. Предварительно установив программный счетчик на начало программы (Run > Program reset или ), открывается окно наблюдаемых переменных (Debug > Add Watch или ): в Watch-окне набирается имя первой контролируемой переменной, нажимается Enter. После этого появляется окно с именем Watches и значением этой переменной. Добавление переменных в окно выполняется необходимое количество раз. Для пооператорного выполнения программы предназначена «горячая» клавиша F7 (Run > Trace into). После каждого нажатия клавиши F7 выполняется один оператор. Если он производит изменение значения переменной, то это сразу отразится в окне наблюдения.

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

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим.

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.

Папиллярные узоры пальцев рук — маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.

Источник

Topic: (Solved)No Idea what is wrong with this code.  (Read 3354 times)

I get an error when I try to Compile but it doesn’t highlight the line.
I just started commenting things to run it down but same error but wont compile.

 Fatal: Syntax error, «BEGIN» expected but «end of file» found
How is that possible with everything commented.

Thanks for taking a look

  1. unit Unit1;

  2. {$mode objfpc}{$H+}

  3. interface

  4. uses

  5.   Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, StrUtils;

  6. type

  7. { TForm1 }

  8.   TForm1 = class(TForm)

  9.     Button1: TButton;

  10.     btnTimeToZUKU: TButton;

  11.     btnQuit: TButton;

  12.     ListBox1: TListBox;

  13.     ListBox2: TListBox;

  14. // procedure btnQuitClick(Sender: TObject);

  15. // procedure btnTimeToZUKUClick(Sender: TObject);

  16. //procedure Button1Click(Sender: TObject);

  17. //procedure TimeToZULU;

  18. //function ConvertToZULU(AITEM : String) : String;

  19. private

  20. public

  21. end;

  22. var

  23.   Form1: TForm1;

  24. implementation

  25. {$R *.lfm}

  26. //function TForm1.ConvertToZULU(AITEM : String) : String;

  27. //  Var HHMM : STRing = »;

  28. //   iHHMM   : Integer = -1;

  29. //   Bit1    : String = »;

  30. //   iHH     : Integer = -1;

  31. //   iMM     : Integer = -1;

  32. //   sHH     : String = »;

  33. //   sMM     : String = »;

  34. //   IND     : String = »;

  35. //   S       : String = »;

  36. //  begin

  37. //   //9:25 AM

  38. //   HHMM := AITEM;

  39. //   Bit1 := Copy2SymbDel(HHMM,’:’); Trim(HHMM);  sHH := Bit1; iHH := StrtoInt(Bit1);

  40. //   Bit1 := Copy2SpaceDel(HHMM); HHMM := Trim(HHMM); iMM := StrtoInt(Bit1); IND := Trim(HHMM); sMM := Bit1;

  41. //   //if (Ind = ‘AM’) And (Length(sHH) = 1) then begin

  42. //   //   sHH := ‘0’ + sHH;

  43. //   //   S := sHH + sMM;

  44. //   //end;

  45. //

  46. //   //if  (Ind = ‘AM’) And (Length(sHH) = 2) then begin

  47. //   //    S := sHH + sMM;

  48. //   //end;

  49. //   //

  50. //   //if (Ind = ‘PM’) then begin iHH := ((iHH * 100) + 1200) + iMM;

  51. //   //   S := IntToStr(iHH);

  52. //   //end;

  53. //

  54. //   Result := S;

  55. // end;

  56. //

  57. //procedure TForm1.TimeToZULU;

  58. // Var i : Integer = -1;

  59. //  Item : String = »;

  60. //  S : String = »;

  61. //  begin

  62. //   for i := 0 to Listbox1.Items.Count -1 do begin

  63. //       Item := Listbox1.Items[i];

  64. //       S := ConvertToZULU(Item);

  65. //       Listbox2.Items.Add(s);

  66. //       Application.ProcessMessages;

  67. //   end;

  68. //  end;

  69. //

  70. //

  71. //procedure TForm1.btnTimeToZUKUClick(Sender: TObject);

  72. //begin

  73. //  Listbox2.Clear;

  74. //  TimeToZULU;

  75. //end;

  76. //

  77. //procedure TForm1.Button1Click(Sender: TObject);

  78. //begin

  79. //

  80. //end;

  81. //

  82. //procedure TForm1.btnQuitClick(Sender: TObject);

  83. //begin

  84. //  Close;

  85. //end;

  86. end.

« Last Edit: October 23, 2020, 01:21:06 am by JLWest »


Logged

FPC 3.2.0, Lazarus IDE v2.0.4
 Windows 10 Pro 32-GB
 Intel i7 770K CPU 4.2GHz 32702MB Ram
GeForce GTX 1080 Graphics — 8 Gig
4.1 TB


Check your program (*.lpr file) or other units or project option settings. Your codes compiles well on my computer.


Logged


J, you need a ‘begin’ before the ‘end’ in implementation.

Hmm, but it compiles for egsuh ???

Davo


Logged


you need a ‘begin’ before the ‘end’ in implementation.

No.. You shouldn’t need a «begin». When you create a new form, Lazarus will create a unit automatically, which do not have «begin» for the last «end.».  This should compile.


Logged


Here is what I did.

Select all, Copy

Started a new program and pasted what I copied into the new program.

1. Removed the comments of a procedure or function.
 2. Compiled
3. Repeated

No errors showed up.

Have no idea.


Logged

FPC 3.2.0, Lazarus IDE v2.0.4
 Windows 10 Pro 32-GB
 Intel i7 770K CPU 4.2GHz 32702MB Ram
GeForce GTX 1080 Graphics — 8 Gig
4.1 TB


Because that isn’t your main file..

Library files do not have a Begin and End in them but the main file does..

It would assume this to be a GUI app which means you didn’t open your project vis the main file..

The main file has he Begin and END in it.

What you have here is an additional UNIT.. which is basically a library file that is not directly runnable which is why the compiler is complaining …

  I think what you did was open the UNIT1 FILE and not the project file..


Logged

The only true wisdom is knowing you know nothing


Library files do not have a Begin and End in them but the main file does..

First of it’s not a library file, but a unit file (a library file starts with

library

) and second it’s allowed to use

begin

in a unit which will then be equivalent to the

initialization

section (a

finalization

can’t be used then). See here. :-X


Logged


That was a clerical error on my part but basically LIB like LIBS in the C/ASM days, you extract and static link it to your app…

 Excuse me for short circuiting the languages


Logged

The only true wisdom is knowing you know nothing


That was a clerical error on my part but basically LIB like LIBS in the C/ASM days, you extract and static link it to your app…

 Excuse me for short circuiting the languages

Even then you need to be careful with the terms, because FPC supports linking those as well. ;)


Logged


Started a new program and pasted what I copied into the new program.

I suspect, when you copied source code, maybe some non ascii or invinsible character is get copied too. I cant remember of Lazarus feature to turn on/off invinsible character but vscode has it which allow me to detect it when I copy piece of code from non plain text source.


Logged


@JLWest

Hi!

Please show us a copy of the compiler error message.

I assume that the error is in the lpr file — but who knows?

Winni


Logged


@JLWest
Hi!
Please show us a copy of the compiler error message.
I assume that the error is in the lpr file — but who knows?
Winni

Winn I can’t, sorry. The one line below is all I copied.

It was the first line and for some reason I couldn’t copy the second line.

As I posted I copied out the code to Notepad++ and just started a new project.
I would copy a function or procedure one at a time into the new project, uncomment the code and compile. I was hoping to find the error that way but never got an error.

Fatal: Syntax error, «BEGIN» expected but «end of file» found


Logged

FPC 3.2.0, Lazarus IDE v2.0.4
 Windows 10 Pro 32-GB
 Intel i7 770K CPU 4.2GHz 32702MB Ram
GeForce GTX 1080 Graphics — 8 Gig
4.1 TB


Please post your lpr file.


Logged


Winn I can’t, sorry. The one line below is all I copied.
It was the first line and for some reason I couldn’t copy the second line.

So, what was the second line?

Fatal: Syntax error, «BEGIN» expected but «end of file» found

Really strange. Was there no source-file in front of this message?

In Lazarus, if you right click the error message, can choose Copy > Copy all shown messages to clipboard.
You’ll get the complete/all messages, like:

Compile Project, Target: C:UsersRikAppDataLocalTempproject1.exe: Exit code 1, Errors: 1
unit1.pas(25,0) Fatal: Syntax error, "BEGIN" expected but "end of file" found


Logged


Please post your lpr file.

I don’t have access to that, I overwrote all that.

Hers is what I did. I created a text file. Did a Select All, Copy and pasted to the text file. Then i deleted all the files in the directory except the text file and started afresh. Pasted each procedure or function in the new program, removed the comments  and compiled.

When I was done no errors showed up.


Logged

FPC 3.2.0, Lazarus IDE v2.0.4
 Windows 10 Pro 32-GB
 Intel i7 770K CPU 4.2GHz 32702MB Ram
GeForce GTX 1080 Graphics — 8 Gig
4.1 TB


IPB

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется …
2. Все тексты программ должны помещаться в теги [code=pas][/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. «FAQ«, если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение — только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы — на PM!
6. Одна тема — один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Ошибка BEGIN

сообщение 1.01.2010 14:25

Сообщение
#1

Новичок
*

Группа: Пользователи
Сообщений: 33
Пол: Мужской

Репутация: -  0  +



Recompiling because of C:fpc2.2.4bini386-win32pascal worktest.pas
test.pas(46) Fatal: Syntax error, "BEGIN" expected but "end of file" found
test.pas(0) Fatal: Compilation aborted

 Оффлайн  Профиль  PM 

 К началу страницы 

+ Ответить 

nemq

сообщение 1.01.2010 15:34

Сообщение
#2

Новичок
*

Группа: Пользователи
Сообщений: 33
Пол: Мужской

Репутация: -  0  +



разобрался

 Оффлайн  Профиль  PM 

 К началу страницы 

+ Ответить 

Lapp

сообщение 1.01.2010 21:39

Сообщение
#3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +



Цитата(nemq @ 1.01.2010 10:25) *

test.pas(46) Fatal: Syntax error, «BEGIN» expected but «end of file» found

Скорее всего, это нарушение баланса операторных скобок begin/end.
С Новым Годом! smile.gif

———————

я — ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой

 Оффлайн  Профиль  PM 

 К началу страницы 

+ Ответить 

should you drink a lot of water

сообщение 2.11.2021 22:00

Сообщение
#4

Гость



Donde Comprar Xenical En Usa

 К началу страницы 

+ Ответить 

hydroxychloroquine for sale amaz

сообщение 6.12.2021 18:38

Сообщение
#5

Гость



Where To Buy Ed Pills Online

 К началу страницы 

+ Ответить 

buy phentermine viagra online xa

сообщение 19.12.2021 5:13

Сообщение
#6

Гость



cheap tadalafil from oversaeas

 К началу страницы 

+ Ответить 

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)

Пользователей: 0

500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают

Связь с администрацией: bu_gen в домене octagram.name

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Fatal string manager failed to initialize properly как исправить ошибку
  • Fatal string manager failed to initialize properly red alert 2 ошибка fatal
  • Fatal simulation error encountered proteus 8
  • Fatal server error ee xf86openconsole switching vt failed
  • Fatal server error cannot run in framebuffer mode

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии