본문 바로가기

Programming/ActionScript

[AS 3.0] Reading Text From INI File


ActionScript에는 INI파일을 Key값과 변수 값으로 분류하여 Data만 가져오는 공식적인 방법은 존재하지 않는다.

하지만 INI역시 파일이므로 AS3.0의 URLRequest와 URLLoader를 통하여 File Control이 가능하다.

Example.
var loader :URLLoader = new URLLoader();                         // 새로운 URLLoader 클래스를 만든다.
loader.dataFormat = URLLoaderDataFormat.TEXT;               //  DataFormat는 Text 형식
loader.addEventListener( Event.COMPLETE, loading );        // Load가 완료되면 수행되는 함수
loader.load( new URLRequest( "museum.ini" );                   // museum.ini를 Load한다.

function loading( evt :Event ) :void
{
trace( loader.data );                                             // trace( evt.target.data );
}

위 처럼 loading 함수에서 완료에 따른 파일의 값을 얻을 수 있다.
얻어온 파일의 값을 String Control을 통하여 Key값과 변수명을 통해 접근이 가능하도록 한다.

function loading( evt :Event ) :void
{
 // 1. INI의 데이터 저장하기
 var str_iniData :String = evt.target.data;
 
 // 1. 해당 Key값 만큼만 String 자르기
 var sp :int = str_iniData.indexOf( "[" + KEY + "]" );
 var rp :int = str_iniData.indexOf( "[", sp + KEY.length );
 var str_keyData :String = str_iniData.slice( sp, rp );
 
 // 2. 해당 Key에 해당하는 Section에서 변수의 값을 찾는다.
 sp = str_keyData.indexOf( VAR  + "=" ) + VAR.length + 1;
 rp = str_keyData.indexOf( "\n", sp );
 trace( str_keyData.slice( sp, rp ) );
}