Можно вынести список расширений в файл, необязательно INI, можно и просто в текстовом файле хранить, грузить потом из него в TStringList, потом циклом пробегаться по нему, если встретилось расширение в списке запрещенных, сразу же выходить из цикла (Break), перед тем же как добавлять в список, у тебя T4.Add(s), делать проверку если переменная последнего цикла меньше чем кол-во элементов в списке запрещенных расширений, то значит выход из цикла был совершен досрочно, => данный урл не попадает под оговариваемые условия и добавлять его не надо. Либо флаг какой завести, и в цикле проверки расширений его выставлять. А после цикла уже смотреть этот флаг.
То есть должно получиться что-то типа такого:
| Код | var s: string; n, a: Integer; Ini: TStringList; begin try s:='http://forum.wingrad.ru.pdf'; Ini:=TStringList.Create; Ini.LoadFromFile('C:\restricted_exts.txt');
for n := 0 to Ini.Count - 1 do begin if AnsiPos(Ini[n],s) <> 0 then Break; end;
if Not (n = Ini.Count) then ShowMessage('Restricted extension found') //здесь должны быть T4.Add(s) и т.д. else ShowMessage('Restricted extension not found') finally Ini.Free; end;
|
Только это слабенькая защитка такая получается. На сайтах типа http://www.pdftoword.com не сработает или https://www.docs.google.com/gview тоже пример. |