тип данных cpp - PullRequest
       13

тип данных cpp

0 голосов
/ 15 июня 2009

Здравствуйте, я разрабатываю приложение MFC в vc ++ 6.0. Я создал одну переменную int (m_iEdit1) для EditBox1 и одну переменную CString (m_strEdit2) для EditBox2. Я хотел дать условие, что два поля ввода не должны быть пустыми.

if (m_iEdit1 == "")
возвращение;

if (m_strEdit2 == "")
возвращение;

Но первое условие здесь не сработает, я получу ошибку ошибка C2446: '==': нет преобразования из 'char *' в 'int'

скажите, пожалуйста, как проверить, что переменная типа int. Переменная EditBox пуста или нет.

Ответы [ 3 ]

3 голосов
/ 15 июня 2009

Вы должны использовать UpdateData () метод.
Переменные m_ не получат данные от элементов управления, если вы не скажете .

UpdateData(TRUE) // the m_ variables will be updated from the controls
UpdateData(FALSE) // the controls will be updated from m_ variables

Вы хотите, чтобы m_iEdit1 был целым числом, но поскольку вам необходимо проверить, является ли EditBox1 пустым, измените m_iEdit1 на CString. Тогда вы можете использовать

atoi(m_iEdit1)

для получения целочисленного значения.

Теперь, когда m_iEdit1 и m_strEdit2 являются CStrings, вы можете использовать код

if ( m_iEdit1.IsEmpty() ) return;
if ( m_strEdit2.IsEmpty() ) return;
0 голосов
/ 15 июня 2009

Вы можете использовать метод GetLine , чтобы получить строку из элемента управления редактирования. Затем вы можете использовать IsEmpty (при условии, что вы передали CString), чтобы проверить, пусто ли оно.

0 голосов
/ 15 июня 2009

Вам нужно проверить фактическую переменную EditBox (вы называли ее EditBox1?), Чтобы увидеть, является ли значение пустым.

Вам следует также рассмотреть другие проверки, чтобы убедиться, что никто не пытается присвоить нечисловые значения вашему целочисленному значению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...