Справка PB не помогает в этом вопросе, но appeon ответил на этот вопрос.
Реальная задача состоит в том, чтобы установить эту маску редактирования 1905 - #### в столбец.
Нет проблем, и ее можно легко установить, как мы устанавливаем другие маски,Но когда мы вводим данные в столбец, вместо 0 между 9 и 5 будет пробел.
Желаемый результат - статический ноль вместо пробела.Поэтому, чтобы заставить его работать таким образом, мы снова устанавливаем ту же маску в режиме конструктора, но с разницей в ~ знак, подобный этому 19 ~ 05 - #### .
Это будет работать так, как мы хотим.Это означает, что пробел не будет отображаться и будет отображаться 0 , и пользователь не сможет изменить 1905 .
Год 1905 это не фиксированный год, он будет продолжать меняться, потому что это зависит от DOB , поэтому мы должны установить ту же маску 19 ~ 05 - #### в сценарии
String TheMask
TheMask = Right(String(Date(dw_1.Object.DOB[1]), "YYYY"),2)
IF Left(String(Date(dw_1.Object.DOB[1]), "MM"),1) = "0" THEN
TheMask += "~~~~0"
ELSE
TheMask += Left(String(Date(dw_1.Object.DOB[1]), "MM"),1)
END IF
TheMask += Right(String(Date(dw_1.Object.DOB[1]), "MM"),1) + "-######"
dw_1.Object.Trans_ID.EditMask.Mask = TheMask
Все в приведенном выше коде очень просто, но одна вещь, которая заставила меня задать этот вопрос и потратила много часов, чтобы выяснить, как установить маску, это знак ~ , который должен повторяться 4 время вместо 2 раз.
Если мы попытаемся установить маску с одиночными ~ или менее чем четырьмя ~ знаками, то приложение будет аварийно завершено.