chr()函数问题
为什么chr(128)的返回值是80,但chr(129)确是00,怎样的到返回值为81??? 问题点数:100、回复次数:17Top
1 楼didishu0807(虫虫)回复于 2003-09-02 10:59:35 得分 5
chr() 返回 String,其中包含有与指定的字符代码相关的字符
eg:
Dim MyChar
MyChar = Chr(65) ' 返回 A。
MyChar = Chr(97) ' 返回 a。
MyChar = Chr(62) ' 返回 >。
MyChar = Chr(37) ' 返回 %。
MyChar = Chr(128) ' 返回 €。Top
2 楼cuizm(射天狼 http://www.j2soft.cn/)回复于 2003-09-02 11:02:20 得分 5
谁说chr(128)返回值是80,这是取ASCII 128 所对应的字符,怎么能是80呢,胡搞~~
Top
3 楼efsnake(八蛇)回复于 2003-09-02 11:19:25 得分 5
你是不是搞错了哦!Chr(128)返回一个€字符,怎么会返回80哦!你说的是不是Asc()哦!
返回一个 Integer,代表字符串中首字母的字符代码。
语法
Asc(String)
String:必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。
说明
在非 DBCS 系统下,返回值范围为 0 – 255 。在 DBCS 系统下,则为 -32768 – 32767。
注意 AscB 函数作用于包含在字符串中的字节数据,AscB 返回第一个字节的字符代码,而非字符的字符代码。AscW 函数返回 Unicode 字符代码,若平台不支持 Unicode,则与 Asc 函数功能相同。
Top
4 楼matchchen()回复于 2003-09-02 11:41:17 得分 5
你是要把十进制转换成十六进制吧?
用Hex()啊!怎么弄到chr()去了。Top
5 楼onedream(软件是一门艺术,应该追求美学)回复于 2003-09-02 11:42:03 得分 5
郁闷ing,不知道你的版本是不是和大家的不一样?
不过我认为不可能?Top
6 楼onedream(软件是一门艺术,应该追求美学)回复于 2003-09-02 11:46:24 得分 15
matchchen() 说的是啊,
是他搞错了啊,晕
你用Hex()函数吧
描述
返回表示十六进制数字值的字符串。
语法
Hex(number)
number 参数是任意有效的表达式。
说明
如果 number 参数不是整数,则在进行运算前将其四舍五入为最接近的整数。
如果 number 是 Hex 返回
Null Null。
Empty 零 (0)。
其他数 最大到八位的十六进制字符。
您可以通过在数字前面添加前缀 &H 来表示十六进制数。例如,在十六进制计数法中,&H10 表示十进制数 16。
Top
7 楼xingnup(黑猫)回复于 2003-09-02 12:29:32 得分 0
晕!Top
8 楼lyphb(吹啊吹,吹个大气球。)回复于 2003-09-02 13:28:42 得分 10
就算是hex(129),返回值也是81啊,怎么会是0呢?
不明白了。Top
9 楼kissoflife(明月高楼休独倚,酒入愁肠,化作相思泪!)回复于 2003-09-02 14:04:40 得分 5
楼主敲错了吧?Top
10 楼kissoflife(明月高楼休独倚,酒入愁肠,化作相思泪!)回复于 2003-09-02 14:05:12 得分 5
楼主敲错了吧?Top
11 楼bbgbianbaogui()回复于 2003-09-02 14:19:12 得分 5
不可能chr(128)的返回值是80, 一定是你弄错了。Top
12 楼Gelim(Gelim)回复于 2003-09-02 14:22:08 得分 15
为什么chr(128)的返回值是80,但chr(129)确是00,怎样的到返回值为81???
to 楼主:
chr(128)=€
hex(128)=80
chr(129)=""<>00Top
13 楼hxy2003(asfd)回复于 2003-09-02 14:22:49 得分 5
upTop
14 楼hxy2003(asfd)回复于 2003-09-02 14:23:57 得分 5
upTop
15 楼lyhlhr(问心无愧)回复于 2003-09-02 14:25:44 得分 5
楼主和大家开玩笑的吧?
呵呵Top
16 楼cyczl666(蔡蔡)回复于 2003-09-02 23:14:24 得分 0
我说的返回值是指十
六进制显示的结果。
你们可以中断看一下。
现在我的问题已经解决。
我需要发送80h 80h 81h 81h四个字节到串口
我开始用Chr(128)+Chr(128)+Chr(129)+Chr(129)发送。但没有串口返回,
查看Chr(128)+Chr(128)+Chr(129)+Chr(129)写入文件的结果却是80 80 00 00
现在我用Dim Str(3) As Byte
Str(0)=&H80
Str(1)=&H80
Str(2)=&H81
Str(3)=&H81
在发送就成功了。
Top
17 楼rainstormmaster(暴风雨 v2.0)回复于 2003-09-03 00:30:17 得分 5
呵呵,解决了就好Top
18 楼Zuomeng(傲霜姐姐)回复于 2003-09-25 15:02:07 得分 0
chr(1)=?
Thank you!Top



