有没有办法将名称转换为首字母?

时间:2016-03-31 13:47:24

标签: crystal-reports crystal-reports-2010

我有一个名称字段,我想在报告中显示为首字母。

所以

John Smith
Baba Booey
Jane Doe

将显示为:

JS
BB
JD

我可以运行一个公式来显示名称吗?

2 个答案:

答案 0 :(得分:0)

只需创建一个公式

尝试此代码

StringVar name_first;
StringVar name_last;
name_first := left({Field_name},1);
name_last := MID({Field_name}, INSTR({Field_name}, " ")); 
name_first+left(name_last,2);

希望,这会给你想要的结果

答案 1 :(得分:0)

ProperCase()函数会将每个单词的第一个字母转换为大写,其余字母转换为小写。然后,您可以遍历转换后的名称,并将每个大写字母附加到结果中。这适用于任意数量的第一/中间/姓氏,以及第一个字母是否已经大写:

Local stringVar FullName := ProperCase({FullName_Field});
Local stringVar ResultString := "";
Local numberVar x;
Local stringVar c;
for x := 1 to Length(FullName)
do (
    c := mid((FullName), x, 1);
    if ascw(c) >= 65 and ascw(c) <= 90 then ResultString := ResultString + c;
);
ResultString;