티스토리 뷰

IT Story/Programing

파워빌더 현재 시간 출력방법

행복한소식까치 2016. 8. 4. 16:55
반응형

1.윈도우 객체에서 사용시

 

처리할 내용에 

String s_Text

s_Text =  '출력일시:'+  today('yyyy-mm-dd :hh:mm:ss')

 해당 윈도우 Open   시  timer  설정

timer(1)        //  1 초마다 timer  함수 호출합니다.


2. 유저 오브젝터 객체에 출력시  

 유저 오브젝터의 경우 timer  함수를 지원 하지 않습니다.

 그래서 외부  api를 이용해서 만들거나 아니면 Goto 문을 사용해서 반복하여야합니다.

   가. 외부 api  사용방법

애플리케이션에서 다른 프로그램을 실행시킨 후 자신을 Sleep 상태로 두려면 파워빌더 스크립트에서
Yield() 함수를 사용해 루프를 실행시키는 방법이 있습니다. 
또는 "kernel32.dll"의 sleep 함수를 사용하면 됩니다.

Subroutine sleep ( Long al_milliseconds ) library "kernel32.dll" alias for "Sleep"

이렇게 정의한 후 'Sleep(1000)'이라고 사용하면 1초간 Sleep하게 됩니다. 
또 다른 방법으로는 Sleep 함수를 만들어 다음과 같이 사용할 수 있습니다.

Function sleep ( Long al_seconds ) 

Time lt_end

lt_end = RelativeTime(now(), al_seconds)

Do while now() < lt_end
  yield()
loop

 나 .GOTO  문 사용 방법

Time lt_end

STEP1:
lt_end = RelativeTime(now(), 1)


dw_list.Object.t_17.text = '출력일시:'+  today('yyyy-mm-dd :hh:mm:ss')

STEP2:

Do while now() < lt_end
  yield()
  GOTO STEP2
loop


GOTO STEP1

반응형
댓글