Flex3.0&AS3 2010. 12. 20. 19:26

IME MODE


<mx:TextInput imeMode="KOREAN" />

<mx:TextInput imeMode="ALPHANUMERIC_HALF" />

 

imeMode property  

imeMode:String [read-write]

IME (입력 Methods 에디터)의 모드를 지정합니다. IME 를 사용하는 것에 의해, 유저는 중국어, 일본어, 및 한국어의 텍스트를 입력할 수 있습니다. Flex 에서는, 컨트롤에 포커스가 놓여졌을 때에, IME 가 지정된 모드로 설정해, 컨트롤로부터 포커스가 떨어졌을 때에, 원의 모드에 되돌립니다.

flash.system.IMEConversionMode 클래스에서, 이 property의 유효한 값의 정수를 정의합니다. IME 를 전혀 지정하지 않는 경우는,null 를 지정합니다.

디폴트치null.

 

ALPHANUMERIC_FULL

public static const ALPHANUMERIC_FULL:String = "ALPHANUMERIC_FULL"

string "ALPHANUMERIC_FULL". IME.conversionMode property로 사용합니다. 이 정수는, 모든 IME 로 사용합니다. 문장구조법 IMEConversionMode.ALPHANUMERIC_FULL 를 사용합니다.

See also

 

ALPHANUMERIC_HALF  

public static const ALPHANUMERIC_HALF:String = "ALPHANUMERIC_HALF"

string "ALPHANUMERIC_HALF". IME.conversionMode property로 사용합니다. 이 정수는, 모든 IME 로 사용합니다. 문장구조법 IMEConversionMode.ALPHANUMERIC_HALF 를 사용합니다.

See also

 

CHINESE  

public static const CHINESE:String = "CHINESE"

string "CHINESE". IME.conversionMode property로 사용합니다. 이 정수는, 중공에서 정식으로 쓰는 약자체?중국어 IME 와 번체자 중국어 IME 로 사용합니다. 문장구조법 IMEConversionMode.CHINESE 를 사용합니다.

See also

 

JAPANESE_HIRAGANA  

public static const JAPANESE_HIRAGANA:String = "JAPANESE_HIRAGANA"

string "JAPANESE_HIRAGANA". IME.conversionMode property로 사용합니다. 이 정수는, 일본어 IME 로 사용합니다. 문장구조법 IMEConversionMode.JAPANESE_HIRAGANA 를 사용합니다.

See also

 

JAPANESE_KATAKANA_FULL  

public static const JAPANESE_KATAKANA_FULL:String = "JAPANESE_KATAKANA_FULL"

string "JAPANESE_KATAKANA_FULL". IME.conversionMode property로 사용합니다. 이 정수는, 일본어 IME 로 사용합니다. 문장구조법 IMEConversionMode.JAPANESE_KATAKANA_FULL 를 사용합니다.

See also

 

JAPANESE_KATAKANA_HALF  

public static const JAPANESE_KATAKANA_HALF:String = "JAPANESE_KATAKANA_HALF"

string "JAPANESE_KATAKANA_HALF". IME.conversionMode property로 사용합니다. 이 정수는, 일본어 IME 로 사용합니다. 문장구조법 IMEConversionMode.JAPANESE_KATAKANA_HALF 를 사용합니다.

See also

 

KOREAN  

public static const KOREAN:String = "KOREAN"

string "KOREAN". IME.conversionMode property로 사용합니다. 이 정수는, 한국어 IME 로 사용합니다. 문장구조법 IMEConversionMode.KOREAN 를 사용합니다.

See also

 

UNKNOWN 정수  

public static const UNKNOWN:String = "UNKNOWN"

string "UNKNOWN". IME.conversionMode property의 호출에 의해 돌려주어집니다. 이 값은 설정하지 못하고, 플레이어가 현재 액티브한 IME 를 식별할 수 없는 경우에게만 돌려주어집니다. 문장구조법 IMEConversionMode.UNKNOWN 를 사용합니다.

See also

error 2010. 12. 20. 19:18

Cause: java.util.NoSuchElementException


ibaits에서 xml 파싱 오류

# 이 빠지거나 했을시 발생하는 오류

