【问题标题】:How can i change a lowercase string to an uppercase string and also first letter capitalized on a commodore 64?如何将小写字符串更改为大写字符串以及在 commodore 64 上大写的首字母?
【发布时间】:2019-11-18 01:03:22
【问题描述】:

我在 Commodore 64 模拟器上输入了“hello world”。我必须让它打印出来 你好世界 你好世界 你好世界

我怎样才能只使用一个打印语句来做到这一点?

【问题讨论】:

  • 添加你写的 BASIC 命令

标签: commodore


【解决方案1】:

这是一个答案,下面有解释

10 a$="hello world" : rem your string goes here
20 c$=a$:gosub100:d$=a$:gosub200:printc$;" ";a$;" ";d$ : rem the one print
30 end
100 a0$=a$:a$="" :a2$=" ":rem in capital-case subroutine
110 for i=1tolen(a0$):a1$=mid$(a0$,i,1):ifa2$=" "thena1$=chr$(asc(a1$)or128)
120 a2$=a1$:a$=a$+a1$:next:return
200 a0$=a$:a$="": rem all in uppercase subroutine
210 for i=1tolen(a0$):a1$=mid$(a0$,i,1):a$=a$+chr$(asc(a1$)or128):next:return

它符合您只有一个打印语句的规则。 它的工作原理是复制所有小写字符串,然后转换为首字母大写并复制该字符串,最后将其余部分转换为大写,然后在单张打印中以正确的顺序使用副本声明。

在 PETSCII 中大写其他方面非常简单,因为您只需设置每个字符的高位 (128) 即可。但是,由于 BASIC 2.0 还没有这方面的功能,因此需要对 a$ 进行操作的子例程。

【讨论】:

    【解决方案2】:

    您可以在字符串和打印语句中使用控制字符。其中一些记录在 C64 BASIC 手册和程序员参考指南中(即,反向字符,以及带有 CTRL 和 C= 键的颜色字符代码)

    这是一个简单的示例(必须通过屏幕截图才能显示) - 当您打开一个字符串时,按 CRTL 和 N - 它会显示一个反转的 N 字符,这是从 CBM 图形字符和 CBM 商业模式切换人物。按CTRL 和H 将在字符串中添加一个反向的H,这是为了禁用SHIFT + C= 键以阻止您在这两种字符模式之间手动切换。如果您想在 Business Mode 和 Graphics Mode 之间轻松切换,请忽略它。

    据我所知,没有简单的控制字符可以从商业模式切换到图形模式,您可以在此处描述的开放字符串中使用它。要切换回图形模式,请使用:

    print chr$(142)

    这也可以添加到一个字符串,即,

    let a$ = chr$(142) + "hello world"

    您也不需要 Commodore BASIC 中的 LET 语句。我在这里仅用于说明目的。

    来源:PETSCII - C64-Wiki

    【讨论】:

      猜你喜欢
      • 2011-05-12
      • 2012-01-03
      • 2014-02-04
      • 2019-06-08
      • 1970-01-01
      • 2021-01-15
      • 2018-12-29
      • 2011-01-07
      • 1970-01-01
      相关资源
      最近更新 更多