기초강의2 강의를 보기 전에 앞서 공통으로 사용할 소스를 생성합니다.

적당한 경로에 폴더를 만드세요.

여기서는 C:\pb_study2 입니다.

여기에 pb_study2 이름으로 workspace 를 만듭니다.

그리고 파워빌더는 DB 기반이므로 각자 DB에 접속할 수 있도록 준비하십시오.

어떤 DBMS라도 상관없습니다.

 

 

이번 강의에서는 사용자 로그인(Log in) 기능을 가지고 있는 화면을 만들어 보겠습니다.
기본적으로 사용자의 아이디, 비밀번호를 입력받아 DB에 저장된 정보와 일치하는지 체크하고 일치하면 로그인 화면을 닫으면서 메인화면을 보여주고 일치하지 않으면 로그인 화면을 닫지 않고 메시지 박스를 오픈합니다.

 

이번 강의에 사용할 어플리케이션을 생성합니다.

Application Name : login

Library : C:\pb_study2\login.pbl

Target : C:\pb_study2\login.pbt

 

 

 

로그인 화면을 만들 윈도우 오브젝트를 w_login 이름으로 생성합니다.

w_login의 title 속성은 '로그인 화면' 으로 하고 WindowType 속성은 response!로 합니다.

 

 

로그인 화면에서 사용자의 아이디와 비밀번호를 체크한 뒤 일치하면 로그인 화면이 닫히고 메인화면이 열리게 합니다.

그 메인화면을 w_main 이름으로 생성합니다.

 

 

 

여기까지 login, w_login, w_main 세 개의 오브젝트를 만들었습니다.

 

구체적인 스크립트를 작성하기 전에 DB 관련 작업을 해야 합니다.

사용자 아이디와 비밀번호 데이터를 가지고 있는 테이블이 있다면 그대로 이용하면 되고

그렇지 않다면 생성해서 사용합니다.

여기서는 오라클 scott 계정에 emp_info 테이블과 데이터를 생성합니다.

 

create table emp_info (
     id varchar2(100),
     pw varchar2(100)

)

 

id pw
test1 test1pw
test2 test2pw

 

login 어플리케이션의 open 이벤트를 열어 DB 접속과 w_login 오픈을 위한 스크립트를 작성합니다.

 

 

이제 어플리케이션을 실행(run)하면 DB w_login 이 오픈됩니다.

 

close 이벤트를 열어 DB 접속 해재 스크립트를 작성합니다.

 

 

using sqlca 가 생략된 형태입니다.

 

 

w_login 을 열어 다음과 같은 컨트롤을 생성합니다.

 

1. 아이디 라벨

종류 : StaticText

text : 아이디

 

2. 아이디 입력

종류 : SingleLineEdit

name : sle_id

 

3. 비밀번호 라벨

종류 : StaticText

text : 비밀번호

 

4. 비밀번호 입력

종류 : SingleLineEdit

name : sle_pw

 

5. 닫기 버튼

종류 : CommandButton

name : cb_close

 

6. 확인 버튼

종류 : CommandButton

name : cb_ok

 

 

 

 

닫기 버튼(cb_close)의 clicked 이벤트를 열어 다음 스크립트를 작성합니다.

 

close(parent)

 

실행한 뒤 닫기 버튼을 클릭하면 화면이 닫히고 전체 어플리케이션도 종료됩니다.

 

 

확인 버튼(cb_ok)의 clicked 이벤트를 열고 다음과 같이 스크립트를 작성합니다.

 

 

변수 li_chk 를 integer 로 선언했고 그 초기값은 0입니다.

select into 문에 의해 아이디와 비밀번호가 일치하면 li_chk 에는 1이 입력됩니다.

 

closewithreturn은 parent (cb_ok 입장에서 parent는 w_login이 됨)를 닫고 message object에 반환값를 저장시킵니다.  반환값이 string 타입이므로 message object의 stringparm에 'OK' 값이 저장됩니다.

closewithreturn는 오직 response 속성의 윈도우일 때만 사용 가능합니다.

 

실행한 후 테스트해 보세요. 확인 버튼을 클릭하면 아이디와 비밀번호가 일치할 때만 w_login 화면이 닫힙니다.

 

login 어플리케이션의 open 이벤트를 열어 다음 스크립트를 추가합니다.

 

open(w_login)

if message.stringparm = 'OK' then

   open(w_main)

end if

 

 

message object의 stringparm에 저장된 반환값이 'OK' 이면 w_main 화면을 오픈시킵니다.

 

물론 다양한 로그인 화면 프로그램밍이 가능합니다. 여기서는 가장 기본적인 로그인 화면을 만들어 봤습니다. 

 

수고하셨습니다.

 

 

 

 

Posted by A4M
,