34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362

ListView и получение списка папок

30.10.2009, 17:40. Показов 3902. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть серверная часть игры, надо написать утилиту, есть папка в директории сервера Accounts, в ней папки с логинами юзеров, мне надо получить listView со списком этих логинов и при этом обрезать лишний путь... тоесть что бы вместо C:\downloads\game\server\Accounts\LordXa osa было просто LordXaosa как мне забить ListView папками? я уже перепробовал пару способов (например тут и тут 2-й способ забивал только папку Accounts а 1-й вот:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Dim Result() 'тут сохраним список всех папок
Sub main()
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TheFolder = FSO.GetFolder(CurDir+"\Accounts") 'с какого каталога пойдем
 
ReDim Result(1, 0)
WorkWithSubFolders TheFolder 'поехали
ReDim Preserve Result(1, UBound(Result, 2) - 1)
MsgBox "OK" 'приехали
End Sub
 
'обрабатывает поддиректории
Sub WorkWithSubFolders(ByVal AFolder)
  Dim MoreFolders, TempFolder
    ReDim Preserve Result(1, UBound(Result, 2) + 1)
    Result(0, UBound(Result, 2) - 1) = AFolder.Name
    Result(1, UBound(Result, 2) - 1) = AFolder.Path
  Set MoreFolders = AFolder.SubFolders
  For Each TempFolder In MoreFolders
    WorkWithSubFolders TempFolder
  Next
End Sub
 
Sub Command2_Click()
Call main
For i = 0 To UBound(Result) 'может неверная функция? определение кол-во эл-тов в массиве
ListView1.ListItems.Add i, "a", Result(i), 0, 0 'если делать так то выдает Script out of range
ListView1.ListItems.Item.ListSubItems.Add i, "a", Result(i), 0, 0 'а если так то Argument not optional на .Item
Next i
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2009, 17:40
Ответы с готовыми решениями:

Получение списка каталогов (папок)
Всем доброго времени. Необходимо получить список каталогов на компьютере, сохранив во временном текстовике. Но как можно сделать...

Получение в ListBox списка папок
Нужно в листбокс добавить список папок из каталога. Использую ...

Обновление списка файлов и папок в ListView, желательно не по таймеру
Делаю простой файловый менеджер (аля проводник), в принципе уже почти всё сделал, но понимаю что абсолютно не правильно сделал обновление...

11
 Аватар для AlexKalinin
32 / 32 / 0
Регистрация: 13.02.2009
Сообщений: 67
30.10.2009, 18:51
Вот один из способов реализации Вашей задачи, не прибегая к помощи FileSystemObject, хотя там возможности куда богаче + работа программы быстрее
КОД
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Option Explicit
Private Sub Command2_Click()
    On Error GoTo AnyErr
    Dir1.Path = Text1.Text
    File1.Path = Dir1.Path
    'List1.List(0) = File1.List(0)
    List1.Clear
    List2.Clear
    Dim i As Integer
    'список файлов
    For i = 0 To File1.ListCount
        List1.List(i) = File1.List(i)
    Next i
    'список папок
    For i = 0 To Dir1.ListCount
        List2.List(i) = Dir1.List(i)
    Next i
    Exit Sub
AnyErr:
    MsgBox Err.Number & ":" & Err.Description, , "Attention!"
End Sub
Вложения
Тип файла: zip GetFileAndDirList.zip (5.7 Кб, 99 просмотров)
2
34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362
30.10.2009, 18:54  [ТС]
я не нашел получение папок в директории у вас, мне нужен автоматический поиск
0
 Аватар для AlexKalinin
32 / 32 / 0
Регистрация: 13.02.2009
Сообщений: 67
30.10.2009, 19:06
Цитата Сообщение от LordXaosa Посмотреть сообщение
я не нашел получение папок в директории у вас, мне нужен автоматический поиск
наверное, я не правильно понял Ваш вопрос, пожалуйста поправьте меня, если дела обстоят не так:

Eсть папка "C:\downloads\game\server\Accounts\"
в данной папке находятся папки и файлы. Задача: не рекурсивно(т.е. не обрабатывая внутренние папки) получить список относительных (без пути) имен папок и вывести их куда-нибудь, например в ListBox
1
34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362
30.10.2009, 19:28  [ТС]
да, именно так, но глядя в ваш код я не понял что такое Dir1.Path и File1.Path вы бы пояснили что к чему... насчет относительности это неважно, можно получить абсолютный путь и просто отбросить лишнее, это дело 1 строки...
я просто привык видеть чтото наподобии
string[] str = Directory.GetDirectories("C:/server/accounts"); (C#) тоесть 1 строка где сразу все ясно... есть чтото подобное в vb6?
0
 Аватар для AlexKalinin
32 / 32 / 0
Регистрация: 13.02.2009
Сообщений: 67
30.10.2009, 20:13
Вот более документированный ихсодник + некая адаптация к Вашей ситуации. Я даже создал у себя папку "C:\downloads\game\server\Accounts\" и создал там файлов и папок кучу - все перечитались программой, как Вы и хотели - автоматически, еще можно по нажатию кнопки.

PS
У меня VB6
Вложения
Тип файла: zip GetFileAndDirList.zip (7.3 Кб, 92 просмотров)
2
34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362
30.10.2009, 20:49  [ТС]
Вот теперь понял, спасибо. А как теперь это можно переделать под ListView а не ListBox как у вас? Я просто незнаю как добавлять Items туда, в C# както проще это)
0
 Аватар для AlexKalinin
32 / 32 / 0
Регистрация: 13.02.2009
Сообщений: 67
31.10.2009, 08:34
LordXaosa, ок, попробую
1
34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362
31.10.2009, 10:05  [ТС]
я ставил sp6 для vb6, выберите в компонентах Microsoft Components (sp6) примерно так
0
 Аватар для AlexKalinin
32 / 32 / 0
Регистрация: 13.02.2009
Сообщений: 67
31.10.2009, 10:36
Цитата Сообщение от LordXaosa Посмотреть сообщение
я ставил sp6 для vb6, выберите в компонентах Microsoft Components (sp6) примерно так
Да, уже нагуглил))
можете посмотреть в аттаче
Вложения
Тип файла: zip GetFileAndDirList.zip (9.1 Кб, 88 просмотров)
2
34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362
31.10.2009, 16:32  [ТС]
спасибо большое, именно то что нужно! но хочу поправить, последний цикл надо начинать с 0, а не 1 и до
Visual Basic
1
For i = 0 To Dir1.ListCount - 1
а не
Visual Basic
1
For i = 0 To Dir1.ListCount
как у вас, иначе добавляется пустая строка. Большое спасибо!
P.S. Кстати Вы сами пишите коменты или автоматика? подробно очень все описано и красиво, плюс Вам
0
 Аватар для AlexKalinin
