集合和字符串互转

 集合:

   

type
TSocketState = (ssDisconnecting, ssDisconnected, ssConnected, ssConnecting, ssListening, ssAccepting);

const
TSocketStateCaption: array[TSocketState] of String = ('正在断开', '已经断开', '已经连接', '正在连接', '正在侦听', '正在接入');

type
  TCommandType = (ctEmptyCommand, ctAdd, ctModify);

  TCommandTypeConvert = class
  public
    class function CommandToString(ACommand: TCommandType): string;
    class function StringToCommand(const AStrCommand: string): TCommandType;
  end;

implementation

class function TCommandTypeConvert.CommandToString
  (ACommand: TCommandType): string;
begin
  Result := GetEnumName(TypeInfo(TCommandType), Ord(ACommand));
end;

class function TCommandTypeConvert.StringToCommand(const AStrCommand: string)
  : TCommandType;
begin
  Result := TCommandType(GetEnumValue(TypeInfo(TCommandType), AStrCommand));
end;
View Code

调用方法:

    str:=GetEnumName(TypeInfo(TSocketState),Ord(lvClient.SocketState));

posted on 2017-12-05 17:38  EEEEEEEEEEEEEEEEEEE  阅读(1374)  评论(0编辑  收藏  举报