Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Помогите по VB!!!!!!......Элементарное!!!! Добавлено: 26.05.04 11:54  

Автор вопроса:  EDIK

Надо создать папку и у этой папки  название было бы текушая дата (например c:\arm\260504) а при повторном создание он бы провирял  если папка сушествует то выводил бы ошибку? 

Помогите СРОЧНО!!! Нужен ентот код!!!

Ответить

  Ответы Всего ответов: 16  

Номер ответа: 1
Автор ответа:
 sYstEmiZer



ICQ: 280647023 

Вопросов: 16
Ответов: 45
 Профиль | | #1 Добавлено: 26.05.04 12:12
Dim FSO As FileSystemObject
Dim FName$
FName="c:\Qwerty"
If FSO.FolderExists(FName)=False Then
    fso.CreateFolder(Day(Now)&Month(Now)&Year(Now))
else
    msgbox "Ошибка"
end if

Ответить

Номер ответа: 2
Автор ответа:
 sYstEmiZer



ICQ: 280647023 

Вопросов: 16
Ответов: 45
 Профиль | | #2 Добавлено: 26.05.04 12:14
Точнее так

Dim FSO As FileSystemObject
Dim FName$
FName="c:\Qwerty"
If FSO.FolderExists(FName)=False Then
    fso.CreateFolder("с:\"&;Day(Now)&Month(Now)&Year(Now))
else
    msgbox "Ошибка"
end if

Ответить

Номер ответа: 3
Автор ответа:
 EDIK



Вопросов: 37
Ответов: 55
 Профиль | | #3 Добавлено: 26.05.04 14:04

У меня неполучается....я вставляю этот код  потом запускаю а он мне пишет

"User-defined type not defined"

Может я его неправильно вставил:

Private Sub Command1_Click()

Dim FSO As FileSystemObject
Dim FName$
FName = "c:\Qwerty"
If FSO.FolderExists(FName) = False Then
    FSO.CreateFolder ("с:\" & Day(Now) & Month(Now) & Year(Now))
Else
    MsgBox "Ошибка"
End If

End Sub

Ответить

Номер ответа: 4
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #4 Добавлено: 26.05.04 14:10
В reference глянь, может чего забыл...

Ответить

Номер ответа: 5
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #5 Добавлено: 26.05.04 14:14
Например Windows Script Host object model.. или как там его...

Ответить

Номер ответа: 6
Автор ответа:
 sYstEmiZer



ICQ: 280647023 

Вопросов: 16
Ответов: 45
 Профиль | | #6 Добавлено: 26.05.04 14:37
100% согласен с User Unknown ;(не посмотришь мой вопросик! А?)

Ответить

Номер ответа: 7
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #7
Добавлено: 26.05.04 15:47
юзайти АПи не будет этой ерунду с ФСО +)

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 26.05.04 16:36
тю, нафиг всё так усложнять?
в Вб есть MkDir, дату думаю знаешь как узнать, ну а проверить есть ли папка.... ну моно покривому слегка. Берёшь и пробуешь файл создать в папке, если файл создался - выводим: ошибка, если файл не был создан, то создаём папку. Незабудь про On error goto fuck, это чтоб прога не вылетала когда папки нет на самом деле. Если чо недогнал, пиши, могу даже накодить.

Ответить

Номер ответа: 9
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #9 Добавлено: 26.05.04 17:01
В reference поставь гаку напротив Microsoft Scripting Runtime. И все пойдет. А насчет встроенного в VB - можно конечно ...

Вот так вроде:

FName = ("с:\" & Day(Now) & Month(Now) & Year(Now))
If dir(FName,vbDirectory) = "" then
MkDir FName
else
MsgBox "Ошибка !!!"
End if

Вроде должно... Хотя не проверял.

Ответить

Номер ответа: 10
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #10 Добавлено: 26.05.04 17:03
Oops не гаку а галку. А то фигня получается :) Если не знаешь где ставить - меню Project => References.

Ответить

Номер ответа: 11
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #11 Добавлено: 26.05.04 17:08
И, кстати, проверил, работает. Только там в коде в строчке "FName = "c:\" & ..." буквс "c" русская. Сам напоролся :) Так что поменяешь если что.

Ответить

Номер ответа: 12
Автор ответа:
 EDIK



Вопросов: 37
Ответов: 55
 Профиль | | #12 Добавлено: 26.05.04 17:16

Спасибо те большое!!!!! Выручил...........работает...... УРААААААА!!!!!!!!!!

Ответить

Номер ответа: 13
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #13
Добавлено: 28.05.04 19:31
Я другой узел вяжу.... 8)
Только что задал вопрос, а тут оказыватся люди и сами с этим мучаются...
<pre>
Private Function DirEx(ByVal dPath As String) As Boolean
    Err.Clear
    On Error Resume Next
    MkDir dPath
    If Err.Number > 0 Then
        ;DirEx = True
        Err.Clear
    Else
        RmDir dPath
        ;DirEx = False
    End If
End Function
</pre>

Ответить

Номер ответа: 14
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #14 Добавлено: 28.05.04 19:35
А зачем так мучаться? Неужели Dir не помогает? Тогда более продвинутый вариант:

Function DirEx(ByVal Path As String, Filter As String, Attributes, Recurse As Boolean) As String
Dim Files() As String, lNum As Long, Folders() As String
If Right(Path, 1) <> "\" And Path <> "" Then Path = Path + "\"
ReDim Files(0) As String
Files(0) = Dir(Path + Filter, Attributes)
If Files(0) <> "" Then
    ;Do
    ReDim Preserve Files(UBound(Files) + 1) As String
    Files(UBound(Files)) = Dir
    Loop Until Files(UBound(Files)) = ""
    ReDim Preserve Files(UBound(Files) - 1) As String
End If
For lNum = 0 To UBound(Files)
    If Files(lNum) <> "" Then
        If IsDir(Path + Files(lNum)) = False And (Attributes And vbDirectory) <> vbDirectory Then
            ;DirEx = DirEx + Path + Files(lNum) + vbCrLf
        ElseIf IsDir(Path + Files(lNum)) = True And (Attributes And vbDirectory) Then
            ;DirEx = DirEx + Path + Files(lNum) + vbCrLf
        End If
    End If
Next lNum
If Recurse = True And (InStr(Filter, "?";) > 0 Or InStr(Filter, "*";) > 0) Then
    ReDim Folders(0) As String
    Folders(0) = Dir(Path, vbDirectory)
    If Folders(0) = "." Or Folders(0) = ".." Then Folders(0) = Dir
    If Folders(0) = "." Or Folders(0) = ".." Then Folders(0) = Dir
    If Folders(0) <> "" Then
        ;Do
        ReDim Preserve Folders(UBound(Folders) + 1) As String
        Folders(UBound(Folders)) = Dir
        If Folders(UBound(Folders)) = "." Or Folders(UBound(Folders)) = ".." Then
            ReDim Preserve Folders(UBound(Folders) - 1) As String
        End If
        Loop Until Folders(UBound(Folders)) = ""
        ReDim Preserve Folders(UBound(Folders) - 1) As String
    End If
    For lNum = 0 To UBound(Folders)
        If Folders(lNum) <> "" Then
            If IsDir(Path + Folders(lNum)) Then
                ;DirEx = DirEx + DirEx(Path + Folders(lNum), Filter, Attributes, Recurse)
            End If
        End If
    Next lNum
End If
End Function

Нехило, да??? ;) Уже не помню где это я такой код нарыл ... ;)

Ответить

Номер ответа: 15
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #15 Добавлено: 28.05.04 19:38
И для кучи :

Function IsDir(DirPath As String) As Boolean
On Error GoTo IsNotDir
If GetAttr(DirPath) And vbDirectory Then
    IsDir = True
Else
    IsDir = False
End If
Exit Function
IsNotDir:
IsDir = False
End Function

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам