Utilidades.vb

  1. ' Utilidades.vb — ProInf.net — feb-2012
  2. '
  3. ' Funciones de ámbito general
  4.  
  5. Public Class Utilidades
  6.  
  7. Public Shared Function Capitalizar(ByVal texto As String) As String
  8. If texto <> "" Then texto = texto.Substring(0, 1).ToUpper & texto.Substring(1).ToLower()
  9. Return texto
  10. End Function
  11.  
  12. Public Shared Function CalcularEdad(ByVal fecha As Date) As Integer
  13. Dim años As Integer = Date.Today.Year - fecha.Year
  14. Dim cumpleaños As Date = New Date(Date.Today.Year, fecha.Month, fecha.Day)
  15. If Date.Today < cumpleaños Then años -= 1
  16. Return años
  17. End Function
  18.  
  19. Public Shared Function CodificarHTML(ByVal text As String) As String
  20. If text Is Nothing Then
  21. Return ""
  22. Else
  23. Return text.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;")
  24. End If
  25. End Function
  26.  
  27. Public Shared Function ObtenerEntero(ByVal texto As String) As Integer
  28. Dim entero As Integer = 0
  29. Integer.TryParse(texto, entero)
  30. Return entero
  31. End Function
  32.  
  33. Public Shared Function ObtenerDecimal(ByVal texto As String) As Decimal
  34. Dim numero As Decimal = 0
  35. Decimal.TryParse(texto, numero)
  36. Return numero
  37. End Function
  38.  
  39. Public Shared Function FechaSQL(ByVal fecha As Date) As String
  40. Return fecha.ToString("yyyy-MM-dd")
  41. End Function
  42.  
  43. Public Shared Function SimplificarNombre(ByVal nombre As String) As String
  44. nombre = nombre.Trim().ToLower()
  45. nombre = nombre.Replace(" ", "_")
  46. nombre = QuitarAcentos(nombre)
  47. nombre = DejarAlfanumerico(nombre)
  48. Return nombre
  49. End Function
  50.  
  51. Public Shared Function DejarAlfanumerico(ByVal texto As String) As String
  52. Dim re = New System.Text.RegularExpressions.Regex("[^a-zA-Z0-9-ñÑ]")
  53. Return re.Replace(texto, "")
  54. End Function
  55.  
  56. Public Shared Function QuitarAcentos(ByVal texto As String) As String
  57. Const VOCALES = "aeiouAEIOU"
  58. Const ACENTUADAS = "áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙ"
  59. Dim caracteres = texto.ToArray()
  60. For i = 0 To caracteres.Length - 1
  61. Dim posicion = ACENTUADAS.IndexOf(caracteres(i))
  62. If posicion >= 0 Then
  63. caracteres(i) = VOCALES(posicion Mod 10)
  64. End If
  65. Next
  66. Return New String(caracteres)
  67. End Function
  68.  
  69. Public Shared Function NumeroPalabras(ByVal frase As String) As Integer
  70. Dim numeroCaracteres = frase.Length
  71. Dim numeroCaracteresSinEspacios = frase.Replace(" ", "").Length
  72. Return numeroCaracteres - numeroCaracteresSinEspacios + 1
  73. End Function
  74.  
  75. Public Shared Function RecortarComillas(ByVal texto As String) As String
  76. Const CARACTERES = "'"""
  77. If CARACTERES.Contains(texto(0)) Then
  78. texto = texto.Substring(1)
  79. End If
  80. If CARACTERES.Contains(texto(texto.Length - 1)) Then
  81. texto = texto.Substring(0, texto.Length - 1)
  82. End If
  83. Return texto
  84. End Function
  85.  
  86.  
  87. End Class
  88.  
  89.  

Proinf.net