String 문자열 자르기 Tip

문자열은 파라미터 형태로 정의하면  URLVariables를 사용하여 문자열을 자를수 있습니다.

          var str:String = “ans=12334&msg=이거다”;
          var variables:URLVariables = new URLVariables();
          variables.decode(str);
   
        
         txtArea.text = variables.ans; //-> 12334
         txtArea.text += variables.msg;  //-> 이거다

댓글 남기기

Ajax Data Services 새로운 라이브러리 추가

Adobe lab에 새로운 플젝이 추가되었습니다.

Javascript 라이브러리를 사용하여 Flex Data Service를 다이렉트로 사용가능하게 해주는 기능인데

real-time 데이터 처리도 가능하다고 합니다.

왠지 갈수록 FDS가 점점 쓸만한 놈으로 변해가는듯한 느낌입니다.

자세한 내용은 Adobe lab을 참고하세요.

http://labs.adobe.com/wiki/index.php/Ajax_Data_Services

댓글 남기기

이미지 로딩 예제

이미지가 동적으로 로딩될때 로딩이미지 표시하는 예제

<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” backgroundColor=”#000000″ >
 <mx:Button label=”View Image” horizontalCenter=”0″ top=”5″ click=”imageCanvas.visible = true;sceneImage.load()” />
 <mx:Canvas id=”imageCanvas” verticalScrollPolicy=”off” horizontalScrollPolicy=”off” backgroundColor=”#000000″ top=”40″ height=”100%” width=”100%” visible=”false”>
  <mx:Image id=”sceneImage” autoLoad=”false” source=”img/car_small_1.jpg” verticalCenter=”0″ horizontalCenter=”0″ />
  <mx:Image id=”loadingIcon” source=”@Embed(’loading.gif’)” horizontalCenter=”0″ verticalCenter=”0″ visible=”{sceneImage.percentLoaded != 100}” />
  <mx:Label text=”Loading…” verticalCenter=”18″ horizontalCenter=”0″ color=”#ffffff” fontSize=”10″ visible=”{sceneImage.percentLoaded != 100}” />
 </mx:Canvas>
</mx:Application>

댓글 남기기

Fun with Flex Data Binding

대부분 데이터 객체만 가지고 Binding을 사용하지만 Boolean 속성이라든지 특정 함수 리턴값을 가지고 Binding을 확장해서 사용 할 수도 있습니다.

———————————————————
[Bindable]
private var labelText:String = “This is a label”;

<mx:Label text=”{labelText}”/>
———————————————————

[Bindable]
private var items:ArrayCollection;

<mx:Label text=”You have {items.length} items.”/>
———————————————————

<mx:TextInput id=”myInput”/>
<mx:Button label=”Do Something” enabled=”{myInput.text.length > 0}”/>
———————————————————

private function isButtonEnabled(someString:String, itemLength:uint):Boolean
{
if (…) {
  myButton.label = “I’m enabled!”;
  return true;
  } else {
  myButton.label = “I’m disabled.”;
  return false;
  }
}

<mx:Button id=”myButton” enabled=”{isButtonEnabled(someString, items.length)}”/>
———————————————————

원문:http://weblogs.macromedia.com/cantrell/archives/2006/11/fun_with_flex_d.cfm

댓글 남기기

eBay 쇼핑몰

eBay 쇼핑몰도 Apollo를 가지고 개발을 하고 있네요.

언제쯤 Apollo를 만져볼수 있을까???

San Dimas

원문:http://blogs.zdnet.com/Stewart/?p=197

댓글 남기기

Flex 2.0 Tree with Spring Loaded Folders

트리에서 드래그를 하면 현재 위치에 따라 트리폴더가 펼쳐지고 자동으로 닫히는걸 구현 했네요.

소스 코드는 아직 확인 못했는데. 트리에서 노드 찾아가는 부분이 궁금 하넹.  

원문:http://flexibleexperiments.wordpress.com/2007/01/25/flex-20-tree-with-spring-loaded-folders-update/

댓글 남기기

Flex 2.0.1 Style Swapping

새로 추가된 기능으로써 동적으로 CSS 스타일을 변경하는 예제입니다.

전에는 컴파일 시점에 테마가 포함되 불가능 했다는…

changeit.jpg

Click here to run the application

원문:http://everythingflex.wordpress.com/2007/01/19/flex-201-style-swapping/

댓글 남기기

ButtonImage 컴포넌트

말그대로 이미지 버튼 컴포넌트 이다.

더블클릭 방지 기능도 포함됨…

속성중에 DOUBLECLICK_DELAY값을 변경하여 더블클릭 방지 시간을 수정하면 된다.

그리고 마우스오버,아웃시 fade 효과도 추가했음.

– ButtonImage.mxml

<mx:Image buttonMode=”true” useHandCursor=”true” mouseChildren=”false” xmlns:mx=”http://www.adobe.com/2006/mxml” creationComplete=”createContent()”>
 <mx:Metadata>[Event("clickDispatch")]</mx:Metadata>
 <mx:Script>
  <![CDATA[
   import flash.events.Event;
   import mx.effects.Fade;
   
   private var DOUBLECLICK_DELAY:Number = 100;
   private var timer:Number = 0;
   
   private function createContent():void
   {
    this.addEventListener(MouseEvent.MOUSE_OVER,mouseOverEvt);
    this.addEventListener(MouseEvent.MOUSE_OUT,mouseOutEvt);
    this.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownEvt);
   }
   private function mouseOverEvt(event:Event):void
   {
    var fadeIn:Fade = new Fade(this);
       fadeIn.alphaFrom = 1.0;
       fadeIn.alphaTo = 0.5;
       fadeIn.duration = 300;
       fadeIn.play();
   }
   private function mouseOutEvt(event:Event):void
   {
    var fadeOut:Fade = new Fade(this);
       fadeOut.alphaFrom = 0.5;
       fadeOut.alphaTo = 1.0;
       fadeOut.duration = 300;
       fadeOut.play();
   }
   private function mouseDownEvt(event:Event):void
   {
    if(!this.visible) return;
    var currentTime:Number = getTimer();
    if (currentTime - timer > DOUBLECLICK_DELAY) {
     timer = getTimer();
     dispatchEvent(new Event("clickDispatch"));
    }
   }
  ]]>
 </mx:Script>
