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 

Альтернатива descript.ion
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
swr



Joined: 07 Jun 2007
Posts: 54

Post (Separately) Posted: Sun Feb 10, 2019 23:20    Post subject: Reply with quote

Flasher wrote:
Под каждую колонку отдельный скрипт что ли?


Да, у меня сейчас 3 отдельных скрипта.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sun Feb 10, 2019 23:25    Post subject: Reply with quote

Нужно в одном всё делать, иначе нагрузка втрое увеличивается, а скорость уменьшается.
Опишите все три критерия поиска.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
swr



Joined: 07 Jun 2007
Posts: 54

Post (Separately) Posted: Mon Feb 11, 2019 00:52    Post subject: Reply with quote

Flasher wrote:
Нужно в одном всё делать, иначе нагрузка втрое увеличивается, а скорость уменьшается.
Опишите все три критерия поиска.


Сделал как вы сказали, так действительно быстрее и удобнее.

Code:
Set FSO = CreateObject("Scripting.FileSystemObject")
ion = FSO.GetParentFolderName(FileName) & "\descript.ion"

If FSO.FileExists(ion) Then
If FSO.GetFile(ion).Size > 3 Then

   pattern1 = ".*\[([^)(]+?)\]"
   pattern2 = ".*\(C=([^)(]+)\)"
   pattern3 = ".*\(Y=([^)(]+)\)"

   With CreateObject("SAPI.SpFileStream") .Open ion : .Read ArrB, 3 : .Close : End With
   For i = 1 To 2 : Dec = Dec & AscB(MidB(ArrB, i, 1)) : Next
   Select Case Dec
      Case 239187 Enc = "UTF-8"
      Case 255254 Enc = "UTF-16LE"
      Case 254255 Enc = "UTF-16BE"
      Case Else   Enc = "Windows-1251"
   End Select

   With CreateObject("ADODB.Stream")
      .Open : .Type = 2 : .CharSet = Enc : .LoadFromFile ion : All = .ReadText : .Close
   End With

   FileName = FSO.GetFileName(FileName)
   If InStr(FileName, " ") Then FileName = """" & FileName & """"

   With New RegExp
      .pattern = "([[\]\{}\-\(\)^(\$\+\.])" : .Global = 1 : .MultiLine = 1
      .pattern = "^" & .Replace(FileName, "\$1") & " " & pattern1
      .Global = 0 : If .Test(All) Then Content1 = .Execute(All)(0).SubMatches(0)
   End With

   With New RegExp
      .pattern = "([[\]\{}\-\(\)^(\$\+\.])" : .Global = 1 : .MultiLine = 1
      .pattern = "^" & .Replace(FileName, "\$1") & " " & pattern2
      .Global = 0 : If .Test(All) Then Content2 = .Execute(All)(0).SubMatches(0)
   End With

   With New RegExp
      .pattern = "([[\]\{}\-\(\)^(\$\+\.])" : .Global = 1 : .MultiLine = 1
      .pattern = "^" & .Replace(FileName, "\$1") & " " & pattern3
      .Global = 0 : If .Test(All) Then Content3 = .Execute(All)(0).SubMatches(0)
   End With

End If
End If

Set FSO = Nothing


в Options.ini

Code:
[Script]
ActiveScripts=Global


[Global]
Script=Global.vbs
content=Global
extensions=*
FoldersPaths=0
content1=Descript
content2=Color
content3=Year



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



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

Post (Separately) Posted: Mon Feb 11, 2019 01:18    Post subject: Reply with quote

swr wrote:
Flasher wrote:
Опишите все три критерия поиска.

Сделал как вы сказали
Да? Что-то не заметил. Я не просил приводить скрипт и ini.
swr wrote:
возможно я неправильно дополнил код?
Правильнее сказать избыточно, тут достаточно одного паттерна с группой подвыражений.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
swr



Joined: 07 Jun 2007
Posts: 54

Post (Separately) Posted: Mon Feb 11, 2019 01:27    Post subject: Reply with quote

Flasher wrote:

тут достаточно одного паттерна с группой подвыражений.


Я такое сам не сделаю.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Feb 11, 2019 01:56    Post subject: Reply with quote

swr
Продолжаем разговор слепого с глухим? Я просьбу для чего выделил?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
swr



Joined: 07 Jun 2007
Posts: 54

Post (Separately) Posted: Mon Feb 11, 2019 14:12    Post subject: Reply with quote

Flasher wrote:

Продолжаем разговор слепого с глухим? Я просьбу для чего выделил?


Я интерпритировал "критерии поиска" как раз, как три регулярных выражения по которым ищутся значения и соответственно привёл это всё в коде, я вас не понимаю, что вы имеете ввиду под критериями поиска? Всё что мне нужно (и это уже работает) я привел в скрипте, из этого скрипта же видно по каким регуляркам ищутся значения? Confused
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Feb 11, 2019 15:21    Post subject: Reply with quote

Данные регулярные выражения на описание всех критериев не тянут. Они не дают представления о комбинировании искомых подстрок, их последовательности, расположении относительно начала/конца в составе конкретных примеров комментариев.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
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
Page 2 of 2

 
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