Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 20.08.2009, 22:11   #1
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию [Делфи] Определить что текст явл. айпи адресом

Всем здрасти, вопрос по делфи,
Есть edit, в нем записан текст, нужно определить программно айпи адрес есть ли он там в edit'е (либо там айпи адрес один (без лишнего текста я имею ввиду), либо там может быть какой либо текст но не айпи адрес)

Собственно как это сделать? (давайте щас не будем касаться на скоко строг айпи адрес, т.е. адрес такого типа 624.526.244.881 - "не строгий" (думаю понятно всем почему такой айпи адрес считается не правильным))

Жду советов
zotox вне форума
Старый 20.08.2009, 22:14   #2
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Мне не понятно, почему этот АПИ адрес не верен..... : \

Ну сделать проверку по условиям:
1. Только цифры и точки.
2. Шаблон *.*.*.*
Вавел из ГМТУ вне форума
Старый 20.08.2009, 22:18   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Потому что макс может быть 255.255.255.255
Есть стандартный контрол IP-адрес, можете его использовать и быть уверенным, что адрес будет введён верно. Или можно попробовать по нему подключиться - если не получилось, значит неправильный формат адреса

Последний раз редактировалось netrino; 20.08.2009 в 22:21.
netrino вне форума
Старый 20.08.2009, 22:20   #4
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

:-D

Ну добавилось ещё одно условие:
....
3. Значения должны быть не меньше 0 и не больше 255.
Вавел из ГМТУ вне форума
Старый 20.08.2009, 22:34   #5
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Цитата:
Сообщение от Вавел из ГМТУ Посмотреть сообщение
3. Значения должны быть не меньше 0 и не больше 255.
ЦИТАТА ИЗ ПЕРВОГО СООБЩЕНИЯ "(давайте щас не будем касаться на скоко строг айпи адрес, т.е. адрес такого типа 624.526.244.881 - "не строгий" (думаю понятно всем почему такой айпи адрес считается не правильным))"

Цитата:
1. Только цифры и точки.
2. Шаблон *.*.*.*
Давайте вы уже будете кидать исходники/мануалы на подобные функционалы (или же примеры того чего я хочу)(то что вы перечислили) а не на словах, на словах я тоже замечательно могу рассказывать
zotox вне форума
Старый 20.08.2009, 22:54   #6
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Какие ещё мануалы

Чтото типа такого.. А уж до рабочего состояния сам доводи.... Нет тут такого "Эй двое из ларца одинаково с лица..."

Код:
C := ''; Ok := True;
For i := 1 To Length(S) Do
Begin
C := C + S[i];
If (Length(C) > 3) Or (C = '') Or (Pos('1234567890.', S[i])) Then Ok := False;
If S[i] = '.' Then C := '';
End;

Последний раз редактировалось Stilet; 21.08.2009 в 09:03.
Вавел из ГМТУ вне форума
Старый 20.08.2009, 23:26   #7
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Цитата:
Какие ещё мануалы
Это типа статей

Цитата:
Нет тут такого "Эй двое из ларца одинаково с лица..."
Да это понятно :-) (мультик мне понравился)

Цитата:
C := ''; Ok := True;
For i := 1 To Length(S) Do
Begin
C := C + S[i];
If (Length(C) > 3) Or (C = '') Or (Pos('1234567890.', S[i])) Then Ok := False;
If S[i] = '.' Then C := '';
End;
Объяви если можно переменные

(у меня пишет ошибку "Operation not applicable to this operand type" скорее всего не так объявляю (ост. на строке где if и or))

Последний раз редактировалось zotox; 20.08.2009 в 23:31.
zotox вне форума
Старый 20.08.2009, 23:28   #8
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

S и С это String.... Тобишь
S := Edit1.Text;

Вот, осталось только проврку сделать на диапазон:
Код:
S := '999.999.9999.999';
C := S[1]; Ok := True; VPoint := 0;
If (S[1] = '.') Or (S[Length(S)] = '.') Then Ok := False;
For i := 2 To Length(S) Do
Begin
If S[i] = '.' Then
  Begin
    C := '';
    VPoint := Vpoint + 1;
    If S[i-1] = '.' Then Ok := False;
  End;
If (Pos(S[i], '1234567890.') = 0) Or
   (Length(C) > 3) Or
   (Vpoint > 3) Then Ok := False;
C := C + S[i];
End;

Последний раз редактировалось Stilet; 21.08.2009 в 09:03.
Вавел из ГМТУ вне форума
Старый 21.08.2009, 00:13   #9
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Цитата:
Сообщение от Вавел из ГМТУ Посмотреть сообщение
Вот, осталось только проврку сделать на диапазон:
Код:
S := '999.999.9999.999';
C := S[1]; Ok := True; VPoint := 0;
If (S[1] = '.') Or (S[Length(S)] = '.') Then Ok := False;
For i := 2 To Length(S) Do
Begin
If S[i] = '.' Then
  Begin
    C := '';
    VPoint := Vpoint + 1;
    If S[i-1] = '.' Then Ok := False;
  End;
If (Pos(S[i], '1234567890.') = 0) Or
   (Length(C) > 3) Or
   (Vpoint > 3) Then Ok := False;
C := C + S[i];
End;
Ок спасибо
Тему можно закрывать я так думаю, дальше сам подумаю

Последний раз редактировалось zotox; 21.08.2009 в 00:26.
zotox вне форума
Старый 21.08.2009, 00:15   #10
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Эта строка выглядит довольно странно:

Код:
if pos('.',s[i])<>0 then....
Вавел из ГМТУ вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение имя компьютера и айпи адресса 0x007f Помощь студентам 5 20.08.2009 21:29
Как определить количество занятых секторов на диске в делфи? buka_14 Помощь студентам 0 16.04.2009 16:42
Голос в текст на С++/Делфи [M]en Помощь студентам 7 26.03.2009 03:22
Помогите определить что с компом не так?? molodoyy Компьютерное железо 15 02.01.2009 22:06
Определить, совпадает ли текст с конечным отрезком ряда 0123456789 stasig Паскаль, Turbo Pascal, PascalABC.NET 2 09.12.2008 22:52