Сайт об электромобилях

SDIsle.com - электромобили и их компоненты

спицын

SDATimer Home Page

 
Главное окно SDATimer

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

Поддержка скинов дает возможность настроить внешний вид программы под свои запросы. Функция автоспрятывания главного окна программы позволяет экономить место на рабочем столе Windows. Три возможных пути настройки таймера (кликом по цифрам, установкой пресета, через диалог "Set Timer"), поддержка горячих клавиш, экономит изрядную толику нервов пользователям.

Также имеется встроенный календарь с указанием времени восхода и захода Солнца, фазы Луны. Для корректного отображения времени восходов и заходов необходимо только указать широту и долготу места.

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

Единственное препятствие на пути наших пользователей - англоязычный интерфейс сайта и программы. Но я надеюсь, что это вас не остановит.

Девиз SDATimer - "Успевай всегда!", чего и вам желаю.

Спицын Дмитрий, автор SDATimer.

Загрузить SDATimer 1.82 [0.78Mb].

SDATimer - Регистрация

 
Вернуться на первую страницу Загрузить SDATimer Загрузка скинов Послать письмо автору Поиск

Регистрация программы бесплатна, для получения лицензионного ключа для своей копии SDATimer скачайте генератор ключей в приложенном файле.

Заметки по локализации программ на Delphi

 
SDATimer SDATimer SDCalc SDHormons SDSSL Smart HTML Editor SDAssistant Послать E-mail автору Поиск

[Другие статьи автора] [Субъективный взгляд на электромобиль]

- Чем отличается программист от шамана?
- Практически ничем: оба произносят непонятные слова,
совершают непонятные действия, а потом не могут объяснить,
как это работает.

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

Уже тогда, прочитав в "Кулибе" Валентина Озерова статью о локализации программ с помощью динамически подключаемых библиотек ресурсов, была сделана удачная попытка перевода программы на родную беларускую мову с помощью Resource DLL Wizard. Окрыленный успехом, не долго думая, поместил в пакет инсталляции файл localization.txt, с перечислением всех надписей в программе, в надежде на добрую душу добровольца, желающего иметь интерфейс программы на родном языке.

Resource DLL Wizard Delphi

Много воды утекло с того времени и вот, в один прекрасный момент, такой доброволец нашелся и прислал перевод интерфейса на испанский язык. Как часто получается при программировании в Delphi: "Меньше думай, больше делай" - гораздо быстрее склепать предварительную версию, немного с ней поработать, потешить свою душу ощущением собственной крутости, а потом переписать заново так, чтобы к старости не было обидно за бесцельно прожитые годы. В соответствии с этим принципом был запущен Resource DLL Wizard, определена локализация как 'Испанский (международная сортировка)', в полученном проекте все надписи были изменены, отрегулированы размеры элементов под длину надписей, все это скомпилировано. На выходе получился файл SDATimer.ESN, который и был помещен в рабочий каталог программы. В Панели Управления (вкладка 'Язык и региональные стандарты') были установлены настройки локали на 'Испанский (Испания)', программа перезапущена, и, удивительно, все вроде бы заработало - все надписи поменялись, интерфейс стал подозрительно испанским и функциональность программы полностью сохранилась.

Настройка текущего языка программы для режима отладки в Delphi

На радостях SDATimer.ESN отправлен на окончательное тестирование, и тут, как всегда подкралась незаметная мысль: "А что, если бы...?". Сразу же обнаружился небольшой облом: при изменении настройки локали на любую, отличную от 'Испанский (Испания)', например, на 'Испанский (Гондурас)', интерфейс программы менялся с подозрительно испанского на другой, очень похожий на исходный английский (что на самом деле и было). В попытках понять, что произошло, и почему не поддерживается гондурасский, был перелопачен Delphi Help, Windows SDK Help, Delphi World 6. Несколько раз проект перекомпилировался под разные локали, но поддержка "единого и могучего" испанского языка не получалась. В конце концов была вспомнена та древняя мудрость, почерпнутая в "Кулибе" - загрузка файла локализации происходит согласно расширению файла динамически подключаемой библиотеки ресурсов. Тогда, собравши остатки интеллекта, еще не полностью угробленного учебой и работой, все быстро соотнеслось со словами в Delphi Help о том, что первые две буквы расширения файла ресурсов отвечают за базовый язык, а третья - за конкретную локализацию для данного языка. Исходный многострадальный файл SDATimer.ESN был переименован в SDATimer.ES, и, как не странно, интерфейс стал испанским при использовании любой испанской локали.

Translation Manager в Delphi

В качестве лирического отступления хочу отметить преимущество метода использования динамически подключаемых библиотек ресурсов для локализации программ:

  • При данном методе локализации исчезает проблема несоответствия размеров элементов интерфейса длине подписей - можно регулировать не только размеры, но и расположение, как самой формы, так и элементов интерфейса формы без потери функциональности и перекомпилирования основной программы.
  • Данный метод является стандартным методом локализации в Delphi. В комплекте Delphi есть Translation Manager для облегчения перевода строк ресурсов, имеется возможность создавать репозитории строк для перевода, в настройках проекта при отладке легко установить текущий язык для тестирования.
  • При загрузке программы локализация включается автоматически, при обнаружении соответствующих языковых настроек системы, что позволяет избежать несоответствия шрифтов, установленных в системе, языку интерфейса ("кракозябры" в надписях популярности не добавляют).
Translation Manager в Delphi

Так как "бесплатный сыр бывает в мышеловке или в мышке ловкой", то и при применении динамически подключаемых библиотек ресурсов приходится решать проблему большого размера библиотек локализации. Одним из выходов является использование инсталляторов с поддержкой архивации, причем при архивации размер библиотеки уменьшается в несколько раз (в случае с SDATimer, размер файла инсталляции вырос на 50Kb, при размере SDATimer.ES в 179Kb).

Хотелось бы закончить данные заметки хэппи-эндом, но в результате поисков найдены исходники Demo RichEdit, поставляемые с Delphi, в них те же самые динамические библиотеки ресурсов подключаются принудительно из меню самой программы. Так что хэппи-энд будет, но уже не в рамках этой статьи.

Как иллюстрацию метода можно скачать SDATimer здесь: http://sdisle.com/sdatimer/sdatimersetup.exe

К началу статьи...

Copyright © Дмитрий Спицын, 2006

[Другие статьи автора] [Субъективный взгляд на электромобиль]

Проекты автора

 

Программные проекты:

  • Smart HTML Editor – редактор HTML кода с поддержкой "смышленой" автозамены тэгов при помощи встроенной поддержки скриптового языка Pascal Script.
  • SDATimer - многофункциональные часы под Windows,
  • SD SMS Sender Lite - продвинутый редактор и SMS сендер для MIDP 2.0 мобильных телефонов,
  • SDCalc - калькулятор для мобильных телефонов,
  • SDHormons - программа симулятор эндокринной системы человека,
  • SDSSL - запуск хранителя экрана одним движением мыши,
  • SDAssistant - текстовый редактор для ведения дневников в истории болезни,
  • rtf2txt - конвертер из rtf в txt формат под Windows. [05.09.07] - v2.0.

Здоровый образ жизни:

Статьи:

Немного о себе:

Образование: высшее медицинское (Белорусский государственный медицинский университет)

Профессия: врач-невролог

Хобби: программирование (Delphi, Java2ME, Prolog, Forth, Asm, Neural Network, AI), пчелы

Этот сайт создан при использовании Smart HTML Editor, TigerPad, Web Development Studio и MS Paint

Шлите письма support@sdisle.com

Домашняя страница Дмитрия Спицына

 
English
SDATimer SDCalc SDHormons SDSSL rtf2txt Smart HTML Editor SDAssistant Послать E-mail автору Поиск

Проекты:

  • Smart HTML Editor – редактор HTML кода с поддержкой "смышленой" автозамены тэгов при помощи встроенной поддержки скриптового языка Pascal Script.
  • SDATimer - многофункциональные часы под Windows,
  • SD SMS Sender Lite - продвинутый редактор и SMS сендер для MIDP 2.0 мобильных телефонов,
  • SDCalc - калькулятор для мобильных телефонов,
  • SDHormons - программа симулятор эндокринной системы человека,
  • SDSSL - запуск хранителя экрана одним движением мыши,
  • SDAssistant - текстовый редактор для ведения дневников в истории болезни,
  • rtf2txt - конвертер из rtf в txt формат под Windows. [05.09.07] - v2.0.

Статьи:

Немного о себе:

Образование: высшее медицинское (Белорусский государственный медицинский университет)

Профессия: врач-невролог

Хобби: программирование (Delphi, Java2ME, Prolog, Forth, Asm, Neural Network, AI), пчелы

Этот сайт создан при использовании Smart HTML Editor, TigerPad, Web Development Studio и MS Paint

Шлите письма support@sdisle.com

Copyright © Дмитрий Спицын, 2003-2008

Copyright © Иконки для SDIsle.com. Виктор Спицын, 2003-2008

SDIsle.com - поиск по сайту

 

В настоящий момент поиск по сайту лучше всего осуществлять при помощи формы, размещенной в верхнем правом углу страницы. Вы также можете воспользоваться поиском от Google (старый вариант).

Электромобили SDATimer SDCalc SDHormons SDSSL rtf2txt Smart HTML Editor SDAssistant Послать E-mail автору

Google














Copyright © Дмитрий Спицын, 2003-2010

Copyright © Иконки для SDIsle.com. Виктор Спицын, 2003-2010

RSS-материал
Copyright © Dmitry Spitsyn, 2003-2017.
Яндекс.Метрика