需要在 Delphi 中将大写字符更改为小字符

Fil*_*lik 1 delphi delphi-7

我有这个字符串,我需要将一些字符设为大写,所以我使用该UpCase命令......但是如果我需要从大写字母中生成小字符怎么办?在这种情况下我用什么?

Dav*_*nan 5

UpCase不知道语言环境,只处理英语的 26 个字母。如果这真的是你所需要的,那么你可以创建这样的等效LoCase函数:

function LoCase(ch: AnsiChar): AnsiChar; overload;
begin
  case ch of
  'A'..'Z':
    Result := AnsiChar(Ord(ch) + Ord('a')-Ord('A'));
  else
    Result := ch;
  end;
end;

function LoCase(ch: WideChar): WideChar; overload;
begin
  case ch of
  'A'..'Z':
    Result := WideChar(Ord(ch) + Ord('a')-Ord('A'));
  else
    Result := ch;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

  • 在 Delphi 7 中,`Char` 是 `AnsiChar` 的别名。`AnsiChar` 是一种 8 位字符类型,通常用于保存在活动代码页中编码的文本。但是,有时`AnsiChar` 用于保存其他 8 位编码的文本,例如 UTF-8。`WideChar` 是一种 16 位字符类型,用于保存以 UTF-16 编码的文本。在 Delphi 2009 及更高版本的 Unicode Delphi 中,`Char` 是 `WideChar` 的别名。 (2认同)
  • 重载过程是指您有多个同名过程。然后编译器会根据您传递的参数类型选择调用哪一个。 (2认同)