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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Строка от CommonDialog(как разделить на части...) 
:(
    Опции темы
Farhod
  Дата 31.8.2002, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я сделал свойство CommonDialog таким что бы при вызове окна "Oткрытия файлов" ShowOpen" он открывал (выделял) несколько файлов.И в результате у меня в строке "Имя файла" получается несколько имен файлов разделённые с кавычками. Я хочу сделать так что бы при открытии этих файлов каждый файл добавлялся в ListBox. У меня в свойсве FileName
получается  несколько файлов. Подскажите ...
PM MAIL   Вверх
Win MK 32
  Дата 31.8.2002, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Отлавливай с помощью функции mid() то что между кавычками и добавляй в список.
PM   Вверх
Win MK 32
Дата 31.8.2002, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



mid(переменная_с_открытыми_файлами, начальный_символ, количество_символов_после_начального)
smile=168
PM   Вверх
Farhod
  Дата 1.9.2002, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Да но как программно определить кавычки ?
PM MAIL   Вверх
Win MK 32
Дата 1.9.2002, 05:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



text2.text :
Код
"

Перебирай с помощью mid() по одному символу и если он не равен text2.text то переменная1 = переменная1 + этот_символ иначе добавляй "переменная1" в список и переменная1 = ""
PM   Вверх
Sniper
Дата 21.1.2003, 06:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











FarhodFarhodFarhod
  Вверх
cardinal
Дата 21.1.2003, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



Split Function

Description

Returns a zero-based, one-dimensionalarray containing a specified number of substrings.

Syntax

Split(expression[, delimiter[, count[, compare]]])

The Split function syntax has these parts:

Part Description
expression Required.String expression containing substrings and delimiters. If expression is a zero-length string(""), Split returns an empty array, that is, an array with no elements and no data.
delimiter Optional. String character used to identify substring limits. If omitted, the space character (" ") is assumed to be the delimiter. If delimiter is a zero-length string, a single-element array containing the entire expression string is returned.
count Optional. Number of substrings to be returned; –1 indicates that all substrings are returned.
compare Optional. Numeric value indicating the kind of comparison to use when evaluating substrings. See Settings section for values.


Settings

The compare argument can have the following values:

Constant Value Description
vbUseCompareOption –1 Performs a comparison using the setting of the Option Compare statement.
vbBinaryCompare 0 Performs a binary comparison.
vbTextCompare 1 Performs a textual comparison.
vbDatabaseCompare 2 Microsoft Access only. Performs a comparison based on information in your database.


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

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


Unregistered











'Быть может "тупорыльно", но работает!!!

inull = False
spath = CommonDialog1.FileName

n = 0
m = Len(spath) - 1
Dim mf() As String ' массив файлов

If Mid(spath, Len(spath), 1) = Chr(0) Then spath = Mid(spath, 1, Len(spath) - 1)
Do While inull = False

i = InStrRev(spath, vbNullChar)
If i = 0 Then inull = True Else tmp = Mid(spath, i + 1, Len(spath) - i)
If i = Len(spath) Then ReDim Preserve mf(0): mf(0) = tmp
temp = Mid(spath, i + 1, Len(spath) - i)
If i <> 0 Then spath = Mid(spath, 1, i - 1)
If temp <> "" Then ReDim Preserve mf(n + 1): mf(n) = temp: n = n + 1
Loop

If n = 1 Then n = 2 ' типа если был 1 файл, то 2, т.к. первое значение - путь
For i = 0 To n - 2
MsgBox mf(i)
Next i

' получили как вы поняли массив mf () от 0 до n-2
  Вверх
~FoX~
Дата 1.7.2005, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

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



split возвращает массив стрингов.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Vach
Дата 1.7.2005, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Роман используй теги кода.
Пример с использованием Split Function
Код
Private Const cdlOFNAllowMultiselect = &H200
Private Const cdlOFNCreatePrompt = &H2000
Private Const cdlOFNExplorer = &H80000
Private Const cdlOFNExtensionDifferent = &H400
Private Const cdlOFNFileMustExist = &H1000
Private Const cdlOFNHelpButton = &H10
Private Const cdlOFNHideReadOnly = &H4
Private Const cdlOFNLongNames = &H200000
Private Const cdlOFNNoChangeDir = &H8
Private Const cdlOFNNoDereferenceLinks = &H100000
Private Const cdlOFNNoLongNames = &H40000
Private Const cdlOFNNoReadOnlyReturn = &H8000
Private Const cdlOFNNoValidate = &H100
Private Const cdlOFNOverwritePrompt = &H2
Private Const cdlOFNPathMustExist = &H800
Private Const cdlOFNReadOnly = &H1
Private Const cdlOFNShareAware = &H4000
Private Const CD_FLAGS = cdlOFNAllowMultiselect + cdlOFNExplorer + cdlOFNLongNames

Private Sub Form_Load()
With CommonDialog1
        .CancelError = True
        .MaxFileSize = 32000
        .Filter = "All Files *.*/*.*"
        .Flags = CD_FLAGS
        .ShowOpen
        
        myFiles = Split(.FileName, vbNullChar) 'собственно замена твоего кода
         
        Select Case UBound(myFiles)
            Case 0
                List1.AddItem myFiles(0)
            Case Is > 0
                For i = 1 To UBound(myFiles)
                    myPath = myFiles(0) & IIf(Right(myFiles(0), 1) <> "\", "\", "") & myFiles(i)
                    List1.AddItem myPath
                Next i
        End Select
End With
End Sub

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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

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



А по моему проще будет разобратся с кавычками через Replace?


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

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

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

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

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


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

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


 




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


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

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