ex > param#    => #param#
카테고리 없음 2010. 12. 18. 17:50

servlet] init param


<servlet>
        <servlet-name>uploadServlet</servlet-name>
        <servlet-class>kr.co.acanet.common.servlet.UPloadServlet2</servlet-class>
         <init-param>
          <param-name>downloadPath</param-name>
          <param-value>C:/Tomcat 5.5/webapps/haksa/file_data/upload/</param-value>
         </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>    

 <servlet-mapping>
        <servlet-name>downloadfileServlet</servlet-name>       
        <url-pattern>/downloadFile</url-pattern>
    </servlet-mapping>


 
서블릿에서 아래처럼 서블릿에 등록된 내용을 가져올수있음

config.getInitParameter("downloadPath");
sql 2009. 12. 16. 15:08

oracle ] rank() function


/*
순위와 관련된 오라클 함수

RANK()
ROW_NUMBER()
DENSE_RANK()

RANK 함수가 동일한 값에 대해서는 동일한 순위를 부여하는데 반해,
ROW_NUMBER 함수는 유니크한 순위를 부여한다.
DENSE_RANK()함수는 중복 RANK의 수와 무관하게 순위를 부여한다.

oracle 8i(8.1.6)이상
plsql내에서는 oracle 9i이상
*/

-- RANK() 함수를 사용하여 급여순으로 순위 부여
SELECT empno, ename, sal, RANK () OVER (ORDER BY sal DESC) AS RANK
FROM   emp


-- PARTITION BY를 이용해서 그룹별로 순위 부여
SELECT deptno, ename, sal,
       RANK () OVER (PARTITION BY deptno ORDER BY sal DESC) AS RANK
FROM   emp


-- 중복값과 무관하게 순위부여
SELECT empno, ename, sal, DENSE_RANK () OVER (ORDER BY sal DESC) AS RANK
FROM   emp


-- ROW_NUMBER()를 사용하여 유니크한 순서부여, 순위를 자세히 조정하고 싶으면 ORDER BY절 수정
SELECT empno, ename, sal,
       ROW_NUMBER () OVER (ORDER BY sal DESC, ename) AS ROW_NUMBER
FROM   emp


-- 다음 두 쿼리는 같은 결과를 반환, 직업별로 가장높은 월급을 받는사람
SELECT   a.ename, a.job, a.sal
FROM     emp a,
         (SELECT   MAX (sal) max_sal, job
          FROM     emp
          GROUP BY job) b
WHERE    a.sal = b.max_sal AND a.job = b.job
ORDER BY a.ename


SELECT   ename, job, sal
FROM     (SELECT ename, job, sal,
                 RANK () OVER (PARTITION BY job ORDER BY sal DESC) AS RANK
          FROM   emp)
WHERE    RANK = 1
ORDER BY ename

DB 2009. 11. 10. 20:17

오라클 토드 한글깨짐현상 해결하기

네이버에서 "토드 오라클 한글 깨짐", "toad nls_lang"으로 검색함....

---------------------------------------------------------------------------

 

오라클의 레지스트리의  NS_LANG 의 값을 바꿔보라는 글들이 많아서 다 해봤으나 소용이 없었다.

 

근데 그  NS_LANG 값을 시스템변수에 세팅하면 된다고 하여 그걸 해보니 그제사 된다.

 

앞으로 까먹지 말고 시스템변수에 추가하기.

[출처] 오라클 토드 한글 깨짐 현상|작성자 까만양  

---------------------------------------------------------------------------

 

SELECT (SELECT VALUE FROM nls_database_parameters WHERE PARAMETER = 'NLS_LANGUAGE') || '_' ||
       (SELECT VALUE FROM nls_database_parameters WHERE PARAMETER = 'NLS_TERRITORY')  || '.' ||
       (SELECT VALUE FROM nls_database_parameters WHERE PARAMETER = 'NLS_CHARACTERSET')
FROM   DUAL 

값으로 일단 오라클 서버의 캐릭터셋 체크

--> 나의 경우는 AMERICAN_AMERICA.AL32UTF8 였음

regedit → hkey_local_machine → software → oracle → all_homes 와 home0 → nls_lang
의 값을 수정하면 되는데..

