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

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

Comparing signed and unsigned types


Gek1 ©   (2005-03-09 11:32:00) 

Есть строка, в которой 4 байта записаны в Hex виде (8 символов получаеться). Я же пытаюсь записать это значение в переменную DWord.

var a : DWord;
a := StrToInt('$'+copy(SHex,3,8));

Но StrtoInt - это для знаковых чисел, у меня же cardinal и он беззнаковый.

Ну и ясное дело компилятор выдает подсказку:
[Warning] ClassCharacter.pas(3667): W1023 Comparing signed and unsigned types - widened both operands

Глянул бы в справке, но у меня D2005 и к сожалению справка вся вырезана. (такой досталась :-( )


BiN   (2005-03-09 14:05:00) [1]

{$WARN COMBINING_SIGNED_UNSIGNED OFF}
...
{$WARN COMPARING_SIGNED_UNSIGNED ON}


Digitman   (2005-03-09 13:45:00) [2]


> компилятор выдает подсказку


не ошибку же ..

подсказки (точнее - предупреждения, как в дан.случае) ты волен игнорировать, мол, спасибо, принял к сведению .. а чтобы не мозолили они глаза, выключи их нафих совсем соотв.опцией компилятора в настройках дан.проекта ... только потом не жалуйся, что компилятор перестанет тебя предупреждать о чем-то либо предупреждения выдаются любого типа либо подавляются компилятором в принципе


Gek1   (2005-03-09 12:01:00) [3]

Помогло. Спасибо! :-)


Anton_K   (2005-03-09 11:40:00) [4]

a := Cardinal(StrToInt('$'+copy(SHex,3,8)));
?


Наверх

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