Мой блог

XML-RPC
28.04.2009 Выложен модуль Common.Classes.pas содержащий три класса (advanced-records) секундомеров. TLowResStopwatch на основе GetTickCount, THighResStopwatch на основе QueryPerformanceCounter, и TStopwatch использующий один из предыдущих классов секундомеров в зависимости от аппаратной части компьютера.

02.02.2009 Обновлен модуль Common.Encodings.pas. Добавлены классы кодировок UTF-32 и UTF-32BE (только Delphi 2009), добавлен метод определения кодировки по BOM. Добавлены функции-аналоги WideCharToMultiByte и MultiByteToWideChar для кодировок UTF-16, UTF-16BE, UTF-32, UTF-32BE. Функции приведены к единым сигнатурам. Определен процедурный тип с сигнатурой кодирующей и декодирующей функций. Добавлен воркараунд для корректного определения доступности кодировок UTF-7, UTF-8 под Windows NT 4.0

30.11.2008
Обновлен модуль Common.Encodings.pas. Запись TEncodings получила публичный константный массив EncodingsInfo с полной информацией о кодировках (в планах добавить псевдонимы имен кодировок) и лишилась свойств Count и Items. Добавилось несколько индексных констант для быстрой адресации массива EncodingsInfo.

07.11.2008 Обновлен модуль Common.Encodings.pas. Добавлены директивы условной компиляции для сборки под младшими версиями (<2009) Delphi. В информацию о кодировке добавлено поле Preamble и метод CheckForAvailability. В метод TEncodings.ByName добавлен параметр AReplaceDefaultName (чтоб информация о кодировке содержала запрашиваемое имя вместо стандартного)

03.10.2008 Обновлен модуль Common.Encodings.pas. В метод GetEncoding добавлен параметр со значением по умолчанию позволяющий указывать на возможность использования стандартных (определенных в классе TEncoding) кодировок.

28.09.2008 Обновлен модуль Common.Encodings.pas. Добавлены новые методы аналогичные существующим, но начинающиеся с сигнатуры Unsafe. Unsafe в том смысле, что не производится проверка входящих параметров (за счет чего скорость увеличивается на ~30%)

24.09.2008 Выложен модуль Common.Encodings.pas (с небольшой демкой) расширяющий возможности стандартного (Delphi 2009 aka Tiburon) класса  TEncoding. (обновлено 26.09.2008 16:10 GMT+03:00)
17.05.2008 Выложен модуль WinRegion.pas (~16Kb) (D2006/Turbo) обеспечивающий работу с регионами Win32. Архив также включает обновленный модуль Helper.pas (добавлены секундомеры на основе advanced records, поток временного файла, class helper для потоков).

19.01.2008 Выложен модуль AlXmlDoc.pas с моими фиксами авторских ошибок. Тестировался только SAX. Скорость парсинга увеличилась в 3-4 раза. Исправлена ошибка при парсинге комментариев. Исправлена ошибка вызывавшая деградацию производительности если в документе встречался большой комментарий или большое содержимое элемента. Если ссылка на авторскую библиотеку не будет работать, качать можно отсюда.
p.s. Мои правки помечены комментариями "Мое исправление" + изменена константа BufferSize. Отменено декодирование спецсимволов в режиме SAX. Чтоб вернуть эту возможность необходимо раскоментировать строку 1342 и закоментировать строку 1347.

25.08.2007
 Обновлена Smoke-screen. Теперь, окна не пересекающие рабочую область не считаются видимыми.

22.08.2007
 Обновлена Smoke-screen.

21.08.2007
 Обновлена Smoke-screen. Исправлена ошибка с установками интенсивности затемнения. Исправлен порядок следования фокуса в окне настроек.

20.08.2007 Обновлена Smoke-screen. Теперь, пустой рабочий стол не затемняется (по желанию ес-но ;))

12.08.2007
 Обновлена Smoke-screen.

07.08.2007 Обновлена Smoke-screen. Изменения коснулись только системной ловушки
    Есть мысль... А не сделать-ли на затемнении какую-нибудь индикацию?

02.08.2007 Обновлена Smoke-screen.

26.07.2007
Обновлена Smoke-screen. Добавлена возможность выбора формы пятна, немного изменен алгоритм затемнения.

20.07.2007
Теперь Smoke-screen умеет создавать плавающее за мышкой светлое пятно. Размер пятна настраивается. Панель задач не затемняется.
    19:10, 19:40, 23:50 Исправлен мелкий жук + внесены небольшие улучшения.

