ChessBase 9.0

Тема в разделе "Машинное отделение", создана пользователем ChessmasterDVE, 22 мар 2006.

  1. Crest Админ, МГ

    • Команда форума
    Рег.:
    05.02.2006
    Сообщения:
    57.241
    Симпатии:
    21.127
    Репутация:
    626
    Адрес:
    Москва, Россия
    Оффлайн
    Команда? Батник? CA-10? Х-ммм...

    Самое удобное, братцы, это когда тупой, нет даже тупейший юзер (но хороший комментатор :) ) может в пару кликов, не разбираясь в тонкостях процесса, автоматом перевести свой коммент из CBH в PGN без кракозябров.
    Соответственно, для тотального использования - то есть неизвестно кем, неизвестно на каком компе и каким пользователем - все же нужна в идеале некая вспомогательная программка. Улитка - утилитка. Ведь нас, тупых, пруд пруди. ;)
    Ассистант, увы, не метод. Он мало у кого есть.
    И вообще, в принципе, стоит ограничиться общедоступными инструментами. 9-й Бейз, Word, TextPad и что там еще есть у всех... Плюс гипотетическая "улитка" - для наших.
    Аквариум? Группу такую знаю... Не знал, что он еще и кофе варит! :lol:
    Socar нравится это.
  2. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Добавил многоточие.
    Код:
    sed -e "s/~~/\xF7/g" -e "s/></\xD7/g" -e "s/o^/\xFE/g" -e "s/o\/o/\xDE/g" -e "s:/\\:...:g" <in.pgn >out.pgn
  3. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Скачать sed, сохранить где-нибудь в пути.
    Сохранить команду в файл, файл назвать "fix.bat", например.
    Открыть этот файл ноутпадом, поменять in.pgn на имя кривой PGN-ки, out.pgn поменять на имя выпрямленной PGN-ки, которая должна быть создана.
    Кривая PGN-ка и fix.bat должны быть в одной и той же директории.
    Запустить fix.bat (быстро кликнуть два раза мышью). :)
  4. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    У меня, например, нет ни Бейза, ни Ворда. Вообще, что-то проще и доступнее, чем команда в батничке, придумать даже трудно. Если нужно мышью делать, то может Velior макрос в ворде сделает. :)

    Хм.. можно такой вариант. Есть директория "A", туда помещаются кривые PGN-ки. И есть директория "B". Батничек автоматом правит все файлы из A и сохраняет под теми же именами в B. Нужно обработать новый файл - помещаете его в A, запускаете батничек (ничего не редактируя), берёте результат из B. Достаточно доступный способ?
  5. krey Михаил Кройтор

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    описано доступно для меня, но не для рядового пользователя :) Crest не поймёт что от него хотят ;)
  6. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    И что делать, в картинках рисовать? Можешь кстати помочь, иначе кому-то придётся делать ГУЙ. "Движок" я уже предоставил. :) И вообще... тем, кто не хочет качать sed, придётся качать perl, а он раз в 100 больше. :) Если у кого-то не получается применить sed - пишите, разберёмся.
  7. vasa Опытный перворазрядник

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    35.296
    Симпатии:
    17.577
    Репутация:
    583
    Адрес:
    Ростов-на-Дону
    Оффлайн
    Я постараюсь понять, только как ваша программка запятые разделит, в которые превратились "ёшки", на правильные и не правильные?
  8. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Хорошо, что уже что-то есть
    Потом усовершенствуем для Новичков...
    Будем пробовать

    Методами Имморталла223 тоже воспользуемся (кажутся более привлекательными)

    Текстовым редактором тоже можно Править, что и делаем года 2... Да, нет.. Больше... Больше... :)
  9. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    immortal223
    Увы, есть...
    «Ёлочки» превращаются в
    Откуда-то появляется это обозначение:
    Не все Тэги PGN-стандарта отображаются . Например - [Annotator ""] (Наверно, можно добавить в настройках)

    Ё, ч, Ю и прочее отображает хорошо, но появляются иные проблемы

    Вариант отпадает...
    Пока...
  10. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Kirr

    На счёт «батничка» :)

    Запускаю, Файл Новый создаётся, но получается Нулевой и пустой файл :(
    И надо бы упростить метод, чтобы не переписывать *.bat постоянно
  11. immortal223 Вячеслав

    • Участник
    Рег.:
    22.02.2006
    Сообщения:
    2.412
    Симпатии:
    15
    Репутация:
    0
    Оффлайн
    А это надо зараннее в настройках Аквариума прописать:

    [​IMG]
  12. Муркенштейн Гастролёр

    • Участник
    Рег.:
    20.02.2006
    Сообщения:
    1.794
    Симпатии:
    15
    Репутация:
    2
    Адрес:
    Nowhere
    Оффлайн
    И что самое нехорошее - коцается текст партии :(.
  13. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Ура!
    Получилось!!

    Вот такой Выходной файл из Примера - 2 страницы назад

    Пришлось файл плохой и «батничек» поместить в одну папку с программой (папка bin)
  14. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Создал Вьювер. Ничего не правил - ни единой буквы
    Сразу после «батничка» получил такое: out (так партия и файл называется. Мне проще было мой кракозябный файл переименовать на прописанный в команде СЕДа)

    Да. Лучше закидывать не думая, в папку А - кракозябры и брать из Б - чистенькие.
    Типа, пропустить бельё через выжималку (которая с ручками и вальцами) :)
  15. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Усложняем задачу.
    Прошлый пример был не самым показательным, т.к. пропущен ряд обозначений.
    В частности
    << надо превратить в => « (ALT+0171)
    >> в => » (ALT+0187)
    И самое страшное
    , => ё
    >= =>

    Вот примеры
    in.pgn

    out.pgn

    Надо чтобы было так:
    Smirnov-Dreev-Aeroflot-Open-Moscow-2009-01.pgn

  16. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Отлично! :)
  17. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Команда-выжималка: :)
    Код:
    @for %%f in (*.pgn) do @if not exist "..\good\%%f" sed -e "s/~~/\xF7/g" -e "s/></\xD7/g" -e "s/o^/\xFE/g" -e "s/o\/o/\xDE/g" -e "s:/\\:...:g" -e "s/<</\xAB/g" -e "s/>>/\xBB/g" -e "s/>=/\xB9/g" <"%%f" >"..\good\%%f"
    Добавил обработку всей папки сразу. Добавил ёлочки и №. ё/Ё следующие на очереди.

    Применять так:
    Создать две папки "bad" и "good", в одной и той же папке. (Например "C:\pgn\bad" и "C:\pgn\good").
    В папке "bad" создать файл "fix.bat", куда скопировать команду.
    Сваливать новые кривые pgn-ки в папку "bad". Переименовывать ничего не нужно, редактировать батничек - тоже.
    Запускать fix.bat, когда нужно что-то исправить (после добавления новых pgn-ок в папку "bad").
    Забирать исправленные pgn-ки из папки "good".

    Программа sed должна быть либо в пути (в одном из каталогов, перечисленных в переменной окружения PATH), либо в, для простоты, папке bad.
    Кривые pgn-ки не обязательно удалять из bad после обработки. Команда будет обрабатывать автоматом только ещё не обработанные файлы.
    Если какой-то файл нужно обработать ещё раз (например, после редактирования исходного кривого файла), то нужно стереть исправленный файл с этим именем из "good" и запустить fix.bat.

    Вопросы/проблемы - пишите. :)
  18. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Да, всё получилось
    Скопировал в спец. папку (BAD) программу sed (+ на всякий случай пару dll-ок) из папки bin
    Создал файл fix.bat - прописал вышеуказанное
    В той же директории создал Хорошую папку (GOOD)
    Всё готово для приёма высоких гостей
    Закинул «кривой» pgn-файл в папку BAD
    Нажал на fix.bat (Быстро и два раза :) )

    В папке GOOD появился одноимённый файл «выровненный»

    Повторил то же, но другими словами: если кто будет повторять помощь...

    По идее по умолчанию известно куда ставится программа SED
    Может быть можно уже в файле fix.bat СРАЗУ прописать путь к программе?

    Образцы выровненных PGN-ок - есть. Если надо - выложу...

    В принципе, проблема решена, если не пользоваться Ё и ё (некоторые так и делают)

    Если с Ё и ё проблему решить - было бы чудесно: мы с Васей Ё любим :)

    Уже подумываю иконку с «Батничком» сделать на рабочем столе, чтобы по папкам не искать, впрочем... Можно запускать и через RUN... (тоже пара кликов)

    Kirr, Хорошая работа!

    Спасибо...
  19. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Обновлённая команда:
    Код:
    @for %%f in (*.pgn) do @if not exist "..\good\%%f" sed -e "s/~~/\xF7/g" -e "s/></\xD7/g" -e "s/o^/\xFE/g" -e "s/o\/o/\xDE/g" -e "s:/\\:...:g" -e "s/<</\xAB/g" -e "s/>>/\xBB/g" -e "s/>=/\xB9/g" -e "s/\([^\.]\)\.\.\([^\.]\)/\1\xA8\2/g" -e "s/,\([\xB8\xE0-\xFF]\)/\xB8\1/g" <"%%f" | sed "s/^.*$/a&/" | sed -e "s/\([^\xA8\xB8\xC0-\xFF][\xE2\xC2]\xF1\),/\1\xB8/g" -e "s/\([^\xA8\xB8\xC0-\xFF][\xE5\xC5]\xF9\),/\1\xB8/g" -e "s/\([^\xA8\xB8\xC0-\xFF][\xEC\xCC]\xEE\),/\1\xB8/g" -e "s/\([^\xA8\xB8\xC0-\xFF][\xE5\xC5]\),/\1\xB8/g" | sed "s/^a//" >"..\good\%%f"
    Добавил ё/Ё и зачатки интеллекта чтобы отличать ё от запятой. Собственно, с этого момента в коде начинаются извраты. Может быть кто-то сумеет сделать проще. :)

    Буквы "ё" на конце слова будут распознаваться не всегда, так как без словаря это сделать нельзя. Пока что я добавил мини-словарь: всё, ещё, моё, её. Слова типа ружьё, бельё, и т.д. распознаны пока что не будут, в этих случаях придётся править ручками.

    Две точки всегда заменяются на Ё. :) В русском языке нет знака пунктуации "..", но если кому-то очень нужны именно две точки, нужно будет в исправленной pgn-ке поправить.

    А теперь призовая игра: научить Crest-a и Васю. :)

    Можно, конечно. Правда теперь в команде несколько раз вызывается sed. Проще всего поместить sed в PATH, либо добавить путь к седу в начале батничка. Например так (как у меня):
    Код:
    @set PATH=C:\cygwin\bin;%PATH%
    Это должно быть в батничке перед командой. (У меня sed находится в C:\cygwin\bin).

    Я тоже Ё люблю. :)

    Спасибо за статьи и онлайны. :)
  20. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Есть слова с ё на конце, часто употребляемые в комментариях. Будем дополнять
    - ещё
    - Ещё
    - её
    - Её
    - всё
    - Всё
    - всё-таки
    - Всё-таки

    Пробежался по пару десятков ПГН-ок
    Самые частые. Других нет. Найдём - укажем

    Там и учиться нечему: делать механически то, что написано в Инструкции - и всё! :)
    PATH - я понимаю так (сегодня понял :) )

    Это означает, что имеется файл. К нему есть путь. Например: C:\a\b\c\d\e\fix.bat
    a,b,c,d,e - название папок
    И в одной из папок должен сидеть sed. Так?
    Ага. Что-то знакомое, DOC-овское :) (До-Windows-ское)

    Есть мысль..
    А нельзя ли ЭТО ДЕЛО закинуть в СЕТЬ?
    Есть Форма. Кидаешь «Кривую» PGN-ку в форму. Жмёшь кнопочку - ФИКс! Получаешь Правильную PGN
  21. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Проверяю..
    Пропускает такое
    ч,р
    надо заменить на
    чёр
    Ч,р на Чёр (самое большое количество)

    и ещё примеры:
    Ага, понял - её срабатывает
    надо ПРОБЕЛ перед её (Её) поставить
  22. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Эти все слова уже включены. :)

    Не. Допустим sed установлен в папку "C:\a\b\c\d\e" (запускается "C:\a\b\c\d\e\sed.exe"). Тогда в батничке первой строчкой должно быть:
    Код:
    @set PATH=C:\a\b\c\d\e;%PATH%
    Всё. PATH - это список папок где система ищет исполняемые файлы.

    Можно, но вы ведь запаритесь копировать/вставлять и т.д, а так pgn-ки пофиксены в два клика мышью (по fix.bat) автоматом.
  23. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Ничего не понял. "Чёр" во-первых что за слово? Во-вторых всё обязано работать. :) Нужен пример исходной pgn-ки, обработанной, и как должно было получиться.

    Что это? Этого не может быть. © :)

    Баг-репорты принимаются, если они включают в себя:
    1. Исходный pgn.
    2. pgn, обработанный моей командой.
    3. pgn, такой, какой он должен был бы получиться после обработки.

  24. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Вот Васина pgn-ка после обработки последней версией команды-выжималки (которую я запостил выше):
    Как видно, все кракозябры отлично заменились на то что нужно, кроме одного слова "чёрному", разорванного переносом строки.
  25. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    До bad
    и после good
  26. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Это «неправильные» «ёлочки»
  27. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    ещё один опыт
    до
    после
  28. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    добавить:
    своё
    Своё

    моё
    Моё

    твоё
    Твоё

    ё-моё :)
    Ё-моё

    и Васино любимое:
    ой-ё-ё-юшки :)
  29. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Замечено - после первого СБОЯ (например, разрыв строки) - идёт дальнейший сбой

    Надо бы пару раз прогонять Команду. Второй - проверочный, игнорирующий первый сбой :rolleyes:
  30. vasa Опытный перворазрядник

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    35.296
    Симпатии:
    17.577
    Репутация:
    583
    Адрес:
    Ростов-на-Дону
    Оффлайн
    И ещё: разрыв строки происходит иногда. Может быть включить такую штуку, как добавление замены. например слово, которое правится вручную в первый раз добавляется в словарь?
  31. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    вместо - видимо,
    «подумал» Батничек, что это мо, (моё)
    т.е. необходимо учитывать ПРОБЕЛ перед словом. Как он там обозначается?
    Так что ли:
    Неразрывный пробел
    Надо как-то им с умом воспользоваться...

    И ещё... Как Фишку-то назовём (программку, фикс)? :)
  32. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    Для меня хватит и «Батничка»
    Но Сервис можно создать в Интернете для остальных желающих (и «чайников»-любителей шахматного творчества в себе)

    Мы что-то Говорили про ПЕРЛ (Perl)?
    Он у нас есть. В сети
    Вот бы скриптик настроить?
    Пришёл-вставил-переконвертировал - скопировал (5 сек)

    Если бы Это было на площадке CrestBook.com - ресурс получил бы дополнительный импульс в развитии и продвижении

    Не отказался бы и я... :)
  33. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Ладно сделаю скриптик. Моя команда у вас всё равно что-то не работает. (Все "ё" не на конце слова обязаны распознаваться, и у меня всё работает, пример обработанного pgn был выше).
  34. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    В файле правильные ёлочки, это редактор у меня неправильный (которым я файл смотрел и в пост копировал). :)
  35. Antuan moderator

    • Команда форума
    Рег.:
    24.02.2006
    Сообщения:
    6.316
    Симпатии:
    2.551
    Репутация:
    283
    Адрес:
    Estonia
    Оффлайн
    А это получится Ковертнуть?

    Может, у меня при копировании КОМАНДЫ где-то строка прервалась

    Пробую постоянно - ещё хуже, чем в первом разе получается

    Может без папок попробовать?

Поделиться этой страницей