Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/106: Рейтинг темы: голосов - 106, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 6
1

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

17.01.2012, 01:50. Просмотров 19751. Ответов 7
Метки нет (Все метки)

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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Unit SourceModMenu;
 
interface
 
Uses Crt;
 
function Menu(X,Y: integer):integer; //Функция для меню
Procedure Menu80; // Процедура для функции Menu. При нажатии стрелкии вверх
Procedure Menu72; // Процедура для функции Menu. При нажатии стрелкии вниз
 
var Choose: integer;
 
implementation
 
var
CurrStr: integer;
strall1: string;
strall2: string;
strall3: string;
 
Function Menu(X,Y: integer;str1,str2,str3: string):integer;
var
key: char;
CucleEnd: boolean;
begin
Clrscr;
CurrStr:=1;
strall1:=str1;
strall2:=str2;
strall3:=str3;
GoToXY(X,Y);
TextColor(Black);
TextBackground(White);
write(str1);
TextColor(White);
TextBackground(Black);
write(str2);
repeat
key:=readkey;
if key=chr(0) then
key:=readkey;
if key=chr(80) then
Menu80;
if key=chr(72) then
Menu72;
if key=chr(13) then
CucleEnd:=true;
until CucleEnd=true;
Menu:=Choose;
end;
 
Function Menu80;
begin
case (CurrStr) of
2:
begin
TextColor(White);
TextBackgroud(Black);
write(strall2);
CurrStr:=CurrStr-1;
TextColor(Black);
TextBackgroud(White);
write(strall1);
end;
3:
begin
TextColor(White);
TextBackgroud(Black);
write(strall3);
CurrStr:=CurrStr-1;
TextColor(Black);
TextBackgroud(White);
write(strall2);
end;
end;
end;
 
Function Menu72;
begin
case (CurrStr) of
1:
begin
TextColor(White);
TextBackgroud(Black);
write(strall1);
CurrStr:=CurrStr+1;
TextColor(Black);
TextBackgroud(White;);
write(strall2);
end;
2:
begin
TextColor(White);
TextBackgroud(Black);
write(strall2);
CurrStr:=CurrStr+1;
TextColor(Black);
TextBackgroud(White);
write(strall3);
end;
end;
end;
 
end.
Помогите плиз
У меня выдает ошибку "Syntax Error, ":" expected but ";" found
Хотя после процедуры ":" ставить не надо.
В чем проблема?

Добавлено через 12 минут
Чуть не забыл. Ошибку выдает в 52 строчке
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2012, 01:50
Ответы с готовыми решениями:

Ошибка "Fatal: Syntax error, "BEGIN" expected but "END" found"
Ввожу unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil,...

Ошибка "Syntax error, "BEGIN" expected but "end of file" found"
В чём заключается ошибка в 73 строке под названием "Syntax error, "BEGIN" expected but "end of...

Ошибка при компиляции "Syntax error "Begin" expected but ";" found"
При компиляции выдаёт ошибку "Syntax error "Begin" expected but ";" found" в блоке Procedure...

Ошибка: Syntax error, ";" expected but "ELSE" found
Напишите программу, использующую модифицированный алгоритм Евклида: нужно заменять большее число на...

7
Модератор
60525 / 45538 / 31423
Регистрация: 18.05.2008
Сообщений: 109,445
17.01.2012, 09:02 2
Цитата Сообщение от XpycT36 Посмотреть сообщение
Хотя после процедуры ":" ставить не надо
Правильно, но какого вы пишете
Pascal
1
2
3
Function Menu80;
.......................
Function Menu72;
пишите Procedure
кроме того по разному объявлено
в интерфейсе
Pascal
1
function Menu(X,Y: integer):integer;
а в исполнительной части
Pascal
1
Function Menu(X,Y: integer;str1,str2,str3: string):integer;
разное количество параметров.
И еще почти везде в
Pascal
1
TextBackgroud(White);
пропущена буква n в ground
0
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 6
17.01.2012, 18:33  [ТС] 3
ой... моя невнимательность. Спасибо

Добавлено через 1 час 59 минут
У меня еще один вопрос

Если вы еще не догадались, я пишу меню.

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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
Unit SourceModMenu;
 
interface
 
Uses Crt;
 
function Menu(X,Y: integer;str1,str2,str3: string): integer; //Функция для меню
Procedure Menu80; // Процедура для функции Menu. При нажатии стрелкии вверх
Procedure Menu72; // Процедура для функции Menu. При нажатии стрелкии вниз
 
var Choose: integer;
 
implementation
 
var
CurrStr: integer;
strall1: string;
strall2: string;
strall3: string;
Xall: integer;
Yall: integer;
 
Function Menu(X,Y: integer;str1,str2,str3: string):integer;
var
key: char;
CucleEnd: boolean;
begin
Clrscr;
CurrStr:=1;
CucleEnd:=false;
strall1:=str1;
strall2:=str2;
strall3:=str3;
Xall:=X;
Yall:=Y;
GoToXY(X,Y);
TextColor(White);
TextBackground(Black);
write(str1);
GoToXY(X,Y+1);
TextColor(Black);
TextBackground(White);
write(str2);
GoToXY(X,Y+2);
TextColor(Black);
TextBackground(White);
write(str3);
GoToXY(X,Y);
repeat
begin
key:=Readkey;
if key=chr(0) then
key:=Readkey;
if key=chr(80) then
Menu80;
if key=chr(72) then
Menu72;
if key=chr(13) then
begin
CucleEnd:=true;
Menu:=Choose;
end;
end;
until CucleEnd=true;
end;
 
Procedure Menu72;
begin
case (CurrStr) of
2:
begin
TextColor(White);
TextBackground(Black);
write(strall2);
CurrStr:=CurrStr-1;
TextColor(Black);
TextBackground(White);
GoToXY((Xall-1)+CurrStr,Yall);
write(strall1);
end;
3:
begin
TextColor(White);
TextBackground(Black);
write(strall3);
CurrStr:=CurrStr-1;
TextColor(Black);
TextBackground(White);
GoToXY((Xall-1)+CurrStr,Yall);
write(strall2);
end;
end;
end;
 
Procedure Menu80;
begin
case (CurrStr) of
1:
begin
TextColor(White);
TextBackground(Black);
write(strall1);
CurrStr:=CurrStr+1;
TextColor(Black);
TextBackground(White);
GoToXY((Xall-1)+CurrStr,Yall);
write(strall2);
end;
2:
begin
TextColor(White);
TextBackground(Black);
write(strall2);
CurrStr:=CurrStr+1;
TextColor(Black);
TextBackground(White);
GoToXY((Xall-1)+CurrStr,Yall);
write(strall3);
end;
end;
end;
 
end.
У меня программа рисует меню и закрывается. А если я убираю строчку if key=chr(0) then
то все нормально. Но тут еще появляется проблема. Функции для стрелок "вверх и "вниз" не работают (то есть меню не двигается) , хотя я уже много раз перепроверял, все ровно, не могу найти у себя ошибку.
0
Модератор
60525 / 45538 / 31423
Регистрация: 18.05.2008
Сообщений: 109,445
17.01.2012, 19:07 4
Вместо crt напишите wincrt;
Цитата Сообщение от XpycT36 Посмотреть сообщение
У меня программа рисует меню и закрывается
Ну без программы по одному модулю это не проверить.

Цитата Сообщение от XpycT36 Посмотреть сообщение
Функции для стрелок "вверх и "вниз" не работают
Попробуй вместо crt написать wincrt
1
0 / 0 / 0
Регистрация: 09.01.2012
Сообщений: 6
18.01.2012, 02:18  [ТС] 5
Да нет, вы не поняли)) Меню пишу я и функции для стрелок тоже. Я говорю про то что код процедур для стрелок "вверх" "вниз" наверное написан неправильно тк при нажимании на стрелки ничего не происходит. Если что то вот основной код

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Snake 13.01.12
Program Snake;
 
uses Crt, SourceModTitle, SourceModMenu; //Обязательно подключить модули SourceMod!!!
 
var
Game: integer;
 
begin
Options;
Title;
Game:=Menu(2,2,'Start','Options','Quit');
if Game=1 then
begin
 
end;
end.
0
Модератор
60525 / 45538 / 31423
Регистрация: 18.05.2008
Сообщений: 109,445
18.01.2012, 07:04 6
XpycT36, Ты какой-то безрукий, сейчас программа не запускается потому что нет модуля
SourceModTitle.

Добавлено через 1 минуту
Попробуй написать
Pascal
1
2
3
4
5
6
key:=Readkey;
if key=#0 then
key:=Readkey;
if key=#80 then
Menu80;
if key=#72 then
0
0 / 0 / 0
Регистрация: 03.05.2016
Сообщений: 1
03.05.2016, 16:29 7
Здравствуйте! Объясните пожалуйста как сделать задание не понимаю желательно на примерах

Вложения удалены модератором.
0
Модератор
60525 / 45538 / 31423
Регистрация: 18.05.2008
Сообщений: 109,445
03.05.2016, 16:39 8
fdsd223sdsff111, Прочитай Правила форума и подумай. Для каждого задания создай свою тему с адекватным названием и текстом, напечатанным в теме, а не на фотке. Темы создайте в нужном разделе:
Лазарус или Делфи для начинающих.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2016, 16:39

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

Unit1.pas(51,0) Fatal: Syntax error, "BEGIN" expected but "end of file" found
Вобщем, мне говорят что у меня ошибка в несуществующей строке. Пишет мне вот это; unit1.pas(51,0)...

Fatal:syntax error,"UNTIL" expected but "indentifier RESET" found
Написала программы а компилятор выдает ошибку что делать?? program lab6; uses crt; type ...

Ошибка: "sintax error, "OF" expected, but "[" found"
Здравствуйте, в 4 строке компилятор выдаёт ошибку: "sintax error, "OF" expected, but "var...

Syntax error, ":" expected but "(" found
Блин решаю задачу и тут выпала ошибка 'Syntax error, ":" expected but "(" found' незнаю как решить...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.