OpenFileRequester и SaveFileRequester
|
|
serg266 | Дата: Четверг, 18.07.2019, 22:33 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Прошу подсказать как "заставить" открывать по умолчанию текущую (свою) папку, т.е. паку, из которой запущена программа с этими функциями. Всегда открывает папку предыдущую. Попробовал использовать GetCurentDir(), но не реагирует (см. пример). Код #Include "window9.bi" Dim Katal As String Katal=GetCurentDir() ? Katal: Sleep ? OpenFileRequester("","Katal","Text files (*.txt, *.ini, *.doc)"_ +Chr(0)+"*.txt;*.ini;*.doc"+Chr(0)) ', OFN_NOCHANGEDIR) Sleep ? SaveFileRequester("","Katal","Text files (*.txt, *.ini, *.doc)"_ +Chr(0)+"*.txt;*.ini;*.doc"+Chr(0)) Sleep
|
|
| |
haav | Дата: Пятница, 19.07.2019, 04:32 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Код #Include "window9.bi" Dim Katal As String Katal=GetCurentDir() ? Katal: Sleep ? OpenFileRequester("",Katal,"Text files (*.txt, *.ini, *.doc)"_ +Chr(0)+"*.txt;*.ini;*.doc"+Chr(0)) ', OFN_NOCHANGEDIR) Sleep ? SaveFileRequester("",Katal,"Text files (*.txt, *.ini, *.doc)"_ +Chr(0)+"*.txt;*.ini;*.doc"+Chr(0)) Sleep
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
serg266 | Дата: Четверг, 25.07.2019, 22:57 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Большое спасибо. Не заметил, что в примере String в кавычках. В своей программе без кавычек. Всё равно, указанный путь (в свою папку) отрабатывает только при первом запуске программы, потом только по последней папке. При переносе программы в другую папку, также на Katal=GetCurentDir() не реагирует, устанавливает предыдущую папку. В принципе ничего страшного нет, просто надо помнить устанавливать путь при первом запуске перенесённой программы. Как я понял, так заложено в API GetOpenFileName?
|
|
| |
haav | Дата: Пятница, 26.07.2019, 05:35 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Цитата serg266 ( ) Большое спасибо. Не заметил, что в примере String в кавычках. В своей программе без кавычек. Всё равно, указанный путь (в свою папку) отрабатывает только при первом запуске программы, потом только по последней папке. При переносе программы в другую папку, также на Katal=GetCurentDir() не реагирует, устанавливает предыдущую папку. В принципе ничего страшного нет, просто надо помнить устанавливать путь при первом запуске перенесённой программы. Как я понял, так заложено в API GetOpenFileName?
У меня все работает как надо. Покажи пример , где возникает проблема.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
serg266 | Дата: Четверг, 22.08.2019, 21:58 | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Спасибо! По OpenFileRequester вопросов нет. Но появился другой вопрос. На некоторых ПК, вернее Window-сах, перестаёт работать LTrim и LTrimA. Интересно и не понятно, почему-то в bedit при быстром запуске всё работает, а EXE "глючит" (см. скрин). На моём ПК работает нормально, Windows-7-64 (правда был сбой, но после перезагрузки всё нормально). На работе два ПК (Windows-10-64). На одном работало нормально, а на другом сбоило. Сей час не работает на обоих.Код #Include "window9.bi" Dim As String Katal, NameF Katal=GetCurentDir() ? Katal ': Sleep NameF=OpenFileRequester("",Katal,"Text files (*.txt, *.ini, *.doc)"+Chr(0)+"*.txt;*.ini;*.doc"+Chr(0)) ? NameF NameF=LTrim(NameF, Katal+"\") ': ? NameF: Sleep ? NameF Sleep
|
|
| |
haav | Дата: Пятница, 23.08.2019, 06:54 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Мне кажется, или на нижнем окошке консоли в первой строке обозначение диска "C" с маленькой буквы (c:\....) ?
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
serg266 | Дата: Пятница, 23.08.2019, 10:42 | Сообщение # 7 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Спасибо! Так, что теперь делать, так возвращает Katal=GetCurentDir(), при работе exe (OpenF_.exe) ? В моём ПК (Windows-7-64), нормально (C:\), а в ПК на работе (Windows-10-64) сбой (c:\), как это объяснить?
|
|
| |
haav | Дата: Пятница, 23.08.2019, 13:32 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Цитата serg266 ( ) Так, что теперь делать
Используй функцию: GetFilePart
Цитата serg266 ( ) В моём ПК (Windows-7-64), нормально (C:\), а в ПК на работе (Windows-10-64) сбой (c:\), как это объяснить?
Это к разработчикам win10.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
serg266 | Дата: Пятница, 23.08.2019, 14:14 | Сообщение # 9 |
Рядовой
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Спасибо за совет! Обнаружил интересное. У них, на тех ПК, программа работает нормально, при запуске exe из Проводника, а при запуске из ТоталКомандор не работает. Я им поставил свой Тотал, при запуске из которого у меня всё работало. Значит просто дело в Тотале, который у них в Win-10, не очень корректно работает. Добавлено (23.08.2019, 15:00) --------------------------------------------- "Используй функцию: GetFilePart" Спасибо! Попробовал, нормально. Зачем только морочил себе и вам головы с Ltrim. Вы меня извините, но я ещё тот "программист", тем более под Windows. Остался на уровне DOS (QB-7.1) и использую похожее, не владея возможностями API и Window9. Пишу чисто расчётные программы? Главное получить результат, оболочка, как получится. Только благодаря FB (с поддержкой QB), с русским Help, и вашей Window9, взялся за это. Ещё раз, спасибо за помощь! Сергей PS расчётные программы начал писать ещё с 1975 (Алгол-60, проектная баллистика выведения орбитального самолёта в дипломе), но как вижу, отстал безвозвратно.
|
|
| |
haav | Дата: Суббота, 24.08.2019, 10:19 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Цитата serg266 ( ) Остался на уровне DOS (QB-7.1) и использую похожее, не владея возможностями API и Window9. Пишу чисто расчётные программы? Главное получить результат, оболочка, как получится. Только благодаря FB (с поддержкой QB), с русским Help, и вашей Window9, взялся за это. Ещё раз, спасибо за помощь! Сергей PS расчётные программы начал писать ещё с 1975 (Алгол-60, проектная баллистика выведения орбитального самолёта в дипломе), но как вижу, отстал безвозвратно.
Основная база знаний есть , с остальным по справкам можно разобраться при желании. Если что не стесняйся , спрашивай. Поможем , чем сможем.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
|