|
Вопрос # 688/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты! Извините за такой явно ламерский вопрос, у меня возникла проблема с выходом из цикла. Пример в приложении снизу.
В общем, если не указать выход, в итоге результат будет браться от значения последней строки списка list.
А в данном случае, с выходом при совпадении все результаты пусты! Укажите пожалуйста ошибку. Заранее спасибо.
Приложение: Переключить в обычный режим- for i:=0 to list.Count-1 do begin
- Application.ProcessMessages;
- object:=list.Names[i];
- subject:=text;
- if objsub.Match=true then begin
- exit;
- result:=list.Values[object];
- end else
- result:=list.Values[subject];
- end;
 |
Вопрос задал: Phoenix (статус: Посетитель)
Вопрос отправлен: 1 июля 2007, 20:55
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Dron
Здравствуйте, Phoenix!
Ваша ошибка в том, что Exit нельзя использовать для выхода из цикла. Exit осуществует выход из всей процедуры. Для выхода из цикла следует использовать Break. Удачи!
 |
Ответ отправил: Dron (статус: Студент)
Время отправки: 1 июля 2007, 21:53
|
Ответ #2. Отвечает эксперт: Матвеев Игорь Владимирович
Здравствуйте, Phoenix!
И еще result:=list.Values[object]; должно быть до exit, естественно.
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 1 июля 2007, 22:23; участников в обсуждении: 2.
|
Dron (статус: Студент), 1 июля 2007, 21:07 [#1]:
Exit - выход из всей процедуры. Для выхода из цикла нужно использовать Break.
С уважением.
|
|
Phoenix (статус: Посетитель), 1 июля 2007, 21:14 [#2]:
спасибо большое, ес чесно я считал, что break и exit - одно и тоже
|
|
Dron (статус: Студент), 1 июля 2007, 21:27 [#3]:
Глупо было бы создавать для одной операции две разных команды...
Значит помогло?
С уважением.
|
|
Phoenix (статус: Посетитель), 1 июля 2007, 21:36 [#4]:
помогло конечно, другое дело.
хотя есть разные команды для одной операции.
|
|
Dron (статус: Студент), 1 июля 2007, 21:52 [#5]:
Ммм... Например?
С функциями-то всё понятно, а вот разные команды языка...
С уважением.
|
|
Phoenix (статус: Посетитель), 1 июля 2007, 22:15 [#6]:
конечно с командами погорячился, полностью одинаковых нет, зато есть очень похожие (как в нашем случае с ехитом)
|
|
Dron (статус: Студент), 1 июля 2007, 22:23 [#7]:
Ну, они похожи только семантически в переводе на русский язык... Да и то не особо...
С уважением.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|