![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
Здравствуйте, не работает обработчик события,в котором нельзя вводить более 3-х точек
Код:
from dark to light)
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Он работает.
Только, вероятно, не совсем так, как Вам хочется. Т.к. Вы не объяснили, чего хотите, предположу, что (pr=0) нужно заменить на (pr<=0). И в этом случае лучше сделать его не byte, а что-нибудь знаковое, например, intewger. Иначе при вычитании из 0 он становится =255. В принципе, более радикальное средство: Код:
|
![]() |
![]() |
![]() |
#3 |
Delphi XE7
Пользователь
Регистрация: 26.07.2010
Сообщений: 74
|
![]() Код:
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
А тупо посчитать точки, не? Зачем при вводе это делать?
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() |
![]() |
![]() |
![]() |
#6 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
вводится ip адрес например 255.255.255.233
допустимо только три точки, остальные не будут прописываться, вот этого и хочу добиться
from dark to light)
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
MaskEdit и MaskEdit.EditMask='999.999.999.999' ;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
ТС, пфф, брр ну на нагромоздили вы кода.... непонятного.
Аватар, не вариант. В IP байты а не целые. Держите.. Код:
Последний раз редактировалось Человек_Борща; 21.04.2013 в 18:15. |
![]() |
![]() |
![]() |
#9 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
Человек_Борща спасибо вам большое, но мне не лишь бы сделать, а понять, и придумать свой алгоритм)
from dark to light)
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
1. Убираете пробелы(Trim)
2. Проверяете длину строки. Должна быть <= 15 знакам. 3. От начала строки до точки копируете знаки, и отрезаете скопированное вместе с точкой. Если точку не нашли, то exit и result = FALSE. => 111.222.333.444 -1. Отрезали 111, осталось 222.333.444 -2. Отрезали 222, осталось 333.444 -3. Отрезали 333, осталось 444 -4. Преобразуем в число оставшееся. 4. теперь циклом по массиву и преобразуете строки в числа, для этого придумана TryStrToInt, если не преобразовало, для этого байта result = FALSE, если преобразовало, то выполняется проверка: (<число> >= 0) and (<Число> <= 255) если соблюдается, то для этого байта result = TRUE В результат функции просто проверяете чтобы все 4 байта имели значение TRUE. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[C] Удаление одинаковых символов со строки | decantnik | Помощь студентам | 6 | 01.09.2013 00:37 |
строки ,замена одинаковых символ , что расположены рядом | Olga1991_1 | Общие вопросы C/C++ | 9 | 02.12.2012 01:16 |
Ошибка при вводе лаинских и русских символов | Sarumjan | Общие вопросы по Java, Java SE, Kotlin | 0 | 26.10.2012 14:57 |
Не срабатывание русской кодировки при вводе символов с клавиатуры | Syltan | Общие вопросы C/C++ | 5 | 24.05.2010 19:16 |
Автозаполнение при вводе пару символов | Syltan | Операционные системы общие вопросы | 2 | 20.05.2010 16:51 |