[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: Andrey_A, simup, ХарВик, chip642  
ScriptTemplate.vbs - Скрипт шаблон
Andrey_AДата: Четверг, 28.11.2013, 02:19 | Сообщение № 1
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
Скрипт шаблон, помогающий пользователю настроить текстовые преобразования
Используется скрипт Functions.vbs - Скрипт с различными Функциями, которые можно использовать в других скриптах

Доступно только для пользователей


 
InFiveДата: Среда, 24.06.2015, 21:41 | Сообщение № 16
Майор

На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
Награды: 2
Репутация: 0
Цитата Andrey_A ()
пропишите функцию CreateNewTab

[КОД:]
Выделить весь код
Case 5
Text = RegExpReplace(Text, "<font (.+)(\d\d\d\d\d\d\d\d\d\d)</font>","Text = Replace(Text, ""$2"", ""<font $1</font>"")", 1, 0, 1)
CreateNewTab

Спасибо, Андрей, за CreateNewTab, но это немного не то, мне нужно до этого "Case" - в данном скрипте в "Case" прописать что искать в строках, и все найденные строки с нужной фразой чтобы переправить в новый таб... просто в "Case" будут также и другие команды, чтобы лишние действия не делать... но если так нельзя, то нужные действия есть в меню AkelPad
 
Andrey_AДата: Среда, 24.06.2015, 22:15 | Сообщение № 17
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
InFive, я думаю все можно но мне не ясна точная задача. Обычно с текстовыми файлами необходимо - текст(файл до), после - и точное описание, но я не экстрасенс.. хотя с опытом иногда и попадаю)))

 
ZmyДата: Пятница, 26.06.2015, 16:29 | Сообщение № 18
Майор

На сайте с: 19.04.2015
Город: Краснодар
Сообщений: 81
Награды: 1
Репутация: 0
Подскажите, пожалуйста. А почему AkelPad-овские скрипты, не получается использовать в PSPad? Там что, используются какие-то COM-объекты? Мне надо зарегистрировать, какой-то класс? Или там, может быть, используются какие-то нестандартные языки?
При загрузке любого скрипта (хоть vbs, хоть js), он выдаёт ошибку.


Сообщение отредактировал Zmy - Пятница, 26.06.2015, 16:34
 
Andrey_AДата: Суббота, 27.06.2015, 05:39 | Сообщение № 19
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
Цитата
почему AkelPad-овские скрипты, не получается использовать в PSPad

Zmy, никогда на постоянной основе не пользовался PSPad, когда-то он т другие были в сборке, но на сегодняшний день все они убраны, т.к. мне вполне хватает AkelPad Image. Почему не работают скрипты не могу знать. Конечно AkelPad использует свои методы, с помощью плагина Scripts.dll , можете прочитать про методы в Scripts-Rus.txt
Даже если и зарегистрировать Scripts.dll отдельно, то все равно не все методы могут быть доступны, в описании напротив методов, которые доступны прописано (+ActiveX)


 
ZmyДата: Суббота, 27.06.2015, 11:05 | Сообщение № 20
Майор

На сайте с: 19.04.2015
Город: Краснодар
Сообщений: 81
Награды: 1
Репутация: 0
Все методы, что включает в себя Scripts.dll, начинаются с ключевого слова "AkelPad." .
После регистрации Scripts.dll, ничего не происходит. Ошибка выдаётся в любом случае.
Я пришёл к выводу, что невозможно использовать эту библиотеку нигде, кроме как в AkelPad. Надо эти скрипты, переделывать под обычный Visual Basic.
 
Andrey_AДата: Суббота, 27.06.2015, 21:37 | Сообщение № 21
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
Zmy, вообще-то тут весь раздел относится к скриптам для AkelPad, и очевидно, что скрипты по идее не должны работать где-то ещё... хотя всё может быть...

 
InFiveДата: Четверг, 16.07.2015, 12:23 | Сообщение № 22
Майор

На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
Награды: 2
Репутация: 0
Андрей, можно ли любой "Case" из данного скрипта выполнять в TCImage на выделенном текстовом файле? а то что-то AP не хочет работать с большими файлами на моём компе, может получиться через TCImage не открывая сами файлы...
 
Andrey_AДата: Четверг, 16.07.2015, 20:12 | Сообщение № 23
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
InFive, Этот скрипт расчитан для работы в AkelPad и естественно не будет работать из под Total Commander для файла под курсором

Для действий с текстовыми файлами смотрите скрипты в теме http://tc-image.3dn.ru/forum/3-6-1 "• Текстовые файлы •"

или TCIMG - команды stext extra extrf textx textt txtsp


 
InFiveДата: Четверг, 16.07.2015, 22:45 | Сообщение № 24
Майор

На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
Награды: 2
Репутация: 0
Андрей, спасибо, буду разбираться...

В этом скрипте можно чтобы не дублировать некоторые команды, а комбинировать Case, например, как-то можно прописать, чтобы в Case 18 выполнялись команды из Case 4, Case 6 и Case 8?
 
