word 代码_word域代码的格式开关\* -视频示例

afc309abaa3b1a7adeb235ddb00c435b.png

word域代码的格式开关* -视频示例

word域有两种状态,一种是域代码状态,此状态下可对代码进行编辑修改;一种是域结果状态,显示代码运算的结果。而域的格式开关是定义域结果的文本如何显示,这个开关的代码是*。*后面加上相应的参数就可以控制域结果的显示,下面介绍一下这些参数的使用。

1. * Caps 这个代码使域结果的每个单词的首字母大写,当然对中文是没有效果的。下面是一个视频示例,例中使用Ref域,注意各代码间有半角空格隔开。

d6efd59231b60d472e516bd758732805.png
word域代码的格式开关1https://www.zhihu.com/video/1158330396063297536

类似的开关有,* FirstCap,使域结果的第一个单词的首字母大写;* Upper,使域结果的所有字母都大写;* Lower,使域结果的所有字母都小写。

2. * alphabetic 这个代码将域结果显示为字母字符。如果是* alphabetic,则显示为小写字母,如果是* ALPHABETIC,则显示为大写字母。数字转换为字母的规则是:某数字除以26,得到商和余数。如果该数字为0,则直接显示为空格;如果是小数,只取整数部分进行显示。余数决定了取第几个字母,为0时表示取字母z;商表示该字母重复几次,商为0表示不重复,就是单个字母,1表示重复一次。例如1会显示为a,27显示为aa,52显示为zz。

注意,域结果必须是数字,或者开头含有数字,否则开关不起作用。如果域结果是小数,只取整数部分进行显示。域结果开头含有数字,仅将该数字进行转换显示。例如5g2显示e。

下面是一个视频示例,例中使用Ref域。

f6a9e81ce716b1652dc3455e7d6b7bcd.png
word域代码的格式开关2https://www.zhihu.com/video/1158331635245182976

3. * Arabic 这个代码将域结果显示为阿拉伯基数,注意这里是基数,是不含小数的。若域结果为小数,则只显示整数部分。另外还有一种仅针对页码的* ArabicDash 格式,该格式将域结果显示为前后带连字符的阿拉伯基数。下面是一个视频示例,例中使用Page域。

6fb3dc89d5c9285bc99bf5b9c8abb9cb.png
word域代码的格式开关3-page域https://www.zhihu.com/video/1158331796931309568

另,Page域同时受到“页码格式”对话框控制,如下图。对于页码的编号格式,代码中*开关设置会覆盖“页码格式”对话框中编号格式。而,是否包含章节号,续前节,起始页码等,在域代中无法设置,只能在对话框中设置。

29264524a6ee0aeaa171b60398c358eb.png

4. *CardText 这个代码将域结果显示为英文基数,如One, Two, Three, …

* Hex 这个代码将域结果显示为十六进制数字

* OrdText 这个代码将域结果显示为英文序数文本,如First, Second, Third, ...

* Ordinal 这个代码将域结果显示为序数阿拉伯数字,如“1st, 2nd, 3rd, ...”。

*Roman 这个代码将域结果显示为罗马数字,如“I, II, III, ...”

下面是一个视频示例,例中使用Ref域。

0f1a69992d1c6872b84abc951bb312e7.png
word域代码的格式开关4https://www.zhihu.com/video/1158331948198879232

注意,域结果必须是数字,或者开头含有数字,否则开关不起作用。如果域结果是小数,只取整数部分进行显示。域结果开头含有数字,仅将该数字进行转换显示。

5. * ChineseNum1 中文小写数字,两位数时有单位十,三位数及以上时无十百千万等单位

* ChineseNum2 中文大写数字

* ChineseNum3 中文小写数字

下面是一个视频示例,例中使用Ref域。

8e2e869bfceb2eb1a468c315002a5b07.png
word域代码的格式开关5-中文数字https://www.zhihu.com/video/1158332037558689792

注意,域结果必须是数字,或者开头含有数字,否则开关不起作用。如果域结果是小数,只取整数部分进行显示。域结果开头含有数字,仅将该数字进行转换显示。

6. *Charformat 这个代码将域名的首字母的格式应用到域结果。

*MERGEFORMAT 这个代码将以前域结果的格式应用到新域结果。

下面是一个视频示例,例中使用Ref域。

37a590c4eea857af0d99552d98f19e31.png
word域代码的格式开关https://www.zhihu.com/video/1158332300692418560

注意:使用“域”对话框插入域时,默认包括 *MERGEFORMAT 开关。通过清除“域”对话框中的“更新时保留原格式”复选框,可以关闭此选项。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的代码示例,实现了你的要求: ```C++ #include "stm32f10x.h" #include <stdio.h> #define LED_PIN GPIO_Pin_13 #define LED_PORT GPIOC #define USART_RX_PIN GPIO_Pin_10 #define USART_TX_PIN GPIO_Pin_9 #define USART_GPIO GPIOA #define USART USART1 #define MAX_CMD_LEN 10 char cmd[MAX_CMD_LEN]; int cmd_pos = 0; void init_led(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = LED_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(LED_PORT, &GPIO_InitStructure); GPIO_SetBits(LED_PORT, LED_PIN); } void init_usart(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = USART_TX_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(USART_GPIO, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = USART_RX_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(USART_GPIO, &GPIO_InitStructure); USART_InitTypeDef USART_InitStructure; USART_InitStructure.USART_BaudRate = 9600; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART, &USART_InitStructure); USART_Cmd(USART, ENABLE); } void USART1_IRQHandler(void) { if (USART_GetITStatus(USART, USART_IT_RXNE) != RESET) { char c = USART_ReceiveData(USART); if (c == '\r' || c == '\n') { cmd[cmd_pos] = '\0'; cmd_pos = 0; if (strcmp(cmd, "LED ON") == 0) { GPIO_ResetBits(LED_PORT, LED_PIN); // 点亮 LED printf("LED 点亮了\r\n"); } else if (strcmp(cmd, "LED OFF") == 0) { GPIO_SetBits(LED_PORT, LED_PIN); // 熄灭 LED printf("LED 熄灭了\r\n"); } else if (strncmp(cmd, "BRIGHT", 6) == 0) { int brightness = atoi(cmd + 7); printf("设置亮度为 %d\r\n", brightness); // 在这里设置 LED 的亮度,具体实现需要根据实际硬件情况进行编写 } else { printf("未知命令: %s\r\n", cmd); } } else { cmd[cmd_pos] = c; cmd_pos++; if (cmd_pos >= MAX_CMD_LEN) { cmd_pos = 0; } } } } int main(void) { init_led(); init_usart(); NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); USART_ITConfig(USART, USART_IT_RXNE, ENABLE); while (1) { // 主循环中不需要执行任何操作 } } ``` 这段代码使用了 STM32F103 的 USART1 模块,通过串口接收短信命令,并根据命令来控制 LED 灯的开关和亮度。具体实现中,我们使用了 `GPIO_ResetBits` 和 `GPIO_SetBits` 函数来控制 LED 的开关使用了 `printf` 函数向串口发送调试信息,使用了 `atoi` 函数来将字符串转换为整数。需要注意的是,`atoi` 函数需要包含 `stdlib.h` 头文件。同时,为了防止串口数据接收过程中出现溢出,我们使用了一个固定长度的缓存区 `cmd` 来存储接收到的命令,长度为 `MAX_CMD_LEN`。在串口接收到回车或换行符时,我们将 `cmd` 中的内容解析为命令并执行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值