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

Is there a way to convert names to initials?

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

所以

John Smith
Baba Booey
Jane Doe

会显示为:

JS
BB
JD

有没有公式可以运行只显示名字?

只需创建一个公式

试试这个代码

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);

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

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

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;