OSCAT Forum

oscat.lib => Bestehende Module / Existing Modules => Thema gestartet von: Ilja am 15. Januar 2009, 07:41:54

Titel: TO_UPPER rev 1.2
Beitrag von: Ilja am 15. Januar 2009, 07:41:54
Die Funktion TO_UPPER wandelt nicht in Großbuchstaben sondern auch in Kleinbuchstaben um.
Damit Sie macht, wozu sie geschrieben wurde, ist die Zeile TO_UPPER := in OR 16#20; in TO_UPPER := in AND NOT 16#20; zu ändern.
Titel: Re: TO_UPPER rev 1.2
Beitrag von: peewit am 15. Januar 2009, 10:41:11
Hallo Ilja

hier hat sich tatsächlich bei der letzten codeoptimierung ein fehler eingeschlichen

TO_UPPER := in AND NOT 16#20

dein vorschlag lässt sich noch kürzen

TO_UPPER := in AND 16#DF

Danke..
--------

IF in > 96 AND in < 123 THEN
   TO_UPPER := in AND 16#DF;
ELSIF in > 223 AND in <> 247 AND in <> 255 AND setup.EXTENDED_ASCII THEN
   TO_UPPER := in AND 16#DF;
ELSE
   TO_UPPER := in;
END_IF;