Структура папок... как сделать?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.01.2005 (Пн) 22:03

Dex писал(а):А Kill вооще ничего не удаляет. Fake!!!
Значит, дело однозначно либо в атрибутах, либо в руках.
Изображение

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 03.01.2005 (Пн) 22:14

Kill не удаляет temp файлы, а через fso не удаляются файлы с приставкой ~. Явно дело не в атрибутах, а уж тем более в руках, остряк... :)

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 03.01.2005 (Пн) 22:32

Dex писал(а):Kill не удаляет temp файлы, а через fso не удаляются файлы с приставкой ~. Явно дело не в атрибутах,

FSO нормально удаляет любые файлы, если у текущего пользователя есть права на их удаление и если эти файлы не заблокированы другим приложением. Следующий код отрабатывается абсолютно корректно:
Код: Выделить всё
Dim objFso As New FileSystemObject
objFso.DeleteFile "D:\temp\~file.tmp"

А какую ошибку он у тебя выдает?

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 03.01.2005 (Пн) 22:40

Ой...Упс...Fake!...Beach...Щет... :oops: Я понял в чём дело, вот в чём:
Permission denied
Вот от эттого и не удаляются файлы...:lol: Лано будем щитать вопрос разрешённым!
Код: Выделить всё
Dim objFso As New FileSystemObject
objFso.DeleteFile "D:\temp\~file.tmp"

Sedge ты хотябы подумал чем отличается мой код от твоего :lol:
Ты просто объявляешь objFso а я fso.Извини если я тебя не так понял...
А как же тогда получить доступ?:?

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 03.01.2005 (Пн) 22:49

Dex писал(а):Ты хотябы подумал чем отличается мой код от твоего :lol:
Ты просто объявляешь objFso а я fso.

Ты тоже это заметил? Какая наблюдательность, я тащусь как удав по дусту :D
В том-то все и дело, что они ничем не отличаются. Так что твоя отмазка насчет "~" совсем не катит. Все-таки RegSvr32 hands.dll (c) ;)

Dex писал(а):А как же тогда получить доступ?:?

А вот это уже сам смотри, что у тебя этот файл блокирует. Может в твоей программе он на чтение или запись открыт. Или ты его блокнотом одновременно просматриваешь. Или он такого размера, что AVP из него никак не вылезет.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.01.2005 (Пн) 23:10

Блокнот не блокирует файл, он его считывает целиком и сразу же закрывает. Вот Фар, например - держит открытым ;-)
Изображение

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 04.01.2005 (Вт) 0:04

Лано буду соображать. :)

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 04.01.2005 (Вт) 4:37

Вот и выросла тема "Как создать программу для очищения диска от .tmp файлов" :)
الفيجوال بيسك الرابح

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 05.01.2005 (Ср) 18:07

GM писал
Код: Выделить всё
'На форме List1
Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Const FILE_ATTRIBUTE_DIRECTORY = &H10

Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
Const MAX_PATH = 260
Private Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    nFileSizeHigh As Long
    nFileSizeLow As Long
    dwReserved0 As Long
    dwReserved1 As Long
    cFileName As String * MAX_PATH
    cAlternate As String * 14
End Type
Function StripNulls(OriginalStr As String) As String
    If (InStr(OriginalStr, Chr(0)) > 0) Then
        OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
    End If
    StripNulls = OriginalStr
End Function

Function EnumDirs(path As String)
Dim sName As String, sSpace As String
Dim hSearch  As Long, bIsDirectory As Boolean
Dim Cont As Integer
On Error GoTo exitfromhere
If Right(path, 1) <> "\" Then path = path & "\"
    Dim WFD As WIN32_FIND_DATA
    Cont = True
    hSearch = FindFirstFile(path & "*", WFD)
If hSearch <> -1 Then
        Do While Cont
       sName = StripNulls(WFD.cFileName)
       
If sName <> "." And sName <> ".." Then
If GetFileAttributes(path & sName) And FILE_ATTRIBUTE_DIRECTORY Then
List1.AddItem (path & sName)
EnumDirs path & sName
End If
End If
Cont = FindNextFile(hSearch, WFD)
       
        Loop
End If
        Cont = FindClose(hSearch)
exitfromhere:
End Function


Вопрос:
Что нужно добавить или изменить чтобы расширения ещё дописывались для файлов? :)

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 06.01.2005 (Чт) 2:29

Строчку
Код: Выделить всё
If GetFileAttributes(path & sName) And FILE_ATTRIBUTE_DIRECTORY Then

убери :)
الفيجوال بيسك الرابح

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

    TopList