PMG

Форумы по созданию игр
Текущее время: 26 июл 2026 08:12

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Что за _Т ???
СообщениеДобавлено: 08 апр 2007 23:03 
Не в сети
Новичок

Зарегистрирован: 08 апр 2007 18:57
Сообщения: 9
Ребят подскажите,что за класс _Т,встречающийся первый раз в
функции (в учебных материалах http://pmg.org.ru/nehe/nehe01.htm)

BOOL CreateGLWindow( LPCWSTR title, int width, int height, int bits, bool fullscreenflag )

в разделе

if( !( hWnd = CreateWindowEx( dwExStyle, // Расширенный стиль для окна

У меня компилятор пишет,что error C3861: '_T': identifier not found
В чём ошибка,что это за класс...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 апр 2007 01:18 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 02 сен 2005 22:34
Сообщения: 98
Откуда: Питер
убей свой вс и установи заново!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 апр 2007 01:41 
Не в сети
Новичок

Зарегистрирован: 15 мар 2007 02:58
Сообщения: 2
#include <tchar.h>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 апр 2007 12:02 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Ну нафиг, уберу я это _T, там и без этого все должно работать ....

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 апр 2007 15:58 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 29 апр 2006 21:28
Сообщения: 404
edvard, Ну во первых надо сказать что у тебя за компил,а то уж извени,не телепат!

_________________
С уважением,Блинов Андрей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 16 апр 2007 15:17 
Не в сети
Любитель

Зарегистрирован: 15 янв 2007 18:48
Сообщения: 39
Цитата:
Ну во первых надо сказать что у тебя за компил,а то уж извени,не телепат!

И в Builder-e, и в MS Visual C++ макрос _T() - работает после подключения tchar
Цитата:
Ну нафиг, уберу я это _T, там и без этого все должно работать ....

Если студию не настроить соответствующим образом, то по умолчанию, вместо русских символов будет выдаваться всякая кракозябра!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 17 апр 2007 11:23 
Не в сети
Постоянный

Зарегистрирован: 19 янв 2007 12:29
Сообщения: 82
Привет всем

Цитата:
Если студию не настроить соответствующим образом, то по умолчанию, вместо русских символов будет выдаваться всякая кракозябра!

C этого момента по-подробней, пожалуйста!
Что хотел, ты, этим сказать?
Какой тип приложения ты имел ввиду - Сoncole или Wind?

_________________
С уважением, Дмитрий


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 апр 2007 17:50 
Не в сети
Любитель

Зарегистрирован: 15 янв 2007 18:48
Сообщения: 39
Цитата:
C этого момента по-подробней, пожалуйста!

Да не вопрос :)
Цитата:
Что хотел, ты, этим сказать?
Какой тип приложения ты имел ввиду - Сoncole или Wind?

Ну с Сoncole всё понятно - если на компиляторе не под DOS писать русские символы, то результат при любых обстаяиельствах будет плачевен (в DOS-е кодировка cp866, в Win32 - cp1251)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 апр 2007 19:32 
Не в сети
Любитель

Зарегистрирован: 15 янв 2007 18:48
Сообщения: 39
А вот с Win32 начинаются проблемы. По умолчанию в Visual Studio 2005 (в Visual Studio 2003 кажись тоже, но утверждать не буду) стоит неUnicode (точно не знаю как называется), в то время, как русские символы в неUnicode-е не предусмотренны, и корректно отоброжаться - не будут!
Существует два способа решения этой проблемы (как минимум, т.е. те, которые я знаю):
1) Использовать макрос _T("x") из tchar.h;
2) В свойствах проекта Configuration Properties->General->Character Set - указать UNICODE;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 апр 2007 13:57 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 29 апр 2006 21:28
Сообщения: 404
DjonNIK, В них как раз стоит юникод! Перед текстом пишеш L"My text" и всё!
Код:
m_HWnd = CreateWindow (
      L"RealityExtend", win_caption,
      WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE,
      0, 0, width, height,
      NULL, NULL, m_HInstance, NULL);

_________________
С уважением,Блинов Андрей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2007 15:12 
Не в сети
Любитель

Зарегистрирован: 15 янв 2007 18:48
Сообщения: 39
Цитата:
В них как раз стоит юникод! Перед текстом пишеш L"My text" и всё!

:)
Так L - и есть перевод строки в Unicode.
MSDN:
Use wide-character constants in place of multicharacter constants to ensure portability
...
The only difference in specification between normal and wide-character constants is that wide-character constants are preceded by the letter L

Только _T() предпочтительнее, т. к. студия сама выбирает ставить ей L или нет в соответствии со своими настройками.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2007 15:23 
Не в сети
Новичок

Зарегистрирован: 08 апр 2007 18:57
Сообщения: 9
Народ спасибо,я уже справился с этой ошибкой...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 апр 2007 10:40 
Не в сети
Любитель

Зарегистрирован: 15 янв 2007 18:48
Сообщения: 39
Ой-ой-ой, косяк с моей стороны!
Assassin прав!!! :oops:
По умолчанию в студии установлен как раз Unicode, и L переводит из него в cp1251, но _T() всё же чтука очень полезная.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что за _Т ???
СообщениеДобавлено: 04 июн 2008 13:52 
Не в сети
Новичок

Зарегистрирован: 04 июн 2008 13:47
Сообщения: 1
Были проблемы с кодировкой, решил все-таки заюзать юникод (иначе проблемы с функцией CreateWindowEx), поскольку качать книгу еще и про WinAPI не было времени (возможно посмотрю это позже), решил все с помощью функции _T - ставим ее для каждой вводимой строки:

_T("ваш текст")

Чтоб не парить если много выводимого текста, можно поставить на Replace: _T(" вместо " и ") вместо "


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB