Windows Forms - Variáveis
Module Tipos_de_variaveis
em C#
sByte bytecomsinal = 0; short byte
Valores de retorno : 0=ok -1 = erro
Tipo Enum
Enum UserType ' são basicamente números que são trocados por nomes
Admin ' elemento 0
Guest ' elemento 1
Other ' elemento 2
End Enum
' exemplo de declaração de variáveis
Tipos básicos
'aqui você pode declarar variáveis que podem ser utilizadas pelas classes - Seriam as variáveis globais
' mas não pode fazer operações matematicas, redimensionar matrizes ou qualquer outra operação com as variáveis
Dim CodigoErro As System.Int32
Dim MeuNome As System.String
Dim SeuNome As String
Dim CodigoErro2 As Integer = 10
Dim NomeDele As String = "Mateus"
Dim Numero1 As Integer ' Numero1 agora contém o valor 0 '(1)
Dim StringVariavel1 As String = "Isto é um string"
Dim StringVariavel2 = "Isto também é um string"
Dim MysteryVariable1 = 10 ' cria uma variável inteira
Dim MysteryVariable2 = 10.1 ' cria uma variável double
Arrays
Dim ArrayString(3) As String ' Cria um array de quatro strings (de 0 até 3).
Dim ArrayInt(1, 3) As Integer ' Cria um array de 2 por 4 de variáveis inteiras dando um total de 8 variáveis inteiras.
Dim ArrayString2() As String = {"1", "2", "3", "4"} ' Cria um array de 4 string, um para cada número de 1 a 4.
Dim IntArray(,) As Integer = {{1, 2}, {3, 4}, {5, 6}, {7, 8}} ' Cria um array de 4 por 2 (uma grade de 4 linhas por 2 colunas).
Dim ArrayInt2() As Integer = {1, 2, 3, 4}
Dim Elemento1 As Integer '(2)
Dim ArrayInt3(,) As Integer = {{1, 2}, {3, 4}, {5, 6}, {7, 8}}
Dim Elemento2 As Integer '(3)
Dim MeuArray(10, 10) As Integer '(4)
Dim ListaDinamica As New ArrayList() '(6)
Dim Item As String = CType(ListaDinamica(0), String)
' enumeradores
Dim NewUserType As UserType '(7)
'operações com variáveis
Dim Numero As Integer '(8)
Public Sub DentroFuncao()
Dim MeuArray3(10, 10) As Integer '(5)
'1-Inteiro - Qualquer operação com variáveis deve ser feito dentro de um módulo ou função
Numero1 = Numero1 + 1 ' erro...esta operação tem que ser feita dentro de uma sub ou func
'2-Array : Atribuição de array
Elemento1 = ArrayInt2(2) ' Elemento agora tem o valor 3 ' erro...esta operação tem que ser feita dentro de uma sub ou func
'3-Array : Atribuição de array
Elemento2 = ArrayInt3(0, 1) 'erro...esta operação tem que ser feita dentro de uma sub ou func
'4-Array : Redimensionamento de arrays tem que ser feita dentro de uma sub ou func
ReDim MeuArray(20, 20) 'erro...esta operação tem que ser feita dentro de uma sub ou func
'5-Array : Redimensionamento de arrays tem que ser feita dentro de uma sub ou func
' Preserve só se o scopo da variável estiver junto com a redefinição da matriz...se for global dá erro
ReDim Preserve MeuArray3(10, 20)
ReDim Preserve MeuArray3(20, 20)
'6-ArrayList - Instanciar um objeto tem que ser feita dentro de uma sub ou func
ListaDinamica.Add("one")
ListaDinamica.Add("two")
ListaDinamica.Add("three")
'7-UserType - Instanciar um objeto tem que ser feita dentro de uma sub ou func
NewUserType = UserType.Admin
'8-Inteiro - Qualquer operação com variáveis deve ser feito dentro de um módulo ou função
Numero = 4 + 2 * 3
Numero = (4 + 2) * 3
Numero1 = Numero1 + 1 'Numero1 agora contém o valor 1
Elemento1 = ArrayInt2(2) 'Elemento agora tem o valor 3
Elemento2 = ArrayInt3(0, 1) 'Elemento2 agora tem o valor 2
ReDim MeuArray(20, 20) 'Redimensaiona o array
ListaDinamica.Add("one")
ListaDinamica.Add("two")
ListaDinamica.Add("three")
NewUserType = UserType.Admin
Numero = 4 + 2 * 3 ' Number will be 24.
Numero = (4 + 2) * 3 ' Number will be 18.
Dim PrimeiroNome = "Antonio"
Dim Sobrenome = "Bonito"
MeuNome = PrimeiroNome & " " & Sobrenome ' concatena ( soma ) strings
Dim MeuValor As Integer
MeuValor += 10 ' soma 10 ao valor da variavel
MeuValor *= 3 ' multiplica por 3
MeuValor /= 12 ' divide por 12 dá erro se Option Strict On
Dim MeuValor1 As Integer = 1
Dim MeuValor2 As Integer = 1
Dim MeuValor3 As Integer = 1
MeuValor = MeuValor1 + MeuValor2 + MeuValor3
' quebra de linha - continuação de linha
MeuValor = MeuValor1 + MeuValor2 + MeuValor3
' matematica avançada
Dim MeuValor4 As Double
MeuValor4 = Math.Sqrt(81) ' MeuValor4 = 9.0
MeuValor4 = Math.Round(42.889, 2) ' MeuValor4 = 42.89
MeuValor4 = Math.Abs(-10) ' MeuValor4 = 10.0
MeuValor4 = Math.Log(24.212) ' MeuValor4 = 3.18.. (and so on)
MeuValor4 = Math.PI ' MeuValor4 = 3.14.. (and so on)
' conversão de tipos : Menor para maior sempre dá certo...contrário não é verdade
Dim ValorGrande As Integer = 100
Dim ValorPequeno As Short
Dim MeuTexto2 As String = "100"
ValorPequeno = ValorGrande ' Converte ValorGrande de 32-bit em um número de 16-bits ( dá erro se Option Strict On ).
ValorGrande = MeuTexto2 ' Converte MeuTexto2 em um número ( dá erro se Option Strict On ).
ValorPequeno = CType(ValorGrande, Short)
ValorGrande = CType(MeuTexto2, Integer)
Numero1 = Val(MeuTexto2)
Dim MeuString2 As String
Dim MeuInteiro2 As Integer = 100
MeuString2 = MeuInteiro2.ToString()
' operações com string
Dim MeuString3 As String = "Isto é um teste de string "
MeuString3 = MeuString3.Trim() 'retorna "Isto é um teste de string" sem os espaços
MeuString3 = MeuString3.Substring(0, 4) 'retorna "Isto"
MeuString3 = MeuString3.ToUpper() 'retorna "ISTO"
MeuString3 = MeuString3.Replace("IS", "ES") 'retorna "ESTE"
Dim Length As Integer = MeuString3.Length 'retorna 4
MeuString3 = MeuString3.Trim().Substring(0, 4).ToUpper().Replace("IS", "AT")
MeuString3 = "alo".ToUpper() ' Seta Meustring3 para"ALO"
Dim MeuInt2 As Integer
MeuInt2 = "TESTE123".IndexOf("1") ' retorna 4
Dim a() As String
Dim b As String = "ISTO, EH, UM, TESTE"
Dim c As String
a = b.Split(",")
c = String.Join(",", a)
' datas e horarios
Dim MinhaData1 As DateTime = DateTime.Now
MinhaData1 = MinhaData1.AddDays(100)
Dim DateString As String = MinhaData1.Year.ToString()
Dim MinhaData2 As Date = DateTime.Now.AddHours(3000)
Dim Diferença1 As TimeSpan
Diferença1 = MinhaData2.Subtract(MinhaData1)
Dim NumeroDeMinutos As Double
NumeroDeMinutos = Diferença1.TotalMinutes
Dim MinhaData3 As DateTime = DateTime.Now
Dim Interval As TimeSpan = TimeSpan.FromHours(3000)
Dim MyDate2 As DateTime = MinhaData3 + Interval
' Subtracting one DateTime object from another produces a TimeSpan.
Dim Diferença2 As TimeSpan
Diferença2 = MyDate2 - MinhaData3
' tipo array
Dim MeuArray1() As Integer = {1, 2, 3, 4, 5}
Dim NumElementos1 As Integer
NumElementos1 = MeuArray1.Length ' NumElementos1 = 5
Dim MeuArray2() As Integer = {1, 2, 3, 4, 5}
Dim NumElementos2 As Integer
NumElementos2 = MeuArray2.GetUpperBound(0) ' NumElementos2 = 4
'if
Dim MeuNumero1 As Integer = 20
If MeuNumero1 > 10 Then
' faz algo1.
End If
If MeuString2 = "hello" Then
' faz algo 2.
End If
'case
Select Case MeuNumero1
Case 1
' Faz alguma coisa se MeuNumero1 = 1.
Case 2
' Faz alguma coisa se MeuNumero1 = 2.
Case 3, 5
' Faz alguma coisa se MeuNumero1 = 2.
Case Else
' Faz alguma coisa se MeuNumero1 for diferente de 1,2,3 e 5.
End Select
'loops - for
Dim i As Integer
For i = 1 To 10 Step 1
' Este código será executado 10 vezes.
Debug.Write(i & " ")
Next
'loops - For Each
Dim ArrayString1() As String = {"um", "dois", "tres"}
For Each Elemento2 As String In ArrayString1
' Este código será executado 3 vezes
Debug.Write(Elemento2 & " ")
Next
' do loop
Dim i2 As Integer = 0
Do
i2 += 1
' este código será executado 10 vezes.
Loop While i2 < 10
'(1)
Numero1 = Numero1 + 1 ' erro...esta operação tem que ser feita dentro de uma sub ou func
'(2)
Elemento1 = ArrayInt2(2) ' Elemento agora tem o valor 3 ' erro...esta operação tem que ser feita dentro de uma sub ou func
'(3)
Elemento2 = ArrayInt3(0, 1) 'erro...esta operação tem que ser feita dentro de uma sub ou func
'(4)
ReDim MeuArray(20, 20) 'erro...esta operação tem que ser feita dentro de uma sub ou func
'(5)
ReDim Preserve MeuArray3(10, 20) 'erro...esta operação tem que ser feita dentro de uma sub ou func
'(6)
ListaDinamica.Add("one") 'erro...esta operação tem que ser feita dentro de uma sub ou func
ListaDinamica.Add("two") 'erro...esta operação tem que ser feita dentro de uma sub ou func
ListaDinamica.Add("three") 'erro...esta operação tem que ser feita dentro de uma sub ou func
Dim Item As String = CType(ListaDinamica(0), String)
'(7)
NewUserType = UserType.Admin 'erro...esta operação tem que ser feita dentro de uma sub ou func
'(8)
Numero = 4 + 2 * 3 'erro...esta operação tem que ser feita dentro de uma sub ou func
Numero = (4 + 2) * 3 'erro...esta operação tem que ser feita dentro de uma sub ou func
End Sub
' em .NET funções e subs são chamados de métodos
Private Sub MinhaSub(ByVal void)
' Code goes here.
End Sub
Private Function MinhaFunc(ByVal void) As Integer
' Este método retorna um inteiro
' como exemplo irá retornar o valor 10.
Return 10 'a function sempre termina num return value
End Function
Private Sub Chamadora(ByVal void)
MinhaFunc(void)
End Sub
Private Function SomaNummeros(ByVal numero1 As Integer, ByVal numero2 As Integer) As Integer
Return numero1 + numero2
End Function
Public Sub OperacoesComMatrizes()
' objeto array - unidimensional
Dim MyArray() As Integer = {1, 2, 3, 4, 5} ' cria um array de 5 elementos de números inteiros e inicializa seu conteúdo
Dim NumberOfElements As Integer
NumberOfElements = MyArray.Length ' NumberOfElements terá o valor 5 - 5 elementos do array
Dim Bound As Integer
Bound = MyArray.GetUpperBound(0) ' Retorna 4 ( 5 elementos de 0 a 4 ) - Zero represents the first dimension of an array. - Bound = 4
' 0 é a primeira dimensão
Bound = MyArray.GetLowerBound(0) ' Retorna 0- Bound = 0
Array.Clear(MyArray, 0, MyArray.Length) ' limpa o array
Bound = Array.IndexOf(MyArray, 5) ' Procura pelo elemento 5 no array e retorna o indice se encontrar ' só para arrays unidimensionais
' objeto array - bidimensional
Dim IntArray(,) As Integer = {{1, 2}, {3, 4}, {5, 6}, {7, 8}} ' Create a 4 x 2 array (a grid with four rows and two columns).
Dim Rows, Columns As Integer
Rows = IntArray.GetUpperBound(0) + 1 ' Rows = 4 - 0 é a primeira dimensão
Columns = IntArray.GetUpperBound(1) + 1 ' Columns = 2 - 1 é a segunda dimensão
Array.Sort(MyArray) ' ordena o array
Array.Reverse(MyArray) ' inverte a ordem do array - o primeiro vira o último e vice-versa
Dim a() As String = Split(",", "a", "b", "c")
End Sub
End Module