检查格式到文本框

时间:2011-03-18 13:56:27

标签: vb6

我需要一种方法来检查输入文本的内容,以确保它们正确输入文件夹路径。所以它需要采用以下格式:

驱动器号:\文件夹

e.g。 C:\我的文件

如果他们没有输入那种格式,我需要停下来并显示一条消息告诉他们仔细检查。

我已经尝试了过滤功能,但我还没有完成它的工作。任何帮助都是极好的。我没有任何代码可以显示,因为我不知道从哪里开始。

我也尝试过常用对话框,但用户jsut需要输入路径类型,而不是选择文件。我要检查的是文本类型是否在DRIVE:\ FOLDER格式内,就是它。因此,如果文本bax中的类型“BLAH”有消息说嘿你输入了正确的路径。

3 个答案:

答案 0 :(得分:2)

在VB6中,测试文本是否包含有效文件夹:

If Len(Dir("c:\My Documents", vbDirectory))>0 Then
    'it's a folder
End If

答案 1 :(得分:1)

您是否考虑过实施通用对话框控件以允许选择正确的文件夹 - 它更可能是准确的。

here浏览文件夹的一些示例代码:

Private Sub Command1_Click()
    On Error Resume Next
    Const WINDOW_HANDLE = 0
    Const NO_OPTIONS = 0
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, "select folder:", NO_OPTIONS, "C:Scripts")
    Set objFolderItem = objFolder.Self
    objPath = objFolderItem.Path
    objPath = Replace(objPath, "", "\")
    Print objPath
End Sub

答案 2 :(得分:1)

或者,您可以首先验证文件夹,然后使用":\" instr或mid检查eith 然后你可以验证文件夹,甚至包括一个选项来创建它,如果不存在filesystemobject(需要一个参考集)这里它是函数形式,你可以传递textbox的内容为验证

Function DirExists(pFile As String, Optional pCreate As Boolean = False)
'
Dim fso As New FileSystemObject
Dim vPath As Variant
Dim sPath As String
Dim y As Variant
DirExists = False
If fso.FolderExists(pFile) Then
    DirExists = True
Else
    If pCreate Then
        vPath = Split(pFile, "\")
        For Each y In vPath
            sPath = sPath & y & "\"
            If Not fso.FolderExists(sPath) Then
                fso.CreateFolder (sPath)
                If fso.FolderExists(pFile) Then
                    DirExists = True
                    Exit Function
                End If
            End If
        Next
    End If
End If
End Function