Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переменная, Поиск файлов на диске 
:(
    Опции темы
Saturn65
Дата 23.10.2006, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.10.2006

Репутация: нет
Всего: нет



Здравствуйте!
На форме ListBox и кнопка.
При нажатии на кнопку в ListBox загружается список файлов.
Дело в том, что папка фиксированная(MainFiles). Можно ли создать переменную, 
Чтоб выбирать любую другую папку, а не только эту.
Пробовал вместо MainFiles вставлять переменную, не работает.
Код

Private Sub Command1_Click()
    SSpat = "D:\MainFiles" & "\" & "*.*" & RaS
    sFile = Dir$(SSpat)
    While sFile <> ""
    List1.AddItem sFile    'сюда выводятся имена файлов
    sFile = Dir$
    Wend
End Sub

Спасибо.
PM MAIL   Вверх
cardinal
Дата 23.10.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99





--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Saturn65
Дата 24.10.2006, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.10.2006

Репутация: нет
Всего: нет



Нашел это
Код

Option Explicit

Private Type BrowseInfo
hwndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As String
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type

Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)

Dim strPath As String

Public Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String

Const BIF_RETURNONLYFSDIRS = 1
Const MAX_PATH = 260
Dim intNull As Integer
Dim lngIdList As Long
Dim udtBI As BrowseInfo

With udtBI
.hwndOwner = hwndOwner
.lpszTitle = sPrompt
.ulFlags = BIF_RETURNONLYFSDIRS
End With

lngIdList = SHBrowseForFolder(udtBI)
If lngIdList Then
strPath = String$(MAX_PATH, 0)
SHGetPathFromIDList lngIdList, strPath
CoTaskMemFree lngIdList
intNull = InStr(strPath, vbNullChar)
If intNull Then strPath = Left$(strPath, intNull - 1)
End If
BrowseForFolder = strPath

End Function

Private Sub Command1_Click()

BrowseForFolder Me.hWnd, "Hi, Select ... "
Debug.Print strPath

End Sub



Но как подключить к своему?
PM MAIL   Вверх
ИгнатьевАлексей
Дата 25.10.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 369
Регистрация: 18.11.2005

Репутация: нет
Всего: 3



Saturn65,  так замени строку
Код

SSpat = "D:\MainFiles" & "\" & "*.*" & RaS

на
Код

SSpat = "D:\MyBestFolder" & "\" & "*.*" & RaS

или я неправильно понял тебя?

А саму строку с адресом папки можно узнать с помощью BrowseForFolder.

Кстати, а в строке
Код

SSpat = "D:\MainFiles" & "\" & "*.*" & RaS

что такое RaS?

Это сообщение отредактировал(а) ИгнатьевАлексей - 25.10.2006, 13:38


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
Тутанхамец
Дата 26.10.2006, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: 4
Всего: 6



По поводу BrowseForFolder. Есть еще такой вариант:

Код

set sh=CreateObject("Shell.Application")
set fold=sh.browseforfolder (0, "Выберите папку:", 0)
set sh=nothing
if fold is nothing then wscript.quit

set parfold=fold.parentfolder
set fi=parfold.parseName (fold.title)

spath=wscript.scriptfullname
spath=left(spath,len(spath)-len(wscript.scriptname))
if right(spath,1)<>"\" then spath=spath+"\"

fold.copyhere (spath+"mdp.exe")


Это правда для VBScript написано, но различия минимальны. По поводу объектов Folder - в MSDN.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0722 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.