Функция для удаления из строки лишних символов

Функция для удаления из строки лишних символов

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Функция для удаления из строки "лишних" символов.
Функция для удаления из строки "лишних" символов.
Входные параметры:
Input - входная строка, которую необходимо очистить от лишних символов
EArray - строка, содержащая набор разрешенных или запрещеных символов
в зависимости от Action
Action - указывает на то, что из себя представляет массив EArray.
Action может принимать следующие значения:
1 - массив EArray представляет собой строку разрешенных символов
2 - EArray - массив запрещенных символов.
Зависимости: делал в Д5, 6 под Win9x
Автор: Ru, <a href="mailto:DiVo_Ru@rambler.ru">DiVo_Ru@rambler.ru</a>, Одесса
Copyright: DiVo 2002, creator Ru
Дата: 11 ноября 2002 г.
***************************************************** }

function strtst(var Input: string; EArray: string; Action: integer): string;
begin
 case Action of
  1:
  begin
  while length(Input) <> 0 do
  begin
  if pos(Input[1], EArray) = 0 then
  delete(Input, 1, 1)
  else
  begin
  result := result + Input[1];
  delete(Input, 1, 1);
  end;
  end;
  end;
  2:
  begin
  while length(Input) <> 0 do
  begin
  if pos(Input[1], EArray) <> 0 then
  delete(Input, 1, 1)
  else
  begin
  result := result + Input[1];
  delete(Input, 1, 1);
  end;
  end;
  end;
 else
  messagebox(0, 'Не корректный вызов функции.', '', mb_ok);
 end;
end;
Пример использования:
// 1.
s := edit1.text;
s := strtst(s, '0123456789.', 1);
edit1.text := s;
// например на входе: 0.16+
// на выходе будет: 0.16
// 2.
s := edit1.text;
s := strtst(s, '/*-+,', 2);
edit1.text := s;
// на входе: 0.16+
// на выходе будет: 0.16

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...