OpenDialog - диалог выбора файлов и директории
-
SVN r. 1607 небольшое изменение алгоритма обработки ошибок открытия директории, при запуске OpenDialog. Раньше отрисовывалось только окно ошибки, что приводило к невозможности вызова OpenDialog в некоторых случаях. Теперь выводится окно программы с сообщением об ошибке и в последующем используется путь /rd/1/ как базовый.
SVN r. 1608 прикрутил использование OpenDialog (через библиотеку proc_lib.obj) - для программы Screenshooter.
SVN r. 1611 прикрутил использование OpenDialog (через библиотеку proc_lib.obj) - для программы Desktop.
Mario
Хорошая тенденция OpenDialog воистину глобальное приложение.
Хорошая тенденция OpenDialog воистину глобальное приложение.
ушёл...
Mario
Планируется ли подключение OpenDialog к компилятору fasm ?
Планируется ли подключение OpenDialog к компилятору fasm ?
В теме Box_Lib я приводил список программ гипотетически могущих быть дополненных вызовом OpenDialog. Перечеркнутые это те, которые уже сделаны.
Если есть желание помочь процессу, то я только за.
Есть только проблема с программами завязанными на 64 функцию, как например Animage - их придется предварительно переделывать на функцию 68. Впрочем таки программ не так много.
В ближайшее время я возьмусь за программу Icon - в ней кроме прикручивания OpenDialog требуется еще пофиксить минимум один баг.
Если есть желание помочь процессу, то я только за.
Есть только проблема с программами завязанными на 64 функцию, как например Animage - их придется предварительно переделывать на функцию 68. Впрочем таки программ не так много.
В ближайшее время я возьмусь за программу Icon - в ней кроме прикручивания OpenDialog требуется еще пофиксить минимум один баг.
Вот файлик fasm с использованием OpenDialog, почти все сделано. Но есть 2 небольших проблемки:Mario wrote:Если есть желание помочь процессу, то я только за.
1) при открытии окна диалога не отображаются файлы с расширением по умолчанию, в коде вроди все нормально
Code: Select all
Filter:
dd Filter.end - Filter.1
.1:
db 'ASM',0
.end:
db 0
2) При повторном открытии окна диалога возможно возникновение двойного слеша в пути к файлу. Связано это с тем что в 3-м editbox-е в конце нужен слеш, а при запуске окна диалога он не нужен. Просто уже не хочу это поправлять, нужно писать дополнительный код на функцию запуска диалога (в коде это функция fun_opn_dlg)
на СВН не залил, т.к. не готово еще ...
- Attachments
-
-
fasm.7z (4.86 KiB)
- почти готовая версия
Downloaded 256 times
-
1) Тут есть одна тонкость, которую я забыл разъяснить.
Если для фильтра идет пустой буфер нужна конструкция вида:
Т.е. размер будет 0.
Если буфер не пустой, то:
2) Ну, тут уж смотри сам. OpenDialog использует универсальный код, который не подставляет слеш, да и функция 70 конечный слеш тоже не использует. Функция диалога это только возврат пути выбранного пользователем, все дальнейшие действия с ним осуществляет приложение.
Если для фильтра идет пустой буфер нужна конструкция вида:
Code: Select all
Filter:
dd Filter.end - Filter.1
.1:
.end:
db 0
Если буфер не пустой, то:
Code: Select all
Filter:
dd Filter.end - Filter
.1:
db 'ASM',0
.end:
db 0
SVN r. 1617 прикрутил использование OpenDialog (через библиотеку proc_lib.obj) - для программы Fasm.
Спасибо! А то я мозг сломал, прежде чем понял, как скомпилить что-то отличное от example.asm.
Вообще-то в Тинипад можно открыть файл из любого файлового менеджера. А уж в самом Тинпаде есть опция компиляции (в том числе и с запуском) в верхнем меню Запуск.
SVN r. 1621 прикрутил использование OpenDialog (через библиотеку proc_lib.obj) - для программы Kolibri Graphics Benchmark (MGB).
SVN r. 1622 прикрутил использование OpenDialog (через библиотеку proc_lib.obj) - для программы HDD информер.
SVN r. 1624 прикрутил использование OpenDialog (через библиотеку proc_lib.obj) - для программы TinyPad.
SVN r. 1632 прикрутил использование OpenDialog (через библиотеку proc_lib.obj) - для программы Animage.
Who is online
Users browsing this forum: No registered users and 2 guests