Загрузка и прсинг xml файла

September 10th, 2009

Загружаем

var xmlString:URLRequest=new URLRequest("try.xml");
var xmlLoader:URLLoader=new URLLoader(xmlString);
xmlLoader.addEventListener("complete", init);

Обрабатываем после загрузки

function init(event:Event):void {
  var xDoc:XMLDocument = new XMLDocument();
  xDoc.ignoreWhite=true;
  var slidesXML:XML=XML(xmlLoader.data);
 ParseSlides(slidesXML);
}

Извлекаем данные

function ParseSlides(bookInput:XML):void {
// конкретную ветку
 trace(bookInput.slide[0].pics.pic[0].small);
// или масив
 for each (var desc:XML in bookInput.slide[0].descriptions.description) {
  trace(desc.title);
 }
}

Стили для компонента TextArea

September 10th, 2009

// задаем стиль

var mainDescformat:TextFormat = new TextFormat();
mainDescformat.font="Myriad Pro";
mainDescformat.color=0x663300;
mainDescformat.size=12;

// привязываем к компоненту
mainTitle.setStyle("textFormat", mainDescformat);

Вызов действий на клике

September 10th, 2009

slide1_b - имя клипа

slide1_b.addEventListener(MouseEvent.CLICK,function(){
 // ваш код
});

Несколько изменений в ActionScript3

September 2nd, 2009

В ActionScript3 появилось несколько изменений. Вместо _x теперь используется просто x, а _y заменили сообтественно на y, поэтому теперь переместить объект можно кодом.

myOgject.x=10;
myOgject.y=10;

Исчезло понятие _root, вместо него

var myMovie=root;
myMovie.myobject.x = 10;

Фильтр на лету

September 2nd, 2009

Добавим тень на объект через скрипт

var filt_shadow:DropShadowFilter = new DropShadowFilter;
filt_shadow.blurX = 4;
filt_shadow.blurY = 4;
filt_shadow.alpha = .4;
myobject.filters = [filt_shadow];

Несколько фильтров

myobject.filters = [filt_shadow, filt_blur];

Неблокирующая проверка нити

July 2nd, 2009

Есть указатель на поток pthread_t. По-хорошему, перед выходом, в программе надо всегда дожидаться окончания работы всех иных нитей. Это делается при помощи функции pthread_join которая ожидает окончания указанной нити и на это время блокирует нить вызывавшую эту функцию.

Неблокирующую проверку нити нити можно сделать с помощью отправки сигнала 0 в нить pthread_kill(thread, 0) или с использованием нестандартной функции pthread_tryjoin_np.

CCK, меняем -None- в Select List

June 20th, 2009

По умолчанию если пользоваться Select List и установить Allowed values list то в итоге список будет выглядить так

-None-
значение 1
значение 2

причем как сменить None цивилизованным способом как бы нельзя, решение такое

В Allowed values list выставляем

|Выберите вариант
1|значение 1
2|Значение 2

Затем выставляем Required

и получаем

Выберите вариант
значение 1
Значение 2

Поймай ajax если сможешь

June 18th, 2009

если надо перехватить факт что на странице произошел вызов ajax контролировать который не в силах, то можно воспользоваться встроенными в jquery функциями

  • ajaxComplete
  • ajaxError
  • ajaxSend
  • ajaxSuccess
вот пример
$(document).ready(function(){
    jQuery(document).ajaxSuccess(function(evt, request, settings){
        // здесь ваши действия
     });
});

Групировка по дням

June 18th, 2009

created = поле с unix timestamp

SELECT count(nid), FROM_UNIXTIME(n.created, ‘%Y %d %m’) as created_day  FROM node n group by created_day

Станица без темплейта

June 16th, 2009

Для начала решим, что для загрузки страницы без окружения надо добавить параметры  ajax=1 в URL (e.g. mysite.com/node/1?ajax=1), и  сможет получить только ее контент.

далее в template.php файл вашей темы добавляем:

function phptemplate_preprocess_page(&$vars) {

  if ( isset($_GET['ajax']) && $_GET['ajax'] == 1 ) {
        $vars['template_file'] = 'page-ajax';
  }

}

затем создаем page-ajax.tpl.php в каталоге темы со следующим содержанием:

<?php print $content; ?>