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 

Single Post  Topic: Autorun 
Author Message
A55555



PostPosted: Fri Oct 03, 2025 00:54    Post subject: Reply with quote

Orion9 wrote:
A55555
Новая функция работает только с Everything, проверять условие не требуется. Т.е. вместо:
Code:
If bEverything Then CommandExec em_everything

Можно просто посылать em_команду, например, после отображения прогресс-бара:
Code:
RunThread "WinFindTorrentData"
While g_FindTorrTask = 0
    Sleep(50)
Wend

CommandExec em_everything

А в конце выгружать Everything после подсчета времени операции:
Code:
T2 = Round(GetUptime() - T1, 0) / 1000
T3 = "Время поиска: " &  StrFormat("%.3f", T2) & " sec"

CommandExec em_everything

Orion9
спасибо, но стартовать не успевает, поставил буквально в самое начало функции запуск
Code:
CommandExec em_everything

выход в том месте где вы подсказали нормально срабатывает
Code:
CommandExec em_everything_exit


Orion9 wrote:
Для обратного поведения CapsLock нужно поставить "Not" после условия, т.е. заменить
Code:
# проверка CapsLock
If BitAND(DllCall("GetKeyState", "int", 0x14, "short"), 1) Then

на
Code:
# проверка CapsLock
If Not BitAND(DllCall("GetKeyState", "int", 0x14, "short"), 1) Then

Спасибо, помогло и на старом и на новом поиске.

Orion9 wrote:
Что касается недокаченных раздач, то термин изначально был выбран неправильно. Речь идет о частично закаченных раздачах, как вы верно определили. Соответственно, поиск по размеру не будет давать результата. Можно попробовать в клиенте поставить опцию, чтобы дисковое пространство распределялось сразу, но не уверен, что это поможет.

Да, вроде как сразу распределяет, размер показывает полный, но не на 100% совпадающий с тем что на сайте раздачи указан.
Я больше про то, что функция не найдя по размеру, сама не попыталась найти вторым способом по имени. Или тут имеется ввиду, что они друг без друга не могут в по умолчанию режиме?
Когда я её заставляю именно по имени при помощи Crtl поискать, то находит.

Orion9 wrote:
A55555
Проблему с зависанием удалось воспроизвести. Один раз у меня действительно зависло на поиске Blu-Ray, но больше, сколько бы я не пытался повторить, этого не произошло.

Да, зависание не стабильное, сегодня нормально работало, летало, потом снова зависло на этом Blu-Ray.

Orion9 wrote:
Замените эти два блока.

Code:
# локальные переменные
Local T1 = GetUptime(), T2 = T1, T3, bSpeed = 0, bDbg = 1, nRes = 0
Local bName = Not b_Shift, bSize = Not b_CTRL, sSize, sMode, sMem, sDbg
Local j, nCount, sRes, nError, sList, sDirs, aQuery = List(), aCount = List()


Code:
# размер файла
If bSize Then
   sSize = DllCall(sLibName & "\TorrentGet", "handle", hHandle, "wstr", "FileSize", "int", j, "wstr")
EndIf

sDbg = Round(j/(nCount-1)*100,0) & '% - '
If bDbg Then
   nRes += StrLen(sRes) + 8
   sMem = StrLen(sList) + StrLen(sDirs) + nRes
   sDbg &= SizeFormat(sMem*2, 1, 'G', 2) &  ' - '       
EndIf

# меньше сообщений окну прогресса
If bSpeed Then
   T3 = GetUptime()
   If Round(T3 - T2, 0) > 250 Then
      WinSetText(sDbg & sRes, h_WinFindTorr)
      T2 = T3
   EndIf
Else
   WinSetText(sDbg & sRes, h_WinFindTorr)
EndIf

Позже, когда информация о памяти не будет нужна, поменяйте bDbg = 1 на bDbg = 0. Если это действительно проблема взаимодействия с Everything (какой-то баг), то скорее всего ничего не поделаешь.

Ошибку при запуске поиска выкинуло
 Hidden text

OK нажал и всё равно нашло.
Выскакивает только когда ищется одиночный безпапковый например mkv файл.
Папки ищет без ошибки.
Нужно наблюдать, время покажет, но ту Blu-Ray папку теперь ищет нормально.

Эх, всё-таки снова подвисло
 Hidden text

закрыл, снова запустил, на 58% зависло.
Закрыл 58%, снова запустил, нормально нашло.

В любом случае, даже вот так как сейчас, это просто супер. Спасибо.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group