32 / 32 / 0
Регистрация: 13.02.2009
Сообщений: 67
31.10.2009, 16:41
спасибо большое, именно то что нужно!
пожалуйста
Кстати Вы сами пишите коменты или автоматика? подробно очень все описано и красиво, плюс Вам
сам пишу, позаимствовал стиль у Theo Zacharias (theo_yz@yahoo.com), автора программы VBPaint (аналог MSPaint).

Не по теме:

PS.
Вообще, последнее время стараюсь документировать свои исходники, так сказать - учусь работать в коллективе. Говорят в наше время это ценно... :-)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.10.2009, 16:41
Помогаю со студенческими работами здесь

Вывод списка файлов и папок в заданной папке в listview
Здравствуйте помогите реализовать вывод списка файлов\папок в listview. У меня есть textbox куда записывается определенный путь скажем...

Получение списка файлов из папок и подпапок
Здравствуйте, нужно получить список всех файлов в папках и подпапках учетной записи windows (C:\Users\123\) Использую код: string...

Получение списка папок текущего каталога
возникла проблема. для проги нужна функция, возвращающая список папок текущего каталога. то есть (к примеру) если прога лежит в...

Получение списка файлов и папок на сайте
подсажите можно ли акто реализовать на пехп сабж, офлаин бразеры этоже могут?

Получение списка нужных папок и подпапок в указанной папке
Здравствуйте. Вот код: procedure TForm1.SearchDirs(aPath, aAddPath: AnsiString; aMask: TstringList; aList: TListBox); var SR :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru