1 2
Re[4]: "hello, debug window" в избранное  новое горячее всё    подписка   модер. 
От: Nose 
Дата: 01.12.03 09:15
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Nose, Вы писали:


N>>>А у меня в чистом виде не работает... VC7.1

N>>В смысле, не компилится...

К>Потому что я не копипастил, а руками печатал. Где-то мог погнать.

К>Сегодня восстановлю° исходник — выложу зипом.

К>Еще одна причина некомпиления — для _CrtDbgReport нужно включить опции дебага (/MLd | /MTd | /MDd).


Не... Первая причина + мое не очень хорошее(пока, надеюсь ) знание C++...

К>---

К>° Вчера в угаре раскурочил — он тоже перестал компилиться
... << RSDN@Home 1.1.0 stable >>
Re[6]: мои три копейки.... в избранное  новое    модер. 
От: Рома Микhttp://romamik.com
Дата: 01.12.03 14:13
Здравствуйте, c-smile, Вы писали:

CS>У меня все какие-то задачи получаются дурацкие. Никак они не разделяются на UNICODE ни на ANSII.

Хорошие у тебя задачи, полезные.

CS>Например HTML: имя атрибута — ANSII , значение атрибута — когда ascii, когда unicode, а когда вообще какой-нибудь агрегат типа 12pt. А в общем и целом HTML как бы unicode...

CS>Ну т.е. #define UNICODE как мертвому припарки.
Ну так это не мешает тебе использовать TCHAR для имен файлов и прочего, а html разбирать как char.

CS>>>А TCHAR придумали враги, потому как ANSII и UNICODE есть две большие разницы.

Ну, я бы так не сказал. Дело в том, что без всякой зависимости от задачи, если используются какие-нибудь функции Windows, что CreateWindow, что RegOpenKey, что все остальные в разных виндах — разные. Под win9x — только A, под NT — вроде бы и A, и W, а под WinCE — только W. И что будет дальше не совсем ясно. При том, что использование TCHAR особо не напрягает.

CS>Просто я свои проекты всегда компилирую в т.н. ASCII режиме и использую unicode функции windows всегда литерально.

CS>Как-то надежнее получается что-ли...
Но менее портабельно. Под WinCE ну никак не заведуться твои проекты после этого...
... << RSDN@Home 1.1.0 stable >>
Всем срочно гонять паровозы
Re[7]: мои три копейки.... в избранное  новое    модер. 
От: c-smilehttp://terrainformatica.com
Дата: 01.12.03 22:16
Здравствуйте, Рома Мик, Вы писали:

РМ>Ну так это не мешает тебе использовать TCHAR для имен файлов и прочего, а html разбирать как char.


Вот как раз для имен файлов char как-то совсем плохо работает...
Особенно у наших друзей на юге и юго-востоке...


CS>>>>А TCHAR придумали враги, потому как ANSII и UNICODE есть две большие разницы.

РМ>Ну, я бы так не сказал. Дело в том, что без всякой зависимости от задачи, если используются какие-нибудь функции Windows, что CreateWindow, что RegOpenKey, что все остальные в разных виндах — разные. Под win9x — только A, под NT — вроде бы и A, и W, а под WinCE — только W. И что будет дальше не совсем ясно. При том, что использование TCHAR особо не напрягает.

Под Win9x существуют CreateWindowW и RegOpenKeyW.
И вообще... если твои окна отрабатывают WM_CHAR то о CreateWindowA стоит забыть.
Потому как в общем случае в ANSII окне тебе еще и WM_IME_CHAR отрбатывать надо...
Ну т.е. код получается тот еще...


CS>>Просто я свои проекты всегда компилирую в т.н. ASCII режиме и использую unicode функции windows всегда литерально.

CS>>Как-то надежнее получается что-ли...
РМ>Но менее портабельно. Под WinCE ну никак не заведуться твои проекты после этого...

Хорошо что я этого не знал когда их заводил...
Re[8]: мои три копейки.... в избранное  новое    модер. 
От: Рома Микhttp://romamik.com
Дата: 01.12.03 23:21
Здравствуйте, c-smile, Вы писали:

РМ>>Ну так это не мешает тебе использовать TCHAR для имен файлов и прочего, а html разбирать как char.

CS>Вот как раз для имен файлов char как-то совсем плохо работает...
CS>Особенно у наших друзей на юге и юго-востоке...
Во-первых, попробуй вызвать CreateFileW под win9x. Низзя. Во-вторых, прекрасно работает в том числе и у наших африканских друзей: multibyte — это не обязательно singlebyte, даже и слова разные. А ANSI версии виндовых функций работают как раз с multibyte. В остальном стандратная библиотека нам поможет. Там куча всего начинающегося на _tcs.

