procedure TForm1.Button1Click(Sender: TObject);
var
I, V0, V: Integer;
Strs: TStrings;
E: TE;
S: string;
R: TS;
begin
Strs := TStringList.Create;
Strs.Text := 'a1'#13'a3'; //包含a1,a3
V := 0;
V0 := 1;
for E := Low(TE) to High(TE) do
begin
S := GetEnumName(TypeInfo(TE), Ord(E));
if Strs.IndexOf(S) <> -1 then
begin
for I := 1 to Ord(E) do
V0 := V0 * 2;
Inc(V, V0);
end;
end;
Strs.Free;
PInteger(@R)^ := V;