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

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

цикл в цикле


Страницы:   1 2

123456789igor ©   (2012-09-19 20:56:00) 

Не могу понять как работает цикл в цикле
на пример
repeat
begin
lalalala
if что-то1<>100 then
begin
lalalala2
что-то1:=что-то1+1;
end
end
until что-то2<чего-то

Выполняется это так?
Заходим в цикл repeat делаем lalalala затем входим в условие if делаем lalalala2 затем будет выполняться if пока что-то1 не станет равным 100 и только потом перейдет на until так?

Вот наглядный пример с которым мучаюсь, у меня есть таблица в ней в ячейке(8,1) есть текст далее в каком-то, неизвестном, кол-ве ячеек вниз пусто и потом опять в одной ячейке что-то есть надо объединить ячейку 8,1 со всеми пустыми ячейками,вниз, до след заполненной. И то же самое проделать с следующей.
[CODE]
z:=Excel.WorkBooks[1].WorkSheets[1].UsedRange.Rows.Count-1;
    a_:=8;
    NRow:= a_;
    NCol:= 1;
    dir:= Excel.WorkBooks[1].WorkSheets[1].Cells[NRow,NCol];
    repeat
    begin
    NCol:= 1;
    If dir<>'' then
     begin
     Excel.WorkBooks[1].WorkSheets[1].Range[Excel.WorkBooks[1].WorkSheets[1].cells[NR ow,NCol],Excel.WorkBooks[1].WorkSheets[1].cells[NRow+1,NCol]].merge;
     //NRow:=NRow+1;
     dir:= Excel.WorkBooks[1].WorkSheets[1].Cells[NRow+1,NCol];
     end
     //else
     //NRow:=NRow+2;
     end;
    until NRow<z;
[/CODE]


Ega23   (2012-09-19 21:12:00) [21]

Всё отличие repeat от while в том, что внутрь цикла repeat будет как минимум один вход.


123456789igor   (2012-09-19 21:06:00) [22]

Объединяется только ячейка 8,1 и 9,1


Страницы:   1 2

Наверх

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