똑같이 고치는게 아니라 한글이 되어야 하므로 앞부분은 똑같고 뒷부분의

CHARACTERSET만 수정한다.

 

AMERICAN_AMERICA.KO16KSC5601으로 레지스트리 수정하니 성공!!

---------------------------------------------------------------------------

 

토드(toad)에서 한글이 깨져보일때


어떤 이는 레지스트리에서 변경을 하라고 하고.... 어떤 이는 환경변수에서 추가를 하라고 하고....
그래서 둘다 해보았더니.....

결국 환경변수의 추가로 해결이 되었다...

내 컴퓨터 - 속성 - 고급탭 - 환경변수 버튼 클릭

시스템 변수 란 - 새롤만들기 버튼 클릭

변수 : NLS_LANG
변수값 : KOREAN_KOREA.KO16MSWIN949

으로 설정을 하면 된다..

만약 안되면 레지스트리 변경을 시도해보면 될 듯 함.
regedit > HKEY_LOCAL_MACHINE > SOFTARE > ORACLE 
문자열 : NLS_LANG
값 데이터 : KOREAN_KOREA.KO16KSC5601 혹은 KOREAN_KOREA.KO16MSWIN949


위의 내용들은 여기저기서 검색하여 정리한 것임

sql 2009. 10. 29. 13:03

oracle - merge 문법

sql 2009. 10. 8. 19:51

ROWID 및 ROW_NUMBER()를 이용해서 테이블내에 중복된 테이타 찾기


중복된 테이타 찾기

SELECT * FROM MENU a
WHERE rowid > ANY (SELECT rowid FROM MENU b
                               WHERE b.PROGRAM=a.PROGRAM)
ORDER BY A.PROGRAM 




SELECT
*
FROM(
SELECT A,B,C,D,ROW_NUMBER() OVER(PARTITION BY C ORDER BY A) CNT FROM TEMPDATA
)
WHERE CNT = 1
java 2009. 8. 20. 13:57

java5.0 ] 소수점 원하는 자릿수로 표현하기


=  Format형식을 이용해서 문자열로 보여주는 간단한 방법 =

    int totResCnt = 44
    int totCount =  8
    String resPercent = "";

   String pattern = "0.##";
   DecimalFormat df = new DecimalFormat(pattern);
   resPercent = df.format(((float)totResCnt/(float)totCount)*100);


Eclipse IDE Tool 2009. 8. 10. 15:41

톰켓5.5 context를 root로 설정하기


이클립스와 톰켓연동후에 url을 http://localhost/indox.do 이런식으로 호출해서 사용하고자 하는 셋팅방법이다.

앞서서 주의해야 할점은 이클립스내에서 프로젝트 생성후에 톰켓연동시 server.xml에 자동으로 context가 생성되면서
이클립스내에서 생성한 프로젝트와 톰켓을 연동시키는 server.xml이 셋팅이된다.

이클립스내에서 보이는 server 프로젝트의 server.xml과 실제 톰켓에 존재하는 server.xml은 다르다.

즉 이클립스내에서 sever.xml 은 실제 톰켓의 server.xml과 연동시켜주는 역활을 하는것이므로 착각할수도있으니 주의해야한다.


본격적으로 톰켓5.5에서 context root로 셋팅하는 방법이다.

개발환경 : java 5.0  / eclipse3.1 wtp / tomcat5.5

1. 우선 편의를 위해서 톰켓플러그인버전 설치(필수사항은 아니나 받으면 추가적으로 해야하는 작업을 하지않아서 편리함)

    다운로드  url : http://www.eclipsetotale.com/tomcatPlugin.html
  
   다운로드후 아래와비슷하게 자신의 환경에 맞추어서 셋팅!
 


2.  tomcat 설치된 폴더에 conf 폴더안의 server.xml 을 아래처럼 셋팅
    아래 부분에 <Resource /> 및 <ResourceLink /> 부분은 dbcp설정하는 부분으로 필요치 않은사람은 생략해도 된다.
    빨간색으로 된부분이 설정해주는 부분이다.
    이 경로를 이클립스 프로젝트로 설정해주어도 된다. 
    아니면 이클립스에서 프로젝트를 war로 만들어서 본인처럼 해도 좋음!!
    

