Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
step
-
- Бывалый

-
-
- Сообщения: 217
- Зарегистрирован: 03.08.2004 (Вт) 16:19
step » 11.11.2004 (Чт) 9:28
ПЛИЗ ПОМОГИТЕ!!
КАК В ТЕКСТБОКСЕ РАЗМЕСТИТЬ НАЗВАНИЯ ПАПОК В ВЫБРАННОЙ ДИРЕКТОРИИ (НАПРИМЕР ДИСК С:\ )
ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!!!
-
EvilCoder
-
- Посланец джихада

-

-
- Сообщения: 706
- Зарегистрирован: 25.01.2004 (Вс) 15:08
-
EvilCoder » 11.11.2004 (Чт) 9:33
Последний раз редактировалось
EvilCoder 14.08.2008 (Чт) 1:48, всего редактировалось 1 раз.
<<------- EvilCoder ------->>
-
Ruslan Demidow
-
- Мужчина!

-

-
- Сообщения: 987
- Зарегистрирован: 25.03.2004 (Чт) 13:39
- Откуда: N.Novgorod
-
Ruslan Demidow » 11.11.2004 (Чт) 10:06
Покажу на примере с FSO
- Код: Выделить всё
Dim FSO As Object
Dim Fldr As Object
Dim SubFldrs As Object
Dim CurrentSubFldr as Object
Dim sPath As string
sPath="C:\"
Set FSO=CreateObject("Scripting.FSO")
Set Fldr=FSO.GetFolder(sPath)
Set SubFldrs=Fldr.SubFolders
For Each CurrentSubFldr in SubFldrs
Text1.Text=Text1.Text & CurrentSubFldr.Name & vbcrlf
Next
Set FSO=Nothing
Set Fldr=Nothing
Set SubFldrs=Nothing
Set CurrentSubFldr=Nothing
Через Dir$
Могу ошибаться...
- Код: Выделить всё
Dim sPath as String
Dim sFolder as String
sPath="c:\"
sFolder=Dir$(sPath,vbFolders)
if len(sFolder)=0 then
MsgBox "Каталогов нет."
Else
while Len(sFolder)<>0
Text1.Text=Text1.Text & sFolder & vbcrlf
wend
end if
Это Ж-ж-ж-ж неспроста (с) Винни-Пух
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 11.11.2004 (Чт) 10:34
Не vbFolder, а vbDirectory. И в цикле надо разместить вызов Dir$(), а то у тебя он бесконечный

Lasciate ogni speranza, voi ch'entrate.
-
step
-
- Бывалый

-
-
- Сообщения: 217
- Зарегистрирован: 03.08.2004 (Вт) 16:19
step » 11.11.2004 (Чт) 12:28
- Код: Выделить всё
Dim sPath as String
Dim sFolder as String
sPath="c:\"
sFolder=Dir$(sPath,vbFolders)
if len(sFolder)=0 then
MsgBox "Каталогов нет."
Else
while Len(sFolder)<>0
Text1.Text=Text1.Text & sFolder & vbcrlf
wend
end if
[/quote]
Я ПРОБОВАЛ ЭТОТ КОД, ОН ПИШЕТ ТОЛЬКО ПЕРВУЮ ПАПКУ, ПОДСКАЖИТЕ ЧТО В НЁМ НАДО ИЗМЕНИТЬ, ЧТО-БЫ ВСЕ ПАПКИ ПИСАЛИСЬ!!!
-
XairOn
-
- Постоялец

-

-
- Сообщения: 324
- Зарегистрирован: 19.07.2004 (Пн) 20:20
- Откуда: Irkutsk region
-
XairOn » 11.11.2004 (Чт) 12:37
Тебе ведь ответили уже - надо в цикле разместить Dir$()
-
step
-
- Бывалый

-
-
- Сообщения: 217
- Зарегистрирован: 03.08.2004 (Вт) 16:19
step » 11.11.2004 (Чт) 12:59
XairOn писал(а):Тебе ведь ответили уже - надо в цикле разместить Dir$()
Ну а куда Dir$() пихать в цикле ???
-
Ruslan Demidow
-
- Мужчина!

-

-
- Сообщения: 987
- Зарегистрирован: 25.03.2004 (Чт) 13:39
- Откуда: N.Novgorod
-
Ruslan Demidow » 11.11.2004 (Чт) 13:12
alibek писал(а):Не vbFolder, а vbDirectory. И в цикле надо разместить вызов Dir$(), а то у тебя он бесконечный

Пардон, обшибся (писал с работы). Я даже указал на то, что возможны ошибки.
Хотя я по возможности всегда стараюсь пользоваться первым вариантом - он допускает расширение возможностей функции.
Это Ж-ж-ж-ж неспроста (с) Винни-Пух
-
Ruslan Demidow
-
- Мужчина!

-

-
- Сообщения: 987
- Зарегистрирован: 25.03.2004 (Чт) 13:39
- Откуда: N.Novgorod
-
Ruslan Demidow » 11.11.2004 (Чт) 13:18
step писал(а):XairOn писал(а):Тебе ведь ответили уже - надо в цикле разместить Dir$()
Ну а куда Dir$() пихать в цикле ???
- Код: Выделить всё
Option Explicit
Private Sub Form_Load()
Dim sPath As String
Dim sFolder As String
Text1.Text=vbNullString
sPath = "c:"
sFolder = Dir$(sPath, vbDirectory)
If Len(sFolder) = 0 Then
MsgBox "Каталогов нет."
Else
While Len(sFolder) <> 0
Text1.Text = Text1.Text & sFolder & vbCrLf
sFolder = Dir$()
Wend
End If
End Sub
Вот исправленный.
2 alibek И ещё - в данном случае у меня в список попадают и файлы (обычные, которые не скрытые и не системные). Что я не так делаю?
Это Ж-ж-ж-ж неспроста (с) Винни-Пух
-
step
-
- Бывалый

-
-
- Сообщения: 217
- Зарегистрирован: 03.08.2004 (Вт) 16:19
step » 11.11.2004 (Чт) 14:01
- Код: Выделить всё
Option Explicit
Private Sub Form_Load()
Dim sPath As String
Dim sFolder As String
Text1.Text=vbNullString
sPath = "c:\"
sFolder = Dir$(sPath, vbDirectory)
If Len(sFolder) = 0 Then
MsgBox "Каталогов нет."
Else
While Len(sFolder) <> 0
Text1.Text = Text1.Text & sFolder & vbCrLf
sFolder = Dir$()
Wend
End If
End Sub
ЭТО ТО ЧТО НАДО ОГРОМНОЕ СПАСИБО ВСЕМ НУ И КОНЕЧНО Ruslanu Demidowu

Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, PetalBot и гости: 0