Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > D2009 и TCharacter


Автор: Skiminok 10.11.2008, 01:39
Приветствую всех. У меня простой вопрос про класс TCharacter и модуль Character вообще.

Код
var s: string;

begin
  s := 'tEsT sTrInG';
  Writeln(TCharacter.ToUpper(s));
  Writeln(TCharacter.ToLower(s));
  Writeln(s);
end;


Результат:
Код
TEST STRING
test string
test string


WTF?
По какому праву TCharacter изменяет оригинальную строку?!

Автор: CodeMonkey 10.11.2008, 10:23
Баг в Characters.pas:

Код
class function TCharacter.ToUpper(const S: string): string;
begin
  Result := S; // <- забыли UniqueString
  if LCMapString(GetThreadLocale, LCMAP_UPPERCASE, PChar(S), Length(S), PChar(Result), Length(Result)) = 0 then
    RaiseLastOSError;
end;


Пишите в Quality Central.

Автор: CodeMonkey 11.11.2008, 17:26
http://qc.codegear.com/wc/qcmain.aspx?d=68796

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)