主题:求写一个简单程序,输密码打开另一个文件
prairiewolf
[专家分:290] 发布于 2008-08-15 17:25:00
我是VB门外汉,想请坛里朋友写个小程序,程序运行如下:
1、在text1框里输密码,按回车的,对的话,就执行另一个程序(c:\opencd.exe);
2、不对的话,提示密码错误,再按回车,又返回到输密码的这个框里;
3、如果不对,就再循环两次,
4、第三次还不对,就打开c:\mp3(音乐文件,什么音乐格式都行);
5、又反回到密码输入框
凡给出答案的,我将都给30分,谢谢各位。
最好给出源代码和最终程序,可以提供下载的。
回复列表 (共19个回复)
11 楼
prairiewolf [专家分:290] 发布于 2008-08-17 15:03:00
谢谢
我试试.
不过,以下是我用批处理命令写的,不太行.(只要求实现核对密码,错误在于密码不对就给退了,郁闷)
@echo off
color 27
echo 请输入密码
set command=
set /p command=COMMAND:
if /i "%COMMAND%"=="123456" goto open
if not /i "%COMMAND%"=="123456"
echo 密码错误,请重新输入!
goto scr
:open
c:/open.gif
pause
:scr
set command=
set /p command=COMMAND:
if /i "%COMMAND%"=="123456" goto open
if not /i "%COMMAND%"=="123456"
echo 密码错误,请重新输入!
goto scr
12 楼
我是大喊三 [专家分:3010] 发布于 2008-08-17 16:28:00
批处理的怎么行,用^C就出来了吧
13 楼
prairiewolf [专家分:290] 发布于 2008-08-17 20:47:00
呵呵,Ctrl+C,对,是出来了
我只是想知道,为什么程序运行到(if not /i "%COMMAND%"=="123456")这里出了什么问题,怎么直接出退了来了.
14 楼
prairiewolf [专家分:290] 发布于 2008-08-17 21:37:00
10楼,你的程序有两个问题:
1、我输入123,它提示密码错误;当我输123,再按一下Del键时,指定的程序运行了。也就是说输入的密码后面有一个后导空格,“123 ”,密码是这样的形式;
2、出现密码错误,我再重新输入时,上次输的密码没有自动清除,这样我必须按回退键才能清除。
我的想法是:给Text1.test=""赋值,上面两个问题就一起解决了,这句代码怎么写、添在什么地方?
还有一个小问题:如果程序有错,我点“调试”,改完了后既不能保存,也不能关闭,我直接用任务管理器关了,老是这样也不是个事啊!
15 楼
wxdyl [专家分:50] 发布于 2008-08-18 14:21:00
[quote]10楼,你的程序有两个问题:
1、我输入123,它提示密码错误;当我输123,再按一下Del键时,指定的程序运行了。也就是说输入的密码后面有一个后导空格,“123 ”,密码是这样的形式;
2、出现密码错误,我再重新输入时,上次输的密码没有自动清除,这样我必须按回退键才能清除。
我的想法是:给Text1.test=""赋值,上面两个问题就一起解决了,这句代码怎么写、添在什么地方?
还有一个小问题:如果程序有错,我点“调试”,改完了后既不能保存,也不能关闭,我直接用任务管理器关了,老是这样也不是个事啊![/quote]
第一个问题我运行了,我这正常,没出现你说的那种情况;
第二个问题很简单,只要在窗体代码的“Text1.SetFocus '回到密码输入框”这句下面加句“Text1.text=""”就OK了;
点了调试之后要关闭运行中的程序才能修改保存,就是先要点上面那框(停止)。
楼主真是VB盲[em18]
16 楼
prairiewolf [专家分:290] 发布于 2008-08-18 14:59:00
搞不巧是版本问题!
嗯,我在每段里都试了一下,发现这样才行
Dim i As Integer
Dim s As Integer 's代表可以输入多少次密码后退出
Private Sub Form_Load()
Text1.Text = "" '在这里加一下,程序一运行先赋值
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Command1_Click
End Sub
Private Sub Command1_Click()
s = 3
If Text1.Text = "123" Then '“123”为密码
Shell "c:\Rip.exe" '程序路径
Else
a = MsgBox("密码错误", vbOKOnly + 64, "提示")
Text1.SetFocus '回到密码输入框
Text1.Text = "" '密码错了,重新赋值
i = i + 1
If i >= s Then
PlaySound "c:\worning.wav" '声音路径
i = 0 '播放声音后计数复位
End If
End If
End Sub
我用批处理命令写的那个,谁给看一下,为什么密码错误了就退出来了?30分
17 楼
merry05 [专家分:8920] 发布于 2008-08-18 15:31:00
@echo off
color 27
echo 请输入密码
:scr
set command=
set /p command=COMMAND:
if /i "%COMMAND%"=="123456" (
goto open) else (
echo 密码错误
goto scr
)
:open
c:/open.gif
pause
goto scr
18 楼
guoyong_cy [专家分:3050] 发布于 2008-08-18 22:01:00
才人!!!
19 楼
dla_n [专家分:40] 发布于 2008-12-01 20:03:00
If Text1.Text = "123" And Text2.Text = "123" Then "123"帐号名字自己取.
Form2.Show
Form1.Hide
Else
MsgBox "密码错误"
End If
End Sub
Private Sub Command2_Click()
End
End Sub
我来回复