Авторские архивы:norseev

Delphi неправильно передает пустые строки в технологии COM

Работая над одной программой, я заметил ошибку. Первоначально я решил, что это ошибка сервера, но, переписав пример на другой язык программирования, я понял, что сервер тут ни при чем. Продолжить чтение →

Полемика о времени жизни объекта

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

Функция PulseEvent в роли спускового крючка

Функция PulseEvent предназначена для кратковременного перевода объекта событие в свободное состояние с его последующим возвратом в занятое состояние. Обычно в литературе по Windows API ей уделяется мало внимания. Тем не менее, её можно использовать в качестве спускового крючка при управлении потоком. О том, как это сделать, я сегодня и расскажу. Продолжить чтение →

«Fatal: Expected file name» простое решение этой проблемы

Все, кто работал с C++ Builder, наверняка сталкивались с этой проблемой. Когда при компиляции программы выдается ошибка с текстом: «[Linker Fatal Error] Fatal: Expected a file name:». Всё, никакой дополнительной информации нет. Только эта строка. В результате чего пользователи вынуждены гадать: что делать и куда копать.

На самом деле в большинстве случаев эта проблема решается очень просто.

Продолжить чтение →

Проблема с отображением содержимого chm файла и ее решение

Сегодня обнаружил, что современные версии операционной системы Windows (начиная с Windows Vista) в целях нашей с вами защиты не отображают содержимое chm файлов, скачанных из Интернета. К счастью эту особенность поведения легко поправить.

Продолжить чтение →

Странное поведение функции ClearCommError

Некоторое время назад при работе над одной программой я столкнулся с необычным поведением функции ClearCommError. Задача была довольно простой: есть прибор, от которого по COM порту принимаются данные. Вроде бы ничего сложного, но меня ждал подвох.

Продолжить чтение →

Алгоритм подсчета счастливых билетов

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

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

Продолжить чтение →