반응형
Delphi를 사용하여 프로그램을 개발하고 있다면, 시간에 따라 다른 로직을 수행하는 경우가 있을 것입니다. 특히, 식사 시간에 따라 다른 동작을 해야 하는 상황이 있을 수 있습니다. 이 글에서는 Delphi를 사용하여 선택된 라디오버튼에 따라 현재 시간을 기준으로 조식, 중식, 석식, 야식 여부를 체크하고, 그에 따른 로직을 구현하는 방법에 대해 알아보겠습니다.
1. 식사 시간 설정
먼저, 각 식사 시간을 설정합니다. 코드에서는 RecodeTime 함수를 사용하여 현재 시간을 기반으로 조식, 중식, 석식, 야식의 시간을 설정합니다. 선택된 라디오버튼에 따라 해당 식사 시간이 설정되며, 예를 들어, 조식은 8시 30분, 중식은 13시 30분, 석식은 18시, 야식은 다음 날 8시 30분으로 설정됩니다.
- 직전 개발
https://protractor.tistory.com/30
- 함수코드 예시
case SelectedIndex of
1: MealTime := RecodeTime(CurrentTime, 8, 30, 0, 0); // 조식
2: MealTime := RecodeTime(CurrentTime, 13, 30, 0, 0); // 중식
3: MealTime := RecodeTime(CurrentTime, 18, 0, 0, 0); // 석식
4: MealTime := RecodeTime(IncDay(CurrentTime), 1, 8, 30, 0); // 야식 (1일 증가, 8시 30분)
end;
2. 라디오버튼에 따른 식사시간 체크
선택된 라디오버튼에 따라 현재 시간이 해당하는 식사 시간 범위에 속하는지 확인합니다. 예를 들어, 조식일 경우 현재 시간이 8시 30분 이전이거나 13시 30분 이후라면 조식이 아니라고 판단합니다.
기존 로직에서 업그레이드 한 버전입니다.
case SelectedIndex of
1: Result := (CurrentTime <= MealTime);
2: Result := (CurrentTime > RecodeTime(CurrentTime, 8, 30, 0, 0)) and (CurrentTime < MealTime);
3: Result := (CurrentTime > RecodeTime(CurrentTime, 13, 30, 0, 0))and (CurrentTime < MealTime);
4: Result := (CurrentTime > RecodeTime(CurrentTime, 18, 0, 0, 0))and (CurrentTime < MealTime);
else
Result := False;
end;
if not Result then Result := DisplayMealTimeCheckMessage; // 직전 함수에서 메시지표출을 함수화한 명칭
이렇게 Delphi에서 식사 시간에 따라 다른 동작을 수행하는 간단한 예제를 만들어 보았습니다. 이를 참고하여 실제 프로젝트에서 활용하면 유용할 것입니다.
반응형
'언어 공부 > Delphi' 카테고리의 다른 글
[Delphi] 프로그래밍 / Delphi / 문자열 처리 - 실무 (0) | 2024.02.05 |
---|---|
델파이에서 그리드 컨트롤의 고급 사용법 및 오류 처리 (0) | 2024.01.25 |
[Delphi] 식사일자, 식사시간을 체크하는 함수 개발 (0) | 2023.12.04 |
최근댓글