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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.10.2011, 14:44
log1st log1st вне форума
Прохожий
 
Регистрация: 12.10.2011
Сообщения: 1
Репутация: 10
Восклицание Найти и собрать в один!

В общем, дело обстоит так:
Есть папка, в которой и будет находиться само приложение(Папка может меняться). В этой папке есть еще папки-года: от 1997 до 2011(1994,1995,1996 и т.д.). В каждой папке-году есть до 200-300 файлов формата .doc.

Программа выглядит так:
Три Edit'а:
  • EditRaz. Он же 'Разработка'. Туда вводится ключевое слово, состоящее из пяти(не более) цифр(только цифр).
  • EditGod1. Он же 'Год от'. Туда вводится год "от", состоящий из 4(не более) цифр(только цифр).
  • EditGod2. Он же 'Год до'. Туда вводится год "до", состоящий из 4(не более) цифр(только цифр).
  • ButtonSearch. Она же "Поиск". Нажимается для дальнейший действий.
  • EditPath. Он же "Путь". Туда вводится путь для создания документа-сборщика.

Задача:
Юзер вводит название разработки в EditRaz, год начала поиска в EditGod1, год конца поиска в EditGod2, путь создания файла .doc в EditPath и нажимает на поиск ButtonSearch. Программа ищет в подпапках документы с расширением .doc по ключевому слову(т.е., введя разработку 25101, программа может найти не только 25101.doc, но и 25101_b.doc и т.д.). Если файл найден, то копируется его содержимое(текст, таблицы, картинки и т.д.) в документ, созданный в указанной папке в EditPath. И продолжается поиск. Так и до конца папок-годов. После поиска выскакивает сообщение: 'Готово!'.

Уважаемые программисты, сможете ли вы сделать такое? И код желательно бы получить. Заранее спасибо!
Ответить с цитированием
  #2  
Старый 17.10.2011, 14:56
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

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

Сделать такое конечно можно, но как уже сказали ранее - однозначно в работу.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 17.10.2011, 20:59
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, в работу, а если сам хочешь, то FindFirst/FindNext/FindClose + MatchesMask, хотя если только .doc, то можно и сразу маску задать при поиске. Пример использования можно посмотреть в справке.
Ответить с цитированием
  #5  
Старый 17.10.2011, 21:24
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Все несколько сложнее. Как я понял, надо не файл скопировать, а содержимое этого файла добавить к уже имеющемуся документу. Т.е. сформировать новый документ содержащий в себе содержимое всех найденных файлов, а это уже несколько другое.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 18.10.2011, 08:29
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

OLE'нька нам даст решение данной проблемы
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 18.10.2011, 12:43
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Страдалецъ
Все несколько сложнее. Как я понял, надо не файл скопировать, а содержимое этого файла добавить к уже имеющемуся документу. Т.е. сформировать новый документ содержащий в себе содержимое всех найденных файлов, а это уже несколько другое.

Сложнее? Что может быть сложного в WholeStory-Copy-PasteAndFormat?
__________________
Google в помощь
Ответить с цитированием
  #8  
Старый 18.10.2011, 13:49
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
const
  WdStory = 6;
var
  WordApplication: OleVariant;
begin
  WordApplication:=CreateOleObject('Word.Application');
  WordApplication.Documents.Open(FileName:='D:\Projects\Новая папка\Doc1.doc');
  WordApplication.Selection.EndKey(Unit:=WdStory);
  WordApplication.Selection.TypeParagraph;
  WordApplication.Selection.InsertFile(FileName:='D:\Projects\Новая папка\Doc2.doc');
  WordApplication.ActiveDocument.SaveAs(FileName:='D:\Projects\Новая папка\Doc.doc');
  WordApplication.Quit;
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter