![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Тутанхамец |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 10.10.2005 Где: в пирамидЕ! Репутация: нет Всего: 6 |
Здравствуйте! Срочно нужна помощь вот в таком непростом деле:
1) Взять строку из переменной класса CEdit; 2) Прибавить к этой строке справа символ, допустим, "a"; 3) Запихнуть результат обратно в CEdit. И хорошо бы это оформить в виде функции, которая принимала бы прибавляемый символ. То бишь мне нужен аналог бейсиковского:
Догадываюсь, что вопрос идиотский, но рассчитываю на ваше милосердие. ![]() ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Тутанхамец, наверное речь идет все таки о Visual C++, там для связи с компонентой необходимо создать строковую переменную для данной компоненты. А запись и чтение данных в нее производится функцией
В зависимости от направления передачи. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
CString str;
Edit.GetWindowText(str); str = /*что-то делаешь*/ Edit.SetWindowText (str); -------------------- ... |
|||
|
||||
Тутанхамец |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 10.10.2005 Где: в пирамидЕ! Репутация: нет Всего: 6 |
Да, прошу прощения, забыл сказать - речь идет действительно о VC++.
Не знаю, что за UpdateData, но по-моему она здесь не причем. Извлекать текст из Edit предполагаю с помощью GetWindowText, а записывать - SetWindowText. Трабл в том, что я ни фига не знаю о работе со строками в VC++ 6.0. Вот что получается:
Но в эдит он лепит не "х", а какие-то случайные символы. ![]() Добавлено @ 08:12 Ой, Earnest, бальшой пасип! ![]() ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Это стандартная процедура обмена данными с диалогом MFC. Позволяет передовать данные в переменные из контролов и обратно. Фокус в том, что для элементарной работы, такой как считать или записать текст в MFC не обязательно создавать объект класса CEdit, можно толко виндовый контрол. Тогда UpdateData() довольно удобное средство, но можно конечно юзать и Апи. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
c CString работать удобнее:
void CCalcDlg::OnButton9() { //int i=m_Edit.GetWindowTextLength(); //char *existing; CString existing; //existing=(char *)malloc(sizeof(char)*(i+2)); m_Edit.GetWindowText(existing,i); //strcat(existing,"x"); existing += "x"; m_Edit.SetWindowText(existing); //free(existing); } |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |