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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2009, 18:57   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
Вопрос Загадочное сообщение

Что означают сообщения внизу окошка unit.pas

Код:
[Warning] Unit1.pas(528): For loop control variable must be simple local variable
Между тем, на 528 строке ничего загадочного не случается:

Код:
  For A:=0 to 191 do
Тип переменной A:

Код:
  A                             : 0..191;
И таких сообщений внизу - около десятка. И все указывают на аналогичные строки. Что это все может означать?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 11.05.2009, 19:03   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

это значит что для счетчика цикла ты должен использовать локальную переменную простого типа, например integer
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 11.05.2009, 19:04   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Всмысле ограниченные типы вроде 0..191, 0..23, 1..45 допускаются, но не рекомендуются?

Ведь программа работает нормально
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 11.05.2009, 19:05   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Нет, в смысле ты используешь глобальную переменную, а желательно (читай нужно) использовать локальную.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 11.05.2009, 19:07   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Ну во-первых он достаточно большой, что бы его выкладывать. (сообщений 10 будет), а во-вторых без нескольких десятков bmp-шек в спец. папках он попросту не запустится.

P.S. и пока он еще не доработан, так, намеки уже есть, кстати реализовано событие при наведении на область произвольной формы. Если нужно, звоните на E-mail, сброшу.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 11.05.2009, 19:08   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Всмысле ограниченные типы вроде 0..191, 0..23, 1..45 допускаются, но не рекомендуются?

Ведь программа работает нормально
мне непонятно использование в качестве счетчика переменных-диапазонов... зачем?
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 11.05.2009, 19:09   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Так мне удобней следить за всеми переменными, их около 100-200.

Код:
 Form1                          : TForm1;
  CDir,S                         : String;                                          
  PlayerName                     : String;                                     
  F                              : TextFile;                                   
  LocalCombo                     : Array[1..4] of Byte;
  ComboLine                      : Integer;
  ChangeX, ChangeY               : Byte;
  MovStepNow                     : Boolean;
  StepCount, ViewVector          : Byte;
  Step11, Step12, Step13, Step14,
  Step21, Step22, Step23, Step24,
  Step31, Step32, Step33, Step34,
  Step41, Step42, Step43, Step44 : TBitMap;
  KeyState                       : TKeyboardState;
  IMNG1, IMNG2, IMNG3, IMNG4,
  IMNG5, IMNG6, IMNG7, IMNG8,
  IMNG9, IMNG0,
  IMNGBCKSPC,
  IMNGENTER,
  IMNGCAPSL,
  IMNGSPACE,
  IMNGQ, IMNGW, IMNGE, IMNGR,
  IMNGT, IMNGY, IMNGU, IMNGI,
  IMNGO, IMNGP, IMNGA, IMNGS,
  IMNGD, IMNGF, IMNGG, IMNGH,
  IMNGJ, IMNGK, IMNGL, IMNGZ,
  IMNGX, IMNGC, IMNGV, IMNGB,
  IMNGN, IMNGM,
  IMNG12, IMNG22, IMNG32, IMNG42,
  IMNG52, IMNG62, IMNG72, IMNG82,
  IMNG92, IMNG02,
  IMNGBCKSPC2,
  IMNGENTER2,
  IMNGCAPSL2,
  IMNGSPACE2,
  IMNGQ2, IMNGW2, IMNGE2, IMNGR2,
  IMNGT2, IMNGY2, IMNGU2, IMNGI2,
  IMNGO2, IMNGP2, IMNGA2, IMNGS2,
  IMNGD2, IMNGF2, IMNGG2, IMNGH2,
  IMNGJ2, IMNGK2, IMNGL2, IMNGZ2,
  IMNGX2, IMNGC2, IMNGV2, IMNGB2,
  IMNGN2, IMNGM2                : TBitMap;
  NGLettersCount                : Byte;
  NGCapslock                    : 0..1;
  Control                       : TComponent;
  NGPlayerName                  : String;

  FCIMGMAP, FCJAPANIMG          : TBitMap;
  FCDATAMAP                     : Array[0..255,0..191] of 0..5;
  A                             : 0..191;
  B                             : 0..255;
  StartingCountry               : String;
  LOADINGSPLASH                 : TBitMap;
  GlobalMap                     : Array[1..10,1..20] of 0..1;
  GlobalMX, GlobalMY            : Byte;
Это - только часть
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 11.05.2009, 19:12   #8
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

а в чем удобство? вот убей - не понимаю... что мешает сделать две переменные типа integer?
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 11.05.2009, 19:22   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Удобно следить именно за локальными переменными. И даже Делфи Вам об этом говорит. Не складывайте яица в одну корзину. Ну какой в этом смысл? Фактически переменные цикла используется только для чтения, повлиять на ход вычислений при помощи их явной модификации весьма сложно (и чревато последствиями). А следить за переменными, которые эпизодически используются в циклах удовольствие весьма сомнительное. Вы же кремом для обуви зубы не чистите? Для этого используется зубная паста.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 11.05.2009, 19:28   #10
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

2 Alex Cones, в сообщении #2 __STDC__ дал точный и понятный ответ на твой вопрос, зачем дальше развивать тему ?!?!
Компилятор не обманешь - при твоем подходе от предупреждений не уйдешь.
От себя добавлю, при таком подходе ты потеряешь в скорости работы и все. А то что ты говоришь на счет удобства слежения за переменными - твое дело, лишь бы проект работал.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сообщение WM_NCLBUTTONUP VladimirVB Общие вопросы Delphi 5 04.01.2009 18:05
Icq сообщение Marsik Помощь студентам 2 10.04.2008 04:22
Звуковое сообщение. Небесный Паскаль, Turbo Pascal, PascalABC.NET 13 17.10.2007 12:24