|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Чем можно заменить AnsiPos?
Добрый день. Есть код
Код:
begin s:=Copy(HtmlCode,j,k-j); if (AnsiPos('http:',s)>0) or (AnsiPos('https:',s)>0) then if (AnsiPos('.doc',s)=0) and (AnsiPos('.pdf',s)=0) (*тут еще надо много затычек на десятки типов файлов*) then T4.Add(s); i:=k; break; end; Вопрос: какими способами это можно сделать, если есть похожий функционально код опубликуйте, если не трудно, в теме. |
#2
|
|||
|
|||
Массивом, циклом и or.
А еще лучше регулярными выражениями. Но это по желанию. |
#3
|
||||
|
||||
имхо, правильнее протокол проверять через AnsiStartsText.
класс TIniFile, метод: Код:
procedure ReadSection(const Section: string; Strings: TStrings); override; Код:
uses StrUtils, IniFiles, Пишу программы за еду. __________________ |
#4
|
||||
|
||||
См. последнюю ссылку в подписи.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
Если это блокиратор скачивания файлов, то он не правильно построен. Ибо расширение по показатель. Куча сайтов предлагают тебе скачать то же самое, но с расширением txt например, или jpg. Потом переименовываешь и все. Нужно по содержимому блокировать.
|
#6
|
||||
|
||||
Цитата:
|
#7
|
||||
|
||||
Цитата:
А как тогда блокировать, когда файл еще не скачан и нет возможности прочитать заголовок? Когда пользователь только начинает закачку? Цитата:
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110 |
#8
|
|||
|
|||
Весь вопрос, вообще как Вы видете работу пользователя с Вашей программой. Насколько я понимаю, это что то типа прокси?
|
#9
|
|||
|
|||
Rat
к прокси не имеет никакого отношения просто нужно в массиве строк полученном из ПМ (в ответ на запрос по словам поиска): - оставить только строки с УРЛ(сделано) - не пропустить строки с УРЛ, но заканчивающиеся на имя файла с расширением ДОК ПДФ и прочие картинки(тоже в общем сделано, но нужно улучшить - смотри топик) далее эти строки с УРЛ пойдут в ТВеббраузер для закачки и анализа страницы. при этом если УРЛ будет заканчиваться на файл.док(к примеру) - выскочит таблица из браузера с предложением сохранить-открыть файл, что требует вмешательства оператора, а программа то должна работать в автомате теперь понятнее о чем речь? |
#10
|
||||
|
||||
Цитата:
Оу. Теперь все ясно. Короче, для твоей проблемы - "чем заменить AnsiPos" ответ, как уже писал тут товарищ M.A.D.M.A.N. - юзать регулярные выражения. Создаешь список файловых екстеншионов, пишешь регулярку для опознания конца ссылки и в цикле гоняешь ее подставляя значения из списка. Как-то так. 00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110 |
#11
|
||||
|
||||
От путнего анонимайзера наврятли спасет.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#12
|
|||
|
|||
Цитата:
насчет циклов было сразу понятно. собственно представленный код - кусочек цикла. просто раньше бывали случаи когда нагромождения самопального кода заменялись одной встроенной функцией или процедурой Делфи. а может есть еще какие то варианты, типа массивы использовать, или как то класс ИНИ. в общем чтоб было проще и лучше вот об этом был вопрос |