Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не выделяется текст в контроле EDITTEXT 
:(
    Опции темы
volatile
Дата 16.6.2013, 23:26 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(xvr @  16.6.2013,  12:21 Найти цитируемый пост)
на отсутствие const выглядит придиркой. 

xvr, если честно - согласен  smile 
Но только в ответ на такую-же придирку:

Цитата(GremlinProg @ 13.6.2013,  21:36)
Цитата(volatile @ 13.6.2013,  19:39)
Цитата(Riddik @  13.6.2013,  16:46 Найти цитируемый пост)
А как нужно

Цитата(Riddik @  13.6.2013,  16:46 Найти цитируемый пост)
wchar_t *stroka = L"Это строка";
SetWindowText(hwnd, (LPWSTR)stroka);

Иначе ошибка.
Вообще чем меньше приведений тем лучче.

А вот так как раз и не нужно!


Не вижу причин здесь писать А вот так как раз и не нужно!, из-за того что там не введена буква W в конце функции.
Если пишецца юникодное приложение, которое никогда не будет компилицца в неюникодном, писать после каждой функции букву W - мазохизм.

если бы хоть к wchar_t придрался, я бы и то понял smile (переносимее WCHAR)

Добавлено @ 23:29
А вот на неконстантный указатель - можно с полной уверенностью сказать:
А вот так как раз и не нужно! (причем уже без каких=либо придирок.)


Это сообщение отредактировал(а) volatile - 17.6.2013, 00:16
PM MAIL   Вверх
xvr
Дата 17.6.2013, 12:19 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(volatile @  16.6.2013,  23:26 Найти цитируемый пост)
Не вижу причин здесь писать А вот так как раз и не нужно!, из-за того что там не введена буква W в конце функции.

Причина есть, и весьма веская. Уж если используется явно UNICODE версия строк (wchar_t и L""), то следует так же явно использовать UNICODE версию API, т.е. дописать W к именам функций. 

Цитата(volatile @  16.6.2013,  23:26 Найти цитируемый пост)
Если пишецца юникодное приложение, которое никогда не будет компилицца в неюникодном,

Проблема в том, что на сорцы этого приложения будут смотреть не только вы. Собственно из за того, что из таких сорцов кто то надергает строчек и попытается вставить в свой проект, и появляются перлы типа SetWindowText(hwnd, (LPWSTR)stroka);, а потом вопли на всех форумах - "Взял код из работающего проекта, а он не работает! Ну кто так пишет !!!!"  smile 

Так что писать 
Код

wchar_t *stroka = L"Это строка";
SetWindowText(hwnd, stroka);
можно только в 2х случаях -
  •  Этот код не только не будет компилироваться в чем то отличном от UNICODE'а, но и его еще никогда никто (отличный от автора) не увидит
  •  В начале файла (а лучше в начале всех файлов в этом проекте) будет явно написанно в комментариях почему используется wchar_t и не используется SetWindowTextW

PM MAIL   Вверх
volatile
Дата 17.6.2013, 15:08 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(xvr @  17.6.2013,  12:19 Найти цитируемый пост)
можно только в 2х случаях -
 Этот код не только не будет компилироваться в чем то отличном от UNICODE'а, но и его еще никогда никто (отличный от автора) не увидит
 В начале файла (а лучше в начале всех файлов в этом проекте) будет явно написанно в комментариях почему используется wchar_t и не используется SetWindowTextW

xvr, спорное утверждение.
Сорцы идут вместе с проектом, где есть свойство (UNICODE) или этого свойства нет.
Вы предлагаете полностью игнорировать эту фичу IDE/компилятора.
От нее уже ничего не зависит =) т.е. фактически берете на себя ненужную/лишнюю работу, которую мог бы выполнить компилятор.

Цитата(xvr @  17.6.2013,  12:19 Найти цитируемый пост)
из за того, что из таких сорцов кто то надергает строчек и попытается вставить в свой проект

