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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 16:03   #1
Marquez
 
Регистрация: 07.12.2011
Сообщений: 8
По умолчанию Работа с монитором С Builder

С Builder

Доброго времени суток .. Есть фрагмент кода который должен рассчитать диагональ монитора, но когда запускаем прогу, то на 19-ти дюймовом мониторе пишет "диагональ 22" почему так ? Ошибка в формуле расчета?
Подскажите ..
Сам фрагмент кода:

// Расчет диагонали монитора
int iHorSize,iVertSize,iMonitorDiag;
iHorSize = GetDeviceCaps(Form1->Canvas->Handle,HORZSIZE);
iVertSize = GetDeviceCaps(Form1->Canvas->Handle,VERTSIZE);
iMonitorDiag = ((sqrt(pow(iHorSize,2)+pow(iVertSiz e,2)))/10)/2.54;
Memo1->Lines->Add(String("Размер монитора по диагонали: ")+String(iMonitorDiag)+String( " Дюймов "));
Marquez вне форума Ответить с цитированием
Старый 07.12.2011, 17:16   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Формула верная, только вместо int нужно поставить double или float.
Код:
double iHorSize,iVertSize,iMonitorDiag;
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 09.12.2011, 03:14   #3
Marquez
 
Регистрация: 07.12.2011
Сообщений: 8
По умолчанию

Спасибо, сейчас глянем что получилось..
Marquez вне форума Ответить с цитированием
Старый 09.12.2011, 11:16   #4
Marquez
 
Регистрация: 07.12.2011
Сообщений: 8
По умолчанию

Не вышло .. Указывая тип флоат или дабл .. программа выводит те же 22 дюйма , только ставит кучу значений после запятой))
Marquez вне форума Ответить с цитированием
Старый 09.12.2011, 11:30   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Ну не знаю. Вот мой монитор: 210 х 280. Выдаёт 13,779 дюйма или 350 мм, что в принципе правильно. Линеечкой мерял. Всё сходится. Возможно проблемы с настройкой монитора?
Теорема Пифагора за 4-й класс.
Квадрат гипотенузы, равен сумме квадратов катетов.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 09.12.2011 в 11:40.
Smitt&Wesson вне форума Ответить с цитированием
Старый 09.12.2011, 14:37   #6
Marquez
 
Регистрация: 07.12.2011
Сообщений: 8
По умолчанию

очень странно .. Вот дома пробую выдает 16 дюймов .. Хотя мониторы одинаковые походу ..
Marquez вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с монитором W0LF Общие вопросы Delphi 5 08.06.2012 16:48
Проблема с монитором? sphinx69 Компьютерное железо 0 24.01.2011 07:07
Проблема с монитором RockForr Компьютерное железо 9 18.09.2009 16:50
Проблемка с монитором Flyingbird Компьютерное железо 8 14.09.2008 13:19
Управление Монитором _XspeC_ Общие вопросы Delphi 3 26.03.2007 19:28