Muitas vezes temos a responsabilidade de desenvolver sistemas que serão usados em vários países, com diferentes culturas, formatos de moedas, datas, etc.
No .NET Framework existe um recurso que nos ajuda bastante nesse sentido, é o chamado System.Globalization.CultureInfo, com ele podemos customizar o formato da data, moeda, calendário e outros.
Segue um exemplo de como usar esse recurso para modificar o formato da data:
Imports System.Globalization
Dim DTFormat As DateTimeFormatInfo = New CultureInfo("es-MX", False).DateTimeFormat
Dim DT As New DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day)
Dim strDate As String = DT.ToString(DTFormat.LongDatePattern)
MessageBox.Show(strDate)
Note: Nesse exemplo estamos usando o formato de data Mexicano como exemplo, mas aqui é possível encontrar um artigo completo do Mauro Sant'Anna sobre o tema, além de uma lista completa das siglas para quase todos os países.
Muitas vezes, para quem usa WindowsAuthentication, é necessáriao verificar o grupo do usuário logado para garantir permissões em certas áreas do sistema.
Eis um código bem simples (.NET 2.0) que faz isso:
Imports System.Security.Principal
Imports System.Threading
Dim objUser As WindowsPrincipal = DirectCast(Thread.CurrentPrincipal, WindowsPrincipal)
Dim blnAuth As Boolean = objUser.IsInRole("Administrators")
Note: O método IsInRole valida e retorna True se o usuário logado estiver contido no grupo informado no parâmetro.