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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
titans2011
297 / 258 / 43
Регистрация: 27.09.2010
Сообщений: 1,058
#1

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

20.04.2012, 12:12. Просмотров 1685. Ответов 2
Метки нет (Все метки)

Всем привет. Продолжаю изучение 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 ничего хорошего не записывается. Есть какой-то другой способ конвертации?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2012, 12:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как перевести WORD в INT (C++):

Как перевести из char в int? - C++
нужно присвоить значение массива char A в int B, например B=A, но выбивает ошибку, пробовал B=atoi(&A); но выбивает другое число

как можно перевести `int*' to `UINT' - C++
Есть программа в которой нужно отмечать сохраненные пункт меню. Решил данные об отмеченых пунктах записывать в реестр, после запуска...

Как перевести из WCHAR в int не потеряв цифру 0? - C++
Мне нужно перевести номер месяца в тип WCHAR для того, чтобы вывести в окно. Если использовать _itow_s(mm,date,10), то 0 пропадает. Хотя,...

Как перевести CString -ское число в Int? - C++
Есть CString -ское число. Как перевести это число в int??? Вот: { m_cap = m_cap + '1'; m_cap = c; int c = attol(m_cap); c =...

Как массив char[4] перевести в unsigned int? - C++
Есть массив из 4х char символов (4-е байта), нужно его перевести в unsigned int. Я сделал втупую: unsigned int B=0; ...

Как правильно перевести int и string в *char для записи в SQLlite? - C++
Доброго времени суток! Вопрос такой: Каким образом обычно переводятся значения типа int и string в SQL-запрос типа *char ? Вот...

2
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
20.04.2012, 12:13 #2
WORD == unsigned short int
DWORD == unsigned long int

В mingw реализовано вот так:
windef.h
C++
1
2
typedef unsigned short WORD;
typedef unsigned long DWORD;
0
titans2011
297 / 258 / 43
Регистрация: 27.09.2010
Сообщений: 1,058
20.04.2012, 12:23  [ТС] #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 поместить выделенный текст.
0
Изображения
 
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2012, 12:23
Привет! Вот еще темы с ответами:

Как перевести массив строк в массив int - C++
for (int i=0; i<str.size(); i++) { str=static_cast<int>(str); } есть vector <string> str; Оно не...

Перевести INT в STRING - C++
Ребят,кто знает функцию ,чтобы с помощью нее перевести число в строку? ну типа int a=565; string b; потом...

Перевести double в int - C++
Как перевести значения типа double (после логарифмического преобразования) в int?

Перевести char* в int - C++
Всем привет. Такая проблема: есть указатель на char, допустим char*time = "20"; и есть число, допустим int k = 23; Вопрос - как перевести...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru