Schöck
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Поиск и замена текста в группе файлов

Поиск и замена текста в группе файлов

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 09.01.2012, 10:08 1 | #1
Поиск и замена текста в группе файлов
nik_mb
 
конструктор
 
Волгоград
Регистрация: 23.03.2009
Сообщений: 120

nik_mb вне форума Вставить имя

Программа по поиску и замене текста "Batch Find & Replace Text" в группе файлов уже упоминалась на этом форуме. Как и сайт с лисп программами англичанина Ли Мака. Это и "Automatic Block Break" позволяющий перенести блок на линию или кривую с автоматическим выравниванием и разрывом примитивов под блоком (для электрических схем наверное нужная вещь). "Automatically Label Attributes" - автоматическая нумерация в атрибутах блоков (наверное сгодится для простановки осей или узлов). "Block Counter" - подсчет количества блоков по их именам. "Dynamic Offset" - подобие нескольких примитивов в динамике с различными опциями. Прикольная програмка "Clock" - часы на чертеже, только, чтобы узнать текущее время надо обновить вид (командами 'ВСЕОСВЕЖ или РЕГЕН). Некоторые программы сопровождены анимационной демонстрацией их работы.
Я адаптировал программу "BFind" версии 2.0 (от 22-07-2011) на русский язык (не все правда) - многим так будет понятнее ее работа.
Небольшие пояснения по работе проги.
После загрузки и ввода команды "BFind" формируется файл диалога "LMAC_BFind_V2-0.dcl" в папке определенной переменной "ROAMABLEROOTPREFIX" и потом загружается этот сохраненный диалог. Там же сохраняется файл списков поиска и замены.
Для поиска и замены нужно ввести строки поиска и замены, а затем добавить в поле списка. Поиск и замена ведется сразу для всех пар списка. Эти списки можно редактировать, сохранять и загружать. В диалоговом окне "Опции" выбираются типы примитивов для поиска. И если отметить поле (отмечено по умолчанию) "Всегда Создавать Отчет по Замене" - откроется Exel c табличным отчетом (лучше эту опцию выключить). Все настройки программа записывает в файл конфигурации и "помнит".

Вложения
Тип файла: zip BFind V2.0.zip (14.7 Кб, 690 просмотров)

__________________
Мой сайт ingnmb.wixsite.com/acad-s
Просмотров: 10632
 
Непрочитано 09.01.2012, 20:36
#2
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,555


У Lee Mac, ну, очень много кода уходит на создание диалогов да и всяких красивостей в комментах достаточно... а так хорошие программы
gomer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.06.2012, 12:10
#3
baaba

архитектор
 
Регистрация: 07.07.2007
Москва
Сообщений: 614
Отправить сообщение для baaba с помощью ICQ Отправить сообщение для baaba с помощью Skype™


У меня не работает "слово целиком", в закладке "опции". Мне надо заменить "П" на "ПД"

PS. Очень нужен лисп для замены по регэкспу.
Посмотрел вот этот вариант:
https://sites.google.com/site/bushma...-zametki/regex
но там нужно использовать регекспы из перла. Я знаю что у sed и grep регекспы похожи на перл, то есть получается должно выглядеть примерно так: s/\\^П\\$/\\^ПД\\$/g , но, во первых утилита два раза спрашивает шаблон, тогда \\^П\\$ в первый раз и \\^ПД\\$ во второй, но это гадание на кофейной гуще, т. к. к сожалению программа не задокументирована (покрайней мере я не нашёл вменяемой инструкции) и, главное, нужны примеры. А ведь такая функция так нужна проектировщикам. Вот у нас например девушка переделывает штампы в 100 файлах, в то время как это можно сделать одной коммандой.

Последний раз редактировалось baaba, 06.06.2012 в 15:08.
baaba вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.06.2012, 14:36
#4
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 281
Отправить сообщение для Вовочка с помощью ICQ


ФАТАЛЬНАЯ ОШИБКА: Unhandled c0000417h Exception at 78556d36h
Даная ошибка выскакивает, при исполнении этой команды. Запрос делаю на обычный поиск в директории с вложенными папками.
Вовочка вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.06.2012, 19:08 частично решено
#5
baaba

архитектор
 
Регистрация: 07.07.2007
Москва
Сообщений: 614
Отправить сообщение для baaba с помощью ICQ Отправить сообщение для baaba с помощью Skype™


Цитата:
Сообщение от baaba Посмотреть сообщение
PS. Очень нужен лисп для замены по регэкспу.
Вот короткая справка по регекспам: http://dh.opennet.ru/pcre2.html
Этого в большинстве случаев достаточно, книгу скачивать не обязательно.
В моём случае на первый вопрос вводим ^П$, на второй - ПД

Теперь бы добиться того же от bfind (http://www.lee-mac.com/bfind.html Lee Mac) так как требуется это проделать на 104 файлах.
baaba вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 07.11.2013, 17:32
1 | #6
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,773


Вот делюсь макросом по тому-же самому делу, но в документах Word - массовый поиск и замена текста в группе файлов в заданной папке, прикладываю.

----- добавлено через ~15 мин. -----
работает так долго, что быстрее ручками
Вложения
Тип файла: doc SrcAndRpl_Beta3.doc (163.0 Кб, 219 просмотров)
Nike вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 29.06.2015, 10:57
#7
Yuzer

Мозговой штурм
 
Регистрация: 26.10.2008
Рідна ненька - Україна, Харків
Сообщений: 4,870
Отправить сообщение для Yuzer с помощью ICQ Отправить сообщение для Yuzer с помощью Skype™


Подскажите в таком вопросе: есть большое число файлов и в каждом нужно заменить в примечаниях название краски, как оптимально выполнить замену текста во всех файлах не открывая их (текст однострочный)?
__________________
Не доходит через голову?! Дойдет через руки и ноги!
Tekla Structures тоже я.
Yuzer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 29.06.2015, 13:27
#8
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,720
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Batch Find & Replace Text из #1 чем не подходит?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 29.06.2015, 13:28
#9
Yuzer

Мозговой штурм
 
Регистрация: 26.10.2008
Рідна ненька - Україна, Харків
Сообщений: 4,870
Отправить сообщение для Yuzer с помощью ICQ Отправить сообщение для Yuzer с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
Batch Find & Replace Text из #1 чем не подходит?
Как я понял - ошибок много.

----- добавлено через ~2 ч. -----
Сработало. Спасибо.
__________________
Не доходит через голову?! Дойдет через руки и ноги!
Tekla Structures тоже я.
Yuzer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 05.07.2015, 21:48
#10
yurakolomiets


 
Регистрация: 02.12.2011
Сообщений: 336


Подскажите по этой программе-Batch Find & Replace Text , я выбираю "только поиск, заполняю данные для поиска, нажимаю ОК, прога выполняется и ничего не происходит. Как посмотреть файлы с найденным текстом?
yurakolomiets вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 09.09.2018, 12:37
#11
superkot007


 
Регистрация: 15.01.2010
Сообщений: 120


Подскажите, что нужно (если это возможно) поправить в выложенном lsp (или оригинале), чтобы открывалось окно выбора директории, в которое можно было бы копировать уже известный путь?
Переход "по дереву" достаточно неудобен, если путь до нужной папки длинный...

И еще - возможно ли поправить lsp, чтобы последний использованный путь отображался полностью (или хотя бы его "конечная часть", по которой можно определить, в какой папке последний раз происходила работа)?
superkot007 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 09.09.2018, 20:42
#12
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,720
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


superkot007, Попробуй в этом месте
Цитата:
(action_tile "dir"
(vl-prin1-to-string
(quote
(progn
(if (setq tmp (_DirectoryDialog "Select Directory of Drawings to Process..." nil (+ 1 64 256)))
(progn
(_DirectoryText "dir_text" (setq *BFind_pat* tmp))
(if (eq (strcase *BFind_pat*) (strcase cdir))
(set_tile "cur_dir" "1")
(set_tile "cur_dir" "0")
)
)
)
)
)
)
)
заменить nil на *BFind_pat*
Цитата:
(action_tile "dir"
(vl-prin1-to-string
(quote
(progn
(if (setq tmp (_DirectoryDialog "Select Directory of Drawings to Process..." *BFind_pat* (+ 1 64 256)))
(progn
(_DirectoryText "dir_text" (setq *BFind_pat* tmp))
(if (eq (strcase *BFind_pat*) (strcase cdir))
(set_tile "cur_dir" "1")
(set_tile "cur_dir" "0")
)
)
)
)
)
)
)
*Добавлено*
Не пойдет. Не сможешь подняться выше указанной директории
Цитата:
MSDN Shell.BrowseForFolder said:
The root folder to use in the dialog box. The user cannot browse higher in the tree than this folder. If this value is not specified, the root folder used in the dialog box is the desktop.
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 09.09.2018 в 21:04.
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.09.2018, 04:25
#13
superkot007


 
Регистрация: 15.01.2010
Сообщений: 120


http://www.lee-mac.com/getallfiles.html
http://www.lee-mac.com/directorydialog.html
Похоже, что вид окна выбора зависит от функции _DirectoryDialog (строки 371-391)? Точнее, переменной bit?
Но что-то не подходит ничего...

Вроде нашел решение
Цитата:
(action_tile "dir"
(vl-prin1-to-string
(quote
(progn
(if (setq tmp (_DirectoryDialog "Select Directory of Drawings to Process..." nil (+ 1 64 256)))
(progn
(_DirectoryText "dir_text" (setq *BFind_pat* tmp))
(if (eq (strcase *BFind_pat*) (strcase cdir))
(set_tile "cur_dir" "1")
(set_tile "cur_dir" "0")

Цитата:
(action_tile "dir"
(vl-prin1-to-string
(quote
(progn
(if (setq tmp (_DirectoryDialog "Select Directory of Drawings to Process..." nil (+ 1 16 64 256)))
(progn
(_DirectoryText "dir_text" (setq *BFind_pat* tmp))
(if (eq (strcase *BFind_pat*) (strcase cdir))
(set_tile "cur_dir" "1")
(set_tile "cur_dir" "0")

Последний раз редактировалось superkot007, 17.09.2018 в 20:08.
superkot007 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.09.2018, 20:07
#14
superkot007


 
Регистрация: 15.01.2010
Сообщений: 120


Мелкие правки локализации из шапки
Вложения
Тип файла: lsp BFIND_RU.LSP (80.1 Кб, 23 просмотров)
superkot007 вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Поиск и замена текста в группе файлов

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск и замена текста TechNick AutoCAD 147 16.11.2017 20:16
Групповой поиск и замена текста Torino Программирование 22 05.03.2016 23:00
LISP. Выравнивание текста по двум точкам. Krieger Готовые программы 10 24.12.2011 16:02
Замена одного текста на другой автоматически в пакете файлов. Возможно? Sharnir AutoCAD 5 07.04.2011 16:33
Поиск и замена текста на чертежах Autodesk Inventor Бриг Прочее ПО от Autodesk 4 21.01.2009 17:05

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||