|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||||||||||
DirectDraw - DDSURFACEDESC2 | DDSD_LPSURFACE. Рисуются только оттенки белого-чёрного07.05.2013, 07:45. Показов 5793. Ответов 35
Метки нет (Все метки)
В общем, по книге М.Фленова учусь работать с DirectDraw...
Начальный код содержал поддержку 16 битного режима, естественно, мне его не достаточно и я решил изменив кое какие параметры перейти на 32 битный формат, однако появился ряд проблем: 1. Проблема с цветом - почему то рисуются только оттенки белого-чёрного 2. Проблема с натяжением буффера на поверхность(или возможно что то другое) - почему то поверхность заполняется буффером не полностью, а несколькими "слоями что ли".. Помогите решить или хотябы понять суть проблем (можно и исправить ошибки). гугл и мсдн по данному вопросу ничего не дал =( Вот код основного файла: Глобальные переменные:
0
|
||||||||||||||||
| 07.05.2013, 07:45 | |
|
Ответы с готовыми решениями:
35
Поменять белого и черного короля местами
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||||||||||
| 23.03.2014, 16:54 | ||||||||||||
|
Izual,
Можно использовать вот такую функцию:
1
|
||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||
| 28.03.2014, 02:43 [ТС] | ||||||
|
DrOffset, спасибки, с цветом буду позже разбираться. Сейчас более актуален вопрос по данной теме, хоть и дождь вроде бы помог, но сделал это не через "обычный" массив, в через ссылочный, что сильно усложнило понимание кода и его "юзабилити", мне бы ссылочный тип массива привести бы к обычному, как и было в изначальном примере, только с поправкой того что не работало "что то"...
Добавлено через 4 минуты *к изначальному: в смысле к последней поправке в 10 посте (там код и прикреплённый проэкт) **так, что то я не догнал, пойду ка я тестить)) Добавлено через 1 час 2 минуты ***затестил, крутяк. тока пришлось в глобальные переправить:
0
|
||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 28.03.2014, 13:16 | |||
|
0
|
|||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||
| 28.03.2014, 13:40 [ТС] | ||
|
С++ проэкт... В VS2005. Давно заметил что в case WM_PAINT ругается объявляя переменные. (хотя могу ошибаться, может конвертнул проэкт, который был на диске к книге Фленова, а он в Си может был)
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||||||
| 28.03.2014, 16:36 | ||||||||
|
Добавлено через 2 минуты
0
|
||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||
| 28.03.2014, 17:19 [ТС] | ||||||||
![]() *прочитал в вики про scope, но всё же думал что case c break устроены как данный случай, только синтаксисом слов. Добавлено через 12 минут **ещё один вопрос сразу:
0
|
||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||||||||
| 28.03.2014, 18:02 | |||||||||||||
В цикле тоже самое.А вообще в С++ есть еще оператор запятая (operator,), его можно перегружать и его суть в том, чтобы последовательно выполнять свои аргументы. Результат всего выражения - результат последнего аргумента. Но вот конкретно в этом случае, в цикле и в моем примере - работает не оператор, а запятая является просто разделителем. Такая вот двойственность. В switch, его case`ы - это полный аналог меток для goto. Т.е они не создают scope, это просто метки для перехода по условию.
0
|
|||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||
| 28.03.2014, 20:09 [ТС] | ||||
|
0
|
||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||||||||
| 28.03.2014, 20:23 | |||||||||||||
0
|
|||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||||||
| 28.03.2014, 21:19 [ТС] | |||||||
|
Ну разделитель - это синоним данной команды. По поводу примеров: Т_Т что это за нелепость? Это в корне противоречит самому принципу switch оператора, который можно заменить:
(п.с. естественно пример с if будет работать не так как switch, потому что в моём примере будет 2 раза проверяться суловие, а в case - один раз, заменить на if+else+ещё пары if'ов - будет уже не очень красиво, у меня такое было в коде, когда начинал программу делать, сейчас естественно оптимизировал, т.к. один из принципов хорошего программиста - стиль(ну и+производительность повысилась))
0
|
|||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||||||||||
| 28.03.2014, 22:17 | |||||||||||||||
![]() Добавлено через 8 минут ![]() Добавлено через 19 минут
0
|
|||||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||
| 29.03.2014, 00:52 [ТС] | ||||||||
И куда надо тыкнуть чтоб это появилось?
0
|
||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||||||||||||||||
| 29.03.2014, 02:25 | |||||||||||||||||||||
|
Вот тебе псевдокод:
Ты спросил почему нельзя, я тебе рассказал. Вот пример, первый и второй.
А ты спросил, работает ли обычный Си также. Я ответил да и привел пример (опасной ситуации), которую мог спровоцировать программист. Чтобы исключить эту ситуацию и был введено ограничение на объявление переменных в switch. А вот после почему-то я услышал что это бред(!) и противоречит смыслу оператора switch, который, как ты сказал, эквивалентен if. Но это не так. Потому что ветки if создают scope, а ветки case - нет. Ветки case - это метки (десятый раз говорю). Такие же метки как в goto (см. пример выше). То есть switch это такое условие с несколькими переходами. Между которыми нет scope. Следовательно, не будь того запрета, потенциальная ошибка приведенная в примерах выше была бы возможна. Вот и все. Вот один из самых известных примеров, в котором использует тот факт, что case в switch - это метки. Читай внимательно ![]()
1
|
|||||||||||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||
| 29.03.2014, 13:05 [ТС] | ||||||||
|
Добавлено через 4 минуты Кстати в if тоже нет scope если там одна строчка выполнения =) Ну это же синтаксис языка - тонкости самого языка, так сказать.
0
|
||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||||||||
| 29.03.2014, 13:31 | |||||||||||||
goto не рекомендуют к использованию именно из-за таких проблем, как выше. А в switch, исторически, метки case родственны меткам goto. В общем я думаю проблема исчерпана. Все факты, которые я приводил, легко проверяются и ты сможешь нагуглить все что нужно, если тебе понадобится./Fa[file] name assembly listing file Например - cl.exe /c /Fa test.cpp Так что ты ничего не потеряешь. Но знать про это нужно.Добавлено через 11 минут
1
|
|||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||
| 29.03.2014, 13:50 [ТС] | ||||
|
Вообще хочу в функцию вывести все операторы типа if, for... ну а как ещё интерпритатор написать, если не блоками вывести всё это. =)
0
|
||||
| 29.03.2014, 13:50 | |
|
пусть в трех урнах находятся шары черного и белого цвета Нахождение вариаций расстановки белого и черного короля на шахматной доске Рассчитать и вывести вероятности появления очередного белого и черного шаров
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|