如果那么其他循环问题delphi

Gab*_*Gab 1 delphi loops if-statement

我还是初学者,我一直试图通过自己来解决这个问题,但我想我运气不好.我认为这可能很简单,但这是交易.

我有3个复选框.当按下按钮但是没有选择时,每个都在文本文件中写入特定行.我想要显示一条消息.但是,即使选中了一个复选框,也会弹出消息.这是代码:(顺便说一句,随意建议任何其他代码,使其更容易/更清晰)

if cbSCV.Checked then
  WriteLn(permFile, 'scv');
if cbMP.Checked then
  WriteLn(permFile, 'mp');
if cbBTK.Checked then 
  WriteLn(permFile, 'btk'); 
if not (cbBTK.Checked) and not (cbMP.Checked) and not (cbBTK.Checked) then
  showmessage('Choose at least 1 option.');
Run Code Online (Sandbox Code Playgroud)

RRU*_*RUZ 6

尝试替换if sentence

if not (cbBTK.Checked) and not (cbMP.Checked) and not (cbSCV.Checked) then
Run Code Online (Sandbox Code Playgroud)

因为你要检查cbBTK.checked两次值

  • 为什么要打扰parens?有什么问题:`如果不是cbBTK.Checked而不是cbMP.Checked而不是cbSCV.Checked那么` (2认同)

Dav*_*nan 6

为了它的价值,我可能会颠倒逻辑并编写像这样的麻烦测试:

if not (cbBTK.Checked or cbMP.Checked or cbSCV.Checked) then
Run Code Online (Sandbox Code Playgroud)