вторник, сентября 02, 2008

psiCards-KB - формулы

Вот примеры, которые можно использовать в вычисляемых полях.

1. Перевод первого символа в верхний регистр:

Строка:= xs="#this#", 
String.IsNullOrEmpty(xs)?"":
xs=xs.Trim(), String.IsNullOrEmpty(xs)?"":
xs.Length==1?xs.ToUpper():
xs.Substring(0,1).ToUpper()+xs.Substring(1)

2. Проверка возраста на заданное число лет:

Строка:=xi=16,xs="~~Дата рождения~~",xs==""?"": 
(new DateTime(
Int32.Parse(xs.Split('.')[2]),
Int32.Parse(xs.Split('.')[1]),
Int32.Parse(xs.Split('.')[0])) > DateTime.Today.AddYears(-xi))?
throwerr(String.Format("Возраст не может быть меньше {0} лет!",xi)):xs
/*годится для русской локализации */

3. Проверка даты на заданное "упреждение" - время от текщего момента до срока в дате:

Строка:=DateTime.Parse("#this#")>DateTime.Now.AddHours(24)?"#this#":
throwerr("Заявка не может быть оформлена позднее, чем за 24 часа до начала конференции")

Отправить комментарий