如何使用 Livecode 隐藏多行

How hide multiple lines using Livecode

我试图隐藏 begin{equation} 和 end{equation} 之间的文本。我正在使用以下代码并且它正在运行。但我的问题是,如果存在多个 begin{equation} 和 end{equation},它只能工作一次,那么它就无法工作。

on mouseUp
       put wordOffset("begin{equation}",fld "MyField") into tBegin
       put wordOffset("end{equation}",fld "MyField") into tEnd
          set the hidden of line tBegin to tEnd of fld "MytextField" to true
    end mouseUp

查看LC字典中wordOffset的'wordsToSkip'参数。如果您不管理这个并且有几组等式文本要查找,那么您的代码将始终找到并停止在它找到的第一个匹配项处。

您有两种方法可以处理方程式文本的多个实例 - 在继续时编辑要搜索的文本或使用 'wordsToSkip' 参数。

首先使用带有 'if' 语句的重复循环来找出要搜索的文本中包含多少个“begin{equation}”标志实例。然后设置另一个重复循环并使用方法 a) 或 b)...

方法 a) 不要使用 'wordsToSkip',将要搜索的文本复制到一个临时变量中,然后简单地删除所有文本,直到之前找到的任何标志实例。

方法 b) 保持要搜索的文本完整,并将先前找到的实例的端点的字符编号 + 1 放在 'wordsToSkip' 参数中。