Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Указатели ???

7.3K
29 июля 2004 года
Clort
7 / / 29.07.2004
Плиз, подскажите как лучше сделать:
Надо считать из edit box строку (ф-ция GetDlgItemText), и поместить ее в другой edit box (ф-ция SetDlgItemText) (MS VC++).
Можно ли здесь работать с указателями, или возможен только путь объявления char <имя_переменной>[size] (имеется ввиду переменная для хранения считанной строки).
Если возможно, то можно какой-нить примерчик как это делается :)
7.3K
30 июля 2004 года
anaconda
6 / / 23.07.2004
Привет.

Функция GetDlgItemText считывает СТРОКУ из окна и сохраняет ее в УКАЗАНОМ месте! SetDlgItemText записывает стороку из УКАЗАНОГО места в окно(у тебя - edit)! Тебе все-равно придеться выделять память для строки. Если тебе так жалко это делать, выделяй динамическую память.

char *text;
text = new char[n]; //n - число байтов.
GetDlgItemText(..., text,...);//извини не
помню параметров
SetDlgItemText(..., text,...);
delete text;//освобождаем память

Удачи!:)
7.3K
30 июля 2004 года
Clort
7 / / 29.07.2004
Привет, Anaconda!
Спасибо за помощь!
Но дело в том, что у меня должно быть около 40 таких переменных, их из формы другой программы надо считать, потом поместить в edit box'ы, а затем запостить с изменениями в новую форму =(
Вообщем памяти кушается немеренно -(
2.0K
30 июля 2004 года
HardMix
78 / / 25.06.2003
Цитата:
Originally posted by Clort
Привет, Anaconda!
Спасибо за помощь!
Но дело в том, что у меня должно быть около 40 таких переменных, их из формы другой программы надо считать, потом поместить в edit box'ы, а затем запостить с изменениями в новую форму =(
Вообщем памяти кушается немеренно -(


Так ты ж не одновременно будешь выделять память для всех строк. Выделил - освободил. И все нормально. А можно узнать, каким образом ты берешь текст из окна другой программы?

6.7K
01 августа 2004 года
TylerDurden
20 / / 26.07.2004
А зачем здесь вообще динамически память выделять? Здесь спокойно можно обойтись без указателя:

const int max=...;//max -максим число символов в строке
char text[max];
GetDlgItemText(hWndFrom,uIdEd1,text,max);
SetDlgItemText(hWndTo,uIdEd1,text);
....
GetDlgItemText(hWndFrom,uIdEd40,text,max);
SetDlgItemText(hWndTo,uIdEd40,text);
....

И ничего выделять и освобождать не надо.
Цитата:

Originally posted by Hardmix

А можно узнать, каким образом ты берешь текст из окна другой программы?


один из вариантов, воспользоваться функцией
HWND WindowFromPoint(POINT p)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог