diff --git a/components/rx/trunk/dbutils.pas b/components/rx/trunk/dbutils.pas index 3393d7a9a..d985916fa 100644 --- a/components/rx/trunk/dbutils.pas +++ b/components/rx/trunk/dbutils.pas @@ -395,15 +395,30 @@ var begin if Field.DataType = ftString then begin - S := Field.AsString; - S1:=Value; - if (loPartialKey in Options) then + if loCaseInsensitive in Options then + begin + S := UTF8UpperCase(Field.AsString); + S1:=UTF8UpperCase(Value); + end + else + begin + S := Field.AsString; + S1:=Value; + end; +{ if (loPartialKey in Options) then Delete(S, Length(S1) + 1, MaxInt); if (loCaseInsensitive in Options) then Result := UTF8CompareText(S, S1) = 0 else + Result := UTF8CompareStr(S, S1) = 0;} + + if (loPartialKey in Options) then + Result := UTF8Pos(S1, S) > 0 + else + begin Result := UTF8CompareStr(S, S1) = 0; + end; end // else Result := false //(Field.Value = Value); else Result := (Field.Value = Value); diff --git a/components/rx/trunk/languages/rxdconst.es.po b/components/rx/trunk/languages/rxdconst.es.po index 24b967130..02355667e 100644 --- a/components/rx/trunk/languages/rxdconst.es.po +++ b/components/rx/trunk/languages/rxdconst.es.po @@ -75,8 +75,8 @@ msgstr "Campo '%s' no usado en expresión de filtro" #: rxdconst.sexprbadnulltest #, fuzzy -#| msgid "NULL-values enabled in '=' и '<>'" -msgid "NULL-values enabled in '=' и '<>'" +#| msgid "NULL-values enabled in '=' и '<>'" +msgid "NULL-values enabled in '=' и '<>'" msgstr "Valor nulo habilitado en '=' y '<>'" #: rxdconst.sexprexpected diff --git a/components/rx/trunk/languages/rxdconst.po b/components/rx/trunk/languages/rxdconst.po index 65236678f..d1d1df4f9 100644 --- a/components/rx/trunk/languages/rxdconst.po +++ b/components/rx/trunk/languages/rxdconst.po @@ -74,7 +74,7 @@ msgid "Field '%s' not used in filter expression" msgstr "" #: rxdconst.sexprbadnulltest -msgid "NULL-values enabled in '=' и '<>'" +msgid "NULL-values enabled in '=' и '<>'" msgstr "" #: rxdconst.sexprexpected diff --git a/components/rx/trunk/languages/rxdconst.ru.po b/components/rx/trunk/languages/rxdconst.ru.po index 5e5b697a8..bfe3c79db 100644 --- a/components/rx/trunk/languages/rxdconst.ru.po +++ b/components/rx/trunk/languages/rxdconst.ru.po @@ -75,8 +75,8 @@ msgstr "Поле '%s' не может быть использовано в вы #: rxdconst.sexprbadnulltest #, fuzzy -#| msgid "NULL-values enabled in '=' и '<>'" -msgid "NULL-values enabled in '=' и '<>'" +#| msgid "NULL-values enabled in '=' и '<>'" +msgid "NULL-values enabled in '=' и '<>'" msgstr "NULL-значения разрешены только в выражениях '=' и '<>'" #: rxdconst.sexprexpected diff --git a/components/rx/trunk/languages/rxdconst.uk.po b/components/rx/trunk/languages/rxdconst.uk.po index 4fde60bdb..9f1dd6381 100644 --- a/components/rx/trunk/languages/rxdconst.uk.po +++ b/components/rx/trunk/languages/rxdconst.uk.po @@ -84,8 +84,8 @@ msgstr "Поле '%s' не може бути використане в вира #: rxdconst.sexprbadnulltest #, fuzzy -#| msgid "NULL-values enabled in '=' и '<>'" -msgid "NULL-values enabled in '=' и '<>'" +#| msgid "NULL-values enabled in '=' и '<>'" +msgid "NULL-values enabled in '=' и '<>'" msgstr "NULL-значення дозволені тільки у виразах '=' і '<>'" #: rxdconst.sexprexpected