Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 09.01.2011, 14:21   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,455
По умолчанию 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, 14:28   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

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

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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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