Поле редактирования с возможностью задания IP-адреса
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
p>// нам нужен ввод только цифр, проверяем введенные символы на соответствие
for (int i = 0; i < Text.Length; i++)
{
// проверка на соответствие числам
=48&&Convert.ToInt32(Text[i])= 48 && Convert.ToInt32(Text[i]) <= 57)
// или соотвествие точке, не стоящей первой, не более чем третей и после цифры
|| (Text[i] == . && pCount = 1
=48&&Convert.ToInt32(Text[i-1])= 48 && Convert.ToInt32(Text[i - 1]) <= 57)))
{
if (Text[i] == .)
{
pCount++;
}
}
else
{
Text = Text.Substring(0, i) + Text.Substring(i + 1);
}
}
// закрываем ипы методом сканирования на точки
string Str = Text;
int ii = 0;
if (Str.IndexOf(.) != -1)
{
ii = (Convert.ToInt32(Str.Substring(0, Str.IndexOf(.))));
255){ii=255;}ip1=Convert.ToByte(ii);">if (ii > 255) { ii = 255; } ip1 = Convert.ToByte(ii);
Str = Str.Substring(Str.IndexOf(.) + 1);
}
if (Str.IndexOf(.) != -1)
{
ii = (Convert.ToInt32(Str.Substring(0, Str.IndexOf(.))));
255){ii=255;}ip2=Convert.ToByte(ii);">if (ii > 255) { ii = 255; } ip2 = Convert.ToByte(ii);
Str = Str.Substring(Str.IndexOf(.) + 1);
}
if (Str.IndexOf(.) != -1)
{
ii = (Convert.ToInt32(Str.Substring(0, Str.IndexOf(.))));
255){ii=255;}ip3=Convert.ToByte(ii);">if (ii > 255) { ii = 255; } ip3 = Convert.ToByte(ii);
Str = Str.Substring(Str.IndexOf(.) + 1);
}
if (Str != "")
{
255){ii=255;}ip4=Convert.ToByte(ii);">ii = (Convert.ToInt32(Str)); if (ii > 255) { ii = 255; } ip4 = Convert.ToByte(ii);
}
}
}
catch { }
// приводим в "божеский вид" напечатаный текст, если уже имеется 3 точки и последний символ не точка
if (pCount == 3 && Text.LastIndexOf(.) != Text.Length - 1)
{
Text = Convert.ToString(ip1) + "." + Convert.ToString(ip2) + "." + Convert.ToString(ip3) + "." + Convert.ToString(ip4);
}
// возвращаем каретку на место (сбивается при измении текста)
SelectionStart = start;
base.OnTextChanged(e);
}
}
}
Размещено на