枚举类型的集合操作(100分)

  • 主题发起人 主题发起人 无才
  • 开始时间 开始时间

无才

Unregistered / Unconfirmed
GUEST, unregistred user!
我在写 一个从INI文件中读取字体设置信息的函数。
例程如下。 如果INI文件中找到了对应的字体设置。 就将返回值中加上取得的设置值
问题是 Delphi的 Font.Style 是一个枚举类型的集合
我如何实现类似这样的动作 Result := Result + fsbold ?????


function xxxxxxxxxxxxx(SectionName : string):TfontStyles;
const
FontStyleName: array[fsBold..fsStrikeOut] of string = ('bold', 'Italic', 'Underline', 'StrikeOut');
var
DelphiIni: TIniFile;
i: TFontStyle;
Bool: Boolean;
begin
try
DelphiIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + '/Option.Ini');
with DelphiIni do
begin
for i := fsBold to fsStrikeOut do
begin
if Readbool(SectionName, FontStyleName, False) then
Result := Result + i
//这里如何操作 ,编译时出现类型操作不允许
end;
end;
finally
DelphiIni.free;
end;
 
Include(Result,i);
ok?
 
老兄真行。居然能找到这个INCLUDE 操作。我找了半天也没找到
不过这句还是不行
Include(Result, i);
编译器给出
Incompatible types: 'TFontStyles' and 'procedure, untyped pointer or untyped parameter'

类型不兼容阿
 
呵呵。是我愚笨。没看帮助。 直接 用Include(Result,i)就行了。
creation_zy ,多谢了。 这是我送你的第1300分了
 
学习~

提前!
 
>>第1300分
哇!不会吧... (你是rixin吗?)
 
后退
顶部