Автор Тема: Как загрузить список?  (Прочитано 6228 раз)

Dmitry

  • Newbie
  • *
  • Сообщений: 7
    • Просмотр профиля
Как загрузить список?
« : Август 12, 2012, 12:37:07 am »
Я посмотрел и не нашел как мне загрузить список текстовых вхождений для замены. Есть кнопка загрузить - но похоже она нужна для загрузки уже готового списка, чтобы сделать что-то по второму разу.

Передо мной задача загрузить список из 5000 (разных) текстовых строк и пометить эти строки в 10-20 файлах, где они точно располагаются.
Понятное дело что такой список вручную я вводить не собираюсь.
Пометить -  значит добавить к каждой строке уникальный символ или группу символов.
На первый взгляд задача простая, но вот сходу незадача - не знаю я принципа составления вашего lst файла.
Хотя конечно хотелось бы именно загрузить из текстового файла список, а не мучаться с преобразованием в неизвестный формат.

Думаю что вариант когда надо где-то что-то заменить по известному списку самый актуальный. Странно что нет возможности загрузить список.
Или я чего-то не понял.
Других программ подобного типа не нашел.

PS. Кстати я писал до этого месяца 4 назад в почтовый ящик. Он для проформы?
« Последнее редактирование: Август 12, 2012, 12:45:27 am от Dmitry »

Dmitry

  • Newbie
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как загрузить список?
« Ответ #1 : Сентябрь 04, 2012, 10:00:36 pm »
Наверное автор похерил прогу и не видет смысла в ее развитии.
В связи с этим вопрос: Кто знает что-то подобное или в виде проги или в виде макроса допустим к Ультра-эдит - отзовитесь.
В принципе это очень заманчиво взять список чего-то найти его вхождения в других файлах и заменить как тебе хочется.

admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 572
    • Просмотр профиля
Re: Как загрузить список?
« Ответ #2 : Сентябрь 06, 2012, 01:39:09 pm »
Извините. Завал с работой.
Вы высылали список, он не является корректным XML файлом. Достаточно исправить один & на &amp; и добавить в начало файла строчку <?xml version="1.0" encoding="windows-1251"?> и все работает.

Dmitry

  • Newbie
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как загрузить список?
« Ответ #3 : Сентябрь 06, 2012, 02:53:02 pm »
Честно говоря, я ничего не понял. Потому что XML файл не высылал.
Я думаю вы нечаянно ответили на другой вопрос ЗДЕСЬ.
Но я конечно попробую создать файл как вы написали: Достаточно исправить один & на &amp; и добавить в начало файла строчку <?xml version="1.0" encoding="windows-1251"?> и все работает.

admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 572
    • Просмотр профиля
Re: Как загрузить список?
« Ответ #4 : Сентябрь 06, 2012, 04:19:12 pm »
Не Вы высылали файл test.lst? Тогда пришлите файл который не открывается в программе.

Dmitry

  • Newbie
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как загрузить список?
« Ответ #5 : Сентябрь 06, 2012, 05:57:42 pm »
Это похоже на игру в испорченный телефон. Вначале темы я вроде все объяснил.

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

Проблема в том что в вашей программе нет возможности загрузить такой список из другого файла или с помощью копирования.
Если я могу и должен сам создать такой файл для кнопки "Загрузить", то описание которое вы только что дали смотрится неполным.

Как я пока понял, вы предлагаете создать файл, добавив в его оглавление строчку <?xml version="1.0" encoding="windows-1251"?> и потом в тексте добавляемых строк заменить символ & на &amp и под конец дать файлу расширение lst;
Как быть c образцами строк "Заменить на"? чем и как они отделяются от строк "Найти" в этом файле.
Когда я попробовал посмотреть структуру файла lst она мне показалась непонятной.
Одно слово XML - это очень вреднючий формат.
Я должен знать варианты как заполнить этот формат для случая когда пропущена строка "Заменить на" и когда она есть. И если искомая строка и строка на замену в файле .lst располагаются друг под другом - это жуть как неудобно.

Поэтому тема так и названа: Как загрузить список?
Надо удобную форму из которой я мог бы загрузить список. Естественно список состоит из искомых строк и строк на замену.

PS. Я конечно попробую как вы сказали. Но помню точно, что создать такой список было сложно из-за того как это диктует XML. 5000 строк это не шутка. Допустим я создал такой список. А как потом редактировать? Опять вручную?

admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 572
    • Просмотр профиля
Re: Как загрузить список?
« Ответ #6 : Сентябрь 06, 2012, 08:04:41 pm »
Извините, спутал Вас с другим.
Чтобы не было накладок. Есть текстовый файл в котором каждая строка должна стать тем, что нужно искать в файлах. Так? Например:

первая строка
вторая
123456
...

Тогда можно так. Сохраните копию этого файла на всякий случай.
Откройте uvFilesCorrector, загрузите в него файл "ForLoadList.lst" (см. вложение). В списке появится 2 замены.

Первая замена формирует из каждой строки текстового файла элемент (замену) для файла lst. В "Заменить на" есть фрагмент "<Replace>$1 [marker]</Replace>" - т.е. я добавляю к каждой строке " [marker]". Можно добавлять любую другую последовательность символов. И можно в начало, а не в конец ("<Replace>[marker] $1</Replace>").

Вторая замена добавляет начало и конец файла lst.

Теперь пройдитесь по текстовому файлу этими заменами. Поменяйте расширение на lst. Список замен готов. Загрузите этот файл в uvFilesCorrector.

Dmitry

  • Newbie
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как загрузить список?
« Ответ #7 : Сентябрь 06, 2012, 08:31:57 pm »
Спасибо, завтра попробую. Сегодня никак не получится.
На слух пока непонятно что произойдет. Но звучит так что вы обдумали ответ с позиции моей задачи.
Надеюсь что загружу список и что из спец символов требуется менять только лямду &.
В любом случае отпишусь как пройдет замена.

Программа автора которой я хочу сподвигнуть на создание языкового модуля называется XYplorer. Чудная вещь.

Dmitry

  • Newbie
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как загрузить список?
« Ответ #8 : Сентябрь 14, 2012, 07:42:21 pm »
Ну вот попробовал. Список грузится, но не весь. Вернее вообще не грузится, если там чего не так. После ручных мучений зашел в Википедию и вот оттуда выдержка:

Полный список предопределённых сущностей состоит из &amp; (&), &lt; (<), &gt; (>), &apos; (') и &quot; (")

Я "вручную", т.е. сам вычислил только <
Я не зря имел сомнение и писал: Надеюсь что загружу список и что из спец символов требуется менять только лямду &
Обманули батенька. Ну да ладно.

Кроме того в проге есть бзик, а вернее чистый баг. (win7, 32bit). Нельзя в поле Папка ввести путь папки. То подхватит, то нет. Если подхватит неправильно, то в поле Файлы появляются файлы но со съеденной первой буквой. Соответственно прога ничего не делает в этом случае. (если путь подхвачен неправильно выдается сообщение Invalid pointer, но опять же не всегда)
Избежать этого можно, но это полный геморой. Надо жать кнопку обзора, где нельзя ничего ввести и тыкать директории пока не найдешь свою папочку.

Есть еще один баг. Повторять его не стал, так как опасный, но вроде так:  Если положить файлы на обработку в папку где находится .lst-файл и этот с этого файла и не убрать галку , а потом нажать заменить -  то идет цепная куча окошек.

Кроме того могут пропадать названия кнопок: Заменить, Заменить при условии, Обновить. (если проведешь мышью по их месту расположения  - становятся видны. Но опять же баг не всегда)


Насчет вашего файла "ForLoadList.lst" - работает.
Загружаешь этот файл, он обрабатывает мой файл и делает из него файл lst. Остается только изменить расширение и использовать для загрузки.

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

Спасибо за ответ.
Замену попробовал. Работает. Но это пока только в принципе. Конкретно в моем случае надо еще задавать условие чтобы все строки стали уникальными при поиске и замене.
-------------------------
Вижу применение программы с загрузкой списка, когда например надо найти вхождения определенных ключей в реестре. Есть они там или нет.
Сначала надо убедиться в их наличии или отсутствии. А потом делать при необходимости замену.
Если доработать программу под это дело она будет пользоваться сумасшедшей популярностью. Поскольку даст возможность узнать информацию.
В принципе для этого годится и батник - но его надо уметь составлять. Ни разу таких "проверяющих" не видел.

С уважением. Дмитрий.

Dmitry

  • Newbie
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Как загрузить список?
« Ответ #9 : Октябрь 30, 2012, 07:13:41 pm »
Dr-Yukon не в тему написал.
К загрузке списка - никакого отношения.
К решению той проблемы которую я ставил - тоже ни с какого боку.
------------
И.. эта область обработки  (имеется ввиду то что мне надо было сделать), откровенно говоря, именно для этой единственной программы. То что ты написал в виде предложения - это что то неподдающееся расшифровке. Что ты этим хотел сказать - через некоторое время сам не сможешь ответить.