注册会员 登录
Project1 返回首页

IamI的个人空间 https://rpg.blue/?17962 [收藏] [复制] [分享] [RSS]

日志

<VB>重命名小程序

热度 5已有 1334 次阅读2010-6-27 17:35 |个人分类:VB悲剧强袭|

现在BT下载下来的动画名字还都真是TXD的长……做了一个小程序序列改名字= =
没有正则就是蛋疼啊……控件名字请自行推测 囧


Public Class Form1
    Dim Path As IO.DirectoryInfo
    Dim DirAble As Boolean = False
    Dim secondStep As Boolean = False
    Private Sub BTDir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTDir.Click
        Dim result = FBDMain.ShowDialog()
        If result = Windows.Forms.DialogResult.Cancel Then
            Exit Sub
        End If
        TBDir.Text = FBDMain.SelectedPath
        Check()
    End Sub

    Sub Check()
        LBMain.Items.Clear()
        If IO.Directory.Exists(TBDir.Text) Then
            Path = New IO.DirectoryInfo(TBDir.Text)
            LBMain.Items.Add("就绪...")
            DirAble = True
        Else
            LBMain.Items.Add("请输入路径...")
            DirAble = False
        End If
    End Sub

    Private Sub TBDir_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TBDir.KeyPress
        If Asc(e.KeyChar) = 13 Then
            If secondStep Then
                StartTreat()
            Else
                If DirAble Then
                    ' 有效并锁定
                    secondStep = True
                    LBMain.Items.Clear()
                    LBMain.Items.Add("已经锁定路径为:" & TBDir.Text)
                    LBMain.Items.Add("请输入有效的重命名字符")
                    TBDir.Text = ""
                    BTDir.Enabled = False
                Else
                    ' 锁定无效
                    LBMain.Items.Clear()
                    LBMain.Items.Add("无效路径不能锁定。")
                End If
            End If
        End If
    End Sub

    Private Sub TBDir_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TBDir.TextChanged
        If Not secondStep Then Check()
    End Sub

    Function CollectNums(ByVal From As String)
        Dim num As Integer = 0
        Dim c As String = ""
        Dim lock As Integer = False
        For i As Integer = 1 To From.Length - 1
            c = From(i)
            If Asc(c) >= Asc("0") And Asc(c) <= Asc("9") Then
                lock = True
                num = num * 10 + CInt(c)
            ElseIf lock Then
                Exit For
            End If
        Next
        Return num
    End Function

    Sub StartTreat()
        TBDir.Enabled = False
        Dim a As New ArrayList
        Dim s As String
        LBMain.Items.Clear()
        LBMain.Items.Add(Path.FullName)
        For Each i As IO.FileInfo In Path.GetFiles("*.*")
            If Not i.Extension = ".torrent" Then
                s = TBDir.Text.Replace("%", CollectNums(i.Name)) + i.Extension
                LBMain.Items.Add(s)
                i.MoveTo(i.Directory.FullName + "\" + s)
            End If
        Next
    End Sub
End Class
丢一张图……请看collectnums方法亮了= =

鸡蛋

鲜花

发表评论 评论 (17 个评论)

回复 DeathKing 2010-6-28 12:54
无code真不习惯 - -
-------------------------------------------
Return是.NET才出来的关键字么?
回复 IamI 2010-7-3 08:59
DeathKing: 无code真不习惯 - -
-------------------------------------------
Return是.NET才出来的关键字么?
好象是从OOP年代开始有的关键字……
之前都是函数名=啥的
回复 DeathKing 2010-7-3 09:32
IamI: 好象是从OOP年代开始有的关键字……
之前都是函数名=啥的
对,VB 6.0的时候都是函数名=**,而且函数还是有类型囧,和C一个德行 - -

不过以前我还不是道有 dim a as integer = 1,声明的时候赋初值的写法。
回复 IamI 2010-7-3 09:37
DeathKing: 对,VB 6.0的时候都是函数名=**,而且函数还是有类型囧,和C一个德行 - -

不过以前我还不是道有 dim a as integer = 1,声明的时候赋初值的写法。 ...
表示这种方法VB6不能用,VC++不能用……你安心吧
回复 DeathKing 2010-7-3 09:38
IamI: 表示这种方法VB6不能用,VC++不能用……你安心吧
所以VB 6.0不但是既不完全面向对象,又是一个脑残产品……
回复 IamI 2010-7-3 09:40
DeathKing: 所以VB 6.0不但是既不完全面向对象,又是一个脑残产品……
口胡!这明明是新世纪的五好少年必须掌握的重要选修课程之一!你怎么能这样侮辱我们伟大的中国伟大的教育部伟大的X委书记!!
回复 DeathKing 2010-7-3 09:42
IamI: 口胡!这明明是新世纪的五好少年必须掌握的重要选修课程之一!你怎么能这样侮辱我们伟大的中国伟大的教育部伟大的X委书记!! ...
   所以我们的教材上决定讲QBASIC。
回复 IamI 2010-7-3 09:46
DeathKing:
所以我们的教材上决定讲QBASIC。
我们会考考VB6.0(掩面)
回复 DeathKing 2010-7-3 09:49
IamI: 我们会考考VB6.0(掩面)
不幸的QBASIC,老师说的求偶数的标准算法是 If Int( x / 2) = x / 2 表示用 If X mod 2 = 0的很有鸭梨。
回复 highmt2010 2010-7-16 09:15
这是05的
回复 IamI 2010-7-16 09:22
highmt2010: 这是05的
我坦白,10
回复 highmt2010 2010-7-16 09:31
是VS2010?
回复 IamI 2010-7-16 10:15
highmt2010: 是VS2010?
恩,但是用的库是.Net Framework 2.0
回复 highmt2010 2010-7-16 10:15
回复 trentswd 2010-8-31 15:09
一直不会vb的人表示狗眼被闪瞎了
回复 我爱食叉包 2010-9-7 22:13
控件。。。一个列表框,一个通用对话框,一个编辑框。。。。。。。
回复 fux2 2010-10-17 11:28
我记得用name "路径" to "路径"就可以改名了~~

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-19 23:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部