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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2011, 13:21   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию Comparing signed and unsigned types - widened both operands

Всем привет! это предупреждение меня настророжило, что оно значит?

Код:
GetPriority(const Prior: Integer): Integer;
const
  BELOW_NORMAL_PRIORITY_CLASS = $4000;
  ABOVE_NORMAL_PRIORITY_CLASS = $8000;
begin
  case Prior of
    0: Result := IDLE_PRIORITY_CLASS; // Низкий
    1: Result := BELOW_NORMAL_PRIORITY_CLASS; // Ниже среднего
    //2: Result := NORMAL_PRIORITY_CLASS; // Средний
    3: Result := ABOVE_NORMAL_PRIORITY_CLASS; // Выше среднего
    4: Result := HIGH_PRIORITY_CLASS; // Высокий
    5: Result := REALTIME_PRIORITY_CLASS; // Реального времени
  else
    Result := NORMAL_PRIORITY_CLASS; // Средний
  end;
end;
....
if not (GetPriority(AppInfo.CPUPriority) = GetPriorityClass(PI.hProcess)) then
begin
...
{
AppInfo.CPUPriority - значение combobox.itemindex
}
Сравнение двух разных во типу чисел или что?
Человек_Борща вне форума Ответить с цитированием
Старый 09.01.2011, 13:28   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

значит, что сравниваешь беззнаковое и знаковое значение. В этом случае компилер расширяет оба числа до int64, о чем и предупреждает.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 09.01.2011, 13:42   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

тоесть функция GetPriority возврашает неправельный тип данных(integer)?
Человек_Борща вне форума Ответить с цитированием
Старый 09.01.2011, 13:49   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Ну, не то что совсем неправильный, но DWORD смотрелся бы логичней, да.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 09.01.2011, 14:59   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Код:
function GetPriority(const Prior: Integer): DWord;
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть необходимость использовать unsigned int. Нужен ваш опыт. Karyuzin Общие вопросы по Java, Java SE, Kotlin 1 14.12.2010 07:44
srand((unsigned)time(&t)) Gula1706 Общие вопросы C/C++ 6 30.11.2010 10:37
Ошибка компилятора "Comparing signed and unsigned types" Prisioner Общие вопросы Delphi 2 15.11.2010 02:46
[РЕШЕНО][C] unsigned int аргумент работает как signed Sfuller Общие вопросы C/C++ 2 30.06.2010 18:17