Ну здесь пожалуй соглашусь, но ориентировацца на это врядли стоит.  smile 
да и потом, даже если так. Ничего страшного не произойдет. smile 
Код просто не будет компилировацца, с точным и недвусмысленным указанием ошибок.
Что вполне таки нормально. (В отличии от багов компилируемых без единой ошибки, о которых я писал выше smile)

Это сообщение отредактировал(а) volatile - 17.6.2013, 15:17
PM MAIL   Вверх
xvr
Дата 17.6.2013, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(volatile @  17.6.2013,  15:08 Найти цитируемый пост)
Сорцы идут вместе с проектом, где есть свойство (UNICODE) или этого свойства нет.

Те, кто знает об этом свойстве в пропертях проекта, обычно не испытывает никаких проблем с UNICODE/ANSI проектами. 

Цитата(volatile @  17.6.2013,  15:08 Найти цитируемый пост)
Код просто не будет компилировацца, с точным и недвусмысленным указанием ошибок.

Увы, ошибки он указывает точно, но вот первопричину их очень часто ищут не там. Иначе не было бы такого количества соответствующих воплей в разделе для начинающих  smile 

Цитата(volatile @  17.6.2013,  15:08 Найти цитируемый пост)
Вы предлагаете полностью игнорировать эту фичу IDE/компилятора.

Отнюдь. К сожалению нет никакого контроля на уровне сорцов включена эта 'фича' или нет (ругань компилятора при неправильной установки фичи не является таким контролем, так как он ругается на совершенно другое, и что бы соотнести это 'другое' с настройкой в проекте, требуются некоторые познания)

PM MAIL   Вверх
volatile
Дата 18.6.2013, 06:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



xvr, если не ошибаюсь, вы как-то говорили что у вас есть неюникодные проекты
Если есть с WinApi, ответьте честно:
Вы в них всегда пишете исключительно SetWindowTextA () ?

PM MAIL   Вверх
xvr
Дата 18.6.2013, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(volatile @  18.6.2013,  06:19 Найти цитируемый пост)
Если есть с WinApi, ответьте честно:

Честно - не пишу. Но другим советовать это я бы не стал  smile 

PM MAIL   Вверх
volatile
Дата 18.6.2013, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(xvr @  18.6.2013,  08:23 Найти цитируемый пост)
Честно - не пишу.

я и не сомневался. мазохистов на свете не так много.

Цитата(xvr @  18.6.2013,  08:23 Найти цитируемый пост)
Но другим советовать это я бы не стал

Да собственно, я тоже не писал какой-то "сверх эталонный образец" для подражания  smile 
Просто, исправил грубые ошибки ТС.

[в сторону] Никогда не знаешь на что тут набросяцца, честное слово.

Добавлено через 54 секунды
да, и GremlinProg, прошу извинить, если обидел. 
Не держите зла. smile 

PM MAIL   Вверх
GremlinProg
Дата 19.6.2013, 08:32 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106




M
GremlinProg
Цитата(volatile @  18.6.2013,  21:59 Найти цитируемый пост)
Никогда не знаешь на что тут набросяцца, честное слово

volatile, честно говоря, мне твоя реакция непонятна. Ты с момента появления на форуме делал эту ошибку, я просто закрывал на нее глаза. А когда я тебе по этому поводу сделал замечание, ты впал в истерику. Несерьезно.
Цитата(volatile @  18.6.2013,  21:59 Найти цитируемый пост)
Не держите зла.

Не держу, но в след. раз при подобной реакции молча отправлю в баню. Просто из соображений сохранности психического равновесия всех участников и экономии их времени (ты, к примеру уже отвлек xvr на 3 дня, поражен его выдержке).




Это сообщение отредактировал(а) GremlinProg - 20.6.2013, 09:48


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Earnest
Дата 20.6.2013, 05:05 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 33
Всего: 183



Да ладно тебе, GremlinProg. Ребята так интеллигентно спорили. А что из-за ерунды зацепились, ну так мало ли... Все бы так время убивали.
 smile  smile  smile 


--------------------
...
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.