In a dialog I have two edit boxes, one containing the format for the date display, the other for the time display.
The default settings are ddd mmm dd yyyy & hh:nn:ss tt
I was looking for a way to prevent someone from changing these to an improper date/time display format.
Example for the date: dnd mhm dd yssy
I asked around and did some reading, coming up with the following for a regex, but I guess my knowledge is still lacking at some point, as it doesn't work completely.
If someone could fix this up and explain what and why they did, I (hopefully) will be able to modify the code so that it works similarily for the box with the time format.
Here's what I was able to come up with.
on *:dialog:channel_control:edit:103,105:{
var %date.fmt = $did(Channel_Control,103)
var %time.fmt = $did(Channel_Control,105)
if !$regex(%date.fmt,[^dmy.-\s]) {
if $regex(%date.fmt,|d|dd|ddd|dddd) && !$regex(%date.fmt,\bddddd\b) {
if $regex(%date.fmt,|m|mm|mmm|mmmm) && !$regex(%date.fmt,\bmmmmm\b) {
if $regex(%date.fmt,|y|yy|yyy|yyyy) && !$regex(%date.fmt,\byyyyy\b) {
}
else {
echo -a error in year
did -ra $dname $did $iif($did == 105,hh:nn:ss tt,ddd mmm dd yyyy)
}
}
else {
echo -a error in month
did -ra $dname $did $iif($did == 105,hh:nn:ss tt,ddd mmm dd yyyy)
}
}
else {
echo -a error in day
did -ra $dname $did $iif($did == 105,hh:nn:ss tt,ddd mmm dd yyyy)
}
}
.timertime -m 0 500 title
}
Dialog ID 103 contains the date format, and 105 the time format.