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

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

Как указать порядок выполнения цикла ?


b/@. ©   (2009-08-20 17:37:00) 

Добрый день.

Столкнулся тут с одной проблемой. Delphi упорно не хочет делать цикл по синтаксису.

В одном месте использую цикл от 0 до 9 - причём порядок очень важен для алгоритма.

Пишу

for i := 0 to 9

в отладчике вижу обратный порядок от 9 до 0...

Но когда пишу

for i := 9 downto 0

то тоже получаю этот же обратный порядок от 9 до 0 :(

Как же всё-таки указать Delphi, что мне нужно именно так, как предполагает её же собственный синтаксис for i := 0 to 9?


Германн   (2009-08-21 01:13:00) [1]


> Это все сила Кориолиса. Запусти свою программу в другом
> полушарии Земли и все будет как надо!

Ага. Циклы for-to и for-downto будут всегда выполняться от 0 до 9.
:)


DVM   (2009-08-20 22:26:00) [2]


> b/@. ©   (20.08.09 17:37)  


> в отладчике вижу обратный порядок от 9 до 0...

Это все сила Кориолиса. Запусти свою программу в другом полушарии Земли и все будет как надо!


Palladin   (2009-08-20 21:25:00) [3]


> [15] Сергей М. ©   (20.08.09 21:01)

он настолько неправильный, что он имеет смелость быть в неправльном порядке, НО неправильного порядка, хотя комманду ему дали тоже неправильную, на выходе, неправильно поданная комманда, превратила изначально неправильную последовательность в правильный порядок выдачи.. Вот и все... все достаточно доступно и логично..


Palladin   (2009-08-20 21:20:00) [4]


> [16] Kolan ©   (20.08.09 21:17)

дело не в том что там лежит, а дело в том что он солгал... и нагло... за это проклят он здесь будет... )


Kolan   (2009-08-20 21:17:00) [5]

Интересно, кстати, что же в массиве такое лежит, что порядок важен.


Сергей М.   (2009-08-20 21:01:00) [6]


> b/@. ©   (20.08.09 19:13) [9]


> результат неправильный из-за неправильного порядка цикла


И каков же он, "неправильный" ?


Anatoly Podgoretsky   (2009-08-20 19:57:00) [7]

> b/@.  (20.08.2009 19:13:09)  [9]

Где ваши доказательста?
(с) фильм Красная жара


sniknik   (2009-08-20 19:26:00) [8]

> У меня результат неправильный из-за неправильного порядка цикла.
более вероятно он не верен из-за ошибок. просто ошибок, не цикла.

но вообще рассказывать можно о любых чудесах, но стоит их только попытаться показать...


Kolan   (2009-08-20 19:20:00) [9]

Ради эксперимента попробуйте while, но я тоже не верю.


Palladin   (2009-08-20 19:17:00) [10]


> Именно так. Причём при любых условиях...

не верю


Юрий Зотов   (2009-08-20 19:17:00) [11]

> b/@. ©   (20.08.09 19:13) [9]

После отключения оптимизации попробуйте сделать build, а не compile.


b/@.   (2009-08-20 19:13:00) [12]


> Palladin ©   (20.08.09 18:06) [7]
> и что? ты хочешь сказать что по массиву пробег задом наперед чтоли?

Именно так. Причём при любых условиях...


> Anatoly Podgoretsky ©   (20.08.09 18:10) [8]
> У тебя не выполнился цикл 10 раз или результат неправильный?

У меня результат неправильный из-за неправильного порядка цикла.


> Тебе что бы работало или чтобы в отладчике показывалось как тебе хочется

Мне хочеться чтобы компилятор выполнял правила своего же языка.


Anatoly Podgoretsky   (2009-08-20 18:10:00) [13]


> Столкнулся тут с одной проблемой. Delphi упорно не хочет
> делать цикл по синтаксису.
>
> В одном месте использую цикл от 0 до 9 - причём порядок
> очень важен для алгоритма.
У тебя не выполнился цикл 10 раз или результат неправильный?.
Насчет важности - вероятно ты врешь.
Тебе что бы работало или чтобы в отладчике показывалось как тебе хочется, по другогму тебе ехать или шашечки?


Palladin   (2009-08-20 18:06:00) [14]


> [3] b/@. ©   (20.08.09 17:45)

и что? ты хочешь сказать что по массиву пробег задом наперед чтоли?


DrPass   (2009-08-20 18:05:00) [15]


> b/@. ©   (20.08.09 17:37)  
> Добрый день.
>
> Столкнулся тут с одной проблемой. Delphi упорно не хочет
> делать цикл по синтаксису.
>
> В одном месте использую цикл от 0 до 9 - причём порядок
> очень важен для алгоритма.

Не ври. Delphi переставляет порядок цикла только в тех случаях, когда это никак не влияет на результат. Если порядок действительно будет важен, она не будет менять порядок


MonoLife   (2009-08-20 18:02:00) [16]


> b/@. ©   (20.08.09 17:45) [3]

Забей, и не подглядывай на i в отладчике...все будет нормально..


Jeer   (2009-08-20 18:00:00) [17]

Если очень беспокоит - заведи j и Inc(j)


b/@.   (2009-08-20 17:45:00) [18]


> Palladin ©   (20.08.09 17:40) [1]
> оптимизация компилятора потому что не используешь i

Использую iкак индекс массива, и оптимизацию выключил давно - всё равно от 9 до 0... уже всё перепробовал что знал...


sniknik   (2009-08-20 17:44:00) [19]

> причём порядок очень важен для алгоритма.
ну прям так важен, что даже "порядковая" переменная не используется...


Palladin   (2009-08-20 17:40:00) [20]


> в отладчике вижу обратный порядок от 9 до 0...

оптимизация компилятора потому что не используешь i
напиши
for i:=0 to 9 do showmessage(inttostr(i));
и удивись


> то тоже получаю этот же обратный порядок от 9 до 0 :(

потому что цикл такой )


Наверх

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