terça-feira, 14 de outubro de 2003

Combos de Datas

Esse código gera combos de acordo com a data passada por parametro. Caso nehuma data seja informada, o script usa a data atual.


 function GeraComboDia(d)
 dim data, dia, i, msg
  msg = ""
  data = trim(d)


  if data <> "" and isDate(data) then
   dia = day(data)
  else
   dia = day(now)
  end if
  
  for i = 1 to 31
   if i = dia then
    msg = msg & "<option value='" & i & "' selected>" & right("00" & i,2) & "</option>"
   else
    msg = msg & "<option value='" & i & "'>" & right("00" & i,2) & "</option>"
   end if
  next
  
  GeraComboDia = msg
 end function


 function GeraComboMes(d)
 dim data, mes, i, msg
  msg = ""
  data = trim(d)


  if data <> "" and isDate(data) then
   mes = month(data)
  else
   mes = month(now)
  end if
  
  for i = 1 to 12
   if i = mes then
    msg = msg & "<option value='" & i & "' selected>" & Meses(i) & "</option>"
   else
    msg = msg & "<option value='" & i & "'>" & Meses(i) & "</option>"
   end if
  next
  
  GeraComboMes = msg
 end function


 function GeraComboAno(d)
 dim data, ano, i, msg
  msg = ""
  data = trim(d)


  if data <> "" and isDate(data) then
   ano = year(data)
  else
   ano = year(now)
  end if
  
  for i = (year(now) - 5) to (year(now) + 5)
   if i = ano then
    msg = msg & "<option value='" & i & "' selected>" & i & "</option>"
   else
    msg = msg & "<option value='" & i & "'>" & i & "</option>"
   end if
  next
  
  GeraComboAno = msg
 end function


O gera combo de Ano usa apenas 10 anos (os 5 ultimos e os 5 proximos). Esses valores podem ser mudados de acordo com a utilidade.


Para gerar os combos use:


<select name="dia">
<%= GeraComboDia(now()) %>
</select>


<select name="mes">
<%= GeraComboMes(now()) %>
</select>


<select name="dia">
<%= GeraComboAno(now()) %>
</select>



Esta matéria foi postada originalmente no ASP4Developers por Danilo Freitas, que na época era "Programador em VB, VBScript e SQL Server.". Hoje, vai saber...

0 comentários: