llztt 发表于 2008-5-15 17:39:02

请教AUTOIT里怎么计算字符串的字节数, 注意不是字符数 ???

stringlen计算的是字符数, 还有其他办法计算字节数么???
譬如"你n" 字符数为2但字节数为3....

asdf 发表于 2008-5-15 17:54:24

我比较不才……一个比较烂的主意是:把他们写入到一个临时文本文件,然后FGS返回文本大小,这样就判断出字节数了……

llztt 发表于 2008-5-15 18:07:35

呵呵,如果只计算字符串字节数倒是可行的..

只是有些操作就不太方便了...

譬如我要把一个长字符串截成N行, 每行的宽度最多相差1个字节,这就不好办了,而且文件读取的函数只能控制字符数, 而不是字节数

asdf 发表于 2008-5-15 18:38:35

这真是个叫人苦恼的要求= =|||

论坛管理员 发表于 2008-5-15 19:16:38

FileGetSize

以字节为单位返回指定文件的大小。

llztt 发表于 2008-5-15 19:18:30

楼上的方法二楼已说过了

老毛桃 发表于 2008-5-15 21:48:09

$var = "AutoIt 中文论坛"

MsgBox(64, "文本长度", "是:" & ChrLenFixed($var))

Func ChrLenFixed($c)
        Dim $ChrL = 0, $AscNum
        For $i = 1 To StringLen($c)
                $AscNum = AscW(StringMid($c, $i, 1))
                If $AscNum < 0 Then $AscNum = $AscNum + 65536
                If $AscNum > 255 Then
                        $ChrL = $ChrL + 2
                Else
                        $ChrL = $ChrL + 1
                EndIf
        Next
        Return $ChrL
EndFunc

llztt 发表于 2008-5-15 22:22:06

这方法在做网站时用过, 原理是一致的..

谢谢老毛桃了, 此老毛桃是做PE的那位大大么?? 呵呵

老毛桃 发表于 2008-5-15 22:26:38

原帖由 llztt 于 2008-5-15 22:22 发表 http://www.autoitx.com/images/common/back.gif
这方法在做网站时用过, 原理是一致的..

谢谢老毛桃了, 此老毛桃是做PE的那位大大么?? 呵呵
:face (31):


我以前做 ASP 程序时就写过类似的函数以控制页面文字的等宽。


PS:是的。

catcher 发表于 2008-5-15 22:44:54

:face (29): 老毛桃都来了,看来高手不少。

llztt 发表于 2008-5-16 01:36:27

哈哈, 竟然真是传说中的老毛桃,失敬失敬啊

借助老毛桃代码,修改了破帽遮颜的公告板, 倒是可以根据公告内容多少来自动决定是否加滚动条了, 但是代码看着臃肿, 而且很多判断不精确... 最后决定放弃..

最后决定修改成这样, 把所有公告选项样式和内容都放到一个配置文件里, 公告内容用
[公告内容]
滚动条=是/否
LIN1=这是第一段
LIN2=这是第二段
....
表示之....
页: [1]
查看完整版本: 请教AUTOIT里怎么计算字符串的字节数, 注意不是字符数 ???