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 ... 35, 36, 37 ... 132, 133, 134  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: 1283

Post (Separately) Posted: Mon Nov 12, 2012 14:23    Post subject: Reply with quote

KopBuH
Действительно есть проблема, буду смотреть. Уж падать-то точно не должен.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Wed Nov 14, 2012 15:08    Post subject: Reply with quote

Восьмая бета, только исправления ошибок.

Скачать

Code:
- исправлены неправильные номера строк в сообщениях об ошибках
- исправлено падение при использовании == в сравнении
Back to top
View user's profile Send private message
KopBuH



Joined: 02 Jul 2010
Posts: 127
Location: Tashkent, Uzbekistan

Post (Separately) Posted: Thu Nov 15, 2012 08:37    Post subject: Reply with quote

заметил еще один интересный глюк:
код из конфига:
Code:
IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "Администратор"
IniRead RemoteAdminPWD "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminPwd" "0"

SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
SetEnv /EV COMMANDER_ADMINPWD "%RemoteAdminPwd%"

код из wincmd.ini:
Code:
[RemoteAdministration]
RemoteAdminName=
RemoteAdminPwd=

как видите, ключи в ini-файле стоят пустые, а в переменной RemoteAdminName по умолчанию стоит "Администратор"
теперь, при загрузке ТС, получаем это:
Скриншот

если удалить ключи из ini-файла, то всё работает:
Скриншот

что я делаю неправильно?, быть может если ключи пустые, то лучше чтобы плагин писал в переменной ключи по умолчанию?
и еще было бы неплохо установки ключей по умолчанию из переменной, например:
Code:
IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "%USERNAME%"

 !  Avada:
Неформатные картинки заменены ссылками, текст преобразован в код. Читаем правила форума и впредь проверяем через предварительный просмотр результаты внедрения картинок. Также прошу обратить внимание, как на форуме принято оформлять фрагменты кода. И заодно отмечу, что читать посты при использовании в начале фраз заглавных букв значительно приятнее.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Nov 15, 2012 11:20    Post subject: Reply with quote

KopBuH
RemoteAdminName - это не внутренняя переменная, её заключать в % не надо. И, кстати, кавычки в командах вообще не нужны.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Thu Nov 15, 2012 11:43    Post subject: Reply with quote

KopBuH
Если ключ есть - он есть, неважно, какое у него значение. В данном случае есть ключ с пустым значением, следовательно, считываться должно оно.

Другое дело, что функция SetEnv не позволяет создавать переменные окружения с пустым значением, поскольку Windows не допускает создания пустых переменных окружения.

Однако сейчас и переменные не могут быть пустыми, поэтому и не создаются. Честно говоря, не помню, почему было сделано именно так, особого смысла в этом нет. Переделаю, тогда содержимое переменной можно будет проверить в условии на пустое значение:

Code:

If %RemoteAdminName% = "" Then
  SetEnv /EV COMMANDER_ADMINNAME "Администратор"
Else
  SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
EndIf


Last edited by Loopback on Thu Nov 15, 2012 14:17; edited 1 time in total
Back to top
View user's profile Send private message
KopBuH



Joined: 02 Jul 2010
Posts: 127
Location: Tashkent, Uzbekistan

Post (Separately) Posted: Thu Nov 15, 2012 14:11    Post subject: Reply with quote

Flasher wrote:
KopBuH
RemoteAdminName - это не внутренняя переменная, её заключать в % не надо. И, кстати, кавычки в командах вообще не нужны.


заключать её надо, в соотствии с созданием выше внутренней переменной:
Code:
IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "Администратор"


полный код из поста выше:
Code:
IniRead RemoteAdminName "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminName" "Администратор"
IniRead RemoteAdminPWD "%COMMANDER_INI%" "RemoteAdministration" "RemoteAdminPwd" "0"

SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
SetEnv /EV COMMANDER_ADMINPWD "%RemoteAdminPwd%"

Flasher
или все таки я не прав?

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

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

да, оно считывается. посколько при удалении ключа из ini-файла происходит подставка значений по умолчанию.

Loopback wrote:

Другое дело, что функция SetEnv не позволяет создавать переменные с пустым значением, поскольку Windows не допускает создания пустых переменных окружения.

а можно сделать, что если значение пустое, то переменная создавалась со значением по умолчанию, а не с именем самой переменной?.

P.S.:
а можно в таком сравнении, которое вы указали выше, вместо конкретного "Администратор" использовать глобальную переменную, например %USERNAME%?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Thu Nov 15, 2012 14:28    Post subject: Reply with quote

