Страница 1 из 1

Обработка текста

СообщениеДобавлено: 09.08.2009 17:49:26
Ver-J
Здравствуйте,пытаюсь написать простенького бота) например если у меня есть переменная text как мне обработать ёё процедурой antimat чтоб если было ругательное слово процедура выполняла определенные действия, такое возможно?

Re: Обработка текста

СообщениеДобавлено: 09.08.2009 18:49:33
скалогрыз
в помощь начинающим программистам функции Pos, AnsiLowerCase или WideLowerCase
а так же Copy, Delete и length

самый простой пример (и ОЧЕНЬ неточный)
Код: Выделить всё
function AntiMat(const text: WideString): WideString;
var
  l : WideString;
  i,j : integer;
const
  mat: WideString = 'куй';
begin
  Result := text;
  l := WideLowercase(text);
  j:=Pos(mat, l);
  while j > 0 do begin
    for j := j to j+length(mat) do begin
       Result[j]:='*';
       l[j]:='*';
    end;
    j := Pos('куй', l); 
  end;
end;
;

Re: Обработка текста

СообщениеДобавлено: 09.08.2009 21:12:56
Ver-J
спасибо буду пробывать :wink:

Re: Обработка текста

СообщениеДобавлено: 10.08.2009 11:56:22
gen
А есть ли какие-то процедуры для перевода русского текста в транслит?

Re: Обработка текста

СообщениеДобавлено: 20.08.2009 19:31:00
eastorwest
Про преобразование UTF8 в Translit смотри страничку (где-то в середине код функции Utf8ToTranslit):
viewtopic.php?f=5&t=2389&st=0&sk=t&sd=a&start=45