Проверка ввода в Maskedit

  • Автор темы razial
  • Дата начала
R

razial

Гость
#1
Добрый день. Мне необходимо создать в своём приложении поле, которое будет похоже на поле ip-адреса, что находится в "свойства протокола TCP/IP". Так же мне надо сделать проверку, точно такую же как та что происходит при вводе ip-адреса, в свойствах сетевой карты, то есть если вводишь число больше 255 то он выдаёт ошибку. Создавать Поле пробовал Компонентом MaskEdit, в его свойствах, в EditMask прописал: "!999/999/999/999;1; " Правильно ли я его создал, и как сделать проверку???
 
E

eReS

Гость
#2
Создаешь 4 переменные, a,b,c,d к примеру, проверяешь больше ли 255 условием, для работы превращаешь в строку следующим образом:

char buf[15];
sprintf(buf, "%d.%d.%d.%d", a,b,c,d);

И будет оно у тебя все в массиве, надеюсь знаешь как с массивами работать :happy:
 
R

razial

Гость
#3
:happy: ну когда-то проходил, попробую разобраться, в общем спасибо. если возникнут вопросы напишу.
 
R

razial

Гость
#4
У меня есть ещё один вопрос про MaskEdit, чуть другого характера. У меня рядом с компонентом, находится CheckBox, который по умолчанию у меня Disabled (в свойствах Enabled прописано false). Надо сделать так чтобы при заполнении каждого раздела хотя бы одной цифрой оно становилось Enabled. С компонентом Edit было проще, там я использовал такой код:

while(Form2->Visible==true)
{
if((Edit1->Text).Length()!=0)
CheckBox1->Enabled=true;
else
CheckBox1->Enabled=false;
return;
}

А как это реализовать с MaskEdit? Превращать в строку и работать как с массивом? Или можно реализовать это как-нить проще?