用户通过InputBox将字符串值输入到字符串数组中,一旦存储了值,如何使所有字母仅成为大写字母,如下例所示。然后,这些值必须基本上覆盖数组中的非大写值,以便稍后可以在列表框中显示它们。我知道我需要使用UpperCase函数,但我似乎无法正常工作,因为它看起来非大写。
这是我第一次尝试使用数组和UpperCase函数,所以请你好。
示例:'曲棍球','网球'足球' 到了'HOCKEY','网球','足球'
UpperCase代码:
procedure TFrm2016Assignment9.BtnCapitalStrClick(Sender: TObject);
var
Capitalise : string;
begin
Capitalise := UpperCase(nBasicsStrArray[0]);
end;
显示代码:
procedure TFrm2016Assignment9.BtnDisplayStrClick(Sender: TObject);
begin
dDateTime := Date() + Time();
LstOutput.Items.Add('String Array : ' + DateTimeToStr(dDateTime));
LstOutput.Items.Add(nBasicsStrArray[0]);
LstOutput.Items.Add(nBasicsStrArray[1]);
LstOutput.Items.Add(nBasicsStrArray[2]);
LstOutput.Items.Add(nBasicsStrArray[3]);
LstOutput.Items.Add(nBasicsStrArray[4]);
LstOutput.Items.Add('****');
end;
答案 0 :(得分:1)
UpperCase
是一个返回一个新值的函数,字母大写。它不会修改其参数。您将此新值分配给局部变量并立即将其忘记。
删除无用的BtnCapitalStrClick
方法。添加字符串时将它们转换为大写:
LstOutput.Items.Add(UpperCase(nBasicsStrArray[0]));
答案 1 :(得分:0)
由于这是Lazarus主题,因此应注意UpperCase解决方案仅适用于前128个ASCII字符。 Lazarus默认使用UTF8编码,因此函数UTF8Uppercase(单位为LazUTF8)是一种更通用的解决方案,因为它考虑了所有字符。
答案 2 :(得分:-1)
nBasicsStrArray是什么数据类型?
只需在整个字符串上使用UpperCase:
whatever := UpperCase(someEdit.text);