查看: 1249|回复: 6
收起左侧

[其他] 关于VB编程的一个小问题

[复制链接]
方鸿渐
发表于 2013-10-5 12:46:30 | 显示全部楼层 |阅读模式
编程的时候用到ComboBox这个控件,可编辑,但最后发现虽然编辑和选定返回的汉字一样,但是利用Combo1.text创建文件夹的时候,一个正确,一个提示错误的文件名或号,奇怪了,调试的时候两个值明明一样的啊,哪位大侠解答一下吧。
xiaoluo
发表于 2013-10-5 12:59:12 | 显示全部楼层
上源代码
方鸿渐
 楼主| 发表于 2013-10-5 14:51:57 | 显示全部楼层
xiaoluo 发表于 2013-10-5 12:59
上源代码

源代码这会儿没法弄来,我举个例子吧
Text1.text=ascll(Combo1.text)
(ascll是一个自定义的函数,返回一个十六进制的长字符)
如果在下拉框输入“电脑”两个字,跟在下拉框中选出电脑两个字,返回的结果不一样……
peng85344558
发表于 2013-10-5 15:10:16 | 显示全部楼层
方鸿渐 发表于 2013-10-5 14:51
源代码这会儿没法弄来,我举个例子吧
Text1.text=ascll(Combo1.text)
(ascll是一个自定义的函数,返回 ...

asc只会转换第一个字符而已  电脑和电 转出来是一样的~~我建议是自己写个函数吧
  1. Public Function allasc(ByVal s As String) As Variant
  2. Dim L() As Long
  3. ReDim L(1 To Len(s)) As Long
  4. For i = 1 To Len(s)
  5. L(i) = Asc(Mid(s, i, 1))
  6. Next i
  7. allasc = L
  8. End Function
复制代码
方鸿渐
 楼主| 发表于 2013-10-5 15:46:17 | 显示全部楼层
peng85344558 发表于 2013-10-5 15:10
asc只会转换第一个字符而已  电脑和电 转出来是一样的~~我建议是自己写个函数吧

我用的就是自定义的函数啊,是ASCLL,不是ASC(),转成16进制之后,有的COMBOBOX多了一个A,有的没有多,很奇怪啊
peng85344558
发表于 2013-10-5 15:51:45 | 显示全部楼层
方鸿渐 发表于 2013-10-5 15:46
我用的就是自定义的函数啊,是ASCLL,不是ASC(),转成16进制之后,有的COMBOBOX多了一个A,有的没有多,很 ...

哎 代码贴出来吧~~肯定不会有多一个65A的
xiaoluo
发表于 2013-10-5 19:04:50 | 显示全部楼层

ascll

吧。或者用 peng85344558的试试。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-9-23 23:04 , Processed in 0.144063 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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