![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: 2 Всего: 3 |
В одной статье прочитал, что оказывается в цикле for можно задавать
любой шаг приращения, а не только значание по умолчанию = 1. Так я и не смог понять либо статья "слишком умная", либо я отстал от жизни. -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
В какой статье? Аналога как в бейсике
|
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Видать действительно для Basic'a статья. Я тоже ранше заинтересован был этим вопросом, но ответа так и не нашел. Теперь использую такой "искусственный" метод:
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
не парьтесь делайте репитом туда и любой шаг запихать можно
i:=-4.5; Repeat i:=i+0.05; //sdgsdfgsddf---- until i>=10.45; |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Самый грамотный, на мой взгляд, способ установить шаг это варант придложеный в DRKB:
Хотя, вариант с Repeat тоже удобный :^) Всё зависит от задачи. Это сообщение отредактировал(а) Yanis - 4.5.2005, 16:20 |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Чего ж они(Borland) не могли нормальный for сделать(как в C)??? Издеваются над людьми...
![]() ![]() ![]() |
|||
|
||||
Ищущий! |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 19.4.2005 Репутация: нет Всего: нет |
Не было и них папочки нормального! ![]() |
|||
|
||||
drinkOut |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 10.2.2005 Где: мой стакан? Репутация: нет Всего: нет |
Для тебя это столь важно? Тогда рекомендую обратить внимание на Borland C++ Builder. ![]() --------------------
Жизнь жестока - когда у меня на руках все карты, она начинает играть в шахматы...www.certifications.ru - проверь себя |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
А смысл? Любой цикл с шагом не кратным единице, легко приводится к таковому.
В крайнем случае - мотать счетчик вручную, как это и делает C++. Только он это делает в единой конструкции, а тут придется ее реализовывать на 3 разных шага. Но в итоге бинарный exe делает те же операции. |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Зато писать меньше -> читать легче -> понятней.
Ещё сильно нехватает foreach. ![]() |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Да... есть такая бодяга.... в этом отношении мне нравиться С. Это действительно язык для программистов, написанный программистами. В прниципе как и Java. Ребята из Sun отлично знают свое дело. А самая удобная среда разработки которую я видел - это IntelliJ IDEA от JetBrains.
-------------------- |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Гы......
![]() Была уже похожая тема тут
|
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
т.е. ленивыми талантливыми людми. ![]() Это я про отладчик в отношении выделяемых динамически переменных. Вообще справедливости ради стоит отметить, что цикл с дробным шагом работает гораздо медленнее чем с еденицй т.е. все время вызывается конструкция a:=a+0.00342; // например а для единицы можно выполнять inc(i) а это на несколько порядков быстрее. А уж внутри цикла дели ты эти единицы, умножай - делай че хочешь. |
|||
|
||||
Rouse_ |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Справедливости ради нужно отметить что данная конструкция вообще не эффективна так как значение 0.00342 сначала считывается из стек в регистр сопроцессора 8087, что по себе не затратно по времени, там происходит увеличение, ну а результат проверки еще обратно двинуть. т.е. вместо
получаем что-то вроде
|
||||||
|
|||||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
2Rouse_: Примерно это я и хотел сказать. Только по-русски, а не на ассемлере - не знаю я его, просто механизм представляю.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |