VB.NET - Perguntas e respostas básicas
Hoje vamos responder algumas perguntas frequentes relacionadas ao VB .NET. |
Dim proc As New Process() proc.StartInfo.FileName = "Calc.exe" proc.StartInfo.Arguments = "" proc.Start() |
Dim p As Process For Each p In Process.GetProcesses ListBox1.Items.Add(p) Next p |
Dim versaoText As String = Environment.OSVersion.Version.ToString() MessageBox.Show(" Versão do sistema operacional : " & versaoText, "Versão SO", _ MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) |
Imports System.Net ... Dim s As String = "" Dim listaIPs As System.Net.IPAddress() = Dns.GetHostByName(Dns.GetHostName()).AddressList Dim i As Integer For i = 0 To listaIPs.Length - 1 s += listaIPs(i).ToString() + ControlChars.CrLf Next i textBox1.Text = s |
Para executar
qualquer aplicação Windows Forms a máquina do cliente vai precisar ter
instalado no mínimo o run time da plataforma .NET.
A Microsoft disponibiliza o dotnetredist.exe . O download é grátis e pode ser feito no link : Microsoft .NET Framework Redistributable |
6 Como obter o nome completo do assembly do código que esta sendo executado ?
MessageBox.Show(System.Reflection.Assembly.GetEnTryAssembly().GetName().Name) |
7 Como obter o informações sobre o assembly da minha aplicação .NET ?
Vamos usar o objeto Application e suas propriedades para obter informações sobre : versão , empresa, etc..
lblCompany.Text
= "Nome Empresa : " & Application.CompanyName.Trim lblProduct.Text = "Nome do Produto : " & Application.ProductName.Trim lblVersion.Text = "Versão " & Application.ProductVersion.Trim |
Para obter outras propriedades como titulo e descrição do assembly devemos usar o namespace System.Reflection:
Imports
System.Reflection
Dim aAssembly As [Assembly] = System.Reflection.Assembly.GetExecutingAssembly Dim aDescAttr As AssemblyDescriptionAttribute = AssemblyDescriptionAttribute.GetCustomAttribute(
_ Dim aTitleAttr As AssemblyTitleAttribute
= AssemblyTitleAttribute.GetCustomAttribute( _
Debug.WriteLine(aTitleAttr.Title) |
8 Como obter o caminho completo da minha aplicação ?
TextBox1.Text = Application.ExecutablePath |
Para saber o caminho do arquivo executável sem o nome do arquivo use:
TextBox1.Text = Application.StartUpPath() |
9 Como obter as pastas especiais do Windows no VB.NET ?
Pastas especiais são as pastas Meus Documents, Desktop, Favoritos, Documents and Settings, Cookies,.... etc.
' ' Declara uma variável especial do tipo SpecialFolder. ' Dim tipoPastaEspecial As System.Environment.SpecialFolder ' ' percorre todas as pastas especiais e as exibe no console ' For Each tipoPastaEspecial In typeSpecialFolder.GetValues(GetType(Environment.SpecialFolder)) Console.WriteLine(System.Environment.GetFolderPath(tipoPastaEspecial)) Next |
10 Como posso saber se minha aplicação já esta sendo executada ?
Uma forma de fazer isto no VB.NET é obter o nome do seu módulo principal e procurar na coleção dos processos em execução na sua máquina.
Imports
System.Diagnostics
Dim aModuleName As String = Diagnostics.Process.GetCurrentProcess.MainModule.ModuleName Dim aProcName As String = System.IO.Path.GetFileNameWithoutExtension(aModuleName) If Process.GetProcessesByName(aProcName).Length >
1 Then |
11 Como detectar quando um arquivo ou pasta foram alterados no VB.NET ?
A classe FileSystemWatcher do namespace System.IO já efetua esta verificação:
Imports
System.IO
' Cria um objeto FileSystemWatcher
passando a pasta a verficiar With fsw Public Sub OnChanged(ByVal source As Object, ByVal e
As FileSystemEventArgs)
Public Sub OnRenamed(ByVal source As Object, ByVal e As RenamedEventArgs) |
12 Como obter informações sobre a configuração de sua aplicação VB.NET?
Você pode criar um arquivo de configuração para sua aplicação .VB.NET. Além das configurações padrão você pode armazenar suas próprias configurações no arquivo de configuração (como fazia quando usava arquivos INI no VB 6.0).
Este arquivo de configuração é um arquivo XML que possui o mesmo nome que seu arquivo executável com a extensão adicional .config.
Para obter as informações do arquivo de configuração você pode usar o namespace System.Configuration.ConfigurationsSettings.AppSettings que permite retornar elementos da configuração da aplicação .
Abaixo temos um exemplo de um arquivo de configuração :
<configuration>
<appSettings> <add key="DatabaseConnectionString" value="Provider=Microsoft.Jet,..."/> <add key="ExcelNomeArquivo" value="C:\Worksheet.xls"/> </appSettings> </configuration> |
Para ler as informações do seu arquivo de configuração no VB.NET você pode usar o seguinte código :
Dim
aConfig As Configuration.ConfigurationSettings Dim aExcelArquivo As String = aConfig.AppSettings("ExcelArquivoNome") |
13 Como editar uma solução feita no VS 2003 usando uma versão anterior do Visual Studio ?
Se você tentar abrir uma solução criada no Visual Studio .NET 2003 com o VS.NET 2002 irá obter a seguinte mensagem de erro :
"The selected file is not a valid Visual Studio solution file."
Mas ainda existe uma esperança de abrir a solução na versão anterior , SE , ela não estiver usando nenhum dos novos recursos do VS.NET 2003.
Faça o seguinte :
1- Edite o arquivo de solução .sln usando o bloco de notas e altere a seguinte linha
Microsoft Visual Studio Solution File, Format Version 8.00 para Microsoft Visual Studio Solution File, Format Version 7.00 |
2- Edite o arquivo de projeto .vbproj com o bloco de notas e altere a seguinte linha :
ProductVersion =
"7.10.3077" para ProductVersion
= "7.0.9466" |
Salve e feche estes arquivos e então clique duas vezes no arquivo de solução .sln para abrir a solução no VS.NET.
14 Como posso ler dados do registro do Windows ?
Abaixo um exemplo que acesse o registro do Windows e lê o valor chamado DBConexao armazenado no registro.
Imports
Microsoft.Win32
Function GetDBConexao() As String Dim objRegKey As RegistryKey pobjRegKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\MyService\Parameters", False) If Not IsNothing(pobjRegKey) Then End Function |
14 Como posso alterar a data e hora de todos os arquivos em um pasta ?
Os métodos SetCreationTime, SetLastWriteTime, e SetLastAccessTime da classe System.IO.Directory permite que você altere o atributo de data de um arquivo ou diretório.
Ex:Altera a data de acesso dos arquivos da pasta c:\macoratti para a data atual.
'
Altera a data e hora de acesso de todos os arquivos em um pasta c:\macoratti: |
Você pode usar um critério para definir quais os arquivos que deseja que sejam alterados. Abaixo uma aplicação console que recebe os nomes dos arquivos como argumentos na linha de comando :
Dim args() As String = Environment.GetCommandLineArgs Console.ReadLine() |
Rápido e simples : VB.NET
Arriverdeci !!!