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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборочное добавление файлов в списки 
:(
    Опции темы
manowar
Дата 1.8.2005, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile никак не могу понять как реализовать выборочное добавление файлов из CommonDialog с Flag = 512 в FileList или ListBox или на худой конец из ActiveX-контрола MhCommonDialog от http://www.becubed.com в FileList или ListBox
Вот фрагмент ихнего хелпа по поводу одного, как мне кажется нужного Property:

FileNameList Porperty (7.0)

The FileNameList property returns an array of the FileNames that are selected in a File Dialog. Cycle through the array until you get a NULL which signifies the end of the list.

Syntax
[form!]MhCommonDialog.FileNameList(index As Integer) as string

Data Type

String

контрол еси надо лежит тута www.vprograms.narod.ru/MhCommonDialog.ocx

кроме этого Property там ещё есть FileName и FileTitle, и всё!(что касается непосредственно файлов)
PM MAIL   Вверх
bom
Дата 2.8.2005, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

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



Цитата(manowar @ 1.8.2005, 23:04)
не могу понять как реализовать выборочное добавление файлов из CommonDialog с Flag = 512

Под выборочным добавление, как я понимаю, подразумевается многократный выбор (Multiselect). Ну, ты сам ответил - использовать константу OFN_ALLOWMULTISELECT. А в чем проблема?
По поводу тонкостей работы с нестандартными ActiveX-контролами надо наверное обращаться к их авторам или к докумментации на эти контролы.

PM MAIL   Вверх
manowar
Дата 2.8.2005, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
А в чем проблема?
Всё дело в том как именно реализовать передачу массива выделенных строк(код еси мона please) из вышеозначенных контролов или коммондиалогов в вышеозначенные файллисты и листбоксы smile Please HELP me!!!
PM MAIL   Вверх
bom
Дата 3.8.2005, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

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



Код

'Module
Option Explicit
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Type OPENFILENAME
 lStructSize       As Long
  hwndOwner         As Long
  hInstance         As Long
  lpstrFilter       As String
  lpstrCustomFilter As String
  nMaxCustFilter    As Long
  nFilterIndex      As Long
  lpstrFile         As String
  nMaxFile          As Long
  lpstrFileTitle    As String
  nMaxFileTitle     As Long
  lpstrInitialDir   As String
  lpstrTitle        As String
  flags             As Long
  nFileOffset       As Integer
  nFileExtension    As Integer
  lpstrDefExt       As String
  lCustData         As Long
  lpfnHook          As Long
  lpTemplateID      As Long
End Type
Dim OFN As OPENFILENAME

Public Function Showopen(hParent As Long, Optional mFilter As String, Optional mInitDir As String, _
Optional mTitle As String) As String
OFN.lStructSize = Len(OFN)
OFN.hwndOwner = hParent
OFN.hInstance = App.hInstance
OFN.lpstrFile = Space$(254)
OFN.lpstrFilter = mFilter
OFN.nMaxFile = 511
OFN.lpstrFileTitle = Space$(254)
OFN.nMaxFileTitle = 511
OFN.lpstrInitialDir = mInitDir
OFN.lpstrTitle = mTitle
OFN.flags = &H1000 Or &H4 Or &H80000 Or &H200
If GetOpenFileName(OFN) Then
    Showopen = OFN.lpstrFile
    Else
    Showopen = ""
End If
End Function


Код

'Form
Option Explicit

Private Sub Command1_Click()
Dim sArray() As String, i As Integer
sArray = Split(Showopen(Me.hWnd, "All files" + Chr(0) + "*.*" & Chr(0) & "Text files" _
& Chr(0) & "*.txt" & Chr(0), "This is OFNAPI test"), Chr(0))
Select Case UBound(sArray)
    Case Is < 2
    Exit Sub
    Case 2
    List1.AddItem sArray(0)
    Case Else
    For i = 1 To UBound(sArray) - 2
     List1.AddItem sArray(0) & "\" & sArray(i)
    Next i
End Select
End Sub

PM MAIL   Вверх
manowar
Дата 3.8.2005, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile большое человеческое THANKS!!!!! smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

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

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

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

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


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

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


 




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


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

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