Force user to input an specific time format
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Cristian Martin
am 27 Aug. 2022
Bearbeitet: dpb
am 28 Aug. 2022
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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 27 Aug. 2022
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 Kommentar
dpb
am 27 Aug. 2022
Bearbeitet: dpb
am 28 Aug. 2022
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!
Weitere Antworten (1)
dpb
am 27 Aug. 2022
Only with a lot of trouble -- use a datepicker UI control instead uidatepicker
3 Kommentare
dpb
am 27 Aug. 2022
Lots of callbacks, then, examaning keystrokes...see if anybody has written anything for purpose on FEX.
Siehe auch
Kategorien
Mehr zu Dialog Boxes finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!