Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Autorun
Goto page Previous  1, 2, 3 ... , 196, 197, 198  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Loopback



Joined: 07 Sep 2009
Posts: 1589

Post (Separately) Posted: Sat Aug 09, 2025 11:24    Post subject: Reply with quote

AkulaBig
Эта ошибка просто потому, что строка должна быть в кавычках: "CP:1200". Но вы правы, по умолчанию запись производится в UTF-8, а нужен UTF-16. Мой косяк. Надо добавить кодировку при записи:

Code:

arrFile.SaveToFile(sIni, "UTF-16")
или
arrFile.SaveToFile(sIni, "CP:1200")


При чтении не обязательно, она определяется по BOM.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 420

Post (Separately) Posted: Sat Aug 09, 2025 12:59    Post subject: Reply with quote

Loopback wrote:
строка должна быть в кавычках: "CP:1200".

Да. Ругаться перестало, а проблема не исчезла.
Так-то причину я нашел, но как ее устранить не понимаю. Думал дело в кодировке. Вот вывод out, из котором все ясно:
 Hidden text
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1589

Post (Separately) Posted: Sat Aug 09, 2025 13:35    Post subject: Reply with quote

AkulaBig wrote:
Вот вывод out, из котором все ясно:

Честно говоря, совершенно не ясно. На что внимание-то обратить?
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 420

Post (Separately) Posted: Sat Aug 09, 2025 14:24    Post subject: Reply with quote

Loopback
Только одна секция обрабатывается. Видите, сколько раз она повторяется? А где другие секции?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1589

Post (Separately) Posted: Sat Aug 09, 2025 15:45    Post subject: Reply with quote

AkulaBig
Нет, не вижу. Вам свои файлы знакомы, я же по этому выводу ничего не могу понять, к сожалению. Непонятно, в каком месте расположена OutputDebugString, выводящая текст, непонятно, где заканчивается вывод одного файла, а где начинается другой. Вообще для таких простыней OutputDebugString становится не слишком удобен.

Фактически я только поменял метод чтения и записи файлов. Вот, чтобы убедиться, специально сделал сравнение результатов чтения предыдущим и новым методом. Строки читаются одинаковые.

 Hidden text


Может так же и на предыдущем варианте SwitchIniSect было?
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 420

Post (Separately) Posted: Sat Aug 09, 2025 17:44    Post subject: Reply with quote

Loopback wrote:
Нет, не вижу.

[Buttonbar]
[Buttonbar_eng]
[Buttonbar_eng]
[Buttonbar]
Откуда последние две строчки с другим количеством кнопок? У меня такая мешанина была, когда этот скрипт был на autoit. Из-за неправильной кодировки в файл добавлялся мусор.
Loopback wrote:
Фактически я только поменял метод чтения и записи файлов

Да, я сравнивал. Разница всего-то в нескольких строчек. Но удаляются все мои настройки.

Добавлено спустя 13 минут:

Loopback








Только колонки пользователя остались. Конечно сейчас не в файле, а в выводе out. Но я не вижу других причин. Ведь синтаксис у вас правильный. Я проверил, хоть и смешно это писать. Я ПРОВЕРИЛ ВАШ синтаксис. Чуть не умер от смеха. Но факт остается фактом. Ваш код не работает.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1589

Post (Separately) Posted: Sat Aug 09, 2025 19:30    Post subject: Reply with quote

AkulaBig wrote:
Откуда последние две строчки с другим количеством кнопок?

Откуда же мне знать, если я даже не знаю, что и из какого места выводится?

Ну хорошо, давайте просто посмотрим тот лог:
Code:

00000002 0.00000000 [4512] [Buttonbar]
00000003 0.00000000 [4512] Buttoncount=36
...
00000112 0.00000000 [4512] [Buttonbar_eng]
00000113 0.00000000 [4512] Buttoncount=36

Это вероятно был HORIZONTAL.BAR

00000225 0.00828640 [4512] [Buttonbar_eng]
00000226 0.00828640 [4512] Buttoncount=19
...
00000293 0.00828640 [4512] [Buttonbar]
00000294 0.00828640 [4512] Buttoncount=19

А это по-видимому VERTICAL.BAR


И вызов, видимо, идет из этого куска:

Code:
Local Buttonbar = IniRead(ini_Buttonbar, "Buttonbar", "Buttonbar", "")
Local ButtonbarVertical = IniRead(ini_ButtonbarVertical, "ButtonbarVertical", "Buttonbar", "")
SwitchIniSect(Set(Buttonbar), sect_Buttonbar, lng)
SwitchIniSect(Set(ButtonbarVertical), sect_Buttonbar, lng)


И где же дубликаты? Smile

AkulaBig wrote:
Да, я сравнивал. Разница всего-то в нескольких строчек. Но удаляются все мои настройки.

Вот я сейчас запустил сборку с функцией из моего предыдущего сообщения (которая со сравнением методов). Вижу все списки как на ваших первых трёх скринах. Вроде бы ничего не удалилось...
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 420

Post (Separately) Posted: Sat Aug 09, 2025 19:36    Post subject: Reply with quote

Loopback wrote:
Откуда же мне знать, если я даже не знаю, что и из какого места выводится?

Совсем забыл. После Local out = arrFile.Text

Добавлено спустя 9 минут:

Loopback wrote:
И где же дубликаты?

Вы правы. Все время забываю, что вертикальная панель у меня почему-то по другому перезаписывается.
Loopback wrote:
которая со сравнением методов

Со сравнением методов вроде и у меня работает. Попробуйте первый свой код вставить.

Добавлено спустя 2 минуты:

Еще раз проверил, но не глубоко. Сравнительная версия работает.

Добавлено спустя 5 минут:

Local out = buf.GetStr(0, bytes)
А не в этом-ли проблема? Вернее решение проблемы. Помню мы уже обсуждали эту тему.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1589

Post (Separately) Posted: Sat Aug 09, 2025 20:16    Post subject: Reply with quote

AkulaBig wrote:
Попробуйте первый свой код вставить.

Тот код был с ошибкой, он действительно "портит" файлы, записывая их в неправильной кодировке. Но я же здесь уже писал, что надо исправить. С исправленным кодом всё работает нормально.

AkulaBig wrote:
А не в этом-ли проблема? Вернее решение проблемы. Помню мы уже обсуждали эту тему.

Там была проблема с завершающим нулем или что-то похожее. Она давно исправлена. А в функции из этого поста значение из буфера только для сравнения используется, больше нигде. Ну и исправление кодировки записи уже внесено, конечно.

AkulaBig wrote:
Со сравнением методов вроде и у меня работает

Ну так всё дело было в кодировке при записи. Вот так должно быть:

 Hidden text
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 420

Post (Separately) Posted: Sat Aug 09, 2025 20:27    Post subject: Reply with quote

Loopback wrote:
Ну так всё дело было в кодировке при записи.

Так все работает! Значит я правильно понял проблему. А вас не понял. Не понял в плане, что можно просто UTF-16 написать. Я-же пытался CP:1200 написать. У вас-же UTF-16LE нет. А вы на мой пост про это не стали отвечать. Я думал вы переделкой занимаетесь.
Главное разобрались! Считаю полезно пообщались.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1589

Post (Separately) Posted: Sat Aug 09, 2025 20:47    Post subject: Reply with quote

AkulaBig wrote:
Значит я правильно понял проблему. А вас не понял. Не понял в плане, что можно просто UTF-16 написать. Я-же пытался CP:1200 написать. У вас-же UTF-16LE нет.

Да, изначально была причина в кодировке, это сразу стало понятно. А вот дальше возникли разночтения. Я был полностью уверен, что CP:1200 эквивалентна UTF-16, собственно так и должно быть, а вот на самом деле нет, всё так же пишет в UTF-8. Так что польза безусловно есть, еще один баг нашли Smile

А UTF-16 и есть LE, просто в 99% используется этот вариант, поэтому и просто UTF-16, покороче. А для редкого BE UTF-16BE, длиннее. По аналогии с Autoit.

Кстати, возвращаясь к позиционированию окна ошибки, с чего всё и начиналось. С этим кодом оно так же улетает за экран?
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 420

Post (Separately) Posted: Sat Aug 09, 2025 21:07    Post subject: Reply with quote

Loopback wrote:
А UTF-16 и есть LE, просто в 99% используется этот вариант, поэтому и просто UTF-16, покороче. А для редкого BE UTF-16BE, длиннее.

Теперь все ясно.
Loopback wrote:
С этим кодом оно так же улетает за экран?

Сейчас потестю.

Добавлено спустя 58 минут:

Loopback
Ошибка осталась. Только теперь текста на ней не видно вообще. Когда нормальная ошибка промелькнула, вроде все тоже написано. Но лениво сравнивать. Думаю не в этом проблема. А вот посмотрите скрин:

Меня несколько смущает, почему в этом выражении скобки красным подсвечиваются. А расцветка в Акельке ваша:
; Credits....: Loopback
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1589

Post (Separately) Posted: Sat Aug 09, 2025 23:09    Post subject: Reply with quote

AkulaBig wrote:
Ошибка осталась. Только теперь текста на ней не видно вообще. Когда нормальная ошибка промелькнула, вроде все тоже написано. Но лениво сравнивать. Думаю не в этом проблема.

Ясно. Раз сохраняется, значит дело действительно не в этом. Ну что ж, если после обновления винды я этот косяк на вашей сборке не словлю, придется пока оставить. Может со временем какие-то новые вводные данные появятся.

AkulaBig wrote:
А вот посмотрите скрин

Эта расцветка была сделана очень давно, буквально на коленке, чтобы хотя бы функции подсвечивались. Наверно предполагалось подсвечивание парных скобок. Вообще я Акелом на постоянной основе не пользуюсь, доделать ее не скоро соберусь. Но еще yozhik альтернативную расцветку делал, поищите в теме, возможно там всё более правильно реализовано.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 420

Post (Separately) Posted: Sat Aug 09, 2025 23:31    Post subject: Reply with quote

Loopback wrote:
Может со временем какие-то новые вводные данные появятся.

Будем надеяться, что решите проблему.
Loopback wrote:
Но еще yozhik альтернативную расцветку делал

Поищу.

Добавлено спустя 17 минут:

У ежика тоже эти скобки подсвечиваются. Ладно, забью на это. Я просто подумал вдруг это как-то влияет на ошибку.
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 420

Post (Separately) Posted: Sun Aug 10, 2025 20:55    Post subject: Reply with quote

Loopback
Я закончил переделку. Сейчас языковые файлы сделал отдельными для плагинов и утилит. А в основном, где воспроизводили ошибку, остались только бары и инишники. Все остальные языковые файлы стали ниже основного. То-есть большое количество строк переместилось вниз. Но ошибка также выскакивает за пределами экрана. Причем только в функции потока.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... , 196, 197, 198  Next
Page 197 of 198

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group