[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Andrey_A, simup, ХарВик, chip642  
ЗАКАЗ СКРИПТОВ для AkelPad
Andrey_AДата: Вторник, 20.03.2012, 02:30 | Сообщение № 1
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
ЗАКАЗ СКРИПТОВ для AkelPad'a




В этой теме Вы можете высказывать идеи о написании того или иного скрипта. Если Вы столкнулись с монотонной задачей, которую можно автоматизировать и не знаете как это сделать, Вы можете описать свою проблему здесь и возможно найдутся те, кто подскажет как её решить.
Большая просьба чётко описывать задачу, от этого будет зависеть качество её решений

Готовые решения будут открепляться в отдельные темы


 
Andrey_AДата: Четверг, 04.01.2018, 16:29 | Сообщение № 166
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
goldenge, обновил скрипт - ошибок не появляется.

InsertPlus.vbs - Скрипт библиотека различных преобразований текста и вставка

.


 
goldengeДата: Понедельник, 08.01.2018, 02:15 | Сообщение № 167
Сержант

На сайте с: 17.12.2017
Сообщений: 37
Награды: 0
Репутация: 0
Andrey_A, спасибо огромное

Добавлено (08.01.2018, 02:15)
---------------------------------------------

Цитата Andrey_A ()
обновил скрипт - ошибок не появляется.

появилась другая проблема

такие 44,75+1 не считает
 
Andrey_AДата: Вторник, 09.01.2018, 00:00 | Сообщение № 168
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
goldenge, обновил скрипт.

.


 
goldengeДата: Четверг, 11.01.2018, 02:21 | Сообщение № 169
Сержант

На сайте с: 17.12.2017
Сообщений: 37
Награды: 0
Репутация: 0
Andrey_A, Спасибо огромное
 
hanckДата: Суббота, 27.01.2018, 02:42 | Сообщение № 170
Лейтенант

На сайте с: 17.12.2013
Город: Claremont
Сообщений: 67
Награды: 0
Репутация: 0
Всем привет, столкнулся с интересными программами по распознаванию лиц, а затем и небольшой проблемой, кто может помогите плз:

имею 2 строки:
img1 = face_recognition.load_image_file("andrey.jpg")
all_face_encodings["andrey.jpg"] = face_recognition.face_encodings(img1)[0]

и документ список_файлов.txt (около 2-3 тысяч) в текстовом документе:
petya.jpg
vasya.jpg
и т.д.

Задача составить текстовый документ так, чтобы в нем появлялась копия строки в которой:

параметр [bgcolor=red]img1[/bgcolor] - будет заменяться по счетчику img2 img3 img4 и т.д.
параметр andrey.jpg - будет браться из файла список_файлов.txt


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


Сообщение отредактировал hanck - Суббота, 27.01.2018, 16:45
 
Andrey_AДата: Суббота, 03.02.2018, 10:11 | Сообщение № 171
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
hanck, добавил в скрипт InsertPlus.vbs режим 139

Код
-"Из строк активного документа создать текст и открыть в другой вкладке" Call("Scripts::Main", 1, "InsertPlus.vbs", `139`) Icon("%a\AkelPadImage.dll",270)


.


 
hanckДата: Среда, 11.04.2018, 13:42 | Сообщение № 172
Лейтенант

На сайте с: 17.12.2013
Город: Claremont
Сообщений: 67
Награды: 0
Репутация: 0
Цитата Andrey_A ()
-"Из строк активного документа создать текст и открыть в другой вкладке" Call("Scripts::Main", 1, "InsertPlus.vbs", `139`) Icon("%a\AkelPadImage.dll",270)


А как можно сделать так, чтобы счетчик начинался не с цифры 1?
 
Andrey_AДата: Среда, 11.04.2018, 14:07 | Сообщение № 173
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
hanck, замените кусок Case 139 на этот
Код

    Case 139
      T = .GetSelText(3) : If Len(T) = 0 Then T = .GetTextRange(0, -1, 3) End If : EndNull
      Nm = 1 : If Cnt > 1 Then Nm = CInt(WScript.Arguments(1)) End If
      aL = Split(T, vb) : ub = Ubound(aL) : T =""
      For i = 0 To ub
        T = T & "img" & Nm & " = face_recognition.load_image_file(""" & aL(i) & """)" & vb & "all_face_encodings[""" & aL(i) & """] = face_recognition.face_encodings(img" & Nm & ")[0]" & vb2
        Nm = Nm + 1
      Next
       V = 1 : C = 0


во 2-м параметре прописывается число

Код
-"Из строк активного документа создать текст и открыть в другой вкладке (отсчёт с 2-х)" Call("Scripts::Main", 1, "InsertPlus.vbs", `139 2`) Icon("%a\AkelPadImage.dll",270)


 
5ashaДата: Вторник, 18.09.2018, 18:53 | Сообщение № 174
Рядовой

На сайте с: 18.09.2018
Сообщений: 2
Награды: 0
Репутация: 0
Здравствуйте!
Помогите решить проблему, удалял повторяющиеся дубликаты строк, по этому способу с помощью регулярных выражений, вначале опробовал в обычном поиске: ^(.*)(\r?\n\1)+$ заменить на \1 - работает, далее запускаю FindReplaceFiles.js, поиск в папке, в найденых файлах замена и в результате полная ерунда, почему FindReplaceFiles.js не работает должным образом как в обычной замене, либо я не правильно пользуюсь?
исходный текст:
Код
    new-instance v0, Ljava/text/SimpleDateFormat;

    const-string v1, "ddMM_HHmm"

    const-string v1, "ddMM_HHmm"

    const/4 v4, 0x1

обычная замена:
Код
    new-instance v0, Ljava/text/SimpleDateFormat;

    const-string v1, "ddMM_HHmm"

    const/4 v4, 0x1

FindReplaceFiles.js:
Код
    new-instance v0, Ljava/text/SimpleDateFormat;
1
    const-string v1, "ddMM_HHmm"
1
    const-string v1, "ddMM_HHmm"
1
    const/4 v4, 0x1

нельзя ли как-то уровнять действие FindReplaceFiles.js с обычной заменой, чтобы к примеру опробовать рег. выр., а потом уж применить вместе с FindReplaceFiles.js, иначе из-за непредсказуемого результата потерял кучу времени, помогите если это возможно, спасибо


Сообщение отредактировал 5asha - Вторник, 18.09.2018, 19:19
 
InFiveДата: Вторник, 18.09.2018, 19:09 | Сообщение № 175
Майор

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

имею подобное содержимое

T3T3T3ZZZZZбезопасностьWWWWW512 QQQF4
T3T3T3ZZZZZохрана дома и садаWWWWW512 QQQF4
T3T3T3ZZZZZохрана дома и садаWWWWW513 QQQF4
T3T3T3ZZZZZохрана дома и садаWWWWW630-632 QQQF4
T3T3T3ZZZZZзащитаWWWWW240 QQQF5
T3T3T3ZZZZZзащита WWWWW272 QQQF5
T3T3T3ZZZZZпомощь в освоенииWWWWW139 QQQF4
T3T3T3ZZZZZпомощь в освоенииWWWWW140 QQQF4
T3T3T3ZZZZZпомощь в освоенииWWWWW360 QQQF4

мне нужно пометить строки, в которых изменилось содержимое между ZZZZZ и WWWWW по сравнению с предыдущей строкой, чтобы сравнивалась первая строка со второй, вторая с третьей, чтобы в конце концов получалось типа такого

T3T3T3ZZZZZбезопасностьWWWWW512 QQQF4
=====T3T3T3ZZZZZохрана дома и садаWWWWW512 QQQF4
T3T3T3ZZZZZохрана дома и садаWWWWW513 QQQF4
T3T3T3ZZZZZохрана дома и садаWWWWW630-632 QQQF4
=====T3T3T3ZZZZZзащитаWWWWW240 QQQF5
T3T3T3ZZZZZзащита WWWWW272 QQQF5
=====T3T3T3ZZZZZпомощь в освоенииWWWWW139 QQQF4
T3T3T3ZZZZZпомощь в освоенииWWWWW140 QQQF4
T3T3T3ZZZZZпомощь в освоенииWWWWW360 QQQF4

спасибо...
 
Andrey_AДата: Среда, 19.09.2018, 10:46 | Сообщение № 176
Генералиссимус

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

InFive, вставьте в скрипт InsertPlus.vbs

Код
    Case 1000
      T = .GetSelText(3) : If Len(T) = 0 Then T = .GetTextRange(0, -1, 3) : .SetSel 0, -1 : End If : EndNull
      aF = RegExpSearchPlus(T, "ZZZZZ.+WWWWW", 1, 1, 1, 2)
      aL = Split(T, vb)
      If Not IsArray(aF) Or Ubound(aL)<>Ubound(aF) Then : EndRedraw : WScript.Quit : End If ' если количество отрезков и строк разное, то выход
      For ix = 0 To Ubound(aF)-1
        If aF(ix) <> aF(ix+1) Then
          aL(ix+1) = "=======" & aL(ix+1)
        End If
      Next
      T = Join(aL, vb)


Код
-"Преобразование..." Call("Scripts::Main", 1, "InsertPlus.vbs", `1000`) Icon("%a\AkelPadImage.dll",103)


Или скачайте новую версию скрипта, я туда добавил...


 
InFiveДата: Среда, 19.09.2018, 13:06 | Сообщение № 177
Майор

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

вот только не все гладко...

проблема 1. на моем примере помечаются не те строки, как я бы хотел

помечается вот так

T3T3T3ZZZZZохрана дома и садаWWWWW512 QQQF4
T3T3T3ZZZZZохрана дома и садаWWWWW513 QQQF4
=======T3T3T3ZZZZZохрана дома и садаWWWWW630-632 QQQF4
T3T3T3ZZZZZзащитаWWWWW240 QQQF5
=======T3T3T3ZZZZZзащитаWWWWW272 QQQF5
T3T3T3ZZZZZпомощь в освоенииWWWWW139 QQQF4
T3T3T3ZZZZZпомощь в освоенииWWWWW140 QQQF4
=======T3T3T3ZZZZZпомощь в освоенииWWWWW360 QQQF4

а мне нужно чтобы вот так, как я и указывал выше

T3T3T3ZZZZZбезопасностьWWWWW512 QQQF4
=====T3T3T3ZZZZZохрана дома и садаWWWWW512 QQQF4
T3T3T3ZZZZZохрана дома и садаWWWWW513 QQQF4
T3T3T3ZZZZZохрана дома и садаWWWWW630-632 QQQF4
=====T3T3T3ZZZZZзащитаWWWWW240 QQQF5
T3T3T3ZZZZZзащита WWWWW272 QQQF5
=====T3T3T3ZZZZZпомощь в освоенииWWWWW139 QQQF4
T3T3T3ZZZZZпомощь в освоенииWWWWW140 QQQF4
T3T3T3ZZZZZпомощь в освоенииWWWWW360 QQQF4

как-бы помечается последняя строка перед строкой, в которой изменилось содержимое, а нужно чтобы помечалась первая строка, в которой изменилось содержимое в сравнении с предыдущей строкой

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

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

дело в том, что в основном тексте есть строки, в которых нет ZZZZZ и WWWWW и из-за них не происходит никакого преобразования...

теоретически, как-бы чтобы шёл поиск, пометилась строка, и когда дойдет до строки где нет этих "границ", то поиск как-бы начинался заново с первой найденной далее строки с такой переменной...

или так объяснить попробую - чтобы помечалась первая строка после строки в которой нет ZZZZZ и WWWWW


Сообщение отредактировал InFive - Среда, 19.09.2018, 13:13
 
Andrey_AДата: Среда, 19.09.2018, 14:28 | Сообщение № 178
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
InFive, помечается все правильно, т.к. в строках содержимое между заданными ZZZ WWW разный
Код
T3T3T3ZZZZZзащитаWWWWW240 QQQF5
T3T3T3ZZZZZзащита WWWWW272 QQQF5

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


 
InFiveДата: Среда, 19.09.2018, 17:47 | Сообщение № 179
Майор

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

T3T3T3ZZZZZохрана дома и садаWWWWW512 QQQF4
T3T3T3ZZZZZохрана дома и садаWWWWW513 QQQF4
=======T3T3T3ZZZZZохрана дома и садаWWWWW630-632 QQQF4
T3T3T3ZZZZZзащитаWWWWW240 QQQF5
=======T3T3T3ZZZZZзащитаWWWWW272 QQQF5
T3T3T3ZZZZZпомощь в освоенииWWWWW139 QQQF4
T3T3T3ZZZZZпомощь в освоенииWWWWW140 QQQF4
=======T3T3T3ZZZZZпомощь в освоенииWWWWW360 QQQF4

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

ладн, эту проблему я смог бы решить, переместив метку регуляркой, но документ не обрабатывается из-за строк где нет ZZZZZ и WWWWW...

ладн, надо подумать, может искусственно поставлю во все строки ZZZZZ и WWWWW, а потом после обработки удалю...

Цитата Andrey_A ()
рекомендую освоить vbs скриптинг - примеров масса, он не так уж сложен

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


Сообщение отредактировал InFive - Среда, 19.09.2018, 17:48
 
5ashaДата: Среда, 19.09.2018, 21:15 | Сообщение № 180
Рядовой

На сайте с: 18.09.2018
Сообщений: 2
Награды: 0
Репутация: 0
Andrey_A, подскажите пожалуйста, а среди Ваших скриптов есть что-нибудь подобное, чтобы поиск/замена производились в нужной мне папке
 
Поиск:

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