【问题标题】:What is the '#" symbol in Pascal?Pascal 中的“#”符号是什么?
【发布时间】:2010-06-04 14:31:26
【问题描述】:

例如:

x := #123;

我尝试在 Google 上搜索,但我根本不知道这是什么意思。

【问题讨论】:

标签: delphi pascal


【解决方案1】:

IIRC 表示数字的字符值(例如#32 -> 空格)。

【讨论】:

  • #123 与 Chr(123) 相同,只是它是文字字符常量而不是内置系统函数 (Chr)。
  • FWIW,这些天,Chr(32) 什么都不做。实际上它甚至不是一个函数,它完全等价于#32 和 Char(32)。
【解决方案2】:

#123 是序数值123 的一个字符(Char 类型)。

【讨论】:

    【解决方案3】:

    这是字符代码。 #97 等价于 'a' 等

    图表可以看here

    【讨论】:

    • == 是什么意思?在 Delphi 中,您使用 := 进行赋值,使用 = 测试相等性。运算符 == 不存在。
    • 对此感到抱歉。 == 表示“等同于”。为了清楚起见,编辑了答案
    • 好的,所以它不是一个 Delphi 表达式。我明白了!
    • 不。我已经很久没有使用 Pascal 我忘记了 =
    【解决方案4】:

    这是对标准 Pascal 的扩展,Borland Pascal 接受井号 ('#') 后紧跟 0 到 255 之间的十进制数字作为该代码的单个字符。

    【讨论】:

    • 好吧,在 Delphi 2009+ 中,所有字符串都是 Unicode,因此您不再局限于 0 到 255 之间的代码。例如,#$222b 是整数符号。 (在 Delphi 中,$ 是十六进制前缀。)
    • @Andreas 在以前的版本中也不限于此。在 Delphi 2009 之前,Delphi 支持 Unicode 已有十多年了。
    • Delphi 支持 WideChar 文字已有十多年了?
    • @Rob Kennedy:但你不能写 Caption := #$222b 并获得一个整数符号作为表单的标题,对吧?
    • 是的,@Warren。 Delphi 4 支持它们,并于 1998 年发布。Andreas,你是对的。
    【解决方案5】:

    正如其他人提到的那样,它是一个字符代码,我最常看到它们用于消息中的换行符,或其他控制字符,例如 Tab (#9)

    ShowMessage('Error:'#13#10'Something terrible happened')
    

    奇怪的是,没有必要连接涉及这些的字符串。

    【讨论】:

    • 最好使用 sLineBreak 来实现该功能。
    【解决方案6】:

    这是字符代码。 #97 等价于 chr(97) 等

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2012-07-01
      • 2011-03-20
      • 2018-09-20
      • 2019-03-03
      • 2015-02-07
      相关资源
      最近更新 更多