Sexta-feira, 20 de agosto de 2004 às 13h25

Mais diferenças entre o VB6 e o VB.NET

Faltam -1 dias! Inscreva-se agora! O maior encontro de profissionais web da américa latina.

Olá leitores iMasters! Hoje mostraremos mais algumas das principais diferenças entre o Visual Basic 6.0 e o Visual Basic .Net.

Contexto

O Visual Basic .Net muda a maneira de suporte a vários elementos de programação, na maior parte de sua interoperabilidade com o (CLR) common language runtime.

Muitos elementos do Visual Basic 6.0 são rebatizados, reclassificados, ou combinados com outros elementos de programação para o Visual Basic .NET

Diversos elementos não são mais suportado , porque a (CLR)common language runtime inclui uma funcionalidade que os tornam desnecessários.

Abaixo veremos uma lista com algumas das mudanças ocorridas nos elementos durante a evolução da linguagem e suas recolocações.

Elementos do Visual Basic 6.0

Equivalente no Visual Basic .Net

Função AscB

Este exemplo usa a função do Asc retornar os códigos de caráter do inteiro que correspondem à primeira letra em cada String

Dim MyInt As Integer MyInt = Asc( "A" ) " MyInt ajusta para 65.

MyInt = Asc( "a" ) " MyInt ajusta para 97.

MyInt = Asc( "Apple" ) " MyInt ajusta para 65.

Tipo As Any

Este método não é mais suprotado pelo Visual Basic .Net

No Visual Basic 6.0 você pode declarar variáveis de diferente datilografa dentro a mesma indicação, sendo que você deve especificar o tipo de dados de cada variável. O seguinte exemplo mostra declarações múltiplas e seus tipos de dados resultantes:

Dim I, J As Integer

Dim L As Integer, M As Integer

Dim N As Integer, X As Double

No Visual Basic .Net você pode declarar variáveis múltiplas do mesmo tipo de dados sem ter que repetir o tipo keyword.

As declarações equivalentes àquelas no exemplo precedente são como segue :

Dim I " I é do tipo Object.

Dim J As Integer " J é do tipo Integer. " OU

Dim I As Object, J As Integer " I é do tipo Object, J é do tipo Integer.

Dim L, M As Integer " L é do tipo Integer, M é do tipo Integer.

Dim N As Integer, X As Double " N é do tipo Integer, X é do tipo Double.

Tipo de dados Currency Dim My_Var as Decimal
Tipo Empty Nothing
Tipo Null Nothing
Tipo Scale Não é mais suportado
Tipo Time TimeOfDay (Proriedade)
Tipo Variant Object

ALGUMAS FUNÇÕESMATEMÁTICAS

EM VISUAL BASIC 6.0

EM VISUAL BASIC .NET

Valor Absoluto - Absolute valor - Abs - Dado um número , a função valor absoluto retorna o valor positivo para este número. Ex: abs(-15) = 15

abs(valor)

imports System.Math

Abs( valor )

ou se não desejar usar a declaração : imports System.Math

Math.Abs(numero)

Ceiling -Retorna o menor número inteiro maior que ou igual ao número especificado.

VB 6 não possui esta função. Podemos usar o código a seguir:

public function Ceil(valor as double)

     Ceil = CDbl(CLng(valor + 0.5))

end function

Clng arredonda para o decimal mais próximo para forçar somamos 0.5. Só funcionará para valores entre -2,147,483,648 e 2,147,483,647.

métdo Ceiling shared

imports System.Math

Ceiling ( valor )

Esta função retorna um  double.

 

Exp - e elevado a potência de um número indicado

Função exp  - Retorna um double.

exp ( valor as number )

métdo Exp shared - Retorna um double.

imports System.Math

Exp ( valor )

Exponenciação - Pow ( VB6 operador ^)

Operador :  ^  =  base ^ power

x ^ y

Retorna um double .

métdo Pow shared - Retorna um double.

imports System.Math

Pow ( base , power )   ou Math. Pow ( base , power )

Floor - Retorna o maior número inteiro menor que ou igual ao número especificado.

VB 6 não possui esta função. Podemos uar o código abaixo:d

public function Floor(valor as double)

     Floor = CDbl(CLng(valor - 0.5))

end function

Só funciona na faixa de valores -2,147,483,648 e 2,147,483,647 .

métdo Floor shared

imports System.Math

Floor ( valor )  ou Math.Floor(Valor)

Retorna um double.

Logarítimo

função  log  - Retorna um double.

Log ( valor as number )

método Log shared , base e - Retorna um double.

imports System.Math

Log ( valor )

ou

 método Log10 shared  - Retorna um double.

imports System.Math

Log10 ( valor )

ou

 método Log shared , qualquer base - Retorna um double.

imports System.Math

Log ( valor, base )

Max - retorna o maior valor entre dois valores

O VB 6 não possui esta função . Podemos usar o código abaixo:

Function Max(valor1 as Double, valor2 as Double) as Double

    if (valor1 > valor2 2) then
        Max = valor1

    else
        Max = valor2

    end if

End Function

método Max shared

imports System.Math

Max ( valor1 , valor2 )

valor1 and valor2 precisam ser do mesmo tipo.

Min - retorna o menor valor entre dois valores.

VB 6 não possui esta função . Podemos usar o código abaixo:

Function Min(valor1 as Double, valor2 as Double) as Double

    if (valor1 < valor2 2) then
        Min = valor1

    else
        Min = valor2

    end if

End Function

método Min shared

imports System.Math

Min ( valor1 , valor2 )

valor1 and valor2 precisam ser do mesmo tipo.

Gerar números aleatórios

Função Rnd

Rnd ([ numero ])

Função Randomize

Randomize ([ semente ])

Retorna um valor double contendo um número aleatório entre 0 e 1 com até 7 casas decimais.

  • No VB, Rnd pode tomar um argumento opcional que determina o tipo de números aleatórios retornados:
  • Se numero < 0 : o mesmo número usando o numero como semente
  • Se numero > 0 : o próximo número aleatório na sequência.
  • Se numero = 0 : o número mais recente gerado.
  • nenhum valor fornecido: o próximo número aleatório na sequência.

O VB possui a declaração Randomize que realimenta o gerador de números usando a semente para alimentar o gerador.

classe Random

A plataforma .NET fornece a classe  Random para gerar números aleatórios:

A classe Random fornece dois construtores:

  • Random (), cria uma instância da classe usando o valor da semente baseada na hora atual.
  • Random ( semente ), cria uma instância da classe usando um semente do tipo integer como valor da semente.

Um gerador de números randômicos usa o valor da semente para gerar uma sequência de números pseudo-randômicos. Quando você quer um novo número randômico , o gerador fornece o próximo número naquela sequência. É por isto que todos os métodos da classe Random começam com Next.

Método Next

O método Next retorna um inteiro randômico. Há três variações:

  • myRandom.Next(), retorna um inteiro positivo no intervalo de 0 a 2,147,483,646
  • myRandom.Next(valor) , retorna um inteiro positivo no intervalo de 0 até ( valor - 1 ) . valor precisa ser um interiro maior ou igual a zero.
  • myRandom . Next ( MenorValor , MaiorValor ), retorna um inteiro positivo no intervalo de Menor Valor até ( MaiorValor - 1 ) . MenorValor e MaiorValor . Precisa ser inteiros e MaiorValor deve ser maior ou igual a  MenorValor .

Método NextDouble

myRandom . NextDouble ()

Este método retorna um randômico do tipo double entre 0.0 e 1.0. 

método NextBytes

myRandom . NextBytes ( myByteArray )

Este métdo preenche um dado array de bytes com valores randômicos.

Bom, por enquanto vou ficando por aqui, mas estarei dando continuidade a esta matéria na proxima semana, fiquem ligados . Até lá e não se esqueçam, qualquer dúvida mandem para meu e-mail, prometo responder a todos.

Abraço a todos.

2 comentários

 Márcio Souza
20/08/2004 18h23

Variaveis

me desculpe, mas pelos meus conhecimentos se vc declarar
Dim I, J As Integer
I = Variant
J = Integer
me corrijam se eu estiver errado, obrigado

 Francielle Oliveira da luz
16/04/2007 14h49

variveis

nunca tentei mais no vb.net você pode recriar instancias com o mesmo objeto ex: dim obj as new clcli,obj=new clcli("hum")

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


Sobre o Autor
Alex Mello é Consultor da HexaBite, Microsoft Certified Professional (MCP) em .Net, Técnico em Informática e Instrutor Visual Basic, ASP e SQL Server.

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.