KopBuH wrote:
а можно сделать, что если значение пустое, то переменная создавалась со значением по умолчанию, а не с именем самой переменной?.

Можно все, но идеологически это неправильно. Set и SetEnv - это по-сути присваивание, а присваиваем мы что-то заранее известное. Для проверки есть условия.

KopBuH wrote:
а можно в таком сравнении, которое вы указали выше, вместо конкретного "Администратор" использовать глобальную переменную, например %USERNAME%?

Разумеется, любые существующие переменные, внутренние или окружения.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Nov 15, 2012 22:17    Post subject: Reply with quote

KopBuH wrote:
или все таки я не прав?
Нет. Переменная изначально объявлялась без %, в том же виде она должна быть использована в других командах.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Fri Nov 16, 2012 11:15    Post subject: Reply with quote

KopBuH
Flasher
Насчет переменных правила просты: если переменная устанавливается (Set, SetEnv, IniRead), то ее имя пишется без %, во всех остальных местах, т.е. там где она читается - % обязательны.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Nov 16, 2012 15:40    Post subject: Reply with quote

Loopback
Так в SetEnv читаем или устанавливаем?
Back to top
View user's profile Send private message
KopBuH



Joined: 02 Jul 2010
Posts: 127
Location: Tashkent, Uzbekistan

Post (Separately) Posted: Sat Nov 17, 2012 08:31    Post subject: Reply with quote

Flasher wrote:
Loopback
Так в SetEnv читаем или устанавливаем?

насколько знаю, читаем внутреннею переменную, а устанавливаем переменную окружения (внешнюю).

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

Loopback wrote:
KopBuH
Flasher
Насчет переменных правила просты: если переменная устанавливается (Set, SetEnv, IniRead), то ее имя пишется без %, во всех остальных местах, т.е. там где она читается - % обязательны.


всё так. если оставить без %, то получишь просто текст, а не содержание переменной. просто уже не стал спорить с Flasher.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Sat Nov 17, 2012 11:11    Post subject: Reply with quote

Loopback
Как и значки, мои шрифты подвергаются частому редактированию. Со значками проще - изменил, а после обновил панель инструментов и вуаля. Шрифты же, загруженные плагином, доступны только для чтения. Чтобы их изменить, я делаю их копии, редактирую, далее из Проводника с закрытым TC произвожу замену. Есть ли способ выгрузить эти шрифты? Перезапуск TC их вернет. Шрифты задействованы в TC, но перед выгрузкой я могу сменить их на что-либо из стандартного набора.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Nov 17, 2012 13:31    Post subject: Reply with quote

KopBuH wrote:
насколько знаю, читаем внутреннею переменную, а устанавливаем переменную окружения (внешнюю).
если оставить без %, то получишь просто текст, а не содержание переменной. просто уже не стал спорить с Flasher
Внутренняя переменная является предопределённой либо устанавливается командой Set, чего мы не наблюдаем в примерах выше. Даже если взять такой пример
Code:
Set Ren "Переменная окружения"
SetEnv Perem %Ren%
, записывается тот же текст %Ren%. И чего тут спорить?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Sat Nov 17, 2012 19:00    Post subject: Reply with quote

Flasher wrote:
Так в SetEnv читаем или устанавливаем?

Не совсем правильно выразился: там где мы вводим имя переменной для записи - там без %, там где ее читаем - там с %.

Flasher wrote:
записывается тот же текст %Ren%. И чего тут спорить?

Ты забыл ключ /EV. C ним будет значение.

ask-rus wrote:
Есть ли способ выгрузить эти шрифты?

Есть - я же их выгружаю при завершении работы плагина. Но как ты это предлагаешь сделать во время работы?
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Sat Nov 17, 2012 20:35    Post subject: Reply with quote

Loopback
Странно, что программа для редактирования шрифтов не может сохранить измененный шрифт (привелегии админа экзешнику присваивал), загруженный плагином, а переименовать файл в TC можно легко. Я точно помню, что раньше TC выдавал ошибку, ссылаясь на доступность файла только для чтения. Возможно, тогда я запускал TC без прав администратора. Можешь у себя это проверить? Программа Type light, бесплатная.
Loopback wrote:
Есть - я же их выгружаю при завершении работы плагина.

Значит, cm_UnloadPlugins должна помочь.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
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 ... 35, 36, 37 ... 132, 133, 134  Next
Page 36 of 134

 
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