我有这个字符串,我需要制作一些字符资本,所以我使用UpCase命令......但是如果我需要从大写字符中创建小字符,该怎么办?在这种情况下我使用什么?需要在Delphi中将大写字母改为小写字母
回答
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;
是我需要的全部,但真的没有更简单的东西吗?因为我会在需要20分钟编写代码的考试中得到它。 –
你会如何建议使这更简单?我根本看不出任何复杂性。你在考试中需要这个事实是你的问题。更重要的是,如果您对可接受的解决方案有更多的限制,是否它们不应该出现在问题中?如果你不叫它,可以随意忽略'WideChar'超载。 –
什么是AnsiChar?和Widechar –
你应该学会如何找到你自己的解决方案,而不是如何使用谷歌或计算器:)
你在System.pas中有UpCase函数的来源。看看它是如何工作的。所有这些都是从小写字符中减去32。如果你想得到相反的结果,加32而不是减去它。德尔福的帮助会告诉你什么Dec
或Inc
做什么。
var
S: string;
I: Integer;
begin
S := 'ABCd';
for I := 1 to Length(S) do
if S[I] in ['A'..'Z'] then // if you know that input is upper case, you could skip this line
Inc(S[I], 32); // this line converts to lower case
end;
某些版本的Delphi不提供源代码。 –
- 1. 在C++中将小写字母转换为大写字母
- 2. 在java中将小写字母转换为大写字母
- 3. X86 NASM将大写字母转换为大写字母和小写字母
- 4. 如何小写字母转换为大写字母和大写字母为小写字母
- 5. 大写字母和小写字母
- 6. x86汇编:更改一个大写字母为小写字母
- 7. haskell:将小写字母更改为字符串列表中的大写字母
- 8. 将小写字母转换为大写
- 9. 将小写字母转换为大写
- 10. 将小写字母转换为大写字母
- 11. Sed不能将大写字母转换为小写字母
- 12. X86程序集将小写字母转换为大写字母
- 13. 将小写字母转换为大写字母
- 14. 将大写字母转换为小写字母
- 15. .htaccess将大写字母转换为小写字母的目录
- 16. 用小写字母写成小写字母大写
- 17. 在每个大写字母后加小写字母后加小写字母
- 18. 防止Wordpress重写大写字母为小写字母
- 19. 大写小写字母
- 20. 在php中将俄文字符从大写字母转换为小写字母
- 21. 仅将小写字母减小为小写字母
- 22. VBA代码,如何在Excel中将大写字母改成小写字母
- 23. 如何将大写字母更改为小写字母和空格以强调
- 24. 大写字母,小写字母,大写的Ant属性
- 25. C源代码将字符串中的第一个字母从小写字母改为大写字母
- 26. 字体小写字母,只是较小的大写字母
- 27. 将小写字母更改为:数字00-25,将大写字母更改为:数字26-51
- 28. 如何在html中将大写字母转换为小写字母
- 29. 将小写字母转换为大写字母错误:正好(在结果中
- 30. 在C ..中将大写字母转换为小写字母(具有挑战性)
种类依赖。 Delphi的哪个版本?文本是如何编码的?你想如何处理区域设置? –
我正在使用德尔福7,文本是在经典句子的文本文件,我不明白你的最后一个问题..并没有它不是LowerCase命令,因为LowerCase命令需要字符串输入,但我需要用单个字符。 –
别担心。 Delphi可以为你隐式处理。你可以自由地将'Char'传递给带有'string'参数的函数。 – TLama