</mx:Image>

댓글 남기기

Flex Ant tasks 와 Flex compiler shell

간만에 좋은 소식이 올라왔네요…

전에 Flex 자동빌드를 Ant 빌드로 변경하는데 꽤 고생을 했던 기억이 납니다.

Flex Ant tasks를 사용하면 빌드파일 만들때 task를 정의하여 mxmlc,comp와 같은 커맨드 명령어를 쉽게 만들 수 있겠네요.

일단 파라미터를 태그형태로 정의 할 수 있으니까. 가독성도 좋고 보기도 좋고 하지만 성능은 똑같다는거….

– 샘플 –

~~~~

<property name=”FLEX_HOME” value=”C:/flex_sdk_2″ />

<taskdef resource=”flexTasks.tasks” classpath=”./util/flexTasks.jar” /> 

 <target name=”compile”>
  <echo>Building ${swfFile}</echo>
        <mxmlc
            file=”${main_appliation}”
            output=”${swfFile}”
            actionscript-file-encoding=”UTF-8″
            keep-generated-actionscript=”true”
            incremental=”true”
            services=”${flex2_project}/WEB-INF/flex/services-config.xml”
        >
            <load-config filename=”${flex2_project}/WEB-INF/flex/flex-config.xml”/>
            <runtime-shared-libraries url=”20_Cairngorm2.swf”/>
            <runtime-shared-libraries url=”20_DashboardLib.swf”/>
            <compiler.external-library-path dir=”${lib_project}” append=”true”>
                <include name=”lib/20_Cairngorm2.swc” />
                <include name=”bin/20_DashboardLib.swc” />
            </compiler.external-library-path>
            <default-size width=”500″ height=”600″ />
        </mxmlc>
    </target>

~~~

Flex compiler shell은 mxmlc와 비슷한 놈인데 컴파일했던 정보들을 캐쉬형태로 저장하여 다음 번 컴파일때 캐쉬를 사용하여 컴파일 성능을 향상시켰다고 합니다. 단 FlexBuilder를 사용하면 필요가 없다고 합니다. 기본적으로 빌더에 포함되 있다네요.

댓글 남기기

OLAP 분석기능 요약

Drill Down
- 드릴 다운 (Drill Down)은   드릴 업 (Drill Up)과 함께 가장 요약된 레벨로부터 가장 상세한
  레벨까지 차원의 계층에 따라 분석에 필요한 요약 수준을 바꿀수 있는 기능을 말한다.
  이 기능을 활용 함으로써 분석가는 분석 계층의 깊이를 마음대로 바꿔가며 심도 있는 분석을
  할 수 있다.
  이때 드릴의 통로는 차원의 계층이나 또   다른 차원과의 동적인 관계를 통해 정의된다.
  예를 들어 지역을 포함한 분석을 수행한다면 최초에 전국에 대한 데이터를 시/도별 화면으로
  분석하고 필요에 따라 각 시/도에 대한 구/군별 분석화면, 다시 읍/면/동별 분석화면으로
  계층을 바꿔가며 분석작업을 할 수 있다.
- 사용자에게 최종적으로 보여지는 결과 화면을 리포트(Report)라고   할 때 리포트에 보여지는
  축(차원:Dimension)을 서로 바꾸는 기능이다.
  이 기능을 활용함으로써 분석가는 고정된 포맷에 구애 받지 않고 분석의 패턴을 바꿀 수 있다.
  예를 들어 기간별로 기준으로 분석된 리포트(Report)를 새로운 프로그램 없이 지역별 기준으
  로바꿔 볼 수 있다.
- 다차원 배열에서 한 차원의 한 멤버나 그 이상의 멤버를 가지고 한 값을 선택했을 때 나타
  나는 그 부분 집합을 Slice라 한다.
  보통은 3차원 배열에서 한 차원의 멤버를 선택하여 나타나는 2차원의 배열을 일컫는다.
  이때 Slice & Dice라고 하면 사용자가 Slice의 특정한 항목에 대해 Rotation이나 드릴다운/업
  등을 이용하여 대회식으로 화면을 디스플레이 해가며 분석하는 프로세스를 말한다.
  분석가가 원하는 방향에 따라 분석 차원 또는 분석 관점을 바꿔가면서 분석할 수 있어 벙형
  화된보고서 뿐 아니라 비 정형적인 질의에 의한 보고서도 작업 가능하므로 유연한 업무
  분석이 가능게 한다.
- 실행 중에 간단히 레포트(Report)의 형태와 조건을 바꾸는 것을 말한다.
  마우스를 이용하여 새로운 장표나 조건을 열려있는 리포트(Report)위로 끌어서 놓으면
  (Drag & Drop) 그 새로운 장표나 조건에 의해 리포트가 다시 실행된다.
  이 기능을 이용하게 되면 현재 리포트에 보여지고 있는 정보를 간단한 대화식 조작을 통해
  어떠한 형태의 리포트로도 나타낼 수 있게 해준다.

댓글 남기기

예전 글 »