2012-03-08 3 views
3

"화요일, 오전 10 시부 터 오전 11 시까 지"와 같이 지정할 수 있기를 바랍니다.Delphi 애플리케이션에서 날짜와 시간 범위 선택을 어떻게해야합니까?

하나의 복잡한 컨트롤을 사용하여이 작업을 수행 할 수 있습니까? 아니면 하루에 하나씩, 시작/중지 시간에 하나씩 더 복잡한 3 개의 컨트롤을 사용하면 더 좋을까요?

+0

3 TDateTimePickers 및 * Span() 함수에 대해 내기 ... – g2mk

+0

"도움말 구성 요소 찾기"(주제 벗어남) 구문을 제거하도록 수정되었습니다. –

답변

7

하루에 하나씩, 시작/중지 시간에 하나씩 3 개의 콤보 상자를 사용하는 것이 더 좋을까요?

자연어 처리가 필요없는 솔루션으로 이동하십시오. 덜 시원하고 조금 쓸모가 없어 보일지 모르지만, 마우스로 모든 선택을 할 수 있고 항상 원하는 것을 얻을 수 있다는 것을 알고 있기 때문에 사용자가 더 쉽게 사용할 수 있습니다. 자연 언어는 힘들고 사람들은 철자를 잘못 입력하거나 불가능한 데이터를 입력하거나 혼란스러운 데이터를 입력 할 수 있습니다. 그들은 같은 것을 입력하면 당신은 무엇을해야합니까 : (! 의도적으로 24 시간 형식으로 반전 시간으로, 영어 이외의 언어로 작성)

"Marţi, de la 22 la 21" 

합니다. 영어가 모국어가 아닌 사람에게 영어로 날짜를 쓰도록 요청하는 것조차 생각조차하지 마세요. 고문입니다.

즉, 자연어를 여러 언어로 처리 할 수있는 능력이없는 경우 각 세그먼트에 대해 적절한 편집자 (날짜, 시간 중 2 개)와 함께 일반 멀티 콤보 상자 설정으로 이동하십시오.

+1

+1. 이것은 [Microsoft Outlook] (http://privat.rejbrand.se/outlooktimespan.png)이하는 방법입니다. –

+0

+1 고문. – Toto

+1

숫자가 아닌 숫자로 표시하고 연도를 전체 4 자리 숫자로 작성해야 혼동을 야기 할 수 있습니다. 01/02/03은 당신이 묻는 사람에 따라 많은 것을 의미 할 수 있습니다. 2001 년 2 월 3 일에는 그 문제가 없습니다. –

5

JEDI VCL에는 많은 옵션이 있습니다.

시각적으로 9 시부 터 11 시까지는 특정 날에 범위를 선택할 수있는 Google 캘린더와 같은 작업을 수행하려는 경우 JvTimeFramework (개인 구성 도우미) 구성 요소를 사용할 수 있습니다. 다른 특정 범위에 특정 범위에서 시간이 하루보기를 들어, TJvTFDays 구성 요소가 이상적입니다 : 당신은 Google 캘린더가하는 것처럼, 시작하려는 시간을 클릭

enter image description here

. 그런 다음 "dave와 함께 점심 식사"를 입력하고 Enter 키를 누른 다음 사각형의 아래쪽을 잡고 위아래로 드래그하여 지속 시간을 조정하거나 사각형의 위쪽을 위아래로 드래그하여 시작 시간을 변경하십시오. 두 번 클릭하면 대화 상자를 사용하여 직접 입력 할 수 있습니다. 스크린 샷에 표시된 약속 추가 대화 상자는 사용자에게 한 가지 옵션입니다. 그들은 그것없이 일할 수 있고, 단지 데이 타이머 페이지 컨트롤에 직접 입력 할 수 있습니다.

텍스트 입력을 계속 사용하려면 JvDateTimePicker를 비롯한 여러 컨트롤을 결합해야합니다.

위의 프로그램에 대한 JVCL 예제 폴더에서 examples\JvTimeFrameWork\PhotoOp 데모를 확인하십시오.