DUVIDA COM ARRAYS - III
Eis o codigo:
Dim Linha(1 To 1200)
Dim iARQ As Integer
iARQ = FreeFile
Path = App.Path & "\Mapa" & Nummap & "\Mapa" & Nummap & "C" & Numcam & ".map"
Open Path For Input As iARQ
For i = 1 To 1200
Line Input #iARQ, Linha(i)
Next
' Assimilando valores lido em uma variavel temporaria 1 - 1200
Data1 = Split(Linha(1), "#")
Bom, deixe me explicar:
Tenho um arquivo texto que possue 1200 linhas...
CADA linha possui 1600 colunas
Vamos ao eu preciso...
Preciso saber se existe uma forma, de no line input, eu ja assimiliar a linha e a coluna sem precisar passar para uma variavel temporaria e depois pra array bi-dimensional...
Esta mais ou menos assim hoje:
Line Input #iARQ, Linha(i)
Data1 = Split(Linha(1), "#")
For i = 1 To 1600
Matriz_LC(1, i) = Data(b)
b = b + 1
Next
Oque esta acontecendo: A variavel linha recebe 1 linha até ler as 1200 linhas, logo a variavel linha é uma array 1 to 1200
A variavel Data1 recebe dividindo por colunas o valor da variavel Linha(1)
Após isso a Matriz (array bidimensional) quebra a array data e encaixa os valores nas colunas...
O Código funciona? Sim funciona... mas terei que escrever na MÃO 2.400 linhas para conseguir ter os valores nos seus devidos lugares, exemplo:
Data1 = Split(Linha(1), "#")
Data2 = Split(Linha(2), "#")
Data3 = Split(Linha(3), "#")
Data4 = Split(Linha(4), "#")
...
For i = 1 To 1600
Matriz_LC(1, i) = Data1(b)
Matriz_LC(2, i) = Data2(b)
Matriz_LC(3, i) = Data3(b)
Matriz_LC(4, i) = Data4(b)
....
b = b + 1
Next
Sem contar o impecilio de que quando se da split a variavel data inicia a captura de dados no control data(0) por isso o b = b +1
Alguem tem alguma Solução?
Flavio? eheh
Agradeço antecipadamente.
Cheers
Dim Linha(1 To 1200)
Dim iARQ As Integer
iARQ = FreeFile
Path = App.Path & "\Mapa" & Nummap & "\Mapa" & Nummap & "C" & Numcam & ".map"
Open Path For Input As iARQ
For i = 1 To 1200
Line Input #iARQ, Linha(i)
Next
' Assimilando valores lido em uma variavel temporaria 1 - 1200
Data1 = Split(Linha(1), "#")
Bom, deixe me explicar:
Tenho um arquivo texto que possue 1200 linhas...
CADA linha possui 1600 colunas
Vamos ao eu preciso...
Preciso saber se existe uma forma, de no line input, eu ja assimiliar a linha e a coluna sem precisar passar para uma variavel temporaria e depois pra array bi-dimensional...
Esta mais ou menos assim hoje:
Line Input #iARQ, Linha(i)
Data1 = Split(Linha(1), "#")
For i = 1 To 1600
Matriz_LC(1, i) = Data(b)
b = b + 1
Next
Oque esta acontecendo: A variavel linha recebe 1 linha até ler as 1200 linhas, logo a variavel linha é uma array 1 to 1200
A variavel Data1 recebe dividindo por colunas o valor da variavel Linha(1)
Após isso a Matriz (array bidimensional) quebra a array data e encaixa os valores nas colunas...
O Código funciona? Sim funciona... mas terei que escrever na MÃO 2.400 linhas para conseguir ter os valores nos seus devidos lugares, exemplo:
Data1 = Split(Linha(1), "#")
Data2 = Split(Linha(2), "#")
Data3 = Split(Linha(3), "#")
Data4 = Split(Linha(4), "#")
...
For i = 1 To 1600
Matriz_LC(1, i) = Data1(b)
Matriz_LC(2, i) = Data2(b)
Matriz_LC(3, i) = Data3(b)
Matriz_LC(4, i) = Data4(b)
....
b = b + 1
Next
Sem contar o impecilio de que quando se da split a variavel data inicia a captura de dados no control data(0) por isso o b = b +1
Alguem tem alguma Solução?
Flavio? eheh
Agradeço antecipadamente.
Cheers
Não sei se vai te ajudar, mas quando eu abro um arquivo texto faço assim:
intNume = FreeFile
Open "C:\ArqTexto.Txt" For Input As #intNume
Do While Not EOF(IntNume)
Line Input #IntNume, strLinha
...
Loop
Close #intNume
Desse jeito ele vai até o final do arquivo sem que eu precise dizer a quantidade de Linhas.
Se as colunas que vc diz são separadas por ","(vÃrgula), ele conta como uma nova linha, a não ser que faça assim:
Line Input #IntNume, strCol1, strCol2, strCol3, strCol4, ...
Espero ter ajudado
Qualquer dúvida Post
Te +[S56]
intNume = FreeFile
Open "C:\ArqTexto.Txt" For Input As #intNume
Do While Not EOF(IntNume)
Line Input #IntNume, strLinha
...
Loop
Close #intNume
Desse jeito ele vai até o final do arquivo sem que eu precise dizer a quantidade de Linhas.
Se as colunas que vc diz são separadas por ","(vÃrgula), ele conta como uma nova linha, a não ser que faça assim:
Line Input #IntNume, strCol1, strCol2, strCol3, strCol4, ...
Espero ter ajudado
Qualquer dúvida Post
Te +[S56]
Tópico encerrado , respostas não são mais permitidas