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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2010, 06:12   #1
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию Парсинг прокси листа

Есть прокси лист такого вида:
Цитата:
218.69.96.4:80
218.91.45.90:80
221.130.13.225:80
Он запихивается в листбокс, после чего из выбранной строчки листбокса нужно вытащить отдельно IP адрес и отдельно порт. Я пробовал реализовать это вот так:
Код:
function Pars(T_, ForS, _T: string): string;
var
 a, b: integer;
begin
if (T_ <> '') and (ForS <> '') and (_T <> '') then begin
a := Pos(T_, ForS);
Result := Copy(ForS, a+Length(T_), Length(ForS));
b := Pos(_T, Result);
Result := Copy(Result, 1, b-1);
end
 else
Result := 'NOT';
end;
Код:
serv:=Pars('',ListBox2.Items[ListBox2.ItemIndex],':');
port:=Pars(':',ListBox2.Items[ListBox2.ItemIndex],'');
Но данный способ не умеет находить пустое значение, поэтому в данном случае не работает.
Подскажите как отпарсить этот прокси лист. Заранее спасибо.
Crystallon вне форума Ответить с цитированием
Старый 13.05.2010, 08:12   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А функцию Pos юзать не модно?
p51x на форуме Ответить с цитированием
Старый 13.05.2010, 08:51   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Он ее юзает, но чего-то у него там все так заумно, что без бутылки не разберешься. Ищешь через pos :, все что до него это стало быть адрес, все что после порт, если двоеточия нет следовательно все адрес. Правильно?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.05.2010, 09:41   #4
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Он ее юзает, но чего-то у него там все так заумно, что без бутылки не разберешься. Ищешь через pos :, все что до него это стало быть адрес, все что после порт, если двоеточия нет следовательно все адрес. Правильно?
Не могли бы вы написать как это будет выглядеть?
Crystallon вне форума Ответить с цитированием
Старый 13.05.2010, 10:06   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Код:
// х - указатель
// Stroka - что нужно разбирать
// PortStr - порт
// AdrStr - адрес
If Stroka='' then
begin
      
     // Если строка не задана
     PortStr:='';
     AdrStr:='';
     Exit;
end;

x:=pos(':', Stroka);
If x=0 then
begin
    
    // Ну если здесь, то порт не задан
    PortStr:='';
    AdrStr:=Stroka;
    Exit;
end;

// Порт не задан?
if x=Length(Stroka) then
begin
       
      // Значит порта нет, а двоеточие есть
     PortStr:='';
     AdrStr:=copy(Stroka, 1, x-1);
     Exit; 
end;

// Получим адрес
AdrStr:=copy(Stroka, 1, x-1);

// Получим порт
PortStr:=copy(Stroka, x+1, Length(Stroka)-x);
ну как образец, там сам допилишь
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание листа с одновременным созданием формулы на ячейку нового листа ShamanK Microsoft Office Excel 4 02.05.2010 22:00
Парсинг XML [Smarik] Общие вопросы Delphi 6 13.03.2010 17:38
Парсинг статистики Shouldercannon Работа с сетью в Delphi 1 31.01.2010 11:53
Парсинг сайта AnToHa-KiLL Общие вопросы Delphi 3 30.06.2009 08:22
Парсинг строки beemoto Общие вопросы Delphi 18 12.04.2009 18:52