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::string QString или что угодно

1

Другие решения

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

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

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

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

или же

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

По вопросам рекламы [email protected]