注册 登录
编程论坛 VB6论坛

求助大神,问题比较难描述……

juvenileDP 发布于 2017-01-22 00:59, 1398 次点击
作为一个初学者,做了一个输入密码打开文件夹的程序,现在想加入修改密码的功能,所以新建了txt文件“mm.txt”,内容只有6位密码,这是里面的一部分:
    Open "E:\\mm.txt" For Input As #1
    Line Input #1, a
    Close #1
Form2是修改密码的页面,也放入了这个代码,读取txt文件里的6位密码,然后
   If Val(Text1.Text) = a And Val(Text2.Text) = 000000 Then
   Command1.Enabled = True
   Else
   Command1.Enabled = False
   End If
通过两个密码的验证开启修改密码的按钮,
但是Form1里面
If Val(Text1.Text) = a Then
 Command1.Enabled = True
按钮能够成功打开
但是Form2里面却不成功。。。。。
问题就在这里嗯,求大神!!!!
4 回复
#2
renxiaoyao362017-01-22 13:08
回复 楼主 juvenileDP
现有代码不足以查错,请将关于变量 a 的代码发上来。没找到你的 变量 a 是哪里出来的。

根据现有代码,如果你Form1可行,暂时确定你的文本框里输入的密码就是a,当然,请确定两个窗体里的文本框数据一致
那么根据你的代码,窗体2中多了一个判定文本框2是000000的代码,很明显,你Text2.Text要么是其他的,要么是根本忘记输入了。
代码看上去很简单,问题不会太复杂的,实在不行我有空帮你写一段。

[此贴子已经被作者于2017-1-22 13:10编辑过]

#3
xiangyue05102017-01-22 14:00
如楼上,代码太片段化,无法准确判断。建议提供较为全面的代码
光从提供的信息看form1和form2的差别在Val(Text1.Text) = a And Val(Text2.Text) = 000000判断,楼主可以从这里下手。可以自己在关键语句加中断,运行并检查参数的赋值情况。
另外,建议控件不要默认名字,最好采用较为明显易懂的命名规则,比如 TextUser、TextPS这样,万一要修改或者查错也方便。别人看的时候也能猜到八九不离十

[此贴子已经被作者于2017-1-22 14:03编辑过]

#4
juvenileDP2017-01-22 18:39
回复 2楼 renxiaoyao36
Text2.text一直都有输,而且我为了验证这个,
把 If Val(Text1.Text) = a And Val(Text2.Text) = 000000 Then的And改成了Or,就是Text1的问题。
关于变量a的定义只有Dim a as String,没有其他的了。。。。
不过这个我刚刚好像解决掉了。
接下来还出现了一个问题就是Form2里运行时说是“错误的文件名或号码”。。
Private Sub Command1_Click()
Open App.path & "E:\1.Txt." For Output As #1
 Print #1, Text3.Text
Close #1
Kill "E:\mm.txt"
 Name "E:\1.Txt" As "E:\mm.txt"
Form1.Show
Unload Me
End Sub

[此贴子已经被作者于2017-1-22 18:44编辑过]

#5
juvenileDP2017-01-22 19:24
回复 2楼 renxiaoyao36
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈问题解决啦
蟹蟹!!!!!
1