Delphi 7 имеет функции UpperCase () и LowerCase () для строк.Существует также UpCase () для символов.
Если я хочу выполнить поиск подстроки в другом регистре без учета регистра, я делаю это:
if Pos('needle', LowerCase(hayStack)) > 0 then
Вы просто используете строчные литералы нижнего регистра (иликонстанты) и применить строчную функцию к строке перед поиском.Если вы будете выполнять много поисков, имеет смысл преобразовать только один раз во временную переменную.
Вот ваш случай:
a := '2 x 3'; // Lowercase x
b := '9 X 12'; // Upper case X
x := Pos('x', LowerCase(a)); // x = 3
x := Pos('x', LowerCase(b)); // x = 3
Чтобы увидеть, является ли символ верхним илиниже, просто сравните его с версией UpCase:
a := 'A';
b := 'b';
upper := a = UpCase(a); // True
upper := b = UpCase(b); // False