Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 337

/ вопрос открыт /

Уважаемые эксперты, я только начинаю изучать программирование. Купил книгу В.Кадлеца "Delphi книга рецептов....".
В разделе примеров обработки событий предлагается описать код цикла для кнопки.
Не получается(
При компиляции курсор встает после слова ShowMessage, и вся строка красным выделяется.
В чем ошибка?
(фрагмент кода,точно(!) как в книге, привожу ниже).
Спасибо.

Приложение:
  1. procedure TForm1.Button2Click(Sender: TObject);
  2. var I,J: Integer;
  3. begin
  4. J:=0;
  5. for I:= 1 to 10 do
  6. J:= J = 10
  7.  
  8. end;
  9. end.


Игорь Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Игорь (статус: Посетитель)
Вопрос отправлен: 22 февраля 2007, 19:18
Состояние вопроса: открыт, ответов: 5.

Ответ #1. Отвечает эксперт: Помфюк Владимир Степанович

Здравствуйте, Игорь!
1)Точки с запятой нет перед ShowMessage
2)Операция какая-то ненормальная: J:= J = 10

Ответ отправил: Помфюк Владимир Степанович (статус: Абитуриент)
Время отправки: 22 февраля 2007, 19:22

Ответ #2. Отвечает эксперт: Aymenel

Здравствуйте, Игорь!
В вашей книге опечатка. Код должен выглядеть следующим образом:

Приложение:
  1. procedure TForm1.Button2Click(Sender: TObject);
  2. var I,J: Integer;
  3. begin
  4. J:=0;
  5. for I:= 1 to 10 do
  6. J:= J + 10
  7.  


Ответ отправил: Aymenel (статус: 2-ой класс)
Время отправки: 22 февраля 2007, 21:55

Ответ #3. Отвечает эксперт: Alex Van Glukhman

Здравствуйте, Игорь!

Советую перед тем как изучать примеры по книгам, хотя бы поверхносто изучить основы синтаксиса Object Pascal. Хотя компилятор и отслеживает ошибки кода, но понимание разметки и правил определения структурных единиц никогда не помешает. Таким образом исчезнут многие вопросы и огромное число потерянного времени на поиск ошибок.

Удачи!
м

Ответ отправил: Alex Van Glukhman (статус: 7-ой класс)
Время отправки: 22 февраля 2007, 23:09

Ответ #4. Отвечает эксперт: Вадим К

и никто не нависал правильный вариант
мда, эксперты.
procedure TForm1.Button2Click(Sender: TObject);
var I,J: Integer;
begin
J:=0;
for I:= 1 to 10 do
J:= J + 10 ;
ShowMessage ('Цикл окончен, значение J = ' + IntToStr(J));
end;
end.
Всегда читайте текст сообщения о ошибке которое пишет Делфи. Хотя там по английски, но всё достаточно понятно. Если нет - выделяем описание ошибки и нажимаем F1 - делфа приведёт описание ошибки и почти всегда она приводит пример правильной и неправильной программы. Смотрим свой код и сравниваем
эксперт: Федоров Роман Сергеевич точку с запятой кто поставит?

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 23 февраля 2007, 00:34

Ответ #5. Отвечает эксперт: Дима Гусаков

Здравствуйте, Игорь! В строке выше вместо J:= J = 10 напиши J:= J + 10; не забывай вконце строки ставить точку с запятой

Ответ отправил: Дима Гусаков (статус: 2-ой класс)
Время отправки: 23 февраля 2007, 09:57


Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 23 февраля 2007, 20:39; участников в обсуждении: 2.
Игорь

Игорь (статус: Посетитель), 22 февраля 2007, 21:27 [#1]:

Здравствуйте, Владимир!
Ваш совет "Точки с запятой нет перед ShowMessage" к сожалению не помог.
Попробуйте описать эту процедуру для одной,отдельно взятой на форме кнопки.
Операция J:= J = 10 действительно какая-то ненормальная. Опишите пожалуйста этот код цикла, как вы его видите,своими словами. Мне было бы очень полезно узнать чьё-то мнение.
Спасибо.
Игорь (автор вопроса № 337)
Aymenel

Aymenel (статус: 2-ой класс), 22 февраля 2007, 22:02 [#2]:

Я там в коде ошибся,
после строки (J:= J + 10) поставь точку с запятой.
В цикле у тебя J каждый раз увеличивается на 10 и к концу цикла оно станет равным 100.
ShowMessage выведет следующий результат
(Цикл окончен, значение J = 100).
Игорь

Игорь (статус: Посетитель), 23 февраля 2007, 20:39 [#3]:

Огромное спасибо всем! Приятно получить грамотные и полезные советы.
С уважением,
Игорь.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:36
Выполнено за 0.02 сек.