【问题标题】:Number of spaces in Tab - OpenEdge选项卡中的空格数 - OpenEdge
【发布时间】:2013-11-01 16:58:46
【问题描述】:

在 OpenEdge 中,选项卡可以配置为任意数量的空格,通常配置为 4 个空格。 要在文本中插入制表符,可以使用:~t。 我要查找的是设置了多少个空格。

例如,我正在逐行读取文件,对于每一行,我想查看开头有多少个空格。

我正在使用:

iNoOfBeginningSpaces = index (cLine, left-trim (cLine)) - 1.

但如果该行以 3 个制表符开头,那么它会给我 3 个,而不是空格数:3 * spaces from tab。 有没有办法找到一行的起始空格数,将制表符视为x 空格数?

【问题讨论】:

  • 我不知道您的要求,但我发现 Ruby、Python 或 Perl 等脚本语言更适合此类任务 - 您有什么理由必须使用 OpenEdge?
  • Abe,我特别喜欢 ABL 中所有的大写字符,这让语言超级性感!

标签: progress-4gl openedge


【解决方案1】:

没有。空格和制表符不是一回事。您对编程编辑器、文字处理器和打印机将制表符转换为空格以到达制表位这一事实感到困惑。但是在数据文件中不会发生这种转换(除非您从进行这种转换的编辑器中保存文件)。

【讨论】:

    【解决方案2】:

    我会告诉你如何检查你的 AppBuilder。

    在 AppBuilder 菜单上,您转到 OPTIONS,然后转到 EDITING OPTIONS,您可以在那里设置编辑器用于制表符和语法缩进的“空格”数量。但这基本上是用于 APPBUILDER 中的 DISPLAY 目的。

    Tom 给了你正确的技术答案,制表符是一种控制字符,不同的应用程序可以有不同的解释。它的值与空格不同。下面你可以看到空格和水平制表符的值。

    Char Oct Dec Hex Control-Key 控制动作

    HT 11 9 9 ^I 水平制表符,移动到下一个制表位

    ==============================================

    字符八进制十进制十六进制说明

    SP 40 32 20 空格

    【讨论】:

    • appbuilder 中的选项卡仅适用于(例如).p 文件的内部编辑。不是如何处理实际选项卡的输出。它们是,正如@TomBascom 所述 - 选项卡。
    • @Jensd 就是我说的 :-) 哦,也许我说的方式有点令人困惑 - 更新了
    猜你喜欢
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 2014-04-06
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多