CS>Под Win9x существуют CreateWindowW и RegOpenKeyW.

и возвращают ошибку ERROR_CALL_NOT_IMPLEMENTED. Проверенно. Занусси.

CS>И вообще... если твои окна отрабатывают WM_CHAR то о CreateWindowA стоит забыть.

Почему?
CS>Потому как в общем случае в ANSII окне тебе еще и WM_IME_CHAR отрбатывать надо...
А зачем?

Я честно говоря не в курсе, но разве я не могу для WM_CHAR вызывать WideCharToMultiByte в ANSI варианте и жить спокойно? Необязательно это делать для каждого сообщения, можно только когда данные наружу просят, а внутри все полностью юникодным сделать.
Не говоря о том случае, когда английских букв хватает.
Да и честно говоря что-то давненько я вообще с WM_CHAR не сталкивался. Его что-то Edit, да RichEdit контролы обрабатывают у меня.

РМ>>Но менее портабельно. Под WinCE ну никак не заведуться твои проекты после этого...

CS>Хорошо что я этого не знал когда их заводил...
Теперь знаешь. Будущие твои проекты...
... << RSDN@Home 1.1.0 stable >>
Всем срочно гонять паровозы
Re[9]: мои три копейки.... в избранное  новое    модер. 
От: c-smilehttp://terrainformatica.com
Дата: 02.12.03 00:04
Здравствуйте, Рома Мик, Вы писали:


CS>>Под Win9x существуют CreateWindowW и RegOpenKeyW.

РМ>и возвращают ошибку ERROR_CALL_NOT_IMPLEMENTED. Проверенно. Занусси.

Волшебные слова: Microsoft Layer for Unicode / UnicoWS.dll
Re[5]: мои три копейки.... в избранное  новое    модер. 
От: c-smilehttp://terrainformatica.com
Дата: 02.12.03 06:33
Здравствуйте, Зверёк Харьковский, Вы писали:

От елки-палки....

Люди, я не против предлагаемого решения. Оно классное и полезное! Если вы уже используете потоки ввода/вывода!

Я ж об этом сразу сказал!

Чего вы сразу как на красну тряпочку...

Если вы не используете потоки ввода/вывода, то вам сгодится dprintf...

Что за жизнь, а?
Re[6]: мои три копейки.... в избранное  новое    модер. 
От: Kluev 
Дата: 02.12.03 07:44
Оценка: :)
Здравствуйте, c-smile, Вы писали:

CS>Люди, я не против предлагаемого решения. Оно классное и полезное! Если вы уже используете потоки ввода/вывода!

CS>Если вы не используете потоки ввода/вывода, то вам сгодится dprintf...

Полностью согласен. Я например в своих программах вообще не вижу места где я мог бы применить их (потоки) без потери удобства и производительности. Особенно безумной (прошу не обижатся) я считаю идею юзать потоки для чтения структурированных файлов (xml,step) или сериализации. Поток это штука идеологически неструктурированная (есть только операции запихнуть-выпихнуть в-из потока), а в любых прогах данные являются структурированными и древовидными. Юзать древовидные классы для ввода-вывода гораздо удобнее (пример библиотека TiXml).

А рассуждения насчет типоопастности printf-подобных функция вообще напоминают вопли домохозяек, в С++ любой указатель является потенциально опасным и ничего все юзают и не жалуются.

ЗЫ: Извиняйте за офтоп.
Re[10]: мои три копейки.... в избранное  новое    модер. 
От: Рома Микhttp://romamik.com
Дата: 02.12.03 09:52
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, Рома Мик, Вы писали:



CS>>>Под Win9x существуют CreateWindowW и RegOpenKeyW.

РМ>>и возвращают ошибку ERROR_CALL_NOT_IMPLEMENTED. Проверенно. Занусси.

CS>Волшебные слова: Microsoft Layer for Unicode / UnicoWS.dll

Угу. Я собственно с ним давно. Только писать везде CreateWindowW и т.д... В студии IntelliSense не работает от этого и т.д. Я уж лучше с tchar'ом как-нибудь. При том, что это проще, это дает больше возможностей.
... << RSDN@Home 1.1.0 stable >>
Всем срочно гонять паровозы
Re[6]: мои три копейки.... в избранное  новое    модер. 
От: Зверёк Харьковский 
Дата: 02.12.03 10:36
Здравствуйте, c-smile, Вы писали:

[зверьковыгрызено]

ну вот, довел я таки хорошего человека... (ты, человеческий детеныш, кого угодно достанешь...)
больше не буду чесслово.
FAQ — це мiй ай-кью!
1 2