13.07.2007
Утилита Smoke-screen (~190Kb) написаная под впечатлением от последней части статьи Андрея Письменного о линуксовом оконном менеджере Compiz Fusion. Задача - затемнение рабочего стола и всех окон кроме активного (способствует кодированию, и даже яркий обой не отвлекает :)), выбирается цвет и интенсивность затемнения.

21.06.2007
Выложены модули (D2006/Turbo ~15Kb)  позволяющие создавать классы-ловушки элементов управления (потомки TControl), а также пример использования (класс-ловушка обеспечивающий принятое в Windows поведение элементов управления Edit и Combobox при статусах Disabled и ReadOnly). Ловушки реализуются простым определением методов сообщений, изли короче :)

01.02.2007
Тут (~8Kb) можно взять модули и шаблон для создания мультиформенного (мультибраузерного, в моей терминологии) приложения (MS Office 2000 like). Компилировался на D2005-2006 для младших версий нужно избавляться от this и {$REGION}.

16.12.2006
Надоело мне открывать лоток CD-привода руками (на ноутбуке не сильно удобно, кнопка плохо нащупывается), поэтому наваял маленький утиль CDEject (8902 bytes). Прицепил ее запуск на одну из служебных кнопок (на Тошке, панелька слева), теперь у меня почти эпловский эджект :)

10.12.2006
В блоге я уже описывал процесс подключения сторонних (или собственных) пакетов в Turbo Delphi Explorer, сегодня выкладываю модуль реализующий эту задачу и исключающий необходимость саморегистрации пакетов. Пользуйтесь :)

Добавлено 1.1.2007 (многие говорят, что не могут установить пакеты, объясняю как):

После того, как я отбил деньги у продавшей мне MaxSelect A6Wide фирмы, взамен был куплен нотик Toshiba Satellite Pro M30.

Тест для проверки качества системы охлаждения на ноутбуках, сердцем которых являются мобильные процессоры компании AMD.

15.12.2004

У меня MaxSelect Mission A6Wide на базе AMD Mobile Athlon XP 2400+ (Barton, 45W). Замеченная с ним проблема перегрева побудила меня к написанию данного теста, дабы показать сотрудникам СЦ, что перегрев все же присутствует. Дело в том, что в XP SP2 драйвер процессора хитрит: когда при полной нагрузке начинает расти температура процессора, он просто сбрасывает тактовую частоту проца (а по идее делать он этого не должен, ибо есть система охлаждения). Но это было бы не страшно (хотя и не правильно), если б со своей задачей он справлялся, ведь если он не успеет среагировать, то ноутбук отключится от перегрева. И такая ситуация возможна, но достаточно трудна для воспроизведения (а работникам СЦ как доказать?). У меня такое случилось, когда я запустил две виртуалки VirtualPC, и одновременно копировал образ диска одной из них. Второй случай был, когда я распаковывал новый Platform SDK на сетевой диск виртуальной машины, а доблестный Dr. WEB мониторил все это безобразие ;). Улавливаете сходство? Да, правильно, очень сильно были загружены системные механизмы ОС (в особенности дисковая подсистема), в результате чего драйверу процессора не хватало времени на сброс тактовой частоты (хотя, по моему глубокому убеждению, делать он этого и не должен). Ну и как такую ситуацию воспроизвести в СЦ? Утилиты вроде CPU Burn- In не помогают т.к. при их работе драйвер процессора все равно шевелится и делает свое черное дело ;). Вот я и написал простенький тест, который блокирует работу вообще всех системных механизмов настолько, насколько это вообще возможно с приоритетом TimeCritical. В результате мой ноутбук не выживает и пяти минут :(

Теперь о тесте :

Запускать из командной строки и передавать в параметре количество секунд для тестирования ( acpuburn. exe 600 – тестирование в течение 10 минут). Если по истечении времени теста ваша система жива – значит все у вас хорошо ;). ВНИМАНИЕ! Во время работы теста, система будет полностью блокирована, вы не сможете использовать даже “мышь”.

Скачать (91,4Kb)

 Document made with Nvu

почта







Если вам необходим почтовый аккаунт, тогда почта на Qip.ru - ваш выбор. Для хранения фото и видео рекомендуем бесплатный фотохостинг.
Для студентов и абитуриентов: крупнейшая библиотека рефератов и сочинений. Скриншот экрана - просто и удобно с QIP Shot.