| 
| 
 | Вопрос # 337/ вопрос открыт / | 
 |  Уважаемые эксперты, я только начинаю изучать программирование. Купил книгу В.Кадлеца "Delphi книга рецептов....".В разделе примеров обработки событий предлагается описать код цикла для кнопки.
 Не получается(
 При компиляции курсор встает после слова ShowMessage, и вся строка красным выделяется.
 В чем ошибка?
 (фрагмент кода,точно(!) как в книге, привожу ниже).
 Спасибо.
 Приложение:Переключить в обычный режим procedure TForm1.Button2Click(Sender: TObject);var I,J: Integer;beginJ:=0;for I:= 1 to 10 doJ:= J = 10 end;end.
|  |   Вопрос задал: Игорь (статус: Посетитель)Вопрос отправлен: 22 февраля 2007, 19:18
 Состояние вопроса: открыт, ответов: 5.
 |  Ответ #1. Отвечает эксперт: Помфюк Владимир Степанович Здравствуйте, Игорь!1)Точки с запятой нет перед ShowMessage
 2)Операция какая-то ненормальная: J:= J = 10
 Ответ #2. Отвечает эксперт: Aymenel Здравствуйте, Игорь!В вашей книге опечатка. Код должен выглядеть следующим образом:
 Приложение:Переключить в обычный режим procedure TForm1.Button2Click(Sender: TObject);var I,J: Integer;beginJ:=0;for I:= 1 to 10 do J:= J + 10 
|  | Ответ отправил: 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 (статус: 2-ой класс), 22 февраля 2007, 22:02 [#2]:Я там в коде ошибся, после строки (J:= J + 10) поставь точку с запятой.
 В цикле у тебя J каждый раз увеличивается на 10 и к концу цикла оно станет равным 100.
 ShowMessage выведет следующий результат
 (Цикл окончен, значение J = 100).
 |  
|   | Игорь (статус: Посетитель), 23 февраля 2007, 20:39 [#3]:Огромное спасибо всем! Приятно получить грамотные и полезные советы. С уважением,
 Игорь.
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |