...
CString ss;
m_edit.GetWindowTextA(ss);
ss.Replace( 'w', 'f' );
m_edit.SetWindowTextA(ss);
...
Редактирование string
Каков код смены в переменной опредёлённых символов на другой?
Например я создаю edit и button в диалоговом окне, и в edit создаю переменную text1. Как теперь убрать в ней все W и вместо них поставить F?
Я пытылся вот что вставить:
[FONT="Arial"]text1;
UpdateData(true);
text1.Find("v");
text1.Insert("1");[/FONT]Ну понятное дело не работало:D
Незнаю даже что и делать просьбы помоч
Заранее спасибо:)
Код:
Записываем в строку содержимое текстового поля.Функция int Replace( TCHAR chOld, TCHAR chNew ) - заменяет символы chOld на chNew и возвращает количество проведенных замен или 0, если их не было.
{
text1;
UpdateData(true);
CString ss;
ss=text1;
m_edit.GetWindowTextA(ss);
ss.Replace( 'w', 'f' );
m_edit.SetWindowTextA(ss);
// TODO: Add your control notification handler code here
}
Вот код а вот и ошибки:
error C2065: 'm_edit' : undeclared identifier
left of '.SetWindowTextA' must have class/struct/union
error C2228: left of '.GetWindowTextA' must have class/struct/union
Может я должен был о чёмто догодаться:(
Но я тут пока в этой области больше как нуб, просьба посмотреть ошибки и обьяснить более разжованно что я сделал нетак
Опятьже заранее благодарю:)
Цитата: necron
Вот код а вот и ошибки:
error C2065: 'm_edit' : undeclared identifier
m_edit - контрол-переменная текстового поля.Обьявлена,как CEdit m_edit.Ты ж ее добавь...Или как он а у тебя называется text1 ...
Цитата: necron
left of '.SetWindowTextA' must have class/struct/union
error C2228: left of '.GetWindowTextA' must have class/struct/union
Может я должен был о чёмто догодаться:(
Но я тут пока в этой области больше как нуб, просьба посмотреть ошибки и обьяснить более разжованно что я сделал нетак
Опятьже заранее благодарю:)
Для этой контрол-переменной и вызывается эта функция.В 2003 студии просто SetWindowText.
{
text1;
UpdateData(true);
CString ss;
text1.GetWindowTextA(ss);
ss.Replace( 'w', 'f' );
text1.SetWindowTextA(ss);
// TODO: Add your control notification handler code here
}
Вот новый код. 1 ошибка ушла 2 осталось:D
теперь новые ошибки:
is not a member of 'ATL::CStringT<BaseType,StringTraits>'
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
error C2039: 'SetWindowTextA' : is not a member of 'ATL::CStringT<BaseType,StringTraits>'
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
Что-то опять я намудрил видимо. А кстати переменныу в edit надо как контрол или как валью задавать?
Я так и так пытался, но безрезультатно. Я понимаю что наверное уже тебя достал но буду плагодарен если обьясниш мне это:)
Кстати я в visual studio C++8.0 работаю, если это важно
Можно сделать и value-переменную типа CString.Тогда в ф-ии обработчике нажатия кнопки напиши
Код:
UpdateData(true);
ss.Replace( 'w', 'f' );
UpdateData(false);
ss.Replace( 'w', 'f' );
UpdateData(false);
Вводим в текстовое поле текст,допустим "wwwwwwwwww",нажимаем кнопку и получаем "ffffffffff",юникод можно теперь не убирать.
Лови плюсик за терпение. Не каждый бы мне это обьяснил за день:)
http://dump.ru/files/n/n111834471/
Вот и программа =)
Вот и программа =)