Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2010, 11:58   #1
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 103
Радость Цикл Cardinal - почему так происходит?

Код:
Procedure TForm1.Button2Click(Sender: TObject);
  Var N:Cardinal;
  Begin
   For N:=0 To 4294967295 Do
    Begin
     Caption:=IntToStr(N);
     Application.ProcessMessages
    End;
 End;

При входе в обработчик нажатия кнопки транслятор не входит в тело цикла а почему то перепрыгивает его , если уменьшить конечное значение цикла то всё гуд

но ведь диапазон Cardinal 0-4294967295 (пробовал и DWord та же беда)

почему так?

PS (Delphi 7)
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 28.07.2010, 12:29   #2
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 103
Радость

оказывается структура For работает максимум с типом Integer
(странно что такая проверка не выполняется компилятором)

While рулит!!!
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 28.07.2010, 15:04   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Кажись, не только с Integer. While вроде как медленней, для большого числа итераций, как у тебя это актуально.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление информации из файлов .mb: почему не происходит? Ruschel БД в Delphi 4 25.02.2010 09:22
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
Почему происходит сброс переменной password? NSvirus PHP 2 10.11.2009 16:07
Form Region-почему так происходит Nester Общие вопросы Delphi 3 14.09.2009 21:16
Почему так происходит? Zeraim Общие вопросы Delphi 1 05.05.2008 14:10