|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.07.2012, 21:57 | #1 |
Регистрация: 02.07.2012
Сообщений: 4
|
Редактирование определённого текста в нескольких файлах
Не специалист в программировании, потому не знал, куда поместить. Нужна программа или скрипт (для windows xp) для проведения следующей операции:
Имеется тхт файл, в котором каждый раз с новой строчки идёт определённый текст (новая строка - новый текст). Это заголовки для статей. Допустим имя этого файла "Заголовки". Так же имеется папка с тхт файлами, количество которых равно количеству заголовков в первом файле. Назовём эти файлы "статья 1", "статья 2", "статья 3" и т.д. Необходимо переместить заголовки из файла "Заголовки" в файлы со статьями в самое начало, чтобы первая строка в статье шло название, ниже текст. Или можно так: во всех статьях в начале будет слово <title>, его нужно заменить на заголовки из соответствующего файла. То есть должно быть так: 1) Из файла "Заголовки" текст из первой строки в начало текста файла "статья 1" (или вместо <title>) 2) Из файла "Заголовки" текст со второй строки в начало текста файла "статья 2" (или вместо <title>) И так далее до конца. Очень важно, чтобы заголовки из файла брались и вставлялись в файлы со статьями строго по порядку, то есть никаких "Из файла "Заголовки" текст из третьей строки в начало текста файла "Статья 6"". Или же можно заголовки поместить не в один файл, а в разные, обозначив их "заголовок 1", "заголовок 2" и т.д. Тогда получится так: 1) Из файла "Заголовок 1" текст в начало текста файла "статья 1" 2) Из файла "Заголовок 2" текст в начало текста файла "статья 2" Буду крайне признателен за помощь, спасибо. P.S. К теме прикладываю архив с простейшим примером того, что необходимо. Папка "Статьи" - это исходные тексты, куда нужно вставить заголовки, папка "Отредактированные статьи" - то, что должно получиться Последний раз редактировалось Saire; 02.07.2012 в 22:01. |
03.07.2012, 07:48 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
По каким признакам алгоритм должен определять, в какой именно файл вставлять текст, скажем, из третьей строки?
В одном месте у Вас написано "Статья 6", а в другом "статья 2". Я не про номер, а про первую букву в названии. Допустимы ли имена типа "статья 001"? Как определить папки, из которых следует брать файлы? Как поступать, если присутствуют и "статья 1" и "статья 001"? Как поступать, если в указанном месте есть файлы не подходящие под шаблон? Как поступать, если среди файлов отсутствует, например, "Статья 6", а строк в файле с заголовками больше 6? |
03.07.2012, 09:07 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
программка
ArticlesReplacer-executable.rar и исходники (Delphi) ArticlesReplacer-src.rar приложены. Контроль за нештатными ситуациями - минимальнейший (шаг влево, шаг вправо - расстрел). пользуйтесь на здоровье! |
03.07.2012, 11:31 | #4 | |||||
Регистрация: 02.07.2012
Сообщений: 4
|
Цитата:
Определять должен по номеру статьи в названии. Цитата:
Цитата:
Цитата:
Цитата:
Большое спасибо за оперативный ответ. Serge_Bliznykov, благодаря, обязательно попробую. Update: Serge_Bliznykov, попробовал ваш вариант, то что надо, большое спасибо. Такой вопрос: можно ли усложнить процесс? Делать необходимо тоже самое (брать из списка и заменять необходимое слово в статьях), но кроме заголовка добавить ещё в необходимое место, к примеру, ссылку? Допустим есть статьи, в середине текста имеются слова <url 1> и <url 2>. Имеется два списка txt, один называется Url 1, другой Url 2, в них представлены тексты ссылок, с каждой новой строки новая ссылка. Необходимо как и с заголовками: 1) Из файла Url 1 первая ссылка заменяет в файле "Статья 1" слово <url 1>; Из файла Url 2 первая ссылка заменяет в файле "Статья 1" слово <url 2> 2) Из файла Url 1 вторая ссылка заменяет в файле "Статья 2" слово <url 1>; Из файла Url 2 вторая ссылка заменяет в файле "Статья 2" слово <url 2> Последний раз редактировалось Saire; 03.07.2012 в 11:46. |
|||||
03.07.2012, 11:41 | #5 | |||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Цитата:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|||
03.07.2012, 12:42 | #6 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
1) нет того, кто смог бы поправить 2) когда данных столько, что пользователь просто физически не сможет всё перелопатить быстро 3) результат нужен был ещё вчера 4) юзеры настолько отвыкли делать это вручную, что неделю будут ныть каждые 10 минут, хотя за это время могли бы три раза всё переправить.
Правильно поставленная задача - три четверти решения.
|
|
03.07.2012, 14:41 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
в процедуре btStartClick добавьте две переменные типа TStringList, перед циклом прочитайте в них свои URL1.txt и URL2.txt и в основной цикл добавьте перебор коллекции TSArt и замену нужных значений. Либо через TSArt.Text можно заменить... Это как Вам понятнее и удобнее. |
|
03.07.2012, 16:15 | #8 | |
Регистрация: 02.07.2012
Сообщений: 4
|
Цитата:
|
|
03.07.2012, 19:38 | #9 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Я бы все-таки посоветовал не надеяться на то, что "не может быть потому, что не может быть никогда", а уделил внимание проверкам и защите данных.
Ну, хотя бы не делать правку "на места", а брать файлы из одной папки и складывать результат в другую, сохраняя исходные варианты. |
03.07.2012, 21:30 | #10 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
А если бы посмотрели, то увидели, что у TC изначально исходные файлы лежат в одной папке, а результирующие (готовые) складываются в другую папку.. Цитата:
ArticlesReplacer_v2-exe.rar ArticlesReplacer_v2-src.rar p.s. Поймай человеку рыбу и ты сделаешь его сытым на один день, научи его ловить рыбу самостоятельно и ты сделаешь его сытым на всю жизнь я же исходники выкладываю не просто так. Сейчас я в настроении, сделал Вам то, что Вы хотите, а завтра я буду занят/или не в настроении - потребую с Вас за работу денюжку или вообще откажусь/не смогу что-то править! Поэтому очень рекомендую Вам взять любую версию Delphi (портабле вполне подойдёт), и чуть-чуть посмотреть, что же там такого страшного написано АЖ в 75 строчках кода (я про главную процедуру, которая и делает все чтения/замены/сохранения... Последний раз редактировалось Serge_Bliznykov; 03.07.2012 в 22:18. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
поиск текста в файлах папки и запись результатов | Composter | Microsoft Office Word | 12 | 02.04.2012 08:21 |
Поиск текста в файлах | Arassir | Общие вопросы по программированию, компьютерный форум | 5 | 08.04.2011 09:22 |
Добавление/редактирование из нескольких таблиц, если для отображения используется Query | lyle_200490 | БД в Delphi | 1 | 28.11.2010 15:02 |
Поиск определённого текста в текстовом файле | vitawt | Общие вопросы Delphi | 4 | 20.01.2008 22:12 |