Rogue Wave Edit Box текст

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

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);
}

Есть идеи, пожалуйста?

2 ответа

Решение

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

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

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

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

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

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

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

или же

if (MyLLVTextEdit->getMessage().isEmpty() )
Другие вопросы по тегам