- Application > Calculator
버튼과 이벤트 처리로 계산기 기능을 구현한 내용입니다.
쇼케이스에서 전체 소스를 제공하기 때문에 내용을 보실 수 있습니다.
스크립트만 빼면 주석까지 500라인 정도가 되네요.
이번 내용에서는 주요 스크립트를 살펴보도록 하겠습니다.
function btn_OnClick(obj)
- 모든 버튼이 btn_OnClick 하나의 이벤트로 연결됩니다.
원래 onclick 이벤트는 클릭된 오브젝트와 ClickEventInfo를 같이 넘기는데 ClickEventInfo 는 처리하지 않고 있네요.
오브젝트에 넘어온 텍스트값을 받아서 switch 문에서 각 작업별로 분기를 해줍니다.
function CorPopup_onkeydown
- 화면에서 키 입력시에도 처리를 해줍니다.
폼에서 onkeydown 이벤트를 사용하고 KeyEventInfo 로 넘어오는 keycode값을 가지고 분기하여 처리합니다.
KeyEventInfo를 처리할때는 alt, ctrl, shift 키에 대해서는 별도로 속성을 체크하네요.
변수
- 다음과 같은 변수를 체크합니다.
var fv_PushNum = 0; // 숫자를 누른 상태
var fv_PushOperator = 1; // 연산자를(+,-,*,/) 누른 상태
var fv_PushEqual = 2; // '='를 누른 상태
var fv_IsDecimalPoint; // 소수점여부
var fv_Number; // 출력장체 표시된 숫자
var fv_Result; // 연산 결과
var fv_Memory; // 메모리 저장 변수
var fv_IdxDecimalPoint; // 소수점 Index
var fv_PreOperator; // 이전에 누른 연산자
var fv_ChkStatus; // 숫자,'=',연산자 상태 변수
var fv_FlagMemory; // 메모리 사용 상태