Delphi设置位标志

时间:2013-11-28 17:12:00

标签: delphi bitflags

在这里有点超出我的深度。

我正在使用Object Inspector中包含一些Flags的组件......

FCOPY
  Flags
    flShowProgress
    flConfirmation

我需要根据要复制的文件的大小来更改flShowProgess。

if FileSize(aFilename) > 500000 then 
  FCOPY.Flags.flShowProgress:=True else
  FCOPY.Flags.flShowProgress:=False;

显然不会编译。我已经做了一些搜索以找到一些例子,但我真的不知道我需要用来确定如何执行此操作的确切术语。

有人可以告诉我如何使用Flags打开flShowProgress仅用于大于5M的文件,然后再关闭较小的文件吗?

谢谢。

1 个答案:

答案 0 :(得分:5)

假设flags是set类型的属性。

    if FileSize(aFilename) > 5000000 then  // bytes!
      FCOPY.Flags:=FCOPY.Flags+[flShowProgress]
    else
      FCOPY.Flags:=FCOPY.Flags-[flShowProgress]