|
|
2. 함수 스크립트 작성
새로 생성한 함수 내부에 다음 스크립트를 작성합니다.
// 함수 이름: f_seconds_to_dhms
// Argument: al_total_seconds (long) - 총 초 값
// Return Type: string (예: "1일, 01:02:03")
long ll_days
long ll_hours_total // 총 시간을 계산하기 위한 변수
long ll_minutes_total // 총 분을 계산하기 위한 변수
long ll_hours_remaining // 남은 시간 (0~23)
long ll_minutes_remaining // 남은 분 (0~59)
long ll_seconds_remaining // 남은 초 (0~59)
string ls_result
// 1. 총 초에서 남은 초 (0~59) 계산
ll_seconds_remaining = al_total_seconds % 60
// 2. 총 분 계산 (총 초를 60으로 나눈 몫)
ll_minutes_total = al_total_seconds / 60
// 3. 총 분에서 남은 분 (0~59) 계산
ll_minutes_remaining = ll_minutes_total % 60
// 4. 총 시간 계산 (총 분을 60으로 나눈 몫)
ll_hours_total = ll_minutes_total / 60
// 5. 총 시간에서 남은 시간 (0~23) 계산
ll_hours_remaining = ll_hours_total % 24
// 6. 총 일수 계산 (총 시간을 24로 나눈 몫)
ll_days = ll_hours_total / 24
// 7. 결과를 "일, 시:분:초" 형식의 문자열로 조합
// 시간, 분, 초는 String(값, "00") 포맷을 사용하여 항상 두 자리로 표시되도록 합니다.
ls_result = String(ll_days) + "일, " + &
String(ll_hours_remaining, "00") + ":" + &
String(ll_minutes_remaining, "00") + ":" + &
String(ll_seconds_remaining, "00")
RETURN ls_result
3. 함수 사용 예시
이제 이 함수를 여러분의 파워빌더 애플리케이션 내의 스크립트에서 호출하여 사용할 수 있습니다.
예를 들어, 버튼의 Clicked 이벤트 스크립트나 기타 이벤트 스크립트에서 다음과 같이 호출할 수 있습니다.
// 총 90000초 (1일 1시간)를 변환하는 예시
long ll_input_seconds
string ls_formatted_time
ll_input_seconds = 90000 // 예시 값
ls_formatted_time = f_seconds_to_dhms(ll_input_seconds)
MessageBox("변환 결과", "총 " + String(ll_input_seconds) + "초는 " + ls_formatted_time + "입니다.")
// 또 다른 예시: 3661초 (1시간 1분 1초)
ll_input_seconds = 3661
ls_formatted_time = f_seconds_to_dhms(ll_input_seconds)
MessageBox("변환 결과", "총 " + String(ll_input_seconds) + "초는 " + ls_formatted_time + "입니다.")
// 100초 예시 (0일, 00:01:40)
ll_input_seconds = 100
ls_formatted_time = f_seconds_to_dhms(ll_input_seconds)
MessageBox("변환 결과", "총 " + String(ll_input_seconds) + "초는 " + ls_formatted_time + "입니다.")
코드 설명:
첫댓글 오래 전에 위의 알고리즘을 Open 했었는데....