Вверх ↑
Ответов: 1343
Рейтинг: 31
#1: 2020-05-21 17:06:05 ЛС | профиль | цитата
Леонид писал(а):
Rysik, ну как всегда, без экстрасенсов не обойтись


вроде нет)

нужен аналог компонента StrMask, только в IС в качестве функции с указанием строки и маски

например у компонента есть мануал:

Маска для сравнения со строкой (* - любые символы, ? - один любой символ, # - одна любая цифра)

а должен быть такой (# - один любой символ от 1 до F, ^ - один любой символ от 1 до 8)

--- Добавлено в 2020-05-21 17:07:48

что то не понятное:


function _StrCmp(Str, Msk: PChar): Boolean;
begin
while (Str^ <> #0) and (Msk^ <> #0) do
begin

if Msk^ = '#' then
begin
if Str^ in ['1'..'F'] then Inc(Msk)
end;

if Msk^ = '^' then
begin
if Str^ in ['1'..'8'] then Inc(Msk)
else break;
end;


Inc(Str);
end;

Result := (Str^ = #0) and (Msk^ = #0);
end;

function StrCmp(Str, Msk: string): Boolean;
begin
Result := _StrCmp(PChar(Str), PChar(Msk));
end;


использование:


StrCmp(RM8, '##000000##000^00')
карма: 2

0
Редактировалось 1 раз(а), последний 2020-05-21 17:07:48