
03.11.2009, 12:33
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
С нами:
9715564
Репутация:
89
|
|
.ATK, регуляркой и выдираю  Но письма на разных языках идут, всех признаков не знаю
Функция проста:
Код:
function check_password (mess : tidmessage) : widestring;
var
s : widestring;
begin
Result := 'false';
if mess.CharSet = 'UTF-8' then s := utf8toansi (mess.Body.GetText);
if extract (s, 'password\sis:\s*[^\r\n]*[^\r\n]') <> '' then Result := deletestr (extract (s, 'password\sis:\s*[^\r\n]*[^\r\n]'), 'password is: ');
if extract (s, 'пароль:\s*[^\r\n]*[^\r\n]') <> '' then Result := deletestr (extract (s, 'пароль:\s*[^\r\n]*[^\r\n]'), 'пароль: ');
end;
Но она понимает только русский, английский, украинский языки. Как вариант, можно попробовать привязаться к двоеточию...
Привязал, сейчас выложу новый билд:
Код:
function check_password (mess : tidmessage) : widestring;
var
s : widestring;
begin
Result := 'false';
if mess.CharSet = 'UTF-8' then s := utf8toansi (mess.Body.GetText);
if extract (s, ':\s*[^\r\n]*[^\r\n]', 0) <> '' then Result := deletestr (extractproxy (s, ':\s*[^\r\n]*[^\r\n]', 0), ': ');
end;
Treу, со всеми распространенными. С нераспространенными также пытается работать (и довольно успешно, надо сказать).
Последний раз редактировалось Пуховой; 03.11.2009 в 12:51..
|
|
|