2015-05-22 3 views
2

Я хочу проверить, есть ли в текстовом поле какой-либо текст, введенный пользователем, но не может. Заявление ниже всегда возвращает ложьRogue Wave Edit Box text

if (MyLLVTextEdit->getMessage() == NULL) 
{ 
    MessageBox(NULL,"No Text", "no Text",NULL); 
} 

также попытался

if (MyLLVTextEdit->getMessage() == "") 
{ 
    MessageBox(NULL,"No Text", "no Text",NULL); 
} 


if (MyLLVTextEdit->getValue() == NULL) 
{ 
    MessageBox(NULL,"No Text", "no Text",NULL); 
} 

if (MyLLVTextEdit->getValue() == "") 
{ 
    MessageBox(NULL,"No Text", "no Text",NULL); 
} 

Любые идеи, пожалуйста?

+0

ли Rogue Wave обеспечивает GUI-библиотеку то время? Я знал это как одну из STL-реализаций. –

ответ

1

Не знаком с библиотекой, но вы должны использовать strcmp функции для сравнения строк (символ *), чтобы проверить, если строка пуста, вы можете позвонить strlen

strlen(MyLLVTextEdit->getMessage()) == 0 

operator== может быть использован только если вы используете некоторые струнные классы, такие как std::stringQString или что-то еще

-2

Что возвращает getMessage()? Очень маловероятный char *, поскольку Rogue Wave имеет собственные строковые классы, совместимые с unicode.

Если это некий строковый класс Rogue Wave, проверьте, существует ли метод тестирования содержимого для пустоты.

Вероятно, вы должны использовать что-то вроде:

if (MyLLVTextEdit->getMessage().isNull()) 

или

if (MyLLVTextEdit->getMessage().isEmpty())