Go to processing
Syntax Error — Missing operator, semicolon, or ‘}’ near ‘draw’? , please help
void setup()
{
size(400,400);
frameRate(2);
//global variables
int width;
int height;
int g = (int)random(255);
background(g);
void draw()
{
int r =(int)random(0,100);
int g =(int)random(0,100);
int b =(int)random(0,100);
int x =(int)random(100,300);
int y =(int)random(100,300);
fill(r,g,b);
ellipse(x,y,50,50);
}
I am getting a syntax error that highlights draw,. I do not know what part of my code is faulty.
Loading
Antonio:))) 18 / 18 / 7 Регистрация: 21.01.2010 Сообщений: 58 |
||||
1 |
||||
25.04.2010, 12:10. Показов 54238. Ответов 7 Метки нет (Все метки)
Подскажите, почему происходит такая ошибка? [DCC Error] Unit1.pas(67): E2066 Missing operator or semicolon.
__________________ 0 |
873 / 544 / 117 Регистрация: 24.11.2009 Сообщений: 1,329 |
|
25.04.2010, 12:13 |
2 |
Надо бы побольше кода 1 |
Antonio:))) 18 / 18 / 7 Регистрация: 21.01.2010 Сообщений: 58 |
||||
25.04.2010, 12:18 [ТС] |
3 |
|||
Вот весь код:
0 |
13207 / 6595 / 1041 Регистрация: 10.01.2008 Сообщений: 15,069 |
|
25.04.2010, 12:22 |
4 |
Ищите, где не хватает ; Добавлено через 2 минуты 2 |
ﻌﺹ ﺦ ﺖﻀ ﺹ ﻙ ﺵﻔ ﺊ ﺘﺝ 607 / 387 / 81 Регистрация: 15.12.2009 Сообщений: 753 |
|
25.04.2010, 13:42 |
5 |
Antonio)), выложи весь проект или весь код(то что выше VAR тоже выложи) 1 |
Antonio:))) 18 / 18 / 7 Регистрация: 21.01.2010 Сообщений: 58 |
||||
25.04.2010, 13:48 [ТС] |
6 |
|||
ok=)
0 |
13207 / 6595 / 1041 Регистрация: 10.01.2008 Сообщений: 15,069 |
|
25.04.2010, 14:17 |
7 |
Сообщение было отмечено Joey как решение РешениеУ Вас кнопка RenameFile скрывает функцию RenameFile, которую Вы хотите вызвать. Переименуйте кнопку(-и все) Добавлено через 38 секунд 2 |
18 / 18 / 7 Регистрация: 21.01.2010 Сообщений: 58 |
|
25.04.2010, 14:28 [ТС] |
8 |
Помогло! Спасибо! 0 |
Asked
7 years, 7 months ago
Viewed
771 times
I’ve got the error message «Missing operator or semicolon» on line 38 of this code:
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
case SpinEdit1.Value of
1: Label6.Caption('rok'); // line 38
end;
end;
end.
Does somebody know what I am missing?
Thank you.
asked Jun 17, 2015 at 21:34
1
Label6.Caption('rok')
Caption
is a property which behaves as a variable does. You treat it as though it is a procedure (which it is not) and hence the compilation error. The parser knows that the only thing that can follow a property name is a semicolon, bracket (if the property is indexed) or an operator like :=
, +
, =
etc.
This code would compile:
Label6.Caption := 'rok';
Perhaps that’s what you meant.
TLama
74.5k17 gold badges207 silver badges380 bronze badges
answered Jun 17, 2015 at 21:41
David HeffernanDavid Heffernan
596k42 gold badges1053 silver badges1470 bronze badges
У меня есть программа, которая генерирует набор фрагментов кода, большинство из которых можно использовать синтаксически, а некоторые нет. Те, которые не могут выглядеть
return 2.0+0.0+pow(2.0),2.0;
Мне не удалось изменить исходный код, чтобы избежать этих проблем, но я полагаю, что это можно исправить каким-либо методом, чтобы проверить, содержит ли строка синтаксически правильный код.
Вот пример моего кода. Весь этот файл будет сохранен из другой программы для последующего запуска.
{
print(myFun());
}
float myFun() {
return 2.0+0.0+pow(2.0),2.0;
return 10;
}
В первой строке функции явно есть проблемы с синтаксисом (т. е. недостаточно аргументов в pow() и неуместная запятая), поэтому код не скомпилируется. Я надеюсь, что есть что-то, возможно, похожее на блок try
… catch
, чтобы просто пропустить эту непригодную строку и перейти к следующей.
Заранее спасибо!
Просто для справки: я использую Processing 4.0 в Windows 10.
2 ответа
Да, насколько мне известно, блок try-catch — ваш лучший выбор. Может быть, кто-то еще, хотя это может знать по-другому
0
BlockManBlue
7 Янв 2022 в 18:24
Предложение: запустите программу, проверьте вывод с помощью javac, посмотрите код выхода. Если не ноль, перезапустите код генерации кода с более строгим выводом, если это возможно.
0
Viktor Mellgren
11 Янв 2022 в 13:41
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS
Contact US
Thanks. We have received your request and will respond promptly.
Log In
Come Join Us!
Are you a
Computer / IT professional?
Join Tek-Tips Forums!
- Talk With Other Members
- Be Notified Of Responses
To Your Posts - Keyword Search
- One-Click Access To Your
Favorite Forums - Automated Signatures
On Your Posts - Best Of All, It’s Free!
*Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.
Posting Guidelines
Promoting, selling, recruiting, coursework and thesis posting is forbidden.
Students Click Here
missing operator or semicolon(OP) 27 Sep 08 03:32 yes, I know I’m doing something stupid, but I’ve got like 15 of these errors when I’m trying to run and I have no idea what it is wanting. I’ve tried copying and pasting in lines of code that do work, and it doesn’t help. can anyone tell my looking what syntax I might be missing? sizeoffile:= IntToStr(FileSize(fileData.InstanceSize)); above, these are declared … appreciate any offered help. let me know if this isn’t enough to tell anything and I’ll post up more. thanks much. Red Flag SubmittedThank you for helping keep Tek-Tips Forums free from inappropriate posts. |
Join Tek-Tips® Today!
Join your peers on the Internet’s largest technical computer professional community.
It’s easy to join and it’s free.
Here’s Why Members Love Tek-Tips Forums:
- Talk To Other Members
- Notification Of Responses To Questions
- Favorite Forums One Click Access
- Keyword Search Of All Posts, And More…
Register now while it’s still free!
Already a member? Close this window and log in.
Join Us Close
|
|
|
Пожалуйста, выделяйте текст программы тегом [сode=pas] … [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как «свернуть» программу в трей.
3. Как «скрыться» от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
… (продолжение следует) …
Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка — 60 дней. Последующие попытки бан.
Мат в разделе — бан на три месяца…
Функция Pos
, кидается ошибкой «Missing operator or semicolon»
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Вобщем-то в проге юзаю стандартную функцию поиска подстроки в строке, задаю оба параметра. А когда пытаюсь скомпилить, то выкидывается ошибка «Missing operator or semicolon». Как это поправить? |
Snow Silence |
|
Full Member Рейтинг (т): 24 |
Забыл точку с запятой поставить в предыдущей строке. (скорее всего). |
Chess |
|
Full Member Рейтинг (т): 6 |
По-моему, без кода сложно что-то сказать. |
MaxxSoft |
|
Junior Рейтинг (т): 2 |
Ну хоть код покажи… |
Chess |
|
Full Member Рейтинг (т): 6 |
Втроём одновременно добавили посты одного и того же содержания |
jack128 |
|
Moderator Рейтинг (т): 181 |
А я и без кода могу сказать |
Anatoly Podgoretsky |
|
ну вы и попросили, это же особоохраняемый секрет. КОД ДАВАЙ!!! Сообщение отредактировано: Anatoly Podgoretsky — 13.03.05, 09:28 |
C¤JIHl/l(:l:)K¤ |
|
repeat buf:=s; Delete(buf,1,k-1); Delete(buf,i+1,Length(buf)-i); k:=k+i; t:=Pos(buf,st); — здесь кидается ошибкой Delete(st,t,i); until (k>=Length(s)); |
J. Bravo |
|
Неплохо было бы ещё показать раздел объявления переменных. |
s-mike |
|
Не должен бы… |
J. Bravo |
|
var k,i,t: integer; s, buf, st: string; Вот так у меня всё компилируется. У тебя переменные так объявлены? |
C¤JIHl/l(:l:)K¤ |
|
Добавлено 13.03.05, 16:21
[B]position[/B],k,t:LongWord; st,buf,buf2,res:String; cbuf:Char; bonus:ShortInt; |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Delphi: Общие вопросы
- Следующая тема
[ Script execution time: 0,0298 ] [ 16 queries used ] [ Generated: 31.01.23, 02:09 GMT ]
Я хотел написать простое арифметическое вычисление в делфи.
Но выводит ошибку:
[Error] Project1.dpr(10): Missing operator or semicolon
Вот мой код:
program Project1;
uses
SysUtils;
var x,y:real;
begin
write('x='); readln(x);
if(x>1) then y:=cos(x)/(x*x*x+3*sin(x)+8)
else y:=x*x*x+3*sin(x)+8
writeln('y=', y:0:3);
Readln;
end.
Kromster
13.6k12 золотых знаков43 серебряных знака72 бронзовых знака
задан 26 мая 2016 в 4:40
Не хватает ;
после блока else. Чтобы не путаться, запомните — всегда окружайте блоки кода операторными скобками begin
и end
, даже если это блок из одного вызова:
program Project1;
uses
SysUtils;
var x,y:real;
begin
write('x='); readln(x);
if(x>1) then
begin
y:=cos(x)/(x*x*x+3*sin(x)+8);
end
else
begin
y:=x*x*x+3*sin(x)+8;
end;
writeln('y=', y:0:3);
Readln;
end.
Оно же на ideone
ответ дан 26 мая 2016 в 4:45
gbggbg
22.1k2 золотых знака32 серебряных знака52 бронзовых знака
4
Вот так будет правильным как с логической точки зрения, так и с точки зрения форматирования:
program Project1;
{$APPTYPE CONSOLE} // Инструкция для Делфи, что это консольное приложение
uses
SysUtils;
var
x, y: real;
begin
// Ждем ввода значения Х от пользователя
write('x=');
readln(x);
// Логика программы
if (x > 1) then
y := cos(x) / (x * x * x + 3 * sin(x) + 8)
else
y := x * x * x + 3 * sin(x) + 8; // <-- Ошибка была здесь, пропущена ;
// Показываем результат
writeln('y=', y:0:3);
readln;
end.
Обратите внимание, как правильное форматирование позволяет сразу увидеть всю программу и заметить в ней ошибки.
P.S. На всякий случай, тригонометрические функции типа cos
ожидают на входе угол в радианах, так что если пользователь вводит число в градусах, вам будет нужно его перевести в радианы.
ответ дан 26 мая 2016 в 5:23
KromsterKromster
13.6k12 золотых знаков43 серебряных знака72 бронзовых знака
Description
In previous versions of Processing, when mixing active and static modes the error Processing would throw was:
It looks like you’re mixing «active» and «static» modes.
In Processing 4, the error becomes a lot more cryptic:
Syntax Error — Missing operator, semicolon, or ‘}’ near ‘setup’?
As this is a mistake a lot of first learners make, it would be really helpful to get the old error message back.
Steps to Reproduce
size(100, 100);
void setup() {
}