Архив

Архив раздела ‘Delphi’

MDI и Windows Vista

13 Август 2009

В Windows Vista во многих MDI приложениях часто наблюдается баг (субъективно – в SP1/SP2 значительно реже) при максимизации дочернего окна – оно занимает не всю отведенную ему область. Справа остается небольшое пространство. Читать далее…

Delphi, Советы, Статьи , ,

Directory MD5 CRC Calculator

13 Август 2009

Последнее время я занимался спасением архива сайта http://nevzorov.org, принадлежавшего погибшему Виталию Невзорову. На этом сайте больше 300 000 файлов. И, как оказалось, Total Commander, мой любимый файл-менеджер, плохо справляется с проверкой контрольных сумм такого количества файлов (файл с контрольными суммами он сгенерировал нормально, он занял почти 40 мегабайт). Такое впечатление, что он просто почему-то зависает на этапе загрузки файла – до проверки контрольных сумм даже не доходит.

Поэтому пришлось написать свою программу, которой удалось проверить контрольные суммы всего этого архива. И решил выложить ее вместе с исходными кодами, в качестве примера и в память о Виталие Невзорове (Vit-е). Код MD5 был взят из его Delphi Russian Knowledge Base.

http://mikesoft.ws/samples/md5-crc-calculator/

Delphi, Новости, Примеры , , , ,

Пример работы с модулем FileEnum

15 Февраль 2009

Добавлен пример работы с модулем FileEnum. Небольшая полезная программа, которая удаляет папки резервных копий IDE Delphi («__history»).

http://mikesoft.ws/components/fileenum/

Delphi, Новости, Примеры ,

Отправим Goto на пенсию!

12 Январь 2008

Все кто учил язык BASIC, наверно помнят оператор безусловного перехода GOTO. Почему BASIC? Не только он, конечно, просто в ранних реализациях BASIC (например, Microsoft QuickBasic, входивший в свое время в поставку MS-DOS) он применялся действительно часто. Ведь там не было ни классов, ни операторов обрыва циклов и выполнения вроде Break, Exit, Continue, а также исключений. В современных же языках с полноценными средствами структурного программирования, использование Goto считается крайне дурным тоном, так как затрудняет чтение и делает код непредсказуемым. Доводы против оператора goto четко выписаны в одноименной статье Эдсгера Дейкстры. Но я решил идти не по тропе теоретических изысканий, а показать на практике, что код БЕЗ GOTO может быть не только красивее и логичнее, но и в разы быстрее.

Читать далее…

Delphi, Статьи ,

Баги в imouse.pas

10 Ноябрь 2007

С грустью только что узнал, что в imouse.pas CodeGear RAD Studio 2007 остались старые баги с неосвобождаемой памятью, что конечно не особо страшно, но неприятно и может здорово затруднить отладку при ReportMemoryLeaksOnShutdown := True. Поэтому решил выложить свой, давно уже исправленный на свой вкус, модуль imouse, который я назвал MousePan.

Скачать модифицированный вариант можно здесь:
http://mikesoft.ws/components/mousepan/

Delphi, Советы ,

Удобство, о котором раньше приходилось только мечтать

16 Сентябрь 2007

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

Читать далее…

Delphi, Статьи , ,

О пользе MSBuild в Delphi

1 Сентябрь 2007

Рано или поздно в любых, более или менее серьезных проектах встает необходимость в автоматической компиляции или компиляции в один шаг. Зачем? Самая элементарная причина: чтобы быстро скомпилировать проект, не открывая его в среде. Например, был разработан крупный проект, включающий не один десяток компонентов, модулей, библиотек. Среда во время разработки сильно обросла посторонними и собственными компонентами и становится трудно различить, какой компонент используется в данном проекте, а какой — нет. Переносимости у проекта в данном случае никакой. На другом компьютере с установленной средой Delphi его не получится скомпилировать: придется переносить и устанавливать все необходимые компоненты, причем вспоминать, какой из них нужен, а какой нет. Это крайне неудобно, а если еще принять во внимание, что данный процесс подвержен ошибкам, то становится совсем невесело.

Читать далее…

Delphi, Советы, Статьи ,

Использование мультимедийной клавиатуры в Delphi-приложениях

Многие из нас пользуются мультимедийными или расширенными клавиатурами, где кроме обычных 100 с чем-то клавиш есть клавиши, упрощающие доступ к часто используемым функциям. Например, навигацию в браузере (Home, Back, Forward, Refresh, Stop), проигрывание музыки и фильмов в плеере, вызов калькулятора, почтового клиента и т.д.

Эти дополнительные клавиши действительно часто упрощают вызов постоянно используемых действий. Как же сделать поддержку этих клавиш в Delphi, чтобы пользователю было удобнее пользоваться нашей программой? Читать далее…

Delphi, Статьи ,