Отправлено: 03-Май-2021 11:05
(спустя 1 год 2 месяца)
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
Последний раз редактировалось: AZJIO (2021-10-01 23:50), всего редактировалось 4 раз(а)
|
Отправлено: 14-Июн-2021 00:55
(спустя 1 месяц 10 дней)
cartmenezz
- Стаж: 9 лет 2 месяца
- Сообщений: 527
- Репутация:14[+] [-]
- Откуда: Калининград
|
86396Подсветку bat или другую лучше делать для себя самостоятельно согласен, просто никогда не интересовался как это делается, я имеющимся функционалом ито не всем пользовался, а уж добавлять... это надо время найти, разобраться.. да и в принципе подсветка устраивает, больше интересовали темные темы, ато в основном вечером за компом сижу (ещё бы не только тему для текстового поля, но и для самой программы (меню, панель, и т.д.), жаль в AkelPad нет такого функционалаБлагодарю! ... ох и сколько же тут всего добавлено)) я видимо и 10ой частью функционала не пользовался... кнопочку переключатель тем нашел)
|
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
кнопочку переключатель тем нашел там есть скрипт CommandPalette.js в виде пункта "Найти пункт меню F9" в "Поиск". Там вводишь типа искомый пункт меню, например "сортировка" и получишь команды которые изначально не можешь найти с текстом содержащим это слово.
|
cartmenezz
- Стаж: 9 лет 2 месяца
- Сообщений: 527
- Репутация:14[+] [-]
- Откуда: Калининград
|
AZJIO, отлично, пригодится, спасибо
|
Отправлено: 27-Авг-2021 17:50
(спустя 2 месяца 10 дней)
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
Последний раз редактировалось: AZJIO (2021-10-01 23:30), всего редактировалось 1 раз
|
Отправлено: 06-Дек-2021 01:48
(спустя 2 месяца 4 дня)
cartmenezz
- Стаж: 9 лет 2 месяца
- Сообщений: 527
- Репутация:14[+] [-]
- Откуда: Калининград
|
AZJIO, Здравствуйте Как я понимаю PureBasic далеко не простой язык, но возможно для разбирающегося человека неочень сложно что-то понять в чужих исходниках? Некоторое время назад я столкнулся со странностью при использовании встроенной в Windows утилиты для копирования в буфер текста - Clip, спрашивал тут на форуме - https://usbtor.ru/viewtopic.php?p=85632#85632Продублирую:похоже наткнулся на какую-то странную пасхалку в винде (по крайней мере в Win10)
на работе частенько приходится вводить пароли, которые фиг запомнишь (при этом необходимость конфиденциальности под большим вопросом), я себе на них сделал ярлыки с быстрым запуском, запрятал их немного. и до недавнего времени не знал горя - нажал нужное сочетание клавиш, пароль скопировался в буфер, я его вставил.
в ярлыке прописана такая команда: C:\Windows\System32\cmd.exe /c echo|set /p=MyPassWord| Clip но блин, обзавелся я паролем "h848h547", сделал как обычно ярлык: C:\Windows\System32\cmd.exe /c echo|set /p=h848h547| Clip и после вставки получаю китайские иероглифы)) что за дичь такая?)) интересненько)) И вы мне кстати объясняли суть проблемы:85680 Это старая, как мир, проблема с кодировками в буфере обмена. Программа помещает в буфер набор байтов, но не говорит винде, на каком они языке и в какой кодировке, та пытается угадать, используя текущую локаль, активный язык ввода и т.д., но получается не всегда. Попробуйте вместо "echo|set" использовать "< nul set". Сейчас мучаю аналог - ClipText от Horst Schaeffer У этой программы нет такой проблемы, по крайней мере на тексте "h848h547" она не проявилась. Но, выявилась другая - с кириллицей. Чтобы правильно распознавалась кодировка текста в файле, как я понял есть два пути: 1) текст в файле в кодировке 1251, и используем такую команду:2) текст в файле в oem 866 кодировке, и используем команду:cliptext from oem.txt /OEM Оба варианта отлично работают с русским текстом. НО, если текст частично на русском и частично на английском, то копируется правильно только если предварительно включить Русскую раскладку клавиатуры (иначе вместо кириллицы непонятно что, латынь в норме). Пытался найти более старые версии ClipText, в надежде что там программа меньше "думала", но не удалось. Зато, как выяснилось, автор делится исходниками своих программ. Вот у меня и мелькнула мысль, что может быть этот момент можно подправить - сделать так чтобы программа не смотрела на текущую раскладку клавиатуры, а всегда думала что она русская.. вам Я понимаю что у вас наверное и своих дел хватает, но возможно если найдется пара свободных минут сможете глянуть? вдруг для вас там все будет очевидно) Конечно, если это дело не получаса, то и не надо,.. я понимаю, что это довольно наглая просьба просить покопаться в чужих исходниках (плюс к тому, возможно на измененый вариант будут реакции антивирусов, тогда тоже нет смысла)-если вдруг решите глянуть, вот ссылка - https://www.horstmuc.de/source/cliptext20.zip
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3810
- Репутация:127[+] [-]
|
cartmenezz, Хорст вполне на связи и можешь ему написать. И даже попросить.
|
cartmenezz
- Стаж: 9 лет 2 месяца
- Сообщений: 527
- Репутация:14[+] [-]
- Откуда: Калининград
|
Ander_73, как то не подумал, попробую) спасибо
|
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
cartmenezz, всего то 83 строки, там нет ничего сложного, используется функция OemToChar для перекодирования. В своё время nikzzzz предложил мне эти 2 функции для ChkDskGui (с CharToOem). Теоретически работа этих функций не зависит от раскладки клавиатуры. Там есть "открыть файл", но я не вижу как распознаётся файл между ANSI, UTF8, UTF8 c BOM, UTF16 BE/LE. Если UTF открыть как ANSI, то конечно будет белиберда. Добавил ReadStringFormat, скачай Если не получится нужен тестовый файл. Возможно понадобится перекодировка UTF8 в ANSI.
|
cartmenezz
- Стаж: 9 лет 2 месяца
- Сообщений: 527
- Репутация:14[+] [-]
- Откуда: Калининград
|
AZJIO ОГРОМНОЕ СПАСИБО что откликнулись!
90391Если UTF открыть как ANSI, то конечно будет белиберда ну я тестил именно с ansi 1251 и с oem 86690391Теоретически работа этих функций не зависит от раскладки клавиатуры и тем не менее влияет, я еще долго этого не замечал, не мог понять почему иногда нормально а иногда нет, потом дошло90391Добавил ReadStringFormat, скачай как говорится, дело мастера боится правда не на 100% помогло: * почему-то вывод справочной инфы сломался (если запустить без параметров, или с /?), но это уже мелочи.. хотя возможно ноги растут оттуда же, откуда вторая проблема * cliptext from file /OEM - вообще сломалось, теперь ни на какой раскладке не работает Теперь так: - копирование из ansi удачное при обеих раскладках (Ru/En) - копирование oem неудачное при обеих раскладках Записал видео (как отрабатывает оригинал на обеих раскладках, и как ваш мод) - ссылка - В принципе, вариант уже работоспособный, добавлю в скрипте chcp 1251 перед записью текста в файл, и буду использовать cliptext без /oem На удивление на VirusTotal все несильно хуже чем с оригиналом - 3 реакции против 1 , правда среди них Microsoft,.. время позднее, завтра еще на работе попробую, ато дома у меня Defender отключен. В общем, еще раз спасибо))
|
AZJIO
- Стаж: 6 лет 8 месяцев
- Сообщений: 1322
- Репутация:127[+] [-]
|
cartmenezz, перекачай файл Так как исходник ранее компилированный как ANSI теперь компилируется в юникоде, то настройки по умолчанию сменились с ANSI на юникод. Чтобы восстановить ключ /OEM установил флаг ANSI при открытии файла (в режиме to). Для режима from в первой переделке установлен ReadStringFormat чтобы определить формат файла ANSI, UTF8/16/32 (BE/LE) и с учётом этого правильно прочитать файл. Зависимость от раскладки, возможно при английской используется 1252, а при русской 1251, из этого вывод, что при работе с файлами ANSI проблема останется, а значит решить её можно переключив раскладку в Ru при файле ANSI на момент работы функции. В режиме from сделал если формат ANSI то раскладка переключается на Ru для активного окна. Но это не сделано для режима to, так как надо принудительно открывать файл только для выяснения кодировки и потом уже задавать этот флаг. Если проблема осталась могу этот последний финт сделать. Добавил cliptext_mod2.exe, если cliptext_mod.exe выдаст не то что ожидалось в режиме to, то проверь cliptext_mod2.exe в который я тоже добавил ReadStringFormat. То есть изначально открывает файл как ANSI, и проверят формат, если он иной, то функция записи выполняется уже в режиме соответствующего формата.
|
Страница 2 из 4
Текущее время: 21-Ноя 13:39
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы не можете скачивать файлы
|
|