递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4278|回复: 4
打印 上一主题 下一主题

[视窗] 统一文本长度

[复制链接]

87

主题

501

帖子

3594

积分

论坛元老

Rank: 8Rank: 8

积分
3594
跳转到指定楼层
楼主
发表于 2023-5-21 22:23:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如图,我想把字母与汉字统一长度,请问下什么弄,

<火山程序 类型 = "通常" 版本 = 1 />

方法 按钮_被单击 <接收事件 类型 = 整数 注释 = "当按钮被单击后发送此事件">
参数 来源对象 <类型 = 按钮 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
{
    如果 (来源对象 == 按钮1)
    {
        调试输出 (统一长度 ("abc") + "|")
        调试输出 (统一长度 ("统一") + "|")
    }
    返回 (0)
}

方法 统一长度 <类型 = 文本型 折叠>
参数 传入内容 <类型 = 文本型>
{

    变量 内容长度 <类型 = 整数>
    变量 需求长度 <类型 = 整数>
    变量 返回内容 <类型 = 文本型>
    变量 补齐字符 <类型 = 文本型>
    需求长度 = 10
    补齐字符 = "."
    内容长度 = 取文本长度 (传入内容) + 取文本长度 (补齐字符)
    返回内容 = 传入内容

    如果真 (需求长度 > 内容长度)
    {
        计次循环 (需求长度 - 内容长度)
        {
            如果 (假)
            {
                返回内容 = 补齐字符 + 返回内容
            }
            否则
            {
                返回内容 = 返回内容 + 补齐字符
            }

        }

    }

    返回 (返回内容)
}


QQ截图20230521221836.png (4.14 KB, 下载次数: 13)

QQ截图20230521221836.png
回复

使用道具 举报

26

主题

1900

帖子

6926

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6926
沙发
发表于 2023-5-22 00:59:51 来自手机 | 只看该作者
你用等宽字体才有意义啊,即严格两个半角字符等于一个全角字符



<火山程序 类型 = "通常" 版本 = 1 />

方法 统一长度 <类型 = 文本型>
参数 传入内容 <类型 = 文本型>
参数 目标长度 <类型 = 整数>
参数 补齐字符 <类型 = 字符 @默认值 = '.'>
{
    变量 内容长度 <类型 = 整数>
    内容长度 = 取文本长度 (传入内容)
    如果 (内容长度 >= 目标长度)
    {
        返回 (传入内容)
    }
    变量 结果 <类型 = 文本型>
    变量 半角长度 <类型 = 整数>
    结果 = 传入内容
    计次循环 (内容长度)
    {
        如果 (取字符 (结果, 取循环索引 ()) < 128)  // 是否为ASCII字符
        {
            半角长度 = 半角长度 + 1
        }
        否则
        {
            半角长度 = 半角长度 + 2
        }
    }
    加入重复字符 (结果, 补齐字符, 目标长度 * 2 - 半角长度)
    返回 (结果)
}
回复

使用道具 举报

28

主题

359

帖子

3325

积分

论坛元老

Rank: 8Rank: 8

积分
3325
板凳
发表于 2023-5-22 03:48:10 | 只看该作者
<火山程序 类型 = "通常" 版本 = 1 />

方法 统一长度 <类型 = 文本型>
参数 传入内容 <类型 = 文本型>
参数 需求长度 <类型 = 整数>
参数 补齐字符 <类型 = 文本型 @默认值 = " ">
{
    变量 ""
    变量 剩余长度 <类型 = 整数>
    变量 返回内容 <类型 = 文本型>
    调试输出 (取字节集长度 (文本到多字节 (传入内容, 假)))
    剩余长度 = 需求长度 - 取字节集长度 (文本到多字节 (传入内容, 假))
    如果真 (剩余长度 > 0)
    {
        传入内容 = 传入内容 + 取重复文本 (补齐字符, 剩余长度)
    }
    返回 (传入内容)
}
回复

使用道具 举报

87

主题

501

帖子

3594

积分

论坛元老

Rank: 8Rank: 8

积分
3594
地板
 楼主| 发表于 2023-5-22 10:08:59 | 只看该作者
Xelloss0618 发表于 2023-5-22 00:59
你用等宽字体才有意义啊,即严格两个半角字符等于一个全角字符

谢谢!!!
回复

使用道具 举报

87

主题

501

帖子

3594

积分

论坛元老

Rank: 8Rank: 8

积分
3594
5#
 楼主| 发表于 2023-5-22 10:10:03 | 只看该作者
b0y 发表于 2023-5-22 03:48
方法 统一长度
参数 传入内容
参数 需求长度

谢谢!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 08:59 , Processed in 0.090020 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表