Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получения текста из CEdit переменной, ... 
:(
    Опции темы
Почти я
Дата 22.9.2004, 11:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Как мне взять текст, который ведён в поле ввода?
Я имею ввиду CEdit
GetWindowText не приносит никаких результатов.
Я передаю в него два параметра:
Код

CEdit edit0;
...
Element.edit0.Create(WS_VISIBLE|WS_BORDER|WS_CHILD, CRect(10, 10, 310, 30), this, 101);
...
LPTSTR str="";
edit0.GetWindowText(str, edit0.GetWindowTextLength());
MessageBox(0, str, "...", 0);
...

Выводит пустой MessageBox...
  Вверх
Почти я
Дата 22.9.2004, 11:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











<censored 8>,
М
 
это лишнее

код кривой. ВОТ:
Код

CEdit edit0;
...
edit0.Create(WS_VISIBLE|WS_BORDER|WS_CHILD, CRect(10, 10, 310, 30), this, 101);
...
LPTSTR str="";
edit0.GetWindowText(str, edit0.GetWindowTextLength());
MessageBox(0, str, "...", 0);
...

  Вверх
Step
Дата 22.9.2004, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 5
Всего: 25



LPTSTR str=""; так делать нельзя

и вообще остерегайтесь объявлять переменые типа с префиксом LP

сделайте вот так
Код

char str[100];
edit0.GetWindowText(str,edit0.GetWindowTextLength());


или вот так
Код
CString str;
edit0.GetWindowText(str);



--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Почти я
Дата 22.9.2004, 11:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я за "<censored 8>", конечно, прощения прошу покорно...
Первый вариант покатил, а второй нет. Блин. вроде пробовал же вчера char юзать...
  Вверх
Step
Дата 22.9.2004, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 5
Всего: 25



Второй вариант тоже рабочий, это 100%
какую ошибку он вам дал....

если вам просто пустое окно выдало то попробуйте вот так вызвать мессайдж бокс
MessageBox(0,LPCSTR(str),"",0);


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Олег М
Дата 22.9.2004, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 10.6.2004
Где: Москва

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



Цитата(Step @ 22.9.2004, 14:19)
сделайте вот так Код 

char str[100]; edit0.GetWindowText(str,edit0.GetWindowTextLength());

Только не так, а вот так edit0.GetWindowText(str,sizeof(str));, а ещё лучше
Код

TCHAR str[100];
edit0.GetWindowText(str,sizeof(str)/sizeof(TCHAR));
Цитата
Первый вариант покатил, а второй нет. Блин. вроде пробовал же вчера char юзать...

Оба должны прокатить, они почти одинаковые, просто во втором случае в CString выделяется память под буффер. Может у тебя контрол ещё не создан?

PM MAIL ICQ   Вверх
Guest
Дата 22.9.2004, 15:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Второй вариант в задницу посылает. Матюкается, мол ему нужен LPTSTR, не CString.
  Вверх
Step
Дата 22.9.2004, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 5
Всего: 25



судя по всему
на второй вариант
мотюкает мессейдж бокс

хотя это странно

вы вот так пробывали LPCSTR(str)
Добавлено @ 16:53
мой рабочий год
Код

CString str;
wq.GetWindowText(str);
::MessageBox(0,LPCTSTR(str),"",0);




--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Олег М
Дата 23.9.2004, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 10.6.2004
Где: Москва

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



Цитата(Guest @ 22.9.2004, 18:04)
Второй вариант в задницу посылает. Матюкается, мол ему нужен LPTSTR, не CString.

Не может она так матюкатся. Скорее всего ты вызываешь не тот метод. Покаж код с CString.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

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


 




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


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

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