VB2008窗体程序:整词转ASCII仅首字符生效的技术问询
解决VB2008中整词转ASCII码仅首字符生效的问题
嘿,我懂你的困扰了——现在点击Button2后只有输入单词的第一个字符能转成ASCII码显示在TextBox2里,循环没起到遍历所有字符的作用对吧?咱们来快速搞定这个问题:
问题根源
大概率是你在循环里每次都覆盖了TextBox2的内容,而不是把每个字符的ASCII码追加进去;或者循环逻辑写错了(比如只执行了一次)。
修复后的代码示例
直接替换你的Button2点击事件代码就行:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' 先清空TextBox2的旧内容 TextBox2.Clear() ' 遍历TextBox1输入的每一个字符 For Each singleChar As Char In TextBox1.Text ' 获取当前字符的ASCII码,转成字符串后追加到TextBox2,用空格分隔每个码值 TextBox2.Text &= Asc(singleChar).ToString() & " " Next ' 可选:移除末尾多余的空格(如果需要的话) If TextBox2.Text.Length > 0 Then TextBox2.Text = TextBox2.Text.Trim() End If End Sub
代码说明
TextBox2.Clear():确保每次点击按钮时,TextBox2是空白的,不会和上次的结果混在一起。For Each...Next循环:自动遍历输入字符串的每一个字符,不用手动处理索引,不容易出错。Asc(singleChar):VB里用来获取字符ASCII码的函数,普通英文单词用这个足够;如果要处理扩展ASCII字符,可以换成AscW。&=运算符:用来追加内容到TextBox2,而不是用=直接覆盖(这应该是你之前的核心问题)。
自定义扩展
如果想要用逗号分隔ASCII码,只需要把代码里的" "改成", "就行;如果需要每行显示一个ASCII码,换成vbCrLf即可。
内容的提问来源于stack exchange,提问作者Rheina
相关产品推荐
相关产品推荐

