VB6.0中的问题

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
我的目的是记录下键盘的输入,回车以后将键盘输入的ASCII值转换成相应的字母,赋给label1.caption,我的程序代码如下:Private Sub Form_KeyPress(KeyAscii As Integer)Dim N As StringIf KeyAscii = 13 ThenLabel1.Caption = Chr(N)End If这样的程序运行结果却是,我一按回车键,label1.caption的值就清空了,请问正确的程序代码是什么,还请说明我的程序错误的地方,谢谢!

                                                                                                别定义局部变量,你可以定义一个全局的字符串变量,用全局的字符串变量做为记录载体在你的main方法中,就是启动方法加入public str As String Private Sub Form_KeyPress(KeyAscii As Integer)str = str + Chr(KeyAscii)Label1.Caption = strEnd Sub                                       
提问者对答案的评价:

                                                                                                你的变量N在每个form_keypress的事件中重新定义了,相当于N每次都是空的,这样就不能累计KeyAscii的值了。就如楼上所说,你在全局定义N这个变量,就是在代码的最上端,也就是“通用”那里定义Dim N As String。以下是我帮你修改的:Dim N As StringPrivate Sub Form_KeyPress(KeyAscii As Integer)N = N + Chr(KeyAscii)If KeyAscii = 13 ThenLabel1.Caption = NEnd IfEnd Sub
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行