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

Ваш аккаунт

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

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

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

Сравнение переменных

3.6K
30 августа 2004 года
Denton
41 / / 18.08.2004
Нужно сравнить переменную типа const char * с CEdit.
Вариант типа: strcmp(mychar_var, cedit_var) разумееться не работает, нужно сначала как-то конвертировать.

Подскажите, плиз....
527
30 августа 2004 года
pavor
275 / / 28.09.2003
Цитата:
Originally posted by Denton
Нужно сравнить переменную типа const char * с CEdit.
Вариант типа: strcmp(mychar_var, cedit_var) разумееться не работает, нужно сначала как-то конвертировать.

Подскажите, плиз....


Переменная CEdit - это ничто. Есть текст в CEdit хранящийся. Необходимо использовать макрос над const char* для конвертации в TCHAR, а потом _tcscmp. Макрос по-моему A2T, возможно нужен вариант, который использует const, не помню как называется, посмотри в MSDN или в том же header, что и A2T, (вроде atlconv.h)

3.6K
30 августа 2004 года
Denton
41 / / 18.08.2004
Туманно как-то..(для меня). Хотелось бы с примером...

Я к контролу привязал переменную. И может можно как в Дельфи, через функцию.....?
368
30 августа 2004 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by Denton
Я к контролу привязал переменную. И может можно как в Дельфи, через функцию.....?


что записано в control возвращает ф-ия m_edit.GetWindowText(*, *)

3.6K
30 августа 2004 года
Denton
41 / / 18.08.2004
А что прописывать в качестве параметра ? ( m_edit.GetWindowText(???) )
368
30 августа 2004 года
rostyslav
629 / / 13.07.2004
напр.
char buf[100];
m_edit.GetWindowText(buf, 100);
3.6K
31 августа 2004 года
Denton
41 / / 18.08.2004
Руки у меня не оттуда торчат :(

Пишу следущее:
.........
char get_temp[100]
if(strcmp(mychar[1],m_edit.GetWindowText(get_temp,100))==0)
MessageBox("So, it's right");
..........
// mychar- массив со списком паролей(к примеру)...

Ругаеться что:
E:\VC\UV\UVDlg.cpp(117) : error C2664: 'void __thiscall CWnd::GetWindowTextA(class CString &) const' : cannot convert parameter 1 from 'char [100]' to 'class CString &'
368
31 августа 2004 года
rostyslav
629 / / 13.07.2004
1. GetWindowText нужно вызвать отдельно.

char get_temp[100]
m_edit.GetWindowText(get_temp,100);

if(strcmp(mychar[1],get_temp)==0)
MessageBox("So, it's right");

2. но она ругается по другой причине. у GetWindowText есть 2 варианта

int GetWindowText( LPTSTR lpszStringBuf, int nMaxCount ) const;

void GetWindowText( CString& rString ) const;

если первый у тебя почему-то неработает (странно), тогда

CString get_temp;

m_edit.GetWindowText(get_temp);

if(strcmp(mychar[1],get_temp)==0)
MessageBox("So, it's right");
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог