Леонид писал(а):
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')