ALTERNATIVAS PARA CARREGAR VARIAVEIS .TXT

OLAFOTTE 23/01/2012 13:25:54
#393882
Olá pessoal,

Sou novo no vbmania e gostaria de pedir uma ajuda sobre leitura de arquivo texto. Tenho que ler um .txt com propriedades=valor.

Exemplo:

Potencia=1000
ClasseTensaoBT=1.1
Fases=3
NumeroEspirasBT=16
MaterialCondutorBT=Alumínio

Como podem ver, pode ser integer, double ou string.

Estou fazendo um programa que lê esse arquivo, guarda esses valores nas respectivas variáveis, assim:

[ô][ô][ô] <summary>
[ô][ô][ô] Le o arquivo de configuração
[ô][ô][ô] </summary>
Public Sub Importacao()

Dim Array() As String
Dim oStreamReader As New IO.StreamReader(My.Application.Info.DirectoryPath & [Ô]\781599.txt[Ô], System.Text.Encoding.Default)

Do While oStreamReader.Peek <> -1

Array = oStreamReader.ReadLine.Split(Convert.ToChar([Ô]=[Ô]))

Dim Nome As String = Array(0)
Dim Valor As String = Array(1)

Select Case Nome

Case [Ô]Potencia[Ô]
Me.Potencia = Valor
Case [Ô]ClasseTensaoBT[Ô]
Me.ClasseTensaoBT = Valor
Case [Ô]Fases[Ô]
Me.Fases = Valor
Case [Ô]NumeroEspirasBT[Ô]
Me.NumeroEspirasBT = Valor
Case [Ô]MaterialCondutorBT[Ô]
Me.MaterialCondutorBT = Valor

End Select

Loop

oStreamReader.Close()

End Sub


Assim, leio o nome da variável, faço a comparação de case e guardo o valor no local correto.

Porém tenho mais de 400 variáveis para listar. A pergunta que faço é:

Existe alguma outra forma de eu guardar esses valores no meu programa, vindos de um txt? Posso alterar a formatação do txt, mas não posso mudar a extensão do mesmo.

Qualquer ideia será bem vinda!

Agradeço desde já!
ASHKATCHUP 23/01/2012 13:30:24
#393883
Tu pode usar reflection.

Já ouviu falar?

ASHKATCHUP 23/01/2012 13:33:27
#393884
Qualquer coisa, te faço um exemplo e posto aqui no fim da tarde. Infelizmente agora estou no trabalho e não tenho como fazer um exemplo.
OLAFOTTE 23/01/2012 14:20:39
#393886
Estou procurando na net sobre [Ô]reflection[Ô]. Pode ser que isso seja o que eu estou procurando. Obrigado pela ajuda!
Tópico encerrado , respostas não são mais permitidas