sábado, 5 de março de 2016

Vb.net - Regex - Validando email

Função para validar email utilizando regex

Function ValidaEmail(ByVal emailAddress As String) As Boolean
        ' Verifica se há caracteres inválidos no email
        ' Pattern ou mascara de verificação
        Try
            Dim pattern As String = "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"
            Dim emailAddressMatch As Match = Regex.Match(emailAddress, pattern)

            ' Caso corresponda
            If emailAddressMatch.Success Then
                Return True
            Else
                Return False
            End If
        Catch ex As Exception
            MyMsgBox("Email inválido", "Ativação", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            Return False
        End Try
    End Function

Vb.net - Regex - Eliminando acentos e caracteres especiais

Imports System.Text.RegularExpressions
Public Function ElimaCaracterEspecial(ByVal pTexto As String) As String
        pTexto = Regex.Replace(pTexto, "[áàâãª]", "a")
        pTexto = Regex.Replace(pTexto, "[ÁÀÂÃ]", "A")
        pTexto = Regex.Replace(pTexto, "[éèêë]", "e")
        pTexto = Regex.Replace(pTexto, "[ÉÈÊË]", "E")
        pTexto = Regex.Replace(pTexto, "[íìî]", "i")
        pTexto = Regex.Replace(pTexto, "[ÍÌÎ]", "I")
        pTexto = Regex.Replace(pTexto, "[óòôõº]", "o")
        pTexto = Regex.Replace(pTexto, "[ÓÒÔÕ]", "O")
        pTexto = Regex.Replace(pTexto, "[úùû]", "u")
        pTexto = Regex.Replace(pTexto, "[ÚÙÛÜ]", "U")
        pTexto = Regex.Replace(pTexto, "[ç]", "c")
        pTexto = Regex.Replace(pTexto, "[Ç]", "C")
        pTexto = Regex.Replace(pTexto, "[^0-9a-zA-Z]+", "")
        Return pTexto
    End Function

sexta-feira, 4 de março de 2016

Vb.net - Editando em tempo de depuração em 64-bit

One of the most popular features in the Visual Studio debugger is the ability to edit code during a debug session and have the changes apply without having to stop the debugger, recompile the application and then run the application to verify the changes. This feature is affectionately known as "Edit and Continue" or "E&C" for short.
Unfortunately, Edit and Continue isn’t supported on 64-bit. In fact, if you try to use Edit & Continue when debugging a 64-bit application, you get the following error message: "Changes to 64-bit applications are not allowed", as shown below.
Edit and Continue dialog
Many users may not be aware that by default, when you create a C# or VB project in Visual Studio 2008, the "Platform" for the project is set to "Any CPU". This means that if you run your application on a 32-bit operating system, your application will run as a 32-bit process and similarly, if you run your application on a 64-bit operating system, the application will be 64-bit. The consequence of "Any CPU" is that when you try to debug your application on a 64-bit operating system, you won’t be able to use the Edit and Continue feature.
However, there is a workaround. During development, you can set the Platform for your project to 32-bit which means that your application will run as a 32-bit process even on a 64-bit operating system. This is known as WOW64 or "Windows On Windows" which basically means that you can run a 32-bit application on a 64-bit operating system.
So, how do you set the Platform for your project to 32-bit? Well, you need to create a 32-bit platform using the Visual Studio Configuration Manager. Here is a short walkthrough.
First, open the "Configuration Manager" dialog from Build –> Configuration Manager. The Configuration Manager dialog is shown below.
Configuration Manager
On the Configuration Manager dialog, select "New…" from the "Active solution platform" dropdown, as shown here.
Create New Platform
On the "New Solution Platform" dialog, select "x86" and press the OK button.
New Solution Platform dialog
That’s it! Your project is now compiled as a 32-bit application and therefore, it also runs as a 32-bit process.
An important note to remember is that if you are planning to deploy your application to a 64-bit machine and you want the application to run as a 64-bit process, don’t forget to set the project platform back to "Any CPU" and compile the project.

Vb.net Diferença entre datas

    Dim date1 As Date
    Dim date2 As Date
    Dim result As Integer

    ' Atribui datas as variáveis
    date1 = #1/1/2009#
    date2 = Date
    
    ' Calcula a diferenca em dias
    result = DateDiff("d", date1, date2)
    
    ' Mostra o resultado
    MsgBox result

Retorna um valor do tipo Long que especifica o número de intervalos de tempo entre os dois valores tipo Date.
Public Overloads Function DateDiff( _
    ByVal Interval As [ DateInterval | String ], _
    ByVal Date1 As DateTime, _
    ByVal Date2 As DateTime, _
    Optional ByVal DayOfWeek As FirstDayOfWeek = FirstDayOfWeek.Sunday, _
    Optional ByVal  WeekOfYear As FirstWeekOfYear = FirstWeekOfYear.Jan1 _
) As Long

Parâmetros

Interval
Obrigatório. Valor de enumeração DateInterval ou expressão String representando o intervalo de tempo que você deseja utilizar como a unidade de diferença entre Date1 e Date2.
Date1
Obrigatório. Date . A primeira data / valor temporal você deseja usar no cálculo.
Date2
Obrigatório. Date . O segundo valor de data/time que você deseja usar no cálculo.
DayOfWeek
Opcional. Um valor escolhido da enumeração FirstDayOfWeek que especifica o primeiro dia da semana. Se não especificado,FirstDayOfWeek.Sunday é usado.
WeekOfYear
Opcional. Um valor escolhido da enumeração FirstWeekOfYear que especifica o primeiro dia da semana. Se não especificado,FirstWeekOfYear.Jan1 é usado.

Configurações

O argumento Interval pode ter uma das seguintes configurações.
Valor de enumeração
Valor de seqüência de caracteres
Unidade de time diferença
DateInterval.Day
"d"
Dia
DateInterval.DayOfYear
"y"
Dia
DateInterval.Hour
"h"
Hora
DateInterval.Minute
"n"
Minuto
DateInterval.Month
"m"
Mês
DateInterval.Quarter
"q"
Trimestre
DateInterval.Second
"s"
Segundo
DateInterval.Weekday
"w"
Semana
DateInterval.WeekOfYear
"ww"
Calendário semanal
DateInterval.Year
"aaaa"
Ano
O argumento DayOfWeek pode ter uma das seguintes configurações.
Valor de enumeração
Valor
Descrição
FirstDayOfWeek.System
0
Primeiro dia da semana especificado nas configurações do sistema
FirstDayOfWeek.Sunday
1
Domingo (padrão)
FirstDayOfWeek.Monday
2
Segunda-feira (compatível com padrão 8601, Seção 3.17 ISO)
FirstDayOfWeek.Tuesday
3
Terça-feira
FirstDayOfWeek.Wednesday
4
Quarta-feira
FirstDayOfWeek.Thursday
5
Quinta-feira
FirstDayOfWeek.Friday
6
Sexta-feira
FirstDayOfWeek.Saturday
7
Sábado
O argumento WeekOfYear pode ter uma das seguintes configurações.
Valor de enumeração
Valor
Descrição
FirstWeekOfYear.System
0
Primeira semana do ano especificado nas configurações do sistema
FirstWeekOfYear.Jan1
1
Semana em que 1 º de janeiro ocorre (padrão)
FirstWeekOfYear.FirstFourDays
2
Semana que tenha pelo menos quatro dias no novo ano (obedece padrão ISO 8601, seção 3.17 )
FirstWeekOfYear.FirstFullWeek
3
Primeira semana completa do ano novo

Exceções

Tipo de exceção
Número de erro
Condição
5
De inválidoInterval.
5
Date1Date2, ou DayofWeek está fora do intervalo.
Date1 ou Date2 é de um tipo inválido.

quarta-feira, 2 de março de 2016

Abrir mais de uma instância do Google Drive

Script para abrir mais de uma instância do Google Drive (Windows) e sincronizar múltiplas contas. Lembrando que neste caso a pasta do Google Drive está na variável PATH do sistema.
gsync.bat
@ECHO OFF
SET USERNAME=username@email.com
SET USERPROFILE=%~dp0%USERNAME%
MD "%USERPROFILE%\AppData\Roaming">nul
MD "%USERPROFILE%\AppData\Local\Application Data">nul
MD "%USERPROFILE%\Application Data">nul
MD "%USERPROFILE%\Local Settings\Application Data">nul
MD "%USERPROFILE%\My Documents">nul
MD "%USERPROFILE%\Documents">nul
START googledrivesync

Fonte: https://gist.github.com/ricardoriogo/8148668
Related Posts Plugin for WordPress, Blogger...