Я хочу проверить, есть ли в текстовом поле какой-либо текст, введенный пользователем, но не могу. Заявление ниже всегда возвращает ложь
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);
}
Есть идеи, пожалуйста?
Не знаком с вашей библиотекой, но вы должны использовать strcmp
функция для сравнения строк (char *), чтобы проверить, если строка пуста, вы можете вызвать strlen
strlen(MyLLVTextEdit->getMessage()) == 0
operator==
может использоваться, только если вы используете некоторые строковые классы, такие как std::string
QString
или что угодно
Что возвращает getMessage ()? Очень маловероятно char *, поскольку Rogue Wave имеет собственные строковые классы с поддержкой юникода.
Если это своего рода строковый класс Rogue Wave, проверьте, существует ли метод для проверки содержимого на пустоту.
Вероятно, вы должны использовать что-то вроде:
if (MyLLVTextEdit->getMessage().isNull() )
или же
if (MyLLVTextEdit->getMessage().isEmpty() )