пятница, 4 мая 2012 г.

RxGifAnm - from d:\RxLib_2.7.7.5_D6-2010\RxLib\Demos\Gifanm32\

достаточно забавный gif-аниматор 398 336 байт скачать
умеет раскладывать по кадрам gif
добавка/удаление кадров
изменение паузы между кадрами
разные палитры для изображений и анимации
мелкий размер после upx308w

это пример из библиотеки для Delphi 6 - 2010 RxLib
собирал его в Delphi 2009 lite

суббота, 21 апреля 2012 г.

Flash Player внезапно написал

работая над встраиванием флеша в дрезину, в результате экспериментов внезапно написал плеер swf, flv, в том числе потоковое видео и видео и флеш-роликов из интернетов

на скриншоте - воспроизводится видео из интернета, с сайта youtube.com

скачать 312 320 байт

четверг, 19 апреля 2012 г.

пару шагов к Delphi 2010

скомпилировал под Делфи 2010.

большой gif со мной в движении!

  • убрал TntRichEdit
  • убрал TRxGIFAnimator - заменил на стандарный для 2010 GifImage, открывает большие gif-файлы с анимацией
  • убрал iconv и библиотеку libiconv2.dll на 955 кб, заменил на стандартный в 2010 TEncoding

это дало мне скорости и размер исполняемых файлов по сравнению с прошлой версией с iconv.dll стал на 835 кб меньше!
скачать 4 231 055 байт draisine-0.1alpha-19apr12.rar, из которых 4 мб - 72 скина

четверг, 12 апреля 2012 г.

воскресенье, 25 марта 2012 г.

пауза с Lazarus

сосредоточился на вкусностях Delphi 6.
Lazarus-версии браузера возможно буду выпускать потом, когда кому-то понадобится многоплатформенность.
или если самому захочется ;)

суббота, 24 марта 2012 г.

gif

заменил мигающий и приводящий к падению программы с некоторыми анимироваными gif GIFImage на TRXGIFAnimator из библиотеки RXLib. глюки пропали и стала Draisine работать без падений.
скачать можно там же http://moo.ho.ua/draisine/0.1/alpha/draisine-0.1alpha-24mar12.rar.
размер архива 898 317 байт.

jpg, gif, png

тепереча draisine умеет открывать картинки!
http://moo.ho.ua/draisine/0.1/alpha/draisine-0.1alpha-24mar12.rar
902620 байт

Первая альфа-версия!


http://moo.ho.ua/draisine/0.1/alpha/draisine-0.1alpha-24mar12.zip
926147 байт.
прошу качать!

упаковано с помощью 7zip

Упаковщики

Перед выкладыванием первой альфа-версии решил проверить упакованый exe на http://virustotal.com
Результат оказался неожиданным: очень много сообщений от антивирусов, что или подозрительный процесс или загрузчик троянов или подслушивающая программа, хитро для этого упакованая.
Вот такие были отклики об упаковщике WinUpack 0.38final, который пакует лучше всех.
Оригинальный скомпилированый delphi exe весит 719360 байт.
WinUpack 0.38final 244800.

PECompact 3.02.2 251392.
http://virustotal.com ругался на Packed/PECompact, PUA.Packed.PECompact-1. Результат 3 / 43.

UPX 3.03w 271306.
От http://virustotal.com жалоб никаких. Вирусов не обнаружено.

UPX 3.08w 268800.
От http://virustotal.com жалоб никаких. 0 / 43.

Вывод: UPX обоих версий пакуют хуже всех, но антивирусы на пропущенное через них не ругаются. Поэтому пакованы мои exe будут с помощью UPX 3.08w

пятница, 23 марта 2012 г.

delphi 6, AlphaControls, TntUnicodeControls, iconv

подумалось мне, что в прошлый раз TntUnicodeControls у меня собрались с ошибками.
пересобрал, попробовал в TntRichEdit загрузить utf8-текст и он показался отлично!
AlphaControls - компоненты для создания "скинов", отлично собрался под delphi 6 и пример к нему отличный.
под delphi 6 собирается с меньшим размером выходного файла, чем под Delphi 2010.
utf8 теперь у меня есть в delphi 6, AlphaControls тоже потом не проблема прикрутить.
с помощью iconv удалось перевести windows-1251 в utf8 и вывести в TntRichEdit.
теперь Draisine показывает загружаемый исходный текст html по мере закачки.
тестировал внедрение и показ с анимацией flash-файлов swf.
далее - научить открывать картинки моим браузером и gif анимированые.

в упакованом виде 243кб + libiconv2.dll 978 кб

вторник, 20 марта 2012 г.

2010

скомпилировал в делфи 2010 без лишних кнопочек и без twebbrowser, упаковал и вышел размер exe 305 kb

пятница, 9 марта 2012 г.

Lazarus!

попробовал собрать Draisine с помощью Lazarus
пришлось выкинуть WebBrowser - использовал его для просмотра адреса в окошке Internet Explorer
порадовало, что Lazarus все элементы страницы показывает в utf-8
скомпилированый exe после пары ужатий получил размером 578 кб
Lazarus хорош также тем, что им можно собрать под все операционки
далее буду в Lazarus готовить Draisine

вторник, 6 марта 2012 г.

synapse снова!

в delphi 2010 в примере по indy не хочет показываться прогресс-бар
переписал снова под synapse
отлично работает

уже готово:
1. сохранение оригинального html, полученого по http
2. учёт редиректов
3. учёт header
4. адресная строка с выпадающим списком, пока нет подбора по истории просмотров

выкинул старые куски тестовые, избавился от iconv
TEncoding из delphi 2010 заменит с лихвой

размер компилируемого exe нынче 350 кб

суббота, 3 марта 2012 г.

delphi 2010 architect, unicode

delphi 2010 architect с unicode просто отлично
и без бубнов глупых
убрал из кода шаманство делфи 6-7

indy, unicode

переписал под Indy
инди мне как-то ближе и документация подходит!
основная проблема - в delphi 6-7 utf8 загружаемый в котролах шото не хотит
попробую delphi 2010 architect как сможет unicode

пятница, 2 марта 2012 г.

сохранение html

отныне браузерозаготовка умеет сохранять файлы!

многопоточность

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

уточнение размера загружаемого документа

на сайте http://tv.online.ua размер закачиваемого хтмл получался 560 782 байта, но заготовка моя не могла определить размер странички загружаемой и потоково считала по мере скачки.

бороздя интернет, наткнулся на еще один пример Synapse. Скачиваем данные с ProgressBar’ом, где с помощью анализа заголовков определяется размер и странички с http://tv.online.ua, хотя бы примерно.
и хотя пример с Synapse. Скачиваем данные с ProgressBar’ом имеет изьян другого типа - не закачивает полностью документ - обрывает связь, соеденив лучшее от обоих, я получу нужное мне решение

четверг, 1 марта 2012 г.

экспериментирую с поиском
получается!

Draisine - название моего браузера

Дрезина — тележка, передвигаемая механически по рельсам и служащая для поездок работников железнодорожного транспорта с целью осмотра железнодорожного пути и по другим служебным надобностям. В прежние годы дрезины, как правило, не оборудовались сцепками, либо были приспособлены только для буксировки специально приспособленных прицепов. В настоящее время все дрезины оборудуются сцепками и для пересылки на большие расстояния могут включаться в состав поездов. Название своё дрезина получила по имени лесничего Карла Дреза, который в 1817 изобрёл самокат (двухколёсный экипаж) для собственного передвижения, прототип современного велосипеда.

A draisine primarily refers to a light auxiliary rail vehicle, driven by service personnel, equipped to transport crew and material necessary for the maintenance of railway infrastructure. The eponymous term is derived from German Baron Karl Christian Ludwig Drais von Sauerbronn, who invented his Laufmaschine (German for "running machine") in 1817, that was called Draisine (German) or Draisienne (French) by the press. It is the first reliable claim for a practically used bicycle, basically the first commercially successful two-wheeled, steerable, human-propelled machine commonly called a velocipede, nicknamed hobby-horse or dandy horse.[1] Later, the name draisine came to be applied only to versions used on rails and was extended to similar vehicles, even when not human-powered. Because of their low weight and small size, they can be put on and taken off the rails at any place, allowing trains to pass. In the United States, motor-powered draisines are known as speeders while human-powered ones are referred as handcars.

to do

придумал как реализовать шустрый разбор html, css, js.
буду использовать свою библиотеку hashes для сохраниения данных в структуре ключ-значение(ассоциативные массивы)

I start to develop my own web browser Draisine

Я решил написать свой браузер на Delphi.
Сегодня нашел пример к synapse, который загружает документ с прогресс-баром.
Добавил туда еще одно окно, которое показывает преобразованный из utf-8 в windows-1251 с помощью iconv текст.
Также добавил туда вывод заголовков.
Вот так выглядит: