TC官方合作论坛

 找回密码
 立即注册
查看: 1176|回复: 7

[问题] 请教字母+数字的账号递增怎么写(已解决)

[复制链接]
发表于 2017-2-23 14:58:12 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 yyqcome 于 2017-2-24 08:20 编辑

玩个游戏,账号特别多,例如ABC001   ABC002   ABC003...ABC100
每次输入账号特别繁琐。想依次登录账号。也想给别人用,就不太方便做成TXT格式直接读取。。。

自己写的时候思路是这样
例如ABC001
先截取从右边数的纯数字001=变量 账号右
再截取从剩下左边的文字ABC=变量 账号左
这些都可以正常写
但是当我用001+1的时候,TC算出来为2
最后我把 账号左&账号右,就得出ABC2...不是我想得到的ABC002~

上面都是废话。。。辛苦各位大神看完。。

求问~~ 001+1如何得出002,tc写001+1得出的结果是2,不是002
////////////////////////////分割线,上面问题,下面解决问题/////////////////////////////////

谢谢各位,这么简单的问题也要麻烦各位帮忙想办法真是过意不去,昨晚已经解决.代码如下(十分粗糙,各位随意看看):


//主窗:窗口句柄
//x:每次账号递增+x,有这个X,就可以每次+1或者+2。。。或+更大
//位数1:账号右侧数字段应该的长度
//位数:账号右侧数字+1处理后的长度(可能没有前面的0了)


变量 线程ID,主窗,x,位数,位数1
功能 输入账号_初始化()
    x=0
结束




功能 热键3_热键()
    线程ID=线程开启("执行1","")
结束


功能 执行1(a,b,ret,账号字母段,账号长度,账号数字段,账号,i)
    a = 编辑框获取文本("编辑框0")//编辑框0为账号
    b = 编辑框获取文本("编辑框1")//编辑框1为密码
   
    if(是否整型(a)) ///如果账号是纯数字,就直接递增账号
        账号=a+x
        调试输出(账号
    else       ///如果账号是字母+数字,从这里开始到合成账号,都是解决这个问题的
        
        
        for(i = 1; i < 99999; i++)   
            ret=字符串截取右侧(a,i)
            if(是否整型(ret))
            else
                break
            end
        end   
        账号长度=字符串长度(a)
        账号字母段=字符串截取左侧(a,账号长度+1-i)
        账号数字段=字符串截取右侧(a,i-1)
        位数=i-1
        
        
        账号数字段=账号数字段+x
        
///本问题解决办法部分
        for(var l = 0; l < 9999; l++)
            位数1=字符串长度(账号数字段)
            调试输出(位数1)
            if(位数1<位数)
                账号数字段="0"&账号数字段
                调试输出(账号数字段)
               
            else
                break
            end
        end
        
        账号=账号字母段&账号数字段
        
    end  
   ///本问题解决办法部分
   
   
   
   
   
   
   
   
    主窗=窗口得到顶层窗口句柄()
    窗口发送字符串(主窗,账号)
    sleep(100)
    窗口提交按键(主窗,9)
   
    sleep(100)
    窗口发送字符串(主窗,b)
    窗口提交按键(主窗,9)
    sleep(100)
    x=x+1
结束


回复

使用道具 举报

发表于 2017-2-23 15:31:53 | 显示全部楼层
用ABC1001+1 的方式就很简单了
回复 支持 反对

使用道具 举报

发表于 2017-2-23 16:15:48 | 显示全部楼层
如果后面数字是确定位数的话可以这样:
账号右=字符串截取右侧("000"+账号右,3)
回复 支持 反对

使用道具 举报

发表于 2017-2-23 16:36:16 | 显示全部楼层
补0 不就行了
回复 支持 反对

使用道具 举报

发表于 2017-2-23 17:03:27 | 显示全部楼层
veeyoo 发表于 2017-2-23 16:15
如果后面数字是确定位数的话可以这样:
账号右=字符串截取右侧("000"+账号右,3) ...

如果超过10,你这样就不行了
回复 支持 反对

使用道具 举报

发表于 2017-2-23 19:40:00 | 显示全部楼层
chen1882729 发表于 2017-2-23 17:03
如果超过10,你这样就不行了

可以的,反正是窃取右侧三位
回复 支持 反对

使用道具 举报

发表于 2017-2-24 06:37:40 | 显示全部楼层
    变量 帐号左="ABC",帐号右=001
    循环(帐号右 < 120)
        帐号右++
        循环(字符串长度(帐号右) < 3)
            帐号右="0"&帐号右
        结束
        调试输出(帐号左&帐号右)
    结束
回复 支持 反对

使用道具 举报

发表于 2017-2-24 07:45:02 | 显示全部楼层
卸载TXT文本文件里,每行一个,按次序读即可
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-19 06:31 , Processed in 0.040095 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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