Andrey_AДата: Четверг, 16.07.2015, 23:13 | Сообщение № 25
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
InFive, либо дублировать, либо общие команды группировать и выносить в функции, как это сделано в Functions.vbs

Код
...
Case 38
   NameFun1
Case 39
   NameFun1
   NameFun2
Case 40
...

Function NameFun1()
   Серия команд...
End Function

Function NameFun2()
   Серия команд...
End Function


в функции так же можно передавать параметры...


 
InFiveДата: Среда, 22.07.2015, 18:58 | Сообщение № 26
Майор

На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
Награды: 2
Репутация: 0
Андрей

я имею такую задачу

<span class="rus">abvgd</span> <span class="lat">abvgd</span> <span class="rus">abvgd</span> <span class="lat">abvgd</span>

нужно чтобы получилось вот так

<span class="rus">абвгд</span> <span class="lat">abvgd</span> <span class="rus">абвгд</span> <span class="lat">abvgd</span>

то есть, чтобы латинские буквы стали русскими только в тегах span с классом "rus", а при классе "lat" чтобы изменения не применялись

я могу только сделать свою работу, если предварительно сделать перенос строки перед span и после span, типа чтобы было так

<span class="rus">abvgd</span>
<span class="lat">abvgd</span>
<span class="rus">abvgd</span>
<span class="lat">abvgd</span>

а потом опять убрать перенос \n

а вот если когда всё идет в одну строку, что-то я не могу ограничить обработку до первого закрывающего тега </span> после открывающего <span class="rus">

я составляю массив замен, нужно чтобы замены совершались с буквы на букву только в рамках тега с определенным классом...

как определить в регулярках границы работы?

и такой еще вопрос - в скрипте, там где надо прописывать "на что менять", можно использовать символы в виде & Chr(34) & ???


Сообщение отредактировал InFive - Четверг, 23.07.2015, 13:43
 
Andrey_AДата: Воскресенье, 26.07.2015, 12:16 | Сообщение № 27
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
InFive, я бы решил эту задачу так:
Код
  Case 5
     TEG1 = "<span class=""rus"">" ' начало тега
     TEG2 = "</span>" ' окончание тега
     aT = RegExpSearchPlus(Text, TEG1 & "[^""><]+" & TEG2, 1, 0, 1, 2) ' получение массива всех "rus" тегов в тексте
     If IsArray(aT) Then ' проверка - является ли массивом
       ' в цикле обрабатываем все теги
       For i = 0 To Ubound(aT) - 1
         Teg = Replace(aT(i), TEG1, "") ' удаляем из элемента начало тега
         Teg = Replace(Teg, TEG2, "") ' удаляем из элемента конец тега
         Teg = Transliterate(Teg, 1) ' заменяем английские на русские
         Text = Replace(Text, aT(i), TEG1 & Teg & TEG2) ' заменяем полученные отрезки на изменённые
       Next
     End If


Цитата
можно использовать символы в виде & Chr(34) & ???

Наверно можно


 
InFiveДата: Воскресенье, 26.07.2015, 13:44 | Сообщение № 28
Майор

На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
Награды: 2
Репутация: 0
Меня такое устроит, если можно где-то самому прописать новую функцию Transliterate, то есть сделать, типа, Transliterate2 для замен с латиницы не нарусский язык (языков будет несколько)...
где-то можно прописать свою комбинацию замен символа-на-символ?
 
Andrey_AДата: Воскресенье, 26.07.2015, 16:15 | Сообщение № 29
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7187
Награды: 143
Репутация: 125
Аверин Андрей
Цитата
где-то можно прописать свою комбинацию замен символа-на-символ?

InFive, можно в конце скрипта ScriptTemplate.vbs создать функцию типа:

Код
' tranText - текст для преобразования
' Param - номер языка
Function Transliterate2(tranText, Param)
   If Len(tranText) = 0 Then Exit Function
   Select Case Param
     Case 1 ' китайский  
       Source = Array("а", "б")
       Target = Array("a", "b")
     Case 2 ' украинский
       Source = Array("а", "б")
       Target = Array("a", "b")
     Case 3 ' финский  
       Source = Array("а", "б")
       Target = Array("a", "b")
   End Select
   For t = 0 To Ubound(Source)
     trText = RegExpReplace(tranText, Source(t), Target(t), 0, 1, 1)
   Next
   Transliterate2 = tranText
End Function


кстати это интересно - если создадите подобную, то не могли бы выложить - возможно это пригодится в будущем и добавлю в основной Functions.vbs

.


 
InFiveДата: Воскресенье, 26.07.2015, 22:14 | Сообщение № 30
Майор

На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
Награды: 2
Репутация: 0
Андрей, всё классно... у вас получается... а я не знаю, что с этим делать... ну, пропишу я эту функцию, а что дальше, вызывать та её как? или надо её прописать вместо Teg = Transliterate(Teg, 1) в предыдущем вашем коде?

Ну, и это ещё не всё, выбор нужного Case из функции та как делать?

Что, всё безнадёжно в моей голове? :D
 
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Интеллектуальные права и отказ от ответственности