One problem is, that documentation of SysUtils.LowerCase is not correct regarding to System.LowerCase
http://www.freepascal.org/docs-html/rtl/sysutils/lowercase.html :
"... It is completely equivalent to the *lowercase function of the system unit*"

But another problem, which I have pointed out, is that UnicodeString version of SysUtils.LowerCase hides System.LowerCase, while SysUtils.LowerCase converts only A..Z but System.LowerCase uses widestringmanager so converts also accented characters. So System.LowerCase is superset of SysUtils.LowerCase, but in most programs is hidden by SysUtils.

What seems to me logical, is oposite, that System unit has basic functionality, which is extended by SysUtils. Now System unit has extended capability that is hidden by basic functionality of SysUtils ;-)

-Laco.

    writeln(LowerCase(US)); // prints ÁÉÍ
    writeln(UnicodeLowerCase(US)); // prints áéí

Why first LowerCase() does nothing while second wroks as expected?

        SysUtils.LowerCase is only supposed to work on ascii characters.
 From manual:
-----------------------------------------------------------------------
LowerCase returns the lowercase equivalent of S. Ansi characters are not
taken into account, only ASCII codes below 127 are converted. It is
completely equivalent to the lowercase function of the system unit, and
is provided for compatibility only.
-----------------------------------------------------------------------
        But that last sentence suggests that System.LowerCase should work same
way. But it's manual entry says:
-----------------------------------------------------------------------
Lowercase returns the lowercase version of its argument C. If its
argument is a string, then the complete string is converted to
lowercase. The type of the returned value is the same as the type of the
argument.
-----------------------------------------------------------------------
        So, which version is correct one? Delphi LowerCase also only
works on ascii characters.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to