Force user to input an specific time format
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi, how can a I force users to input in a cell of a uitable a specific time format, Hh:mm, and warn trough a message for wrong inputs. Thanks!
댓글 수: 0
채택된 답변
Walter Roberson
2022년 8월 27일
parts = regexp(INPUT, '^([01]\d|2[0-3]):[0-5]\d$');
if isempty(parts)
reject
end
This assumes that you want 24 hour clock with forced leading 0 and that you do not want to permit 24:00
댓글 수: 1
dpb
2022년 8월 27일
편집: dpb
2022년 8월 28일
GEEZER ALERT
"...and that you do not want to permit 24:00"
Lo! so many years ago had a line of online coal analyzers running under MS-DOS on industrial PCs. The app was built on MS Professional Basic 7.1 with additional assembler for the touchscreen UI and the multichannel analyzer (it was a dual-energy gamma densitometer at heart).
The system at a particular installation began crashing at midnight with a non-trapable error -- took several months of debugging before I finally caught it out--the DATE$/TIME$ function returned 24:00:00, 24:00:01, ... at midnight for roughly 30 seconds before it rolled over to 00:00:31, 00:00:32, ...
A bunch of data-storage arrays were defined with indices by hour from 0:23 and the 24 index caused an out-of-bounds memory address that corrupted BASIC string space and when the garbage collector would run in the background, boom!
추가 답변 (1개)
dpb
2022년 8월 27일
Only with a lot of trouble -- use a datepicker UI control instead uidatepicker
댓글 수: 3
dpb
2022년 8월 27일
Lots of callbacks, then, examaning keystrokes...see if anybody has written anything for purpose on FEX.
참고 항목
카테고리
Help Center 및 File Exchange에서 Dialog Boxes에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!