Desenvolvimento - Visual Basic .NET

VB.NET - Usando a classe Path

Neste artigo vou falar sobre o Namespace System.IO e em como ele pode facilitar a vida do programador Visual Basic.

por José Carlos Macoratti



Com o advento da plataforma .NET , programar ficou muito mais fácil para quem usava o Visual Basic. O VB .NET incorpora um conjunto de classes com poderosos recursos que facilitam a codificação e poupam o tempo de desenvolvimento.

Neste artigo vou falar sobre o Namespace System.IO e em como ele pode facilitar a vida do programador Visual Basic. Como existem muitas classes neste namespace irei começar falando da classe Path e alguns dos seus métodos.

Se você já precisou fazer tratamento de arquivos no VB sabe que existe toda uma codificação para trabalhar com arquivos , nomes de arquivos , extensão de arquivo , caminho de arquivo , etc.

Vou fazer uma comparação entre a forma de codificar usada no VB6 e a nova forma usando a classe Path. Para isto a primeira coisa é definir algumas variáveis que serão usadas no projeto:

Dim TesteCaminho As String
Dim nPos As Integer
Dim sNomeArquivo As String
Dim sCaminhoCompleto As String
Dim sExt As String
TesteCaminho = "c:\teste\vbnet\teste.txt"

A seguir irei realizar algumas tarefas e mostrar como se fazia antes e como se faz agora:

1- Obter o caminho de um arquivo a partir de uma string que contém o caminho e o nome do arquivo:

" obtem o caminho no vb6
nPos = InStrRev(TestePath, "\")
sCaminhoCompleto = Mid(TestePath, 1, nPos - 1)
MsgBox(sCaminhoCompleto)
VB 6
" obtem o caminho no VB .NET
sCaminhoCompleto = Path.GetDirectoryName(TestePath)
MsgBox(sCaminhoCompleto)
VB .NET

2- Obter a extensão de um arquivo a partir de uma string que contém o caminho e o nome do arquivo:

" obtem extensão no VB6
nPos = InStrRev(TesteCaminho, ".")
sExt = Mid(TesteCaminho, nPos)
MsgBox(sExt)
VB 6
" obtem extensão no VB .NET
sExt = Path.GetExtension(TesteCaminho)
MsgBox(sExt)
VB .NET

3- Obter o nome de um arquivo a partir de uma string que contém o caminho e o nome do arquivo:

Dim xmlExt As String
nPos = InStrRev(TesteCaminho, ".")
xmlExt = Mid(TesteCaminho, 1, nPos) & "xml"
MsgBox(xmlExt)


VB 6
"" Substituindo a extensão de um arquivo no VB.NET
xmlExt = Path.ChangeExtension(TesteCaminho, "xml")
MsgBox(xmlExt)
VB .NET

6- Criar um arquivo com nome único para evitar conflitos com outros arquivos porventura já existentes.

" criando um arquivo de nome único no VB6.
Dim sArqTemp As String
Dim h As Integer
h = FreeFile()

Do
sArqTemp = "c:\Temp" & Format(Now, "HHmmss")
Try
FileOpen(h,sArqTemp, OpenMode.Output, OpenAccess.Write)
Catch ex As Exception
End Try
If IO.File.Exists(sFN) Then
Exit Do
End If
Loop
MsgBox(sArqTemp)

VB 6
"" criando um arquivo de nome único no VB.NET
Dim sArqTemp As String = Path.GetTempFileName()
MsgBox(sArqTemp)
VB .NET

Existem muitos mais métodos a serem explorados e com certeza o resultado final será menos código necessário para realizar a mesma tarefa antes feita no VB 6.

Até o próximo artigo VB.NET .

José Carlos Macoratti

José Carlos Macoratti