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 

[Req] Плагин для search/replace в файлах

 
Post new topic   Reply to topic    Total Commander Forum Index -> Написание плагинов для Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Sun Feb 05, 2006 21:22    Post subject: [Req] Плагин для search/replace в файлах Reply with quote

Родилась идея wdx-плагина для find-replace в файлах.
Значением поиска для поля плагина задаём какую-то строку, содержащую в себе параметры какой текст на что менять, например так:
{текст_который_надо_заменить_в_найденных_файлах}{текст_которым_надо_заменить}

Плагин ищет в файлах текст по первому условию и заменяет на текст по второму. Не обязательно текст, любые байтовые последовательности... принцип, думаю, ясен.
Плагиновое API это позволит 100%
Как идея? Кто возьмётся?
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Sun Feb 05, 2006 22:14    Post subject: Reply with quote

D1P
Ага. А потом кто-нибудь создасть набор колонок с полем этого плагина и, случайно открыв каталог Windows, будет долго материть всех на свете. Smile Плагин же не может определить нормальным способом, откуда его вызывают - из поиска или откуда-то из другого места.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Sun Feb 05, 2006 22:17    Post subject: Reply with quote

Хотя стоп. Ты тупишь, а я вслед за тобой! Откуда плагин вообще узнает, что пользователь ввёл в поле поиска? Это же всё Тотал сам обрабатывает, к плагину же лишь выполняются обращения вида: скажи-ка мне, друг любезный, а каково значение такого-то поля для такого-то файла? А вот для этого? А вон для того?..
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Mon Feb 06, 2006 02:30    Post subject: Reply with quote

Quote:
Откуда плагин вообще узнает, что пользователь ввёл в поле поиска?

На вкладке "плагины" в инструменте поиска в поле "значение" вводим строку с условиями. Из этих условий плагин и будет узнавать, что искать. Естественно, это будет не совсем контентый плагин по функционалу... Скорее это будет просто способ прикручивания нужной фичи к TC обходными путями.

Защиту от дурака тоже можно сделать - плагину достаточно проверять, существует ли дочернее окно TC класса TFindFile.

Вот сейчас подумал: если поиск в TC сначала ищет файлы по общим условиям, а потом "отдаёт" на проверку wdx-плагину, тогда всё просто. А если сначала идёт поиск по полям плагина (что, имхо, маловероятно) - тогда да, овчинка выделки не стоит, слишком сложной будет реализация (одному плагу придётся дублировать все функции поиска TC).

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

Сразу предвещу вопрос "а почему бы просто не сделать внешнюю утилиту?" - да как раз потому, что хочется пользоваться поиском TC.
---
И ещё, в качестве оффтопика. Попробовал прогу Yandex Desktop Search (http://desktop.yandex.ru/)... может у кого есть какие идеи, как прикрутить её к поиску в TC? Мне пока приходит только мысль сделать плагин-парсер выходного html...
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Mon Feb 06, 2006 02:40    Post subject: Reply with quote

Quote:
На вкладке "плагины" в инструменте поиска в поле "значение" вводим строку с условиями. Из этих условий плагин и будет узнавать, что искать.

Так ведь эта строка всё равно не передаётся плагину, Тотал сам выполняет сравнение этой строки с тем, что возвращает плагин по запросу. Или я чего-то не так понял?
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Mon Feb 06, 2006 03:35    Post subject: Reply with quote

Да, ты прав, это я ошибся Sad Стал писать пример и только тогда понял, что условия не передаются плагину.
Конечно, это можно обойти (находить контрол с условием на закладке "Плагины" и читать текст условия оттуда), но это уже чревато проблемами.
Ладно, идея отклоняется, тему можно считать исчерпанной.
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Thu Aug 03, 2006 10:45    Post subject: Reply with quote

Поиск и замену лучше реализовать через архиваторный плагин – все удобства налицо.
Создать список файлов легко – просто выделить нужные файлы/папки. За программиста это делает Total.

Перед упаковкой вызвать диалог настроек, в котором задать условия для поиска/замены.
Остально делается в цикле упаковки – запрограммировать нужно только функцию замены.
+ Прикрутить RegExp и вперёд! Не нужны больше никакие платные или глюкавые серчеры/реплейсеры!
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
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
Page 1 of 1

 
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