Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Технологии
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.08.2013, 16:50
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию Переименование множества файлов MS Word по контексту

Имеется ну очень много вордовских документов с именами без всякой системы, а хочется это дело систематизировать. Эпизодически я это делал открывая документ, вычитывая часть текста содержащее номер и дату и пересохранял по этим данным. Сей мартышкин труд меня основательно достал и потому написал небольшую утилитку которая все это делает сама. Вроде бы - вот оно счастье Но утилитка работает удручающе медленно ибо подключается к каждому документу через OLE ищет по регулярке нужные значения, сохраняет файл и по кругу.

Итак перехожу к вопросам. Есть ли более быстрый способ делать тоже самое? Если нет, то имеет ли смысл заморачиваться с потоками, что явно предполагает сильную загрузку памяти копиями ворда и не факт, что будет надежно работать при этом.
Или я вообще не в ту степь пошел?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #2  
Старый 08.08.2013, 17:18
phidel phidel вне форума
Прохожий
 
Регистрация: 04.06.2013
Сообщения: 2
Версия Delphi: Delphi xe
Репутация: 10
По умолчанию

Может, если переписать это дело как макрос Ворда, будет быстрее?
Один вордовский экземпляр - поочередно открывает документы и переименовывает
Ответить с цитированием
  #3  
Старый 08.08.2013, 17:33
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Да тоже самое наврное можно будет делать и в Дельфи, если не создавать новый, а подключаться к существующему. Но что-то мне подсказывает, что тут должны быть какие-то грабли. Но попробую, это хоть переделки серьезной не потребует.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 09.08.2013, 19:06
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Переделал под одну копию ворда. Скорость все равно не супер, но уже намного лучше. Попробовал грузить сразу все документы в эту одну копию, еще быстрее получается, но вот пауза пока он закрывает потом это все безобразие напрягает, потому остановился на создании одной копии и последовательной загрузке/выгрузке документов в нее.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 09.08.2013, 19:13
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

А меня наводит на некоторые мысли следующее:

Убиваем нули, натравливаем регулярку на сам файл. Авось прокатит. Только если есть русские буквы, то это все будет юникодом. Надо учесть.
------------------
UPD: попробовал сделать русские буквы - текст разбило на две части. Так что да, возникают сложности. Хотя чисто англ текст вроде не дробится.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 09.08.2013 в 19:40.
Ответить с цитированием
  #6  
Старый 09.08.2013, 20:34
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

В моем случае именно русский текст разбирается. И к сожалению обращение напрямую не прокатит в некоторых случаях. Есть документы, где текст чередуется с таблицами, графикой, ил все вместе, да еще и в какой нибудь фрэйм запихано. Вот там вообще все грустно, а ворд нормально свое творение открывает.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter