| 
| 
 | Вопрос # 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]:Ну, они похожи только семантически в переводе на русский язык... Да и то не особо...   С уважением. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |