Показаны сообщения с ярлыком tools. Показать все сообщения
Показаны сообщения с ярлыком tools. Показать все сообщения

среда, 14 октября 2015 г.

Ссылка на рисунки и таблицы в Microsoft Word - показывать только номер

Недавно вышел новый Microsoft Office 2016 и в нем по-прежнему существует проблема создания перекрестных ссылок для рисунков и таблиц - интерфейс не дает возможность создать ссылку в виде номера. Максимум чего можно добиться - выбрать при создании ссылки "Постоянная часть и номер" и получить ссылку в виде "Рисунок 1". Возникает вопрос, как выкинуть слово "Рисунок" и получить просто "1"?

В интернете полно статей на эту тему. Обычно предлагают два варианта: пометить "Рисунок" как скрытый текст или воспользоваться закладками. Однако существует еще один способ, на мой взгляд, более быстрый и удобный.

Щелкаем по вставленной перекрестной ссылке правой клавишей мыши и выбираем команду Коды/значения полей. На месте перекрестной ссылки в документе появится ее код, например вот такой {REF _Ref432583060 \h} . Дописываем к коду поля вот такой постфикс

\# "0"

Т.е. превращаем код ссылки в {REF _Ref432583060 \h \# "0"}

Еще раз даем команду Коды/значения полей - перекрестная ссылка на рисунок отображается в виде "1". То что нужно.

четверг, 20 декабря 2012 г.

Автоинкремент версии в QT / С++ приложениях

Задачу инкремента номера версии при сборке релиза QT-шного проекта, естественно, хочется автоматизировать. Но есть несколько тонкостей.

вторник, 12 апреля 2011 г.

Делокализация Delphi приложения

Достался мне недавно в сопровождение проект на Delphi. Проект старый и довольно большой по объему. Все бы ничего, да только написан он был датскими программистами для датских клиентов. В результате - GUI на датском, текстовые сообщения в исходниках - на датском, комментарии - на датском. Даже названия функций - и те во многих случаях написаны по датски.

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

В результате, мне пришлось провести де-локализацию исходных кодов с последующей обратной локализацией приложения. Другими словами: в исходниках датские строки я заменил английскими, а в процессе работы приложение подменяет английские строки датским переводом.

Далее речь пойдет о том, как все это было сделано.

пятница, 21 января 2011 г.

Конвертер PDF в HTML. Вариантов море, а нужного нет.

Появилась задача: конвертация PDF-файлов в HTML в автоматическом режиме на сервере. Условия просты: текст должен конвертироваться в текст (не в картинку), форматирование страницы должно быть максимально приближено к оригиналу, плюс все это должно делаться локально - документ должен оставаться на сервере и никуда не передаваться. Оказалось, что найти подходящий конвертер очень и очень не просто.

понедельник, 27 сентября 2010 г.

Named Folders 3.0 (alpha) на GoogleCode.

Давным давно, в 2002 году, я написал плагин Named Folders для быстрого перемещения между директориями в Far Manager. Плагин оказался достаточно удачным и востребованным, несколько лет я его дорабатывал и оттачивал. Правда последние годы я его не трогал, хотя использую ежедневно. Плагин делает все что мне нужно - чего его трогать.. Сообщения о мелких багах мне, конечно, присылали. Что-то я правил, что-то - складывал на полку - дойдут руки когда-нибудь.

Но сейчас, похоже, пришло время доработать плагин. Необходимость обусловлена двумя факторами: выходом юникодного Far 2.0 и ростом популярности 64-битных систем. Как не крути, нужен Named Folders x86/x64 для Far 2.0. И я решил доработать плагин и, заодно, привести проект в порядок.

Основные задачи при разработке Named Folders 3.X следущие:
  • портировать исходные коды под Far API 2.0;
  • обеспечить возможность компиляции 64-битной версии плагина;
  • провести глобальный рефакторинг кода и заменить русские комментарии английскими;
  • поправить известные баги;
  • реализовать новый функционал, который стал возможен под Far 2.0;
  • преобразовать Named Folders в open source проект;
  • добиться того, чтобы проект компилировался не только под Visual C++, но и под другими компиляторами.
Я разместил проект namedfolders на GoogleCode. Так что теперь у плагина есть issues трекер, wiki и открытый репозиторий svn. Исходные коды релизов плагина были открыты всегда, но теперь будет доступ и к промежуточным версиям. Wiki, я надеюсь, даст мне более удобный способ вести документацию плагина. Ну а issues трекер более не позволит мне забыть об имеющихся багах, так что обо всех багах просьба писать именно в issues.

Текущая версия плагина в репозитории пока еще очень сырая. Как минимум, не работают диалоги. Но я постараюсь не слишком тянуть с первым релизом.

Если у вас есть пожелания по дальнейшему развитию плагина - пишите.

Update: с issues не все так просто...

четверг, 11 июня 2009 г.

Opera Links. Синхронизация закладок браузера между компьютерами.

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

Естественно, в каждой опере у меня отдельный набор закладок. И естественно, меня давно мучает проблема, как бы эти закладки между собой синхронизировать. Недавно дошли руки, и я с этой проблемой разобрался. Решение оказалось на удивление простым - Opera Links. Возможность автоматической синхронизации закладок между компьютерами встроена в Opera.

Выбираем пункт меню "File\Synchronize Opera". Щелкаем кнопку "Sign up". Указываем имя пользователя, пароль и email. Опера создаст вам личный профиль на сайте opera.com. Профиль нужно активировать - ссылку для активации присылают на email в течении нескольких секунд после регистрации. Как только профиль активирован, вводим выбранные имя пользователя и пароль в окне "Opera Links", щелкаем "Opera Link Options", выбираем, какие элементы нужно синхронизировать между компьютерами (закладки, Speed Dial, заметки и т.п.), даем команду "Log in".



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

Преимущества налицо. Во-первых, автоматическая синхронизация списков закладок между разными компьютерами. Очень удобно. Во-вторых, список закладок теперь можно просматривать online. Причем не только из оперы, но и из любого другого браузера. Достаточно зайти на сайт http://link.opera.com/ и ввести ваше имя пользователя и пароль. В-третьих, автоматически решается проблема резервного копирования списка закладок. В прошлом, я пару раз терял все свои нажитые непосильным трудом закладки - было очень обидно.

Конечно, закладки можно хранить на сервисах типа бобрдобр и delicious.com. Но это - немножко не то. Возможность пометить ссылку тегами хороша - другим пользователям будет проще эту ссылку найти. А самому мне будет гораздо быстрее и проще найти нужную ссылку прямо в браузере, через фильтр в списке закладок. Уж больно он хорошо сделан!

p.s. А профиль на delicious.com я все-таки завел. Уж больно удобен этот сервис для поиска информации. Надо с ним поработать..

понедельник, 2 февраля 2009 г.

Интеллект карта для C# 2.0

Тем, кто готовится проходить тестирование по какому-либо языку программирования, может оказаться крайне полезной возможность посмотреть на него "сверху" - охватить взглядом его возможности, тонкости и особенности. Можно легко определить слабые места в своих знаниях и, даже, обнаружить особенности языка, о которых вообще не имеешь представления.

Такая возможность есть для C#. На сайте FreeMind опубликована интеллект-карта для C# 2.0. Для просмотра ничего не требуется кроме браузера с установленным флеш-плеером. Там же есть аналогичная карта для Python 2.5.



Если вы еще не сталкивались с интеллект-картами - обратите на них внимание. Крайне удобный на практике инструмент для анализа информации, планирования, конспектирования и т.д. Вот здесь я писал про них поподробнее.