проверка формата в текстовое поле - PullRequest
0 голосов
/ 18 марта 2011

Мне нужен метод, чтобы проверить содержимое введенного текста, чтобы убедиться, что он правильно вводит путь к папке. Поэтому он должен быть в формате:

Буква диска: \ Папка

например. C: \ Мои документы

Если они не набрали в этом формате, мне нужно остановиться и показать сообщение с просьбой перепроверить.

Я попробовал функцию фильтра, но у меня не совсем получилось. Любая помощь будет потрясающей. У меня нет кода, чтобы показать, потому что я не уверен, с чего начать.

Я также попробовал общий диалог, но пользователю jsut нужно указать путь, а не выбрать файл. Все, что я хочу проверить, это если тип текста в этом формате DRIVE: \ FOLDER, вот и все. Поэтому, если в тексте «bax» введите «BLAH», в сообщении будет указано «Эй, вы ввели правильный путь».

Ответы [ 3 ]

2 голосов
/ 18 марта 2011

В VB6, чтобы проверить, содержит ли ваш текст допустимую папку:

If Len(Dir("c:\My Documents", vbDirectory))>0 Then
    'it's a folder
End If
1 голос
/ 16 марта 2013

В качестве альтернативы вы можете сначала проверить папку, чтобы проверить ":\", используя eith instr или mid затем вы можете проверить папку и даже включить опцию для ее создания, если она отсутствует с 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
1 голос
/ 18 марта 2011

Задумывались ли вы о реализации общего диалогового элемента управления, позволяющего вместо этого выбрать правильную папку - с гораздо большей вероятностью он будет точным.

Пример кода просмотра папок с здесь :

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...