Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: И снова Common Dialog! Добавлено: 08.12.03 12:18  

Автор вопроса:  Ворон | ICQ: 178095693 

При вот таких флагах OFN_ALLOWMULTISELECT Or OFN_EXPLORER возникла еще одна проблема. Диалог возвращает строку (CmnDlg.FileName) с именами файлов, разделенными пробелами. Потом её можно разбить в массив с помощью Split. Но если в имени файла тоже есть пробелы, что делать? Можно ли поменять разделитель у диалога? Может ещё какие-нибудь советы или варианты?

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 alp



Вопросов: 3
Ответов: 6
 Web-сайт: www.bigc-s.narod.ru
 Профиль | | #1
Добавлено: 08.12.03 14:48

ребята полбзуйтесь API а то какие вы на...... иг програмисты

'модуль

 Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Public Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long

Public 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
    lPWCFilenHook As Long
    lpTemplateName As String
End Type
Public lFlags As Long

Public opFile As OPENFILENAME

вот почти вса флаги

Public lFlags As Long
Public Const OFN_ALLOWMULTISELECT = &H200
Public Const OFN_FILEMUSTEXIST = &H1000
Public Const OFN_PATHMUSTEXIST = &H800
Public Const OFN_ENABLEINCLUDENOTIFY = &O400000
Public Const OFN_HIDEREADONLY = &H4
Public Const OFN_LONGNAMES = &H200000
Public Const OFN_EXPLORER = &H80000
Public Const OFN_ENABLESIZING = &H800000
Public Const OFN_CREATEPROMPT = &H2000

' в кнопку

With opFile
 .hWndOwner = gen.hWnd
 .flags = lFlags Or OFN_ALLOWMULTISELECT Or OFN_EXPLORER
 '.lpstrInitialDir = App.Path
 .lpstrTitle = temps
 .lpstrFilter = "All" & vbNullChar & "*.*"
 .lpstrFile = String(2047, " ")
 .nMaxFile = 2048
 .lpstrFileTitle = String(2047, " ")
 .nMaxFileTitle = 2048
 .lStructSize = Len(opFile)
End With
If GetOpenFileName(opFile) <> 0 Then
 temps = Mid(opFile.lpstrFile, 1, InStrRev(opFile.lpstrFile, vbNullChar, -1) - 1) ' строка удаляет нулевой символ в конце
 Label1.caotion=temps

' сами смотрите что нужно opFile.lpstrFile или opFile.lpstrFileTitle
End If

 

p.s. анегдот

приходит молодой програмист к опытному, дает исходник своей программы и говорит

- Где у меня ошибка?

опытный посмотрел и говорит

- В генах!

:-)

Ответить

Номер ответа: 2
Автор ответа:
 alp



Вопросов: 3
Ответов: 6
 Web-сайт: www.bigc-s.narod.ru
 Профиль | | #2
Добавлено: 08.12.03 14:55

ошибочка

строку

.hWndOwner = gen.hWnd

замени на

.hWndOwner = me.hWnd

Ответить

Номер ответа: 3
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #3 Добавлено: 08.12.03 21:37
Я пользуюсь модулем, там и выбор файлов и выбор папок, и цвет, и принтер и ещё чего-то(уже не помню). Там без ComDlg и имена возвращаются в массиве. Может скинуть на ящик?

Ответить

Номер ответа: 4
Автор ответа:
 Ворон



ICQ: 178095693 

Вопросов: 6
Ответов: 24
 Профиль | | #4 Добавлено: 09.12.03 09:27

alp, анекдот старый, но может ты и прав? Спасибо за помощь!!!

cresta, спасибо за предложение, но хочется всё-таки своими ручками писать, чтобы небыло как в анекдоте! :-)

Ответить

Номер ответа: 5
Автор ответа:
 alp



Вопросов: 3
Ответов: 6
 Web-сайт: www.bigc-s.narod.ru
 Профиль | | #5
Добавлено: 09.12.03 15:05

скинь мне на alp-10@mail.ru

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам