【问题标题】:How to show line numbers for every 10 lines?如何显示每 10 行的行号?
【发布时间】:2015-10-31 20:56:29
【问题描述】:

SynEdit 控件有一个事件OnGutterGetText。我想用它来使排水沟只显示每 10 行号(也是第 1 行和当前选定的行)。与 Delphi (XE7) IDE 的工作方式相同。使用该事件如何判断是否显示线?

【问题讨论】:

  • 该事件为您提供行号。当然,这就是您所需要的。
  • @David 当然,我要问的是如何进行实际的数学运算来确定它是否应该显示。
  • if (lineNum mod 10) = 0 then xxxx
  • @Graymatter 谢谢,我知道这有点像mod - 我对数学的那方面很糟糕。

标签: delphi synedit


【解决方案1】:

这个问题与现实中的编辑控件无关。您只是想知道a 是否是b 的精确倍数。如果a 除以b 的余数为零,情况就是如此。 Delphi 中的余数运算符是mod

if a mod b = 0 then

现在,在你的情况下,你想要

if LineNum mod 10 = 0 then

这假定LineNum 是基于一的。如果它是从零开始的,那么你需要

if (LineNum + 1) mod 10 = 0 then

【讨论】:

    猜你喜欢
    • 2017-05-17
    • 2019-08-10
    • 2011-03-16
    • 2022-01-06
    • 2019-11-06
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多