flash.utils 패키지에는 코드 실행 시간 제어, 클래스 및 객체 정보 검색, 이스케이프 문자 변환 등에 사용되는 다양한 패키지 레벨 함수가 들어 있습니다.
함수 | 정의 주체 | ||
---|---|---|---|
지정된 setInterval() 호출을 취소합니다. | flash.utils | ||
지정된 setTimeout() 호출을 취소합니다. | flash.utils | ||
메서드의 매개 변수와 이름이 같은 ActionScript 객체를 설명하는 XML 객체를 만듭니다. | flash.utils | ||
System.useCodePage의 값에 따라 UTF-8 또는 시스템 코드 페이지로 인코딩된 입력 문자열의 이스케이프된 복사본을 반환합니다. | flash.utils | ||
name 매개 변수로 지정된 클래스의 클래스 객체에 대한 참조를 반환합니다. | flash.utils | ||
객체의 정규화된 클래스 이름을 반환합니다. | flash.utils | ||
value 매개 변수로 지정된 객체의 기본 클래스의 정규화된 클래스 이름을 반환합니다. | flash.utils | ||
상대 시간을 계산하는 데 사용됩니다. | flash.utils | ||
지정된 밀리초 단위 간격으로 함수를 실행합니다. | flash.utils | ||
밀리초 단위로 지정된 지연 시간 후 지정된 함수를 실행합니다. | flash.utils | ||
System.useCodePage의 값에 따라 시스템 코드 페이지 또는 UTF-8에서 디코딩되는 입력 문자열의 언이스케이프된 복사본을 반환합니다. | flash.utils |
clearInterval | () | 함수 |
public function clearInterval(id:uint):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
지정된 setInterval()
호출을 취소합니다.
매개 변수
id:uint — setInterval() 호출의 ID이며 다음과 같이 변수로 설정합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
setInterval()
메서드를 사용하여 1초 간격으로 일정하게 myRepeatingFunction()
메서드를 호출하는 예약 간격을 만듭니다.
myRepeatingFunction
메서드를 호출할 때마다 counter
속성이 증가하고, 이 속성이 stopCount
속성과 같으면 clearInterval()
메서드가 호출되며 이 메서드는 이전에 만들어진 간격에 대한 참조 ID인 intervalId
속성을 가집니다.
package { import flash.display.Sprite; import flash.utils.*; public class ClearIntervalExample extends Sprite { private var intervalDuration:Number = 1000; // duration between intervals, in milliseconds private var intervalId:uint; private var counter:uint = 0; private var stopCount:uint = 3; public function ClearIntervalExample() { intervalId = setInterval(myRepeatingFunction, intervalDuration, "Hello", "World"); } public function myRepeatingFunction():void { trace(arguments[0] + " " + arguments[1]); counter++; if(counter == stopCount) { trace("Clearing Interval"); clearInterval(intervalId); } } } }
clearTimeout | () | 함수 |
public function clearTimeout(id:uint):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
지정된 setTimeout()
호출을 취소합니다.
매개 변수
id:uint — setTimeout() 호출의 ID이며 다음과 같이 변수로 설정합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
setTimeout()
메서드를 사용하여 지정된 지연 기간 후에 다른 메서드를 호출합니다.
1백만까지 계수하는 루프가 만들어집니다. 시스템에서 이 요청을 1초 이내에 처리할 수 있는 경우 clearTimeout()
에서 setTimeout()
요청을 제거하고 myDelayedFunction()
이 호출되지 않습니다.
package { import flash.display.Sprite; import flash.utils.*; public class ClearTimeoutExample extends Sprite { private var delay:Number = 1000; // delay before calling myDelayedFunction private var intervalId:uint; private var count:uint = 1000000; public function ClearTimeoutExample() { intervalId = setTimeout(myDelayedFunction, delay); startCounting(); } public function startCounting():void { var i:uint = 0; do { if(i == count-1) { clearTimeout(intervalId); trace("Your computer can count to " + count + " in less than " + delay/1000 + " seconds."); } i++; } while(i < count) } public function myDelayedFunction():void { trace("Time expired."); } } }
describeType | () | 함수 |
public function describeType(value:*):XML
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
메서드의 매개 변수와 이름이 같은 ActionScript 객체를 설명하는 XML 객체를 만듭니다. 이 메서드는 ActionScript 언어의 리플렉션이라는 프로그래밍 개념을 구현합니다.
value
매개 변수가 특정 유형의 인스턴스인 경우 반환되는 XML 객체에는 해당 유형의 모든 인스턴스 속성이 포함되지만 정적 속성은 모두 제외됩니다. XML 객체를 파싱할 때 <type>
태그의 isStatic
특성 값을 조사하면 이 조건을 확인할 수 있습니다. 이 특성 값이 false
이면 value
매개 변수가 해당 유형의 인스턴스임을 의미합니다.
특정 유형의 정적 속성을 가져오려면 value
매개 변수에 유형 자체를 전달합니다. 이때 반환되는 XML 객체에는 유형의 정적 속성과 인스턴스 속성이 모두 포함됩니다. 인스턴스 속성은 정적 속성과 구별되도록 <factory>
라는 태그 내에 중첩됩니다. 이 경우 <type>
태그의 isStatic
특성은 true
입니다.
참고: describeType()
에서 제공하는 다른 정보는 필요하지 않고 객체의 상속 계층 구조만 순회하면 되는 경우에는 getQualifiedClassName()
및 getQualifiedSuperclassName()
함수를 대신 사용하십시오.
다음 표에서는 describeType()
으로 생성되는 XML 객체의 태그 및 특성 중 일부를 보여 줍니다. 모든 클래스 및 인터페이스 이름은 정규화된 형식으로 반환됩니다.
태그 | 특성 | 설명 |
---|---|---|
<type> | XML 객체의 루트 태그입니다. | |
name | ActionScript 객체 데이터 유형의 이름입니다. | |
base | ActionScript 객체의 정의 클래스에 대한 바로 위 수퍼 클래스입니다. ActionScript 객체가 클래스 객체인 경우 값은 Class 입니다. | |
isDynamic | ActionScript 객체의 정의 클래스가 동적이면 true 이고 그렇지 않으면 false 입니다. ActionScript 객체가 클래스 객체인 경우 클래스 객체는 동적이므로 이 값은 true 입니다. | |
isFinal | ActionScript 객체의 정의 클래스가 최종 클래스이면 true 이고 그렇지 않으면 false 입니다. | |
isStatic | ActionScript 객체가 클래스 객체 또는 생성자 함수이면 true 이고 그렇지 않으면 false 입니다. 이 특성이 true 이면 factory 태그 내에 중첩되지 않은 모든 태그는 정적이므로 이 특성의 이름은 isStatic 입니다. | |
<extendsClass> | ActionScript 객체의 정의 클래스에 대한 각 수퍼 클래스에는 별도의 extendsClass 태그가 있습니다. | |
type | ActionScript 객체의 정의 클래스가 확장하는 수퍼 클래스의 이름입니다. | |
<implementsInterface> | ActionScript 객체의 정의 클래스 또는 수퍼 클래스로 구현되는 각 인터페이스에는 별도의 implementsInterface 태그가 있습니다. | |
type | ActionScript 객체의 정의 클래스가 구현하는 인터페이스의 이름입니다. | |
<accessor> | 접근자는 getter 및 setter 함수로 정의되는 속성입니다. | |
name | 접근자의 이름입니다. | |
access | 속성의 액세스 권한입니다. readonly , writeonly 및 readwrite 값이 될 수 있습니다. | |
type | 속성의 데이터 유형입니다. | |
declaredBy | 관련된 getter 또는 setter 함수가 들어 있는 클래스입니다. | |
<constant> | 상수는 const 문을 사용하여 정의되는 속성입니다. | |
name | 상수의 이름입니다. | |
type | 상수의 데이터 유형입니다. | |
<method> | 메서드는 클래스 정의의 일부로 선언되는 함수입니다. | |
name | 메서드의 이름입니다. | |
declaredBy | 메서드 정의가 들어 있는 클래스입니다. | |
returnType | 메서드에서 반환하는 값의 데이터 유형입니다. | |
<parameter> | 메서드가 정의하는 매개 변수마다 별도의 parameter 태그가 있습니다. 이 태그는 항상 <method> 태그 내에 중첩됩니다. | |
index | 메서드의 매개 변수 목록에서 매개 변수가 배치되는 순서에 해당하는 숫자입니다. 첫 번째 매개 변수의 값은 1입니다. | |
type | 매개 변수의 데이터 유형입니다. | |
optional | 매개 변수가 선택 요소이면 true 이고 그렇지 않으면 false 입니다. | |
<variable> | 변수는 var 문을 사용하여 정의되는 속성입니다. | |
name | 변수의 이름입니다. | |
type | 변수의 데이터 유형입니다. | |
<factory> | ActionScript 객체가 클래스 객체 또는 생성자 함수인 경우 모든 인스턴스 속성과 메서드는 이 태그 내에 중첩됩니다. <type> 태그의 isStatic 특성이 true 인 경우 <factory> 태그 내에 중첩되지 않은 모든 속성과 메서드는 정적입니다. 이 태그는 ActionScript 객체가 클래스 객체이거나 생성자 함수인 경우에만 표시됩니다. |
매개 변수
value:* — 유형 설명이 필요한 객체입니다. 이 메서드에는 사용 가능한 모든 ActionScript 유형, 객체 인스턴스, uint 등의 프리미티브 유형 및 클래스 객체를 비롯한 모든 ActionScript 값을 전달할 수 있습니다.
|
XML — 매개 변수로 전달한 객체에 대한 자세한 정보가 들어 있는 XML 객체입니다. 객체에 대한 다음과 같은 정보가 제공됩니다.
참고: |
관련 API 요소
예제 ( 예제 사용 방법 )
package { import flash.display.Sprite; import flash.utils.describeType; public class DescribeTypeExample extends Sprite { public function DescribeTypeExample() { var child:Sprite = new Sprite(); var description:XML = describeType(child); trace(description..accessor.@name.toXMLString()); } } }
escapeMultiByte | () | 함수 |
public function escapeMultiByte(value:String):String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
System.useCodePage의 값에 따라 UTF-8 또는 시스템 코드 페이지로 인코딩된 입력 문자열의 이스케이프된 복사본을 반환합니다. System.useCodePage를 사용하면 런타임에서 로컬 코드 페이지로 인코딩된 레거시 내용에 액세스할 수 있지만, 이는 시스템에서 해당 레거시 코드 페이지를 사용하는 경우에만 해당됩니다. 예를 들어 Shift-JIS
로 인코딩된 일본어 데이터는 일본어 기본 코드 페이지를 사용하는 OS에서만 제대로 이스케이프 및 언이스케이프됩니다.
매개 변수
value:String — 이스케이프할 문자열입니다.
|
String — 입력 문자열의 이스케이프된 복사본입니다. System.useCodePage가 true 인 경우 이스케이프된 문자열은 시스템 코드 페이지로 인코딩됩니다. System.useCodePage가 false 인 경우 이스케이프된 문자열은 UTF-8로 인코딩됩니다. 예를 들어 System.useCodePage가 false 인 경우 "Crüe"라는 입력 문자열은 모든 시스템에서 "Cr%C3%BCe"로 이스케이프됩니다. system.useCodePage가 true 이고 시스템에서 라틴어 코드 페이지를 사용하는 경우 "Crüe"는 "Cr%FCe"로 이스케이프됩니다. 시스템에서 'ü' 문자가 포함되지 않은 라틴어 이외의 코드 페이지를 사용하는 경우 결과는 "Cr?e"가 될 수 있습니다. System.useCodePage를 true 로 설정하고 "Cr%C3%BCe"를 언이스케이프하면 라틴어 시스템에서 "CrÃ펎"가 출력되는 것처럼 다른 시스템에서 잘못된 결과가 나타날 수 있습니다. 마찬가지로 System.useCodePage를 false 로 설정하고 "Cr%FCe"를 언이스케이프하면 시스템의 코드 페이지에 따라 "Cre", "Cr?e" 등의 결과가 나타날 수 있습니다.
|
getDefinitionByName | () | 함수 |
public function getDefinitionByName(name:String):Object
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
name
매개 변수로 지정된 클래스의 클래스 객체에 대한 참조를 반환합니다.
매개 변수
name:String — 클래스의 이름입니다.
|
Object — name 매개 변수로 지정된 클래스의 클래스 객체에 대한 참조를 반환합니다.
|
오류
ReferenceError — 지정된 이름의 공용 정의가 없습니다.
|
예제 ( 예제 사용 방법 )
GetDefinitionByNameExample
클래스를 사용하여 스테이지에 주황색 사각형을 만듭니다. 이는 다음 단계로 이루어집니다.
- 배경색을 주황색으로, 크기를 80픽셀로 지정하는 변수를 선언합니다. 이 변수는 나중에 사각형을 그리는 데 사용됩니다.
- 생성자 내에서 Class 유형의 변수
ClassReference
를 Sprite에 할당합니다. instance
라는 ClassReference의 인스턴스를 인스턴스화합니다.- 참조에 의해
instance
는 Sprite 객체이므로 Sprite에 사용할 수 있는 메서드를 사용하여 사각형을 그리고 표시 목록에 추가할 수 있습니다.
package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.utils.getDefinitionByName; public class GetDefinitionByNameExample extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; public function GetDefinitionByNameExample() { var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class; var instance:Object = new ClassReference(); instance.graphics.beginFill(bgColor); instance.graphics.drawRect(0, 0, size, size); instance.graphics.endFill(); addChild(DisplayObject(instance)); } } }
getQualifiedClassName | () | 함수 |
public function getQualifiedClassName(value:*):String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
객체의 정규화된 클래스 이름을 반환합니다.
매개 변수
value:* — 정규화된 클래스 이름이 필요한 객체입니다. 이 메서드에는 사용 가능한 모든 ActionScript 유형, 객체 인스턴스, uint 등의 프리미티브 유형 및 클래스 객체를 비롯한 모든 ActionScript 값을 전달할 수 있습니다.
|
String — 정규화된 클래스 이름이 들어 있는 문자열입니다.
|
관련 API 요소
getQualifiedSuperclassName | () | 함수 |
public function getQualifiedSuperclassName(value:*):String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
value
매개 변수로 지정된 객체의 기본 클래스의 정규화된 클래스 이름을 반환합니다. 이 함수를 사용하면 describeType()
보다 빠르게 기본 클래스 이름을 검색할 수 있지만 describeType()
에서 제공하는 정보 중 일부는 얻을 수 없습니다.
이 함수를 사용하여 클래스의 이름을 검색한 후 getDefinitionByName()
함수를 사용하여 클래스 이름을 클래스 참조로 변환할 수 있습니다.
참고: 이 함수는 인스턴스 계층 구조에만 사용할 수 있는 반면 describeType()
함수는 value
매개 변수가 데이터 유형인 경우 클래스 객체 계층 구조를 사용합니다. 데이터 유형에 describeType()
을 호출하면 모든 클래스 객체가 Class로부터 상속하는 클래스 객체 계층 구조에 따라 수퍼 클래스가 반환됩니다. 그러나 getQualifiedSuperclassName()
함수는 클래스 객체 계층 구조를 무시하고 보다 익숙한 인스턴스 계층 구조에 따라 수퍼 클래스를 반환합니다. 예를 들어 String 클래스 객체는 기술적으로 Class를 상속하지만 getQualifiedSuperclassName(String)
을 호출하면 Object
가 반환됩니다. 즉, 유형의 인스턴스를 사용하거나 유형을 사용하거나 결과는 같습니다.
매개 변수
value:* — 임의의 값입니다.
|
String — 정규화된 기본 클래스 이름입니다. 해당 이름이 없는 경우에는 null 입니다.
|
관련 API 요소
getTimer | () | 함수 |
public function getTimer():int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
상대 시간을 계산하는 데 사용됩니다. ActionScript 3.0을 처리하는 Flash 런타임의 경우 이 메서드는 ActionScript 3.0(AVM2)을 처리하기 위해 Flash 런타임 가상 시스템이 시작된 이후 경과된 시간(밀리초)을 반환합니다. ActionScript 2.0을 처리하는 Flash 런타임의 경우 이 메서드는 Flash 런타임이 초기화를 시작한 이후의 시간(밀리초)을 반환합니다. Flash 런타임은 두 가지 가상 시스템을 사용하여 ActionScript를 처리합니다. AVM1은 ActionScript 1.0과 2.0을 실행하는 데 사용되는 가상 시스템입니다. AVM2는 ActionScript 3.0을 실행하는 데 사용되는 ActionScript 가상 시스템입니다. AVM1의 getTimer()
메서드 동작은 AVM2의 비헤이비어와 다릅니다.
달력 날짜(타임스탬프)에 대한 자세한 내용은 Date 객체를 참조하십시오.
반환값int — 런타임이 초기화된 이후(ActionScript 2.0을 처리하는 동안) 또는 가상 시스템이 시작된 이후(ActionScript 3.0을 처리하는 동안) 밀리초를 나타냅니다. 런타임에서 SWF 파일 하나의 재생이 시작된 후 다른 SWF 파일이 로드된 경우 반환 값은 첫 번째 SWF 파일이 로드된 시점을 기준으로 합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
GetTimerExample
클래스를 사용하여 런타임이 초기화된 후 경과된 시간(밀리초)을 가져와 출력합니다.
package { import flash.utils.getTimer; import flash.display.Sprite; public class GetTimerExample extends Sprite { public function GetTimerExample() { var duration:uint = getTimer(); trace("duration: " + duration); } } }
setInterval | () | 함수 |
public function setInterval(closure:Function, delay:Number, ... arguments):uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
지정된 밀리초 단위 간격으로 함수를 실행합니다.
setInterval()
메서드를 사용하는 대신 지정된 간격을 사용하고 repeatCount
매개 변수로 0을 사용하여 무한히 반복되는 Timer 객체를 만드는 것이 좋습니다.
clearInterval()
메서드를 사용하여 setInterval()
호출을 취소하려면 clearInterval()
함수에서 나중에 참조하는 변수에 setInterval()
호출을 할당해야 합니다. clearInterval()
함수를 사용하여 setInterval()
호출을 취소할 수 없는 경우 set timeout closure 함수를 포함하는 객체가 가비지 수집되지 않습니다.
매개 변수
closure:Function — 실행할 함수의 이름입니다. 따옴표나 괄호를 포함하면 안 되며 호출할 함수의 매개 변수를 지정해서는 안 됩니다. 예를 들어 functionName() 또는 functionName(param) 이 아닌 functionName 을 사용합니다.
| |
delay:Number — 밀리초 단위 간격입니다.
| |
... arguments — 선택 요소로서 클로저 함수로 전달할 인수 목록입니다.
|
uint — 예약된 프로세스의 고유 숫자 식별자입니다. 이 식별자를 사용하면 clearInterval() 메서드를 호출하여 프로세스를 취소할 수 있습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
setInterval()
메서드를 사용하여 1초 간격으로 일정하게 myRepeatingFunction()
메서드를 호출하는 예약 간격을 만듭니다.
package { import flash.display.Sprite; import flash.utils.*; public class SetIntervalExample extends Sprite { private var intervalDuration:Number = 1000; // duration between intervals, in milliseconds public function SetIntervalExample() { var intervalId:uint = setInterval(myRepeatingFunction, intervalDuration, "Hello", "World"); } public function myRepeatingFunction():void { trace(arguments[0] + " " + arguments[1]); } } }
setTimeout | () | 함수 |
public function setTimeout(closure:Function, delay:Number, ... arguments):uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
밀리초 단위로 지정된 지연 시간 후 지정된 함수를 실행합니다.
이 메서드를 사용하는 대신 지정된 간격을 사용하고 repeatCount
매개 변수로 1을 사용하여 한 번만 실행되는 Timer 객체를 만드는 것이 좋습니다.
clearTimeout()
메서드를 사용하여 setTimeout()
호출을 취소하려면 clearTimeout()
함수에서 나중에 참조하는 변수에 setTimeout()
호출을 할당해야 합니다. clearTimeout()
함수를 사용하여 setTimeout()
호출을 취소할 수 없는 경우 set timeout closure 함수를 포함하는 객체가 가비지 수집되지 않습니다.
매개 변수
closure:Function — 실행할 함수의 이름입니다. 따옴표나 괄호를 포함하면 안 되며 호출할 함수의 매개 변수를 지정해서는 안 됩니다. 예를 들어 functionName() 또는 functionName(param) 이 아닌 functionName 을 사용합니다.
| |
delay:Number — 함수를 실행할 때까지 대기할 지연 시간(밀리초 단위)입니다.
| |
... arguments — 선택 요소로서 클로저 함수로 전달할 인수 목록입니다.
|
uint — 예약된 프로세스의 고유 숫자 식별자입니다. 이 식별자를 사용하면 clearTimeout() 메서드를 호출하여 프로세스를 취소할 수 있습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
setTimeout()
메서드를 사용하여 지정된 지연 기간 후에 다른 메서드를 호출합니다.
package { import flash.display.Sprite; import flash.utils.*; public class SetTimeoutExample extends Sprite { private var delay:Number = 1000; // delay before calling myDelayedFunction public function SetTimeoutExample() { var intervalId:uint = setTimeout(myDelayedFunction, delay, "Hello", "World"); } public function myDelayedFunction():void { trace(arguments[0] + " " + arguments[1]); } } }
unescapeMultiByte | () | 함수 |
public function unescapeMultiByte(value:String):String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
System.useCodePage의 값에 따라 시스템 코드 페이지 또는 UTF-8에서 디코딩되는 입력 문자열의 언이스케이프된 복사본을 반환합니다. System.useCodePage를 사용하면 런타임에서 로컬 코드 페이지로 인코딩된 레거시 내용에 액세스할 수 있지만, 이는 시스템에서 해당 레거시 코드 페이지를 사용하는 경우에만 해당됩니다. 예를 들어 Shift-JIS
로 인코딩된 일본어 데이터는 일본어 기본 코드 페이지를 사용하는 OS에서만 제대로 이스케이프 및 언이스케이프됩니다.
매개 변수
value:String — 언이스케이프할 이스케이프된 문자열입니다.
|
String — 입력 문자열의 언이스케이프된 복사본입니다. System.useCodePage가 true 인 경우 이스케이프된 문자열은 시스템 코드 페이지에서 디코딩됩니다. System.useCodePage가 false 인 경우 이스케이프된 문자열은 UTF-8에서 디코딩됩니다. 예를 들어 입력 문자열이 "Crüe"이고 System.useCodePage가 false 인 경우 결과는 모든 시스템에서 "Crüe"가 됩니다. System.useCodePage가 true 이고 입력 문자열이 "Cr%FCe"이며 시스템에서 라틴어 코드 페이지를 사용하고 있는 경우에도 결과는 "Crüe"가 됩니다. System.useCodePage를 true 로 설정하고 "Cr%C3%BCe"를 언이스케이프하면 라틴어 시스템에서 "Crüe"가 출력되는 것처럼 다른 시스템에서 잘못된 결과가 나타날 수 있습니다. 마찬가지로 System.useCodePage를 false 로 설정하고 "Cr%FCe"를 언이스케이프하면 시스템의 코드 페이지에 따라 "Cre", "Cr?e" 등의 결과가 나타날 수 있습니다.
|
Tue Jun 12 2018, 03:33 PM Z