Page 66 of 70
Re: Разные недочеты/баги
Posted: 30.12.2025 11:43
by mix-7
Не обошлось без багов
Составил в CudaText текстовый файлик для другого компа в сети в папку
smb://192.168.8.xxx/work/ЗАЯВКИ/
Запросил при сохранении root-пароль
Сообщение:
Code: Select all
EFileNotFoundException
Cannot find "pkexec" program to copy as root.
Saved to a temporary file:
/tmp/cudatext_00000.tmp
Подумал, нашел причину:
в имени были двоеточия (разделитель времени)
А компьютер 192.168.8.xxx с Win10
Заменил ":" на "-", сохранил штатно.
Не совсем баг, но просто наблюдение.
Re: Разные недочеты/баги
Posted: 30.12.2025 12:25
by main Alexey
может надо приделать замену невалидных символов вроде ':' при сохранении на "_". делают ли так другие редакторы? как они определяют что сетевой ПК это винда и надо менять символы?
Re: Разные недочеты/баги
Posted: 30.12.2025 21:05
by mix-7
> может надо приделать замену невалидных символов вроде ':' при сохранении на "_".
А нужно ли?
Я не сразу, но догадался.
Хотя сообщение было похоже на ошибку сохранения в сетевом файле.
Если сочтете возможным, то стоит давать предупреждение, что символы недопустимые.
Если подменять - предлагать подмену?
Для Linux только "/" недопустим, насколько помню.
> как они определяют что сетевой ПК это винда и надо менять символы?
Может, есть какой запрос, в какой файловой системе сохранения.
У меня нет под рукой Win, а если в Win попытаться сохранить в файл с недопустимым символом в имени, с ":"?
Может, будет похожая ошибка.
(В коде на Python, помню по WikidPad и его Clipboard Catcher, была проверка на ОС и ветвление.
Мы же благодаря идее Veksha создали универсальный плагин для буфера обмена.)
Есть в Lazarus проверки на OS, вернее, на тип файловой системы при сохранении?
Свойства каталога, в котором сохраняешь?
> делают ли так другие редакторы?
Уже после праздников теперь, наверное. Не подумал проверить. Хотя да, интересно.
Колонка с ИИ подсказала, что многие редакторы предупреждают о недопустимых символах в имени файла, например,
жалкое подобие CT - ST и Np++.
Re: Разные недочеты/баги
Posted: 31.12.2025 06:36
by main Alexey
>Есть в Lazarus проверки на OS, вернее, на тип файловой системы при сохранении?
Свойства каталога, в котором сохраняешь?
такого АПИ нет если считать только верхнее АПИ без IO_CTL. можно заменять ":" но только для всех ОС сразу, а это не хорошо.
Re: Разные недочеты/баги
Posted: 31.12.2025 09:50
by mix-7
Да, я вспомнил, что у меня на ПК с Ubuntu есть на диске раздел NTFS.
Т.е. никак не определить тип ФС при сохранении?
Может тогда обернуть save / save as в assertion (?) c предупреждением о проблеме с сохранением?
Re: Разные недочеты/баги
Posted: 31.12.2025 20:24
by main Alexey
если под *nix делать проверку на ":" в имени файла при save/save_as, то не знаю как юзеры воспримут. мешать будет при сохранении иногда. не знаю
АПИ для детекта file system я не знаю.
Re: Разные недочеты/баги
Posted: 31.12.2025 20:29
by main Alexey
Grok дал ответ про АПИ для паскаля.
https://grok.com/c/003d65c7-e471-44dc-b ... de4f459c10
подумаю, может заюзать, но это некрасивый код вродебы.
Re: Разные недочеты/баги
Posted: 01.01.2026 17:37
by main Alexey
а что делают в том же случае VSCode / SublimeText / Geany / Kate? если они както это обрабатывают и не пускают символ ":" то повод сделать то же.
Re: Разные недочеты/баги
Posted: 02.01.2026 21:58
by mix-7
Надо посмотреть, как в Linux в случае smb-ntfs/ntfs/fat32 сохраняют gedit, Pluma, ST
Думаю, пока достаточно предупреждения, если сохранение происходит с ошибкой.
Можно отловить этот Exception и сообщить пользователю "проблема с сохранением, заданный файл не может быть создан"?
А в чем некрасивость кода, подсказанного Grok?
Re: Разные недочеты/баги
Posted: 02.01.2026 22:12
by main Alexey
EFileNotFoundException (он указан в вашем посте вверху) можно конечно отловить но я не знаю в каких еще случая оно может прийти, и не уверен что этот код ошибки именно про то что "в имени есть кривые символы".
> в чем некрасивость кода, подсказанного Grok?
там используются константы которые специфичны для линукс (берутся их сорцов линукс) и для BSD/solaris/haiku они не катят.