Форум программистов, компьютерный форум CyberForum.ru

как перевести WORD в INT - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
titans2011
294 / 255 / 43
Регистрация: 27.09.2010
Сообщений: 1,058
20.04.2012, 12:12     как перевести WORD в INT #1
Всем привет. Продолжаю изучение WinApi. Возник такой вопрос. Я выделяю текст в EditBox , и получаю позиции выделенного текста таким образом:
C++
1
2
3
4
DWORD dwPosition = SendMessage(hEdit, EM_GETSEL, 0, 0);
    WORD wBeginPosition = LOWORD(dwPosition);
    WORD wEndPosition = HIWORD(dwPosition);
    int ky=(wEndPosition-wBeginPosition);
Мне нужно что бы в ky записалось число, и что бы я потом выделил под эти выделенные символы динамическую память.Я посмотрел по дебагеру, в ky ничего хорошего не записывается. Есть какой-то другой способ конвертации?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2012, 12:12     как перевести WORD в INT
Посмотрите здесь:

C++ как можно перевести `int*' to `UINT'
C++ Перевести число из int в сhar
C++ Как перевести CString -ское число в Int?
перевести double в int C++
C++ Как перевести массив строк в массив int
C++ Как перевести из WCHAR в int не потеряв цифру 0?
C++ Как правильно перевести int и string в *char для записи в SQLlite?
C++ Массив int перевести в буфер

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
20.04.2012, 12:13     как перевести WORD в INT #2
WORD == unsigned short int
DWORD == unsigned long int

В mingw реализовано вот так:
windef.h
C++
1
2
typedef unsigned short WORD;
typedef unsigned long DWORD;
titans2011
294 / 255 / 43
Регистрация: 27.09.2010
Сообщений: 1,058
20.04.2012, 12:23  [ТС]     как перевести WORD в INT #3
Тут в общем "петрушка" получается. По другому не назовёшь. Вот такой код у меня:
C++
1
2
3
4
5
6
7
8
DWORD dwPosition = SendMessage(hEdit, EM_GETSEL, 0, 0); 
                    WORD wBeginPosition = LOWORD(dwPosition);
                    WORD wEndPosition = HIWORD(dwPosition);
                    int ky=(int)(wEndPosition-wBeginPosition);
                                        TCHAR* buf= new TCHAR[textsize];
                    GetWindowText(hEdit, buf, textsize);    
                    buf2= new TCHAR[ky];
                    memmove(buf+wBeginPosition,buf2,sizeof(buf)*ky);
Может я лишние действия делаю, но в buf2 Всё время записывается такая крокозябрина. Т.е. что я хочу сделать. Я выделяю текст в EditBox и заношу его в буфер TCHAR* buf2. а buf у меня содержит весь текст, и зная границы выделения, я пытаюсь в buf2 поместить выделенный текст.
Изображения
 
Yandex
Объявления
20.04.2012, 12:23     как перевести WORD в INT
Ответ Создать тему
Опции темы

Текущее время: 09:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru