Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

FillChar, (не смешно)

8.4K
13 августа 2005 года
Dr.Wisdom
9 / / 06.01.2005
перевожу GL программу с делфи на си.
столкнулся с проблемой.
процедура FillChar в си толи начисто отсутствует, толи еще что.
пытался эмулировать

char *p;
p = (char*)&pfd;

for(int i = 0;i < sizeof(TPixelFormatDescriptor);i++)
{
(char)(*( p + i )) = 0;
}

не работает, вернее работает но как-то криво
формат пикселя получается не такой как надо, экран идет разноцветными прямоугольниками

приведу всю процедуру

void SetDCPixelFormat (HDC hdc)
{
TPixelFormatDescriptor pfd;

char *p;
p = (char*)&pfd;

for(int i = 0;i < sizeof(TPixelFormatDescriptor);i++)
{
(char)(*( p + i )) = 0;
}

pfd.dwFlags = PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL|PFD_DOUBLEBUFFER;
int nPixelFormat = ChoosePixelFormat (hdc, &pfd);
SetPixelFormat(hdc, nPixelFormat, &pfd);
}
10
13 августа 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Dr.Wisdom
процедура FillChar в си толи начисто отсутствует, толи еще что.


А что-то вроде ZeroMemory?

246
13 августа 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Freeman
А что-то вроде ZeroMemory?


Тогда уж вроде memset...

8.4K
13 августа 2005 года
Dr.Wisdom
9 / / 06.01.2005
Я попробовал.
Нифига!
Видать дело не в этом.

Скажите, или лучьше приведите пример кода программы OpenGl, выводящей на экран, можно с использованием VCL, пару линий, неважно чего.

Глючит, не могу.
А еше прикол был: запускаю Delphi с точным аналогом программы. Работает. Открываю Си, работает. Изменяю чуть чуть программу, программа не изменяется! Код изменен, а результата нет. Тоесть результат не соответствует коду!!!!!
Изменяю код в Делфи, компилирую Си, и результат соответствует коду Делфи.

Это от недосыпания глюки да?
11K
14 августа 2005 года
FlyMouse
12 / / 13.08.2005
Это от недосыпания глюки да? [/QUOTE]

Наверное ты перешёл на новый уровень интуитивного восприятия и скомпилировал прогу в голове =)
8.4K
14 августа 2005 года
Dr.Wisdom
9 / / 06.01.2005
Это от недосыпания глюки да? [/QUOTE]

Я понял что это. Это связанно с буферами. Почему-то у меня не идет отображение в нужный буфер, и когда я меняю их то отображается старая область памяти, содержащая мусор ( по абсолютной идентичности программ - буфер от программы в Делфи).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог