这是delphi Berlin下TSysCharSet的声明

TSysCharSet = set of Char deprecated; // Holds Char values in the ordinal range of 0..255 only.


现在已弃用它,但是用什么代替它呢?我只需要给我的函数一些字符集,例如['',#9,#13,#10]

最佳答案

如果您只需要携带一组(unicode)字符,则不需要TSysCharSet。只需使用char的动态数组即可:

var
   MyCharArray : TArray<char>;

begin
   MyCharArray := [' ',#9,#13,#10];
end;


TSysCharSet主要用于CharInSet例程中;在文档中,由于TSysCharSet不能包含Unicode字符,因此它们将TCharHelper替换为CharInSet。

uses System.Character;

var
   WhiteSpace : TSysCharSet;
   ac : ansichar;

   c : char;

begin
   // replace this....
   ac := #9;
   WhiteSpace := [' ',#9,#13,#10];

   if CharInSet(ac, WhiteSpace) then
      begin
      end;

   // ...with this:

   c := #9;
   if c.IsWhiteSpace then
      begin
      end
end

10-02 07:44