Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Про потоки и выходы из них [D4, D6, WinME]


Коля ©   (2002-07-08 00:54:00) 

Помнится на уроках паскаля учитель что GoToпользоватся плохо, это портит приграмму ну а если использовать эту функцию для выхода из цыкла, то будет еще хуже. Да и exitиспользовать не велят в цыклах.. Напрашивается вопрос, а как тогда правильно прервать цикл или перепрыгуть его часть???
Вот код:
for i:= 0 to FileListbox1.Items.Count -1 do
begin
if FileListbox1.Selected[i] then
begin
//проверяю, есть ли такой файл в ListBox"e
for ii:= 0 to Listbox1.Items.Count -1 do
begin
if Listbox1.Items[ii] = FileListbox1.Selected[i] then
exit; //вот этот екзит и хочется заменит на что- нибудь другое
Listbox1.Items.Add(FileListbox1.Items[i]);
exit;
end;


Тут MultiSelect = False; поэтому если один выделенный файл будут найдет, необходимо прекратить поток.

А тут дело немного усложняется MultiSelect = True; поэтому если файл найден в ListBox"e то поток не прекращять а переходить к следующему..

for i:= 0 to FileListbox1.Items.Count -1 do
begin
if FileListbox1.Selected[i] then
begin
//проверяю, есть ли такой файл в ListBox"e
for ii:= 0 to Listbox1.Items.Count -1 do
begin
if Listbox1.Items[ii] = FileListbox1.Selected[i] then
gotonem;
Listbox1.Items.Add(FileListbox1.Items[i]);
end;
nem:
end;


Пожалуйста объясните что к чему буду очень благодарен!


777   (2002-07-08 01:10:00) [1]

1) break

2)
...
var Found:boolean;
...
found:=false;
for ii:= 0 to Listbox1.Items.Count -1 do
begin
if (Listbox1.Items[ii] <> FileListbox1.Selected[i])and(found=false)then Listbox1.Items.Add(FileListbox1.Items[i])else
found:=true;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо