找回密码
 加入
搜索
查看: 1741|回复: 12

INPUTBOX的疑问

[复制链接]
发表于 2009-6-19 18:30:56 | 显示全部楼层 |阅读模式
本帖最后由 tcbyjason 于 2009-6-21 18:02 编辑

$ans = InputBox("核对", "输入")
If @error = 0 Then FileCopy("d:\photos\1.jpg", "D:\photos\"&$ans&".jpg")
If @error = 1 Then MsgBox(0, "", "你真的要退出?")


这个一按确定之后就结束了,我想按确定之后在重新运行程序该怎么搞?
菜鸟一个,望高手赐教。
发表于 2009-6-19 21:13:24 | 显示全部楼层
是不是想到这种效果滴
$ans = InputBox("核对", "输入")
If @error = 0 Then 
     FileCopy("d:\photos\1.jpg", "D:\photos"&$ans&".jpg") 
         Run(@ScriptFullPath,"")
         Exit
 EndIf
 
If @error = 1 Then MsgBox(0, "", "你真的要退出?")
 楼主| 发表于 2009-6-19 22:38:22 | 显示全部楼层
修改后运行结果一样,一按确定就结束程序了.
我是想一按确定之后执行
FileCopy("d:\photos\1.jpg", "D:\photos\"&$ans&".jpg")
再显示一个MsgBOX信息:图片修改完成.
然后又显示出INPUTBOX的输入窗口.
发表于 2009-6-19 22:57:02 | 显示全部楼层
用个while循环结构就可以啦
While 1
$ans = InputBox("核对", "输入")
If @error = 0 Then 
FileCopy("d:\photos\1.jpg", "D:\photos"&$ans&".jpg") 
MsgBox(0, "", "图片修改完成")
Else
$m =MsgBox(1, "", "你真的要退出?")
if $m = 1 Then 
Exit
Else
        ContinueLoop
EndIf
EndIf
WEnd
 楼主| 发表于 2009-6-20 00:14:04 | 显示全部楼层
非常感谢。问题继续哦!
如何能让程序只能输入数字,输入其它就提示错误?
发表于 2009-6-20 01:42:52 | 显示全部楼层
While 1
$ans = InputBox("核对", "输入")
If @error = 1 Then 
        $m =MsgBox(1, "", "你真的要退出?")
if $m = 1 Then 
Exit
Else
        ContinueLoop
EndIf
EndIf
If StringIsDigit ($ans) = 0  Then 
                MsgBox(0, "", "你输入非法字符")
        Else
                MsgBox(0, "", "图片修改完成")
        EndIf
        WEnd
 楼主| 发表于 2009-6-20 13:08:16 | 显示全部楼层
本帖最后由 tcbyjason 于 2009-6-20 13:10 编辑

$g_szVersion = "My Script"
If WinExists($g_szVersion) Then
        MsgBox(262144, "警告", "程序已经运行", 3)
        Exit ; 此脚本已经运行了
EndIf
AutoItWinSetTitle($g_szVersion)
While 1
$ans = InputBox("核对", "输入","","",100,100)
If @error = 1 Then
        $m =MsgBox(1, "", "你真的要退出?")
if $m = 1 Then
Exit
Else
        ContinueLoop
EndIf
EndIf
If StringIsDigit ($ans) = 0  Then                        
                MsgBox(0, "", "请输入正确")
        Else
                            FileCopy("d:\photos\1.jpg", "D:\photos\"&$ans&".jpg")
                MsgBox(0, "", " "&$ans&" 通过核对")
        EndIf
        WEnd


不知道要限制输入数字的位数要怎么弄,例如限制只能输入6位以上10位以下的数字。
发表于 2009-6-20 14:06:05 | 显示全部楼层
你就一次问个完吗。提问马拉松?
发表于 2009-6-20 16:06:19 | 显示全部楼层
楼主,服了你的提问方式!!
While 1
$ans = InputBox("核对", "输入")
If @error = 1 Then 
        $m =MsgBox(1, "", "你真的要退出?")
if $m = 1 Then 
Exit
Else
        ContinueLoop
EndIf
EndIf
If StringIsDigit ($ans) = 0 Or StringLen($ans)<6  Or StringLen($ans)>10 Then ;让程序限制只能输入6位以上10位以下数字,否则提示错误
                MsgBox(0, "", "你输入非法字符")
        Else
                MsgBox(0, "", "图片修改完成")
        EndIf
        WEnd
 楼主| 发表于 2009-6-20 21:44:25 | 显示全部楼层
学习帖嘛,把大家的思路都慢慢引导好,这样才是好帖.
嘿嘿,好了,问题问完了,再不问完你们都发火了.
非常感谢,学习了很多东西.
发表于 2010-3-30 15:50:06 | 显示全部楼层
这个真的学习到了很多东西呀!!
发表于 2010-3-30 16:59:53 | 显示全部楼层
这个真的学习到了很多东西呀!!
发表于 2010-5-3 10:26:39 | 显示全部楼层
记号,以后有用
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-4 16:31 , Processed in 0.095484 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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