* Powerbuilder 10.5


이번 강의에서는 다음 두 가지를 먼저 익히겠습니다.


1. GetNextModified 함수
2. DO...LOOP 구문



1.GetNextModified method (DataWindows)

설명
  제시된 로우 바로 다음의 수정된 로우 위치를 알려줌

문법
  long dwcontrol.GetNextModified (long row, DWBuffer dwbuffer )

  row : 이것 다음부터 스캔하여 수정된 로우를 찾음, 0 을 입력하면 처음부터 스캔하여 수정된 로우를 찾음
  dwbuffer : Primary!, Delete!, Filter!



예를 들어

dw_emp.GetNextModified(0, Primary!)

Primary 버퍼에서 처음부터 스캔하여 가장 먼저 수정된 로우 넘버를 반환합니다.

Primary 버퍼는 Retrieve 함수에 의해 화면에 조회된 로우들과 편집화면에서 수정된 로우를 모두 포함합니다.

dw_emp 에서 3번째와 7번째 로우가 수정되었다면


dw_emp.GetNextModified(0, Primary!) 는 3 을 반환하고

dw_emp.GetNextModified(3, Primary!) 는 7 을 반환합니다.


그렇다면

dw_emp.GetNextModified(2, Primary!) 는?

당연히 3을 반환합니다.



2. DO...LOOP 구문

DO
    구문 블럭
LOOP WHILE 조건문

조건이 True 인 동안만 루프를 반복해서 실행하고 조건에 구문 블럭을 적어도 한 번은 실행.

int a = 3

DO
    a --
LOOP WHILE a > 0

->
횟수    a
  1        2
  2        1
  3        0

DO
    구문 블럭
LOOP UNTIL 조건문


조건이 True 가 될 때까지 루프를 반복하고 구문 블럭을 적어도 한 번은 실행.

int a      // 초기값 0

DO
    a ++
LOOP UNTIL a = 3

->
횟수    a
  1        1
  2        2
  3        3
        

DO  WHILE 조건문
    구문 블럭
LOOP

조건이 True 일 동안만 루프를 반복.

int a       // 초기값 0

DO WHILE a > 0
    a --
LOOP
-> 루프를 타지 않음



DO UNTIL 조건문
    구문 블럭
LOOP

조건이 True 가 될 때까지 루프를 반복.

int a       // 초기값 0

DO UNTIL a = 0
    a ++
LOOP

-> 루프를 타지 않음



이번 강의는 좀 싱겁게 끝나는데요.

다음 강의에서는 PB 에서 dw 의 조작된 데이터를 가지고 쿼리를 만드는 원리를 다루려고 합니다.

다소 어려울 수 있는데요 차근차근 해 나가 보도록 하겠습니다.

수고하셨습니다.

Posted by A4M
,