Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Функция проверки корректности ввода

Delphi , Синтаксис , Текст и Строки



Автор: DiVo
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> 
Результат истина в случае если во входной строке нет недопустимых
символов
Rej - флаг режима
если Rej:=true, то Conf - строка недопустимых символов
если Rej:=false, то Conf - строка допустимых символов
Input - входная строка

Зависимости: Стандартные модули
Автор:       Ru, DiVo_Ru@rambler.ru, Одесса
Copyright:   DiVo 2002, creator Ru
Дата:        28 декабря 2002 г.
***************************************************** }

function ConformStr(Input, Conf: string; Rej: boolean): boolean;
var
  i: integer;
begin
  result := true;
  if Rej then
  begin
    for i := 1 to length(Conf) do
    begin
      if pos(Conf[i], Input) <> 0 then
      begin
        result := false;
        break;
      end
    end;
  end
  else
  begin
    for i := 1 to length(Input) do
    begin
      if pos(Input[i], Conf) = 0 then
      begin
        result := false;
        break;
      end;
    end;
  end;
end;

Пример использования:

s := 'Приве6т!';
if not ConformStr(s, '0123456789') then
  s := Strtst(s, '0123456789');
//после этого s='Привет!'

Функция ConformStr предназначена для проверки соответствия введенной строки ввода строке подтверждения. Функция принимает три параметра: входную строку Input, строку подтверждения Conf и логический флаг Rej.

Если Rej равен True, функция проверяет, содержится ли в Conf какой-либо символ из Input. Если она находит такой символ, результат устанавливается в False.

С другой стороны, если Rej равен False, функция проверяет, содержится ли в Input какой-либо символ из Conf. Опять же, если она находит такой символ, результат устанавливается в False.

В этом коде используется компонент TRegExpr для создания регулярного выражения. Если Rej равен True, паттерн создается как класс символов ([]) содержащий все символы из Conf. Метод Search вызывается на входной строке с этим паттерном, и если найти соответствие, результат устанавливается в False.

Если Rej равен False, паттерн создается как отрицательный класс символов ([^]) содержащий все символы, не содержащиеся в Conf. Опять же, метод Search вызывается на входной строке, и если найти соответствие, результат устанавливается в False.

Пример кода:

function ConformStr(Input, Conf: string; Rej: boolean): boolean;
var
  RE: TRegExpr;
begin
  Result := True;

  if Rej then
  begin
    RE := TRegExpr.Create();
    try
      RE.Pattern := '[' + Conf + ']';
      if RE.Search(Input) > 0 then
        Result := False;
    finally
      FreeAndNil(RE);
    end;
  else
  begin
    RE := TRegExpr.Create();
    try
      RE.Pattern := '[^' + Conf + ']';
      if RE.Search(Input) > 0 then
        Result := False;
    finally
      FreeAndNil(RE);
    end;
  end;
end;

Функция ConformStr проверяет корректность ввода строки по списку допустимых или недопустимых символов, возвращая истину если строка является корректной.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Текст и Строки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-28 05:58:36/0.0034101009368896/0