Home

Advertisement

Customize

Любите ли Вы биндинг, как люблю его я

Oct. 20th, 2009 | 03:38 pm

Такое вот несложное флексовое приложение:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    creationComplete="handleCreationComplete()"
    >
    <mx:Script>
        <![CDATA[
            import test.MyObject;

            private function handleCreationComplete(): void
            {
                var o: MyObject = new MyObject();
                o.field1 = 100;
                o.field1 = 100;
            }
        ]]>
    </mx:Script>
</mx:Application>

А вот и реализация класса MyObject:
package test
{
    [Bindable]
    public class MyObject
    {
        private var _field1: Number;

        public function get field1(): Number
        {
            return _field1;
        }

        public function set field1(o: Number):void
        {
            _field1 = o;
            updateField1Dependencies();
        }
        
        private function updateField1Dependencies(): void
        {
            trace ("Updated");
        }
    }
}


Чтобы всем было понятно, я при инициализации создаю экземпляр MyObject и дважды дергаю сеттер поля field1.

Думаю, все понимают, что я увижу в консоли?

Конечно же, один раз 'Updated'. Любезный флексовый биндинг понял, что значение поля не изменилось и блокировал второй вызов сеттера.

Об этом, конечно, мельком написано тут: http://livedocs.adobe.com/flex/3/html/help.html?content=databinding_8.html
Но все же мне кажется, биндинг мог бы обойтись непосылкой события обновления конкретного поля.
Tags: ,

Link | Leave a comment | Add to Memories | Tell a Friend

svn-clean.cmd без затей

Jan. 18th, 2007 | 12:04 pm

@echo off
setlocal ENABLEDELAYEDEXPANSION

set files_to_delete=

for /f "tokens=* usebackq" %%A in (`svn status`) do (
    set qwe=%%A
    if "!qwe:~0,1!" equ "?" (
        set files_to_delete=!files_to_delete! "!qwe:~7!"
    )
)

for %%A in (%files_to_delete%) do (
    if exist %%A (
        if exist %%~A\nul (
            rd /s /q %%A
            echo %%A is removed.
        ) else (
            del /f %%A
            echo %%A is removed.
        )
    )
)

endlocal
Tags: ,

Link | Leave a comment {1} | Add to Memories | Tell a Friend

Array.shuffle()

Nov. 22nd, 2006 | 08:02 pm

Array.prototype.shuffle = function(){
	if ( this.length<2 ) return this;
	var rand;
	var tmp;
	for( var i=this.length; i>1; i-- ){
		// choose from first i elements
		rand = Math.floor(Math.random()*i);
		// pick
		tmp = this.splice(rand,1);
		// append to the end
		Array.prototype.push.apply(this,tmp);
	}
	// the last element to the end (optional)
	tmp = this.splice(0,1);
	Array.prototype.push.apply(this,tmp);
	return this;
}

Link | Leave a comment {1} | Add to Memories | Tell a Friend

Поддержка exslt для domxml в php 4.4.x (windows)

Nov. 17th, 2006 | 02:38 pm

Мда, долго мне не удавалось заставить работать exslt в модуле domxml на виндовых машинах. Не знаю, может, он на винде никому и не нужен? Даже на ru_php спросил, но совет ограничился копированием dll из дистрибутива в system32.

Так или иначе сегодня я нашел слегка грязный хак:
насколько я понимаю, в новых версиях PHP php_domxml.dll есть библиотека, содержащая в себе libxml и libxslt (в которую, похоже, не включают libexslt). В древности же, умелые парни не делали их нее ничего особо самодостаточного, а была она интерфейсом к libxml, libxslt и libexslt, установленным в ОС.

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

Сссылки:


Кстати, если кто знает способ проще - готов выслушать.
Tags: ,

Link | Leave a comment | Add to Memories | Tell a Friend

Про PDF

Aug. 22nd, 2006 | 07:56 pm

Друзья,

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

Сытно покушав пару часов назад, я заинтересовался, а нельзя ли открыть PDF-документ бесплатно хотя бы с желаемой страницы...

Для таких, как я (не интересовавшихся, возможно ли это), представляю вниманию превосходное руководство на эту тему со стороны Adobe. Отсюда Вы узнаете о разных параметрах, которые можно передать адобовской читалке при помощи URLа (хотя в терминах URI это не совсем параметры), чтобы PDF открылся в нужном месте, в нужном масштабе и с нужными панелями.

Для чего это надо? Например, чтобы отметить для себя нужное место в PDF-документе и поставить туда закладку.

Вот с этого момента, например, начинается описание самих параметров.
Tags:

Link | Leave a comment | Add to Memories | Tell a Friend

Неологизм

Jul. 19th, 2006 | 02:09 pm

Подводные грабли (by [info]graann)
Tags:

Link | Leave a comment | Add to Memories | Tell a Friend

Совсем неприятное открытие

May. 31st, 2006 | 12:41 pm

Сегодня обнаружена очень неожиданная для меня особенность XSL-процессора (libxslt 1.1.15 в моем случае) в PHP 5.1.1, которыми я активно пользуюсь.


Заинтересованных приглашаю ознакомиться )
Tags: , , ,

Link | Leave a comment {3} | Add to Memories | Tell a Friend

Одинаковый размер шрифта в браузерах

Mar. 14th, 2006 | 01:51 pm

Не знаю, как для кого, а для меня долгое время существовала проблема сделать размер шрифта в разных браузерах одинаковым, указав его при этом в относительных единицах.

Начиналось обычно все с того, что я устанавливал размер шрифта у элемента html во что-нить типа x-small, а затем хаками выравнивал его же для элемента body.

Но сегодня я сделал простейшую вещь, которая настолько пугает своей естественностью, что я не пойму, почему я никогда этого не делал до этого:

* {font-size:100%;}

И все. Нет, поднимите руки, кто знал, и почему мне об этом не сказал?

Tags:

Link | Leave a comment | Add to Memories | Tell a Friend