* 오즈 어플리케이션 예제

이 예제는 오즈 어플리케이션의 컴포넌트, 스크립트, 함수, 이벤트, 스타일, 뷰어 태그, API 등에 대한 다양한 샘플들을 제공합니다.
오즈 어플리케이션 31,2005,0601,100 이상의 버전에서 확인하실 수 있습니다.

1. 사전 준비 사항

1-1. 리파지토리 등록

AppExample 폴더를 QueryDesigner와 ApplicationDesigner의 로컬작업폴더로 지정합니다.

1-2. 샘플 데이터소스 등록

예제의 odi 파일에서 이용되는 mdb 파일은 "AppExample\SampleDB\AppExample.mdb" 입니다.
"제어판 > 관리도구 > 데이터 원본 (ODBC)" 을 이용하여 각각의 mdb파일에 대해 odbc 설정을 합니다.

- odbc 설정방법
   '시스템 DSN' 탭으로 이동한 후 '추가'버튼을 클릭하세요.
   'Microsoft Access Driver (*.mdb)' 를 선택한 후 '마침'버튼을 클릭하세요.
   '데이터원본이름' 에 AppExample을 입력하신 후 
   '데이터베이스'의 '선택'버튼을 클릭하신 후 AppExample.mdb 파일을 선택하세요.

2. 확인

2-1. 디자이너에서 샘플 확인 방법

OZ Application Designer를 열어 AppExample에 있는 각각의 폴더내의 .oza 파일을 확인합니다.
예제에 대한 설명은 프로젝트 화면(.oza)에 있습니다. 
단, FileUpload, HTML연동, Session, UDS  에 대한 설명은 각 폴더의 ReadMe.rtf를 확인하세요.

2-2. AppExample 폴더 설명

- ActiveXControl
   로컬 PC에 있는 ActiveX 컴포넌트를 이용할 수 있는 컴포넌트. 
   ex) SpreadSheet

- ArrowLine
   화살표가 있는 선. 
   ex) 여러가지 화살표 모양 및 라인 모양

- Board
   한 화면의 단위가 되는 컴포넌트.
   ex) 보드가 제공하는 함수, 다이얼로그, 화면상의 스크롤바 제어

- Button
   버튼.
   ex) 이미지 버튼, 버튼 스타일 등

- Chart
   차트.
   ex) 조건에 따른 차트데이터 변경, 차트 스타일 제어

- CheckBox
   체크박스.
   ex) 체크박스그룹, 체크박스 상태

- CheckListBox
   체크박스와 리스트박스가 합쳐진 컴포넌트.
   ex) 체크리스트박스에서 이용되는 스크립트 예제

- ComboBox
   콤보박스.
   ex) 콤보박스 스타일 및 제어

- ContextMenu
   팝업메뉴(오른쪽 마우스 클릭시 나타나는 메뉴).
   ex) 스크립트로 팝업메뉴 제어

- CrossTab
   행,열이 가변적인 데이터에 대한 합계를 보여주는 컴포넌트.
   ex) 조건에 따른 크로스탭 데이터 변경.

- CustomControl
   사용자가 생성한 컴포넌트(dll)를 추가할 수 있는 컴포넌트.
   ex) 2차원 바코드, Tiff이미지 사용자 컴포넌트 이용

- DataAction
   조회, 입력,수정,삭제. 
   ex) 테이블 데이터를 자동으로 저장하는 예제, 스크립트로 데이터확인후 저장하는 예제 

- DateTime
   날짜를 제어할 수 있는 Date 컴포넌트. 
   ex) 로컬PC의 날짜와 시간 확인

- DateTimePicker
   콤보박스와 달력이 합쳐진 컴포넌트. 
   ex) 여러가지 형태의 DateTimePicker 컴포넌트

- Document
   오즈 어플리케이션 프로젝트의 최상위 컴포넌트로써 하위 컴포넌트에서 이용할 수 있는 공통 함수를 가지고 있는 컴포넌트.
   ex) 공통 함수의 사용 예제

- DragDrop
   마우스 드래그&드랍시 발생하는 이벤트 및 함수. 
   ex) 리스트 박스간, 다양한 컴포넌트간 드래그&드랍을 보여주는 예제, 라인그리기

- Ellipse
   타원. 
   ex) 타원의 여러가지 모양

- Event
   이벤트 처리. 
   ex) 컴포넌트들의 공통 이벤트에 대한 예제

- EventHook
   컴포넌트에 상관없이 발생하는 이벤트.
   ex) 마우스 클릭할 때 발생하는 EventHook 예제

- ExcelExport
   그리드, 테이블, 크로스탭 컴포넌트에 있는 Excel 저장 기능.
   ex) 그리드, 테이블, 크로스탭 데이터를 엑셀로 저장

- FileUpload
   로컬에 있는 파일을 서버로 업로드 하는 기능.
   ex) Application에서 stream형태로 보낸 파일을 JSP에서 업로드 하는 예제.

- Function
   사용자 구현 함수. 
   ex) 많이 이용되는 함수를 util.ozf로 구현한 예제, oza 내에 정의된 함수 예제

- Grid
   테이블의 타이틀과 데이터를 셀단위로 제어할 수 있는 컴포넌트.
   ex) 그리드 구현 예제.

