【问题标题】:What is the meaning of a pipe "|" in Delphi 7?管道“|”是什么意思在德尔福 7 中?
【发布时间】:2016-01-26 10:29:16
【问题描述】:

正如标题所说,我想知道管道(或管)“|”是什么意思在德尔福代码中。看那个截图:

我知道“*”的含义,它是一个或多个字符的通配符,但我找不到“|”的含义。

谢谢

【问题讨论】:

  • 这是一个字符串文字内的|。因此它不是语法元素。这是一个分隔符。在 Delphi 的其他地方,您会发现 ; 用作路径分隔符(例如在 IDE 设置中的库路径中),并且在许多情况下,当您需要多个值时,您会在组件中看到更典型的Items:TStrings 属性,其中每个项目都是列表中的单独项目。
  • 我很好奇“regles de chauffage”是什么意思?取暖规则?驾驶规则?
  • 加热规则是的 ;) 该程序处理工业炉。顺便说一句,谢谢你的精确

标签: delphi delphi-7 pascal


【解决方案1】:

这是一个可以通过阅读文档来回答的问题。可以在这里找到:

Vcl.Dialogs.TOpenDialog.Filter

要在程序代码中创建文件掩码,请为过滤器分配一个值 由描述和掩码组成的属性由 竖线(管道)字符。不要在周围包含空格 竖条。例如,

OpenDialog1.Filter := 'Text files (*.txt)|*.TXT';

多个过滤器应该用竖线分隔。例如,

OpenDialog1.Filter := 'Text files (*.txt)|*.TXT|Pascal files (*.pas)|*.PAS';

要在单个过滤器中包含多个掩码,请将掩码用 分号。这在对象检查器和程序中都有效 代码。例如,

OpenDialog1.Filter := 'Pascal files|*.PAS;*.DPK;*.DPR';

您可能想吸收此处 (How can I search for Delphi documentation?) 中的提示,以便将来为您提供帮助。

【讨论】:

  • 从语言的角度来看,它只是字符串中的一个字符,没有比这更深奥的了。
  • @AymericB 实际上这根本与 Delphi 无关。它实际上是用于显示许多常用对话框(打开对话框、打开图片对话框、保存对话框、保存图片对话框等)的 Windows API 的要求。您会看到 Delphi 中的大多数对话框只是通过 Windows API 公开的常见对话框的包装器。 Windows API 要求在定义过滤器msdn.microsoft.com/en-us/library/… 的字符串中包含| 字符
  • @Silver 不。这是您链接到的 .net 类,使用与 Delphi 相同的约定。我敢打赌它们起源于 VB。
  • @DavidHeffernan 我同意你的看法。在我匆忙中,我提供了错误文档的链接。我不太擅长搜索 MSDN 文档。因此,如果您可以找到文档,请随时使用此信息扩展您的答案。我只知道使用 | 字符是自 Windows 2000 以来通用文件对话框的要求,甚至更早。
  • @Silver 事实并非如此。查看 GetOpenFileName 的文档。
【解决方案2】:

在 Delphi 中,| 字符通常用作某些字符串属性中的分隔符以区分:

  • 文件过滤器的描述掩码,在TOpenDialog.Filter中使用。
  • 提示文本的短部分长部分图像索引,与所有Hint properties中使用的一样。李>

【讨论】:

    【解决方案3】:

    管道将过滤器表达式(右侧)与用户将看到的标题(左侧)分开。如果你想应用多个过滤器,只需附加它,也用管道分隔。

    【讨论】:

      【解决方案4】:

      对于TOpenDialog,这只是在Filter 的一行中指定的语法:

      • 友好的类型名称(此处:Regles de chaurfage
      • 与类型相关的文件扩展名(此处为 .fuz

      这不是语言运算符。这只是TOpenDialog 使用的某种约定。

      【讨论】:

        【解决方案5】:

        【讨论】:

        • 好的,事实上“Règle de chauffage”只是描述!该描述用“|”与掩码分开。所以过滤器最终只是 *.fuz。
        • 没错。管道也分隔多种文件类型。我提供的链接将其清除。
        猜你喜欢
        • 1970-01-01
        • 2014-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-11
        • 1970-01-01
        • 2013-05-24
        相关资源
        最近更新 更多