Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вопрос по GetFileOpenName / 14 сообщений из 14, страница 1 из 1
25.10.2006, 19:53
    #34081622
edmikeca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
Один из параметров этой функции указывает на initial directory name. А есть ли возможность указать Мой Компьютер?

Заранее благодарю,

С уважением,

Михаил.
...
Рейтинг: 0 / 0
25.10.2006, 21:49
    #34081817
ИвановНН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
Можно попробовать так:
при помощи winapi выяснить директорию рабочего стола
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
constant Long CSIDL_DESKTOPDIRECTORY =  16 
String ls_DesktopDirectory
ls_DesktopDirectory = Space(  255  )

Long ll_SHResult

ll_SHResult = SHGetFolderPath(  0 , CSIDL_DESKTOPDIRECTORY,  0 ,  0 , ls_DesktopDirectory )
if ( ll_SHResult <>  0  ) then
	//error
end if

String ls_FilePath, ls_FileName
GetFileOpenName( 'Select File', ls_FilePath, ls_FileName, "DOC", &
    + "Text Files (*.TXT),*.TXT,Doc Files (*.DOC),*.DOC," &
    + "All Files (*.*), *.*", ls_DesktopDirectory )
PS: в msdn см. CSIDL
...
Рейтинг: 0 / 0
25.10.2006, 22:02
    #34081827
ИвановНН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
Невнимательно причитал: тут не рабочий стол нужен...
тогда вместо CSIDL_DESKTOPDIRECTORY = 16 надо использовать CSIDL_DRIVES = 17. Только почему-то не работает у меня с этим параметром.
...
Рейтинг: 0 / 0
25.10.2006, 22:03
    #34081828
ИвановНН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
Да еще забыл надо External Function объявить:
Код: plaintext
1.
function Long SHGetFolderPath( Long hwndOwner, Int Folder, Long hToken,
Long dwFlags, ref String pszPath ) library 'shell32.dll' alias for 'SHGetFolderPathA'
...
Рейтинг: 0 / 0
26.10.2006, 01:08
    #34081986
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
А можно просто и в лоб :-)
Код: plaintext
1.
2.
3.
String ls_FilePath, ls_FileName
GetFileOpenName( 'Select File', ls_FilePath, ls_FileName, "DOC", &
    + "Text Files (*.TXT),*.TXT,Doc Files (*.DOC),*.DOC," &
    + "All Files (*.*), *.*", "%USERPROFILE%\My Documents") 
...
Рейтинг: 0 / 0
26.10.2006, 10:02
    #34082367
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
ФилиппА можно просто и в лоб :-)
Ай-ай-ай. Не у всех мои документы называются My Documents :-)
Да и не то, собственно, хотели...
...
Рейтинг: 0 / 0
26.10.2006, 15:59
    #34084260
edmikeca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
Похоже простым решением не отделаться.

В любом случае спасибо.

С уважением,

Михаил.
...
Рейтинг: 0 / 0
26.10.2006, 16:28
    #34084385
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
юзай как показал ИвановНН
только с CSIDL_DESKTOPDIRECTORY = 5

на моем компе выдало:
C:\Documents and Settings\UF902320\Mis documentos

а если надо именно Мой Компьютер
то это помоему невозможно,
так как физически нет такого пути,
даже еxplorer не даст тебе туда чтолибо сохранить
...
Рейтинг: 0 / 0
26.10.2006, 17:08
    #34084581
edmikeca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
Идея состояла в том, что бы при открытии диалога были видны все доступные диски. Может можно подойти к этой задаче с другой стороны?

С уважением,

Михаил.
...
Рейтинг: 0 / 0
26.10.2006, 18:07
    #34084857
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
edmikecaИдея состояла в том, что бы при открытии диалога были видны все доступные диски. Может можно подойти к этой задаче с другой стороны?у нас это так:
первый раз открывается дефолтовый путь,
а последующие разы - последнии вабранный,
тоесть тот что юзался при выборе файла дла зап./чтения
юзерам нравится
...
Рейтинг: 0 / 0
26.10.2006, 19:11
    #34085067
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
CSIDL_DRIVES (0x0011)
The virtual folder representing My Computer, containing everything on the local computer: storage devices, printers, and Control Panel. The folder may also contain mapped network drives.

SHGetFolderPath Function - If a virtual folder is specified, this function will fail.
Так что по большому счёту не выйдет...
...
Рейтинг: 0 / 0
26.10.2006, 19:17
    #34085076
ИвановНН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
Я, кстати, тоже про это читал, только думал, что кто-нибудь знает как можно по-другому выкрутится.
...
Рейтинг: 0 / 0
26.10.2006, 20:22
    #34085194
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
Можно так
Филиппкак вызвать модное окно выбора файлов? (а-ля офис ХР?)
Тогда юзверь будет видеть иконку "Мой Комьютер" в Places Bar...
...
Рейтинг: 0 / 0
26.10.2006, 21:08
    #34085252
edmikeca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по GetFileOpenName
Большое спасибо за идеи... иду чесать репу (т.е. думать как с этим жить) :)

С уважением,

Михаил.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вопрос по GetFileOpenName / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]