- GroupBox
   컴포넌트를 그룹핑할 수 있는 컴포넌트. 
   ex) 그룹 라디오버튼, 움직이는 그룹박스, 컴포넌트 그룹 활성화/비활성화

- HNavigator
   테이블에 대한 페이지 이동 버튼과 입력박스을 제공하는 컴포넌트
   ex) 페이지 이동

- Html연동
   JavaScript에서 어플리케이션의 스크립트를 수행하거나 어플리케이션에서 JavaScript의 함수를 호출하는 기능.
   ex) HTML폼과 어플리케이션 화면간의 데이터 이동

- HtmlView
   HTML이 embeded 되는 컴포넌트로써 웹브라우저객체를 가져올 수 있음. 
   ex) 웹사이트 이동 예제

- ImageList 
   이미지리스트는 트리,콤보,메뉴 항목의 이미지를 보여주기 위해 이용되는 컴포넌트.
   ex) 이미지리스트 사용 예제

- ImportExport
   컴포넌트 내보내기/가져오기 기능. '.ozc'확장자를 가진 파일로 저장.
   ex) Import 방식에 따른 예제

- Label
   라벨. 
   ex) 라벨의 여러가지 모양. 이미지 버튼

- Line
   선.
   ex) 선 모양 및 선 움직이기 예제

- ListBox
   리스트 박스 컴포넌트. 
   ex) 리스트박스 유형.

- MainMenu
   화면의 상단에 보여지는 메뉴. 
   ex) 메뉴의 항목 확인, 추가, 삭제

- MaskTextBox
   지정된 문자만 입력되도록하는 텍스트박스. 
   ex) 날짜입력 텍스트박스 등 구현 예제

- MasterDetail
   두개의 데이터셋을 마스터-디테일관계로 설정하면 마스터 데이터셋의 데이터가 변경되었을때 디테일셋의 데이터가 자동으로 변경되는 기능.
   ex) 4단계의 마스터-디테일 관계를 가진 고객조회 화면 예제.

- MonthCalendar
   달력. 
   ex) 달력 제어

- NumericUpDown
   숫자 입력 텍스트박스. 
   ex) 천단위 콤마구분, 16진수 입력 및 값 확인

- Panel
   컴포넌트들을 그룹핑하거나 동시에 제어할 수 있는 컴포넌트. 
   ex) 그룹 라디오버튼, 움직이는 파넬

- PictureBox
   gif, jpg, bmp 이미지. 
   ex) 이미지 속성 설정 예제

- Print
   화면프린트. 
   ex) 프린트 설명

- ProgressBar
   진행상태를 보여주는 프로그래스바.
   ex) 1초마다 증가되는 프로그래스바 

- RadioButton 
   라디오버튼.
   ex) 여러가지 모양의 라디오 버튼

- Rectangle
   사각형.
   ex) 여러가지 모양의 사각형

- ReportButton
   오즈 리포트를 출력할때 이용하는 버튼.
   ex) 파라미터를 변경하여 리포트를 출력하는 예제.

- ReportControl
   오즈 리포트 뷰어를 어플리케이션에서 이용할 수 있는 컴포넌트.
   ex) 조건에 해당하는 리포트를 보여주는 예제.

- SampleDB
   AppExample에서 이용되는 데이터베이스.
   AppExample.mdb

- SampleHtml
   오즈 리포트(.ozr)와 오즈 어플리케이션 프로젝트(.oza)를 호출하는 샘플 HTML.
   OZReportCall.html, OZApplicationCall.html

- SampleImage
   AppExample에서 이용되는 이미지

- Session
   세션정보를 가져오거나 설정하는 기능.
   ex) 로그인한 사용자 정보를 체크하는 예제. (세션이 끊어진 상태면 로그인 페이지로 이동)

- Splitter
   화면을 분할하는 컴포넌트.
   ex) Top, Left, Center 로 분리한 화면 예제.

- Style
   컴포넌트에 .ozs란 스타일 파일을 만들어 적용할 수 있는 기능.
   ex) 고객정보를 조회하는 화면에 스타일을 적용한 예제.

- TabControl
   파넬에 탭이 들어가 있어 여러개의 화면을 구성할 수 있는 컴포넌트.
   ex) 탭의 여러가지 모양.

- Table 
   데이터셋의 데이터를 테이블 형태로 보여주는 컴포넌트.
   ex) 테이블 구현 예제.

- TextBox 
   텍스트박스.
   ex) 텍스트박스의 속성과 함수를 확인하는 예제

- Timer
   정해진 시간마다 이벤트가 발생하는 컴포넌트.
   ex) 1초마다 컴포넌트 크기를 증가시키는 예제.

- ToolTip
   풍선도움말 같이 마우스커서가 위치했을 때 잠시동안 텍스트를 보여주는 컴포넌트.
   ex) 툴팁 구현 예제

- TreeView
   트리 형태를 구현하는 컴포넌트.
   ex) 탐색기 모양의 트리를 이용한 폴더 추가, 삭제 예제

- UDS
   사용자 데이터 스토어. 자바 클래스로부터 조회, 입력, 수정, 삭제 지원. 
   ex) mdb로부터 조회,입력,수정,삭제하는 UDS 예제

- VNavigator
   테이블에 대한 페이지 이동 버튼과 스크롤바를 제공하는 컴포넌트
   ex) 페이지 이동