<Resource auth="Container" driverClassName="Altibase.jdbc.driver.AltibaseDriver" name="jdbc/abeek" password="skuaqpr" type="javax.sql.DataSource" url="jdbc:Altibase://203.249.122.181:20300/mydb?encoding=MS949" username="skuabeek"/>            


   <Host name="localhost" appBase="C:\Tomcat5\webapps\skuAbeek4h"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
   <Context path="" docBase="." reloadable="true" workDir="C:\DevLog\work">
   <ResourceLink global="jdbc/abeek" name="jdbc/abeek" type="javax.sql.DataSource"/>
   </Context>


3.  참고로 서버 설정후 JNDI 오류발생시 아래 부분 생략 필요함(톰켓홈의 Server.xml)
     factory="org.objectweb.jndi.DataSourceFactory"



Flex3.0&AS3 2009. 7. 12. 20:11

flex3] ItemRenderer 이해 및 활용

IDataRenderer인터페이스 상속한 ItemRenderer클래스는 data속성을 받을수있다.


private var _data:Object;

[Bindable("dataChange")]

public function get data():Object{
return _data;
}

public function set data(value:Object):void{
_data = value
dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
}


IDropInListItemRenderer 인터페이스 상속한 ItemRenderer 클래스는 listData속성을 받을수있다.
private var _listData:BaseListData;

[Bindable("dataChange")]
public function get listData():BaseListData{
  return _listData;
}

public function set listData(value:BaseListData):void{
_listData = value;
dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
}




* FLEX 메뉴얼 참고


ItemRenderer컴포넌트 작성시 Container클래스 기반으로설계하는것은 IDataRenderer인터페이스를 구현하였기 때문에
data속성을 사용할수있다.



MyItemRenderer.mxml // 아이템렌더러 컴포넌트



<?xml version="1.0" encoding="utf-8"?>
<mx:Container xmlns:mx="http://www.adobe.com/2006/mxml"
 width="110" height="200"
 implements="mx.core.IDataRenderer"
 >
 <mx:Script>
  <![CDATA[
   import mx.events.FlexEvent;
   
   private var _data:Object;
   
   [Bindable("dataChange")]
   override public function get data():Object{
    return _data;
   }
   
   override public function set data(value:Object):void{
    super.data = value;
    _data = value;
    dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
   }
   
  ]]>
 </mx:Script>
 
 <mx:Label text="{data.label}:{data.index}" y="0" width="120" height="20" fontSize="12"/>
 <mx:SWFLoader id="sLoader" y="20" width="110" height="160" source="{data.url1}"/>
</mx:Container>



main.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
 layout="vertical">
 <mx:Script>
  <![CDATA[
   
  [Bindable]
  [Embed(source='asserts/17.gif')]
  private var m1:Class;
  
  [Bindable][Embed(source="asserts/18.gif")]
  private var m2:Class;
  
  [Bindable][Embed(source="asserts/19.gif")]
  private var m3:Class;
  
  private function AutoIndex(m:ArrayCollection):ArrayCollection{
   var mLen:Number = m.length;
   for(var i:Number=0; i<mLen;++i){
    m[i].index = i;
   }
   return m;
  }  
  
   
  ]]>
 </mx:Script>
 
<mx:ArrayCollection id="dpd">
    <mx:source>  
       <mx:Object label="오만과 편견" icon="{m1}" url1="http://imgmovie.naver.com/mdi/mit500/0447/D4728-00.jpg" />
       <mx:Object label="캐리비안의 해적" icon="{m2}" url1="http://imgmovie.naver.com/mdi/mit500/0436/D3679-01.jpg"/>
       <mx:Object label="러브 액츄얼리" icon="{m3}" url1="http://imgmovie.naver.com/mdi/mit500/0368/C6843-00.jpg"/>   
     </mx:source>
</mx:ArrayCollection>
<mx:List id="lData" dataProvider="{AutoIndex(dpd)}"
 width="160" itemRenderer="MyItemRenderer" rowCount="2"/>
</mx:Application>