LOGIN:

iMasters | Por uma internet mais criativa e dinâmica

Feeds

VB .net

Feed da seção VB .net

Newsletter de VB .net


Sexta-feira, 08/08/2008 - 10:30 - Por Felipe Gondim
Seções relacionadas:

Environment: Capturando informações sobre o ambiente da aplicação usando o VB.Net

Embora as aplicações .Net habitualmente estejam em uma máquina baseada no Windows, diversas características do sistema variarão. Por exemplo, pode ser necessário conhecer o nome da máquina, quais são as pastas locais, conhecer a versão do sistema operacional, o nome do usuário atual, e assim por diante. Muitas vezes é importante conhecer alguns detalhes do ambiente em que a aplicação está funcionando.

O .Net Framework fornece uma classe para atender a essa necessidade de maneira rápida e simples. Apresento-lhes a classe Environment no namespace System. Mostrarei aqui como obter essas informações utilizando a classe System.Environment.

Você pode acessar essas informações através de métodos e propriedades disponíveis na classe. Vamos conhecê-los antes de mergulharmos nos exemplo.

Métodos

Exit: encerra o processo atual e marca o exit code do processo para o valor especificado. O exit code deve ser passado para o método como um inteiro.

GetCommandLineArgs: retorna os argumentos especificados na linha de comando como um array de strings.

GetEnvironmentVariable: retorna o valor de uma variável de ambiente específica como um string - deve-se passar o nome da variável de ambiente para o método.

GetEnvironmentVariables: retorna todas as variáveis de ambiente e suas configurações atuais como um objeto IDictionary.

Propriedades

CommandLine: Propriedade "read-only" do tipo string, retorna os dados passado na linha de comando quando o processo atual foi inicilizado.

ExitCode: Propriedade "read/write" do tipo integer, fornece acesso para um código de saida ("exit code") do processo. O valor do System.Environment.ExitCode é retornado se um processo não retorna um valor quando é finalizado.

HasShutdownStarted: Propriedade "read-only" do tipo boolean, indica se uma aplicação já iniciou o processo de parada.

NewLine: Propriedade "read-only" do tipo string, retorna o caractere de nova linha para a plataforma atual.

TickCount: Propriedade "read-only" do tipo integer, retorna em milissegundos o tempo passado desde o inicio do sistema. (Não pode ser menor que 500).

Version: Propriedade "read-only" do tipo Version, retorna a versão atual do sistema. Ele é retornado como um objeto Version, junto com muitas outras propriedades.

Exemplos:

Crie um novo projeto do VB.Net; no exemplo utilizei o formulário criado automaticamente pelo VS. Abaixo temos o código completo do formulário:

Option Explicit On
Option Strict On
Option Compare Binary

Imports System.Environment

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim sDrivers As String = ""

        ´Mostra o usuário e a versão do sistema
        Teste_1()
        ´Argumentos de inicialização
        Teste_2()

        MessageBox.Show("Nome do sistema operacional: " & OSVersion.ToString)
        MessageBox.Show("Versão do sistema: " & Environment.Version.ToString)
        MessageBox.Show("Tempo desde o último boot: " & Mid(Convert.ToString((Environment.TickCount / 3600000)), 1, 5) & " :horas")
        MessageBox.Show("Diretório do sistema: " & Environment.SystemDirectory.ToString)
        MessageBox.Show("Nome do computador: " & Environment.MachineName.ToString)
        MessageBox.Show("Diretório corrente: " & Environment.CurrentDirectory.ToString)
        MessageBox.Show("User domain name: " & Environment.UserDomainName.ToString)
        MessageBox.Show("Working set: " & Environment.WorkingSet.ToString)
        MessageBox.Show("Pega a linha de comando para esse projeto: " & Environment.CommandLine.ToString)
        For i As Integer = 0 To Environment.GetLogicalDrives.Length - 1
            sDrivers = sDrivers & Environment.GetLogicalDrives(i) & ", "
        Next
        sDrivers = "Drivers do computador: " & sDrivers
        sDrivers = Microsoft.VisualBasic.Left(sDrivers, Len(sDrivers) - 2)
        MessageBox.Show(sDrivers)
        Me.Close()

    End Sub

    ´Nesta procedure, os valores retornados dependem do seu sistema.
    Public Sub Teste_1()
        Dim v As Version
        MessageBox.Show("Usuário atual: " & Environment.UserName)
        v = Environment.Version
        MessageBox.Show("Build: " & v.Build.ToString())
        MessageBox.Show("Master: " & v.Major.ToString())
        MessageBox.Show("Minor: " & v.Minor.ToString())
        MessageBox.Show("Revision: " & v.Revision.ToString())
    End Sub

    ´Aqui temos todos os argumentos passados quando o processo foi chamado    
    Public Sub Teste_2()
        Dim cr As String
        Dim teste() As String
        Dim x As Integer
        cr = Environment.NewLine
        teste = Environment.GetCommandLineArgs()
        For x = 0 To (teste.Length - 1)
            Console.Write(teste(x) + cr)
        Next x
    End Sub
End Class

Como disse anteriormente a classe Environment fornece um solução rápida e fácil para o desenvolvedor acessar as informações do ambiente onde o sistema está funcionando.

Nos três exemplos acima vimos como recuperar informações do ambiente da aplicação, isso inclui o seguinte:

  • Command-line arguments
  • Exit codes
  • Environment variable settings
  • Contents of the call stack
  • Time since last system boot
  • Version of the execution engine

Espero que este artigo tenha contribuido para seu crescimento, sinta-se a vontade para entrar em contato comigo para maiores esclarecimentos sobre o assunto do artigo ou qualquer outra dúvida, ajudarei da melhor forma possível.

Até o próxima artigo!!!

Links relacionados:

MSDN - Documentação oficial da Microsoft

http://msdn.microsoft.com/en-us/library/system.environment.aspx

Embora as aplicações .Net habitualmente estejam em uma máquina baseada no Windows, diversas características do sistema variarão. Por exemplo, pode ser necessário conhecer o nome da máquina, quais são as pastas locais, conhecer a versão do sistema operacional, o nome do usuário atual, e assim por diante. Muitas vezes é importante conhecer alguns detalhes do ambiente em que a aplicação está funcionando.

O .Net Framework fornece uma classe para atender a essa necessidade de maneira rápida e simples. Apresento-lhes a classe Environment no namespace System. Mostrarei aqui como obter essas informações utilizando a classe System.Environment.

Você pode acessar essas informações através de métodos e propriedades disponíveis na classe. Vamos conhecê-los antes de mergulharmos nos exemplo.

Métodos

Exit: encerra o processo atual e marca o exit code do processo para o valor especificado. O exit code deve ser passado para o método como um inteiro.

GetCommandLineArgs: retorna os argumentos especificados na linha de comando como um array de strings.

GetEnvironmentVariable: retorna o valor de uma variável de ambiente específica como um string - deve-se passar o nome da variável de ambiente para o método.

GetEnvironmentVariables: retorna todas as variáveis de ambiente e suas configurações atuais como um objeto IDictionary.

Propriedades

CommandLine: Propriedade "read-only" do tipo string, retorna os dados passado na linha de comando quando o processo atual foi inicilizado.

ExitCode: Propriedade "read/write" do tipo integer, fornece acesso para um código de saida ("exit code") do processo. O valor do System.Environment.ExitCode é retornado se um processo não retorna um valor quando é finalizado.

HasShutdownStarted: Propriedade "read-only" do tipo boolean, indica se uma aplicação já iniciou o processo de parada.

NewLine: Propriedade "read-only" do tipo string, retorna o caractere de nova linha para a plataforma atual.

TickCount: Propriedade "read-only" do tipo integer, retorna em milissegundos o tempo passado desde o inicio do sistema. (Não pode ser menor que 500).

Version: Propriedade "read-only" do tipo Version, retorna a versão atual do sistema. Ele é retornado como um objeto Version, junto com muitas outras propriedades.

Exemplos:

Crie um novo projeto do VB.Net; no exemplo utilizei o formulário criado automaticamente pelo VS. Abaixo temos o código completo do formulário:

Option Explicit On
Option Strict On
Option Compare Binary

Imports System.Environment

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim sDrivers As String = ""

        ´Mostra o usuário e a versão do sistema
        Teste_1()
        ´Argumentos de inicialização
        Teste_2()

        MessageBox.Show("Nome do sistema operacional: " & OSVersion.ToString)
        MessageBox.Show("Versão do sistema: " & Environment.Version.ToString)
        MessageBox.Show("Tempo desde o último boot: " & Mid(Convert.ToString((Environment.TickCount / 3600000)), 1, 5) & " :horas")
        MessageBox.Show("Diretório do sistema: " & Environment.SystemDirectory.ToString)
        MessageBox.Show("Nome do computador: " & Environment.MachineName.ToString)
        MessageBox.Show("Diretório corrente: " & Environment.CurrentDirectory.ToString)
        MessageBox.Show("User domain name: " & Environment.UserDomainName.ToString)
        MessageBox.Show("Working set: " & Environment.WorkingSet.ToString)
        MessageBox.Show("Pega a linha de comando para esse projeto: " & Environment.CommandLine.ToString)
        For i As Integer = 0 To Environment.GetLogicalDrives.Length - 1
            sDrivers = sDrivers & Environment.GetLogicalDrives(i) & ", "
        Next
        sDrivers = "Drivers do computador: " & sDrivers
        sDrivers = Microsoft.VisualBasic.Left(sDrivers, Len(sDrivers) - 2)
        MessageBox.Show(sDrivers)
        Me.Close()

    End Sub

    ´Nesta procedure, os valores retornados dependem do seu sistema.
    Public Sub Teste_1()
        Dim v As Version
        MessageBox.Show("Usuário atual: " & Environment.UserName)
        v = Environment.Version
        MessageBox.Show("Build: " & v.Build.ToString())
        MessageBox.Show("Master: " & v.Major.ToString())
        MessageBox.Show("Minor: " & v.Minor.ToString())
        MessageBox.Show("Revision: " & v.Revision.ToString())
    End Sub

    ´Aqui temos todos os argumentos passados quando o processo foi chamado    
    Public Sub Teste_2()
        Dim cr As String
        Dim teste() As String
        Dim x As Integer
        cr = Environment.NewLine
        teste = Environment.GetCommandLineArgs()
        For x = 0 To (teste.Length - 1)
            Console.Write(teste(x) + cr)
        Next x
    End Sub
End Class

Como disse anteriormente a classe Environment fornece um solução rápida e fácil para o desenvolvedor acessar as informações do ambiente onde o sistema está funcionando.

Nos três exemplos acima vimos como recuperar informações do ambiente da aplicação, isso inclui o seguinte:

  • Command-line arguments
  • Exit codes
  • Environment variable settings
  • Contents of the call stack
  • Time since last system boot
  • Version of the execution engine

Espero que este artigo tenha contribuido para seu crescimento, sinta-se a vontade para entrar em contato comigo para maiores esclarecimentos sobre o assunto do artigo ou qualquer outra dúvida, ajudarei da melhor forma possível.

Até o próxima artigo!!!

Links relacionados:

MSDN - Documentação oficial da Microsoft

http://msdn.microsoft.com/en-us/library/system.environment.aspx

Todos os artigos de Felipe Gondim

0 comentários publicados

Poste um comentário


Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.

Sobre o autor

Felipe Gondim é estudante do curso de ciência da computação, há 7 anos trabalha com Visual Basic 6 e há 3 anos também com VB.Net. Possui também um bom conhecimento de MySQL.


Indique para um amigo

captcha

TI SHOP Produtos iMasters

  • Lançamento: CD-ROM Treinamento Aplicado de SQL - Lançamento! Treinamento Aplicado de SQL - Aprenda a trabalhar com SQL com bancos de dados Oracle e SQL Server. São mais de 100 tópicos explicados por Mauro Pichilliani, um articulistas mais lidos do iMasters. Aproveite! Apenas R$ 69,90 no TI SHOP.
  • Lançamento: Livro iMasters "O Encontro de 2 Mundos"- Este livro conta com 56 crônicas de profissionais mais admirados e influentes do mercado brasileiro de Internet. Aproveite o preço especial para leitores do iMasters. Apenas R$ 40,00 e envio imediato!
  • DVD Curso Completo de Photoshop - Do conceito à finalização Lançamento! Curso Completo de Photoshop, em DVD, com mais de 230 aulas dividas em 4 módulos: conceito, básico, avançado e finalização. Apenas R$ 69,50 no TI SHOP - Frete com 50% de desconto
  • DVD Javascript Starter - Curso Completo Com mais de 9 horas de vídeo-aulas, é um curso completo sobre Javascript. Ideal para quem deseja aprender a linguagem. Apenas R$ 64,90 no TI SHOP - Frete com 50% de desconto!

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