Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

thicomp

Problema

Recommended Posts

Se eu entendi bem, o thicomp quer separar as linhas para usar em algumas variáveis. Ex:

 

João pé-de-feijãoMaria AparecidaLuíz Inácio Mula da Silva

e separar os valores:

variavel1 = "João pé-de-feijão"

variavel2 = "Maria Aparecida"

variavel3 = "Luíz Inácio Mula da Silva"

 

 

Mas olha aqui:

Dados = Split(Replace(Texto,Chr(10),""),Chr(10))

tá errado isso não? eu acho q deveria ser:

Dados = Split(Replace(Texto,Chr(10),""),Chr(13))

 

Aí você estaria dando um split montando o array separado pelo Chr(13), e para você ler linha por linha, é:

 

For x= 0 to Ubound(Dados)

response.write "<Input type=text name=campo"& x &" value="& Dados(x) &" >"

Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso mesmo

 

mas aí no caso, como eu chamaria estas variáveis para o meu formulário??

no meu arquivo txt teria q definir valores pra cada linha

 

E utilizando este comando eu posso trabalhar com cada variáveis separadamente, alterando o valor de "x"?

For x= 0 to Ubound(Dados)

response.write "<Input type=text name=campo"& x &" value="& Dados(x) &" >"

Next

 

Valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode atribuir o valor das linhas às variáveis assim:varNome1 = Dados(1)varNome200 = Dados(200)varExemplo = Dados(400)Não precisa do FOR, você simplesmente põe o número da linha no Dados() e joga esse valor pra variável q você queragora, montar um loop de variável do jeito q você quer. não dá... você pode montar Session, Application, ou objetos, mas variável num dá naofor i = 0 to uBound(Dados) Session("nome"& i) = Dados(i)next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma coisa acho que não entendi

 

No meu arquivo txt eu tenho que definir valores, ou seja:

 

Linha 1 = conteudo

 

ou posso deixar simplesmente

 

conteudo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi galera

É isso aqui que eu quero, mas o que está acontecendo neste código é que deixando do jeito que está, ele só consegue ler a primeira linha do txt (lembrando que no txt cada campo está em uma linha). A parte em vermelho, me retorna um erro

"Microsoft VBScript runtime error '800a0009'

Subscript out of range: '[number: 1]' "

Alguém sabria me dizer o que tá acontecendo de errado?

 

<%

Const forReading = 1, forWriting = 2, forAppending = 8

Set Fso = CreateObject("Scripting.FileSystemObject")

Set ObjFile = Fso.GetFile("caminho_do_arquivo.txt")

Set objStream = ObjFile.OpenAsTextStream(forReading,false)

%>

<html><body><center><table width=750 border=2>

<% While not ObjStream.AtEndOfLine

Texto = ObjStream.ReadLine

Dados = Split(Replace(Texto,Chr(10),""),Chr(13))

 

Response.Write "<tr><td>" & Dados(0) & "</tr>"

Response.Write "<tr><td>" & Dados(1) & "</tr>"

ObjStream.ReadLine

wend

%>

</table></center></body></html>

<% objStream.Close

Set Fso = nothing

Set objStream = nothing

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

alguma coisa estranhamande listar cada valor do array antes pois aparentemente ele só ta pegando um como se não quebrasse no split...veja se ta quebrando corretamente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

de pois do SPLITFOR I = LBOUND(Dados) TO UBOUND(Dados)response.write(Dados(I) & "<br>")NEXT

Compartilhar este post


Link para o post
Compartilhar em outros sites

então tem algo errado quando voce quebra o arquivo...tem que corrigir primeiro isso senão nada funcionará

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta seu txt tiozinho???posta aqui o conteudo dele se não for muito grande...

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que descobri seu erro...

 

veja

 

<% While not ObjStream.AtEndOfLineTexto = ObjStream.ReadLineDados = Split(Replace(Texto,Chr(10),""),Chr(13)) Response.Write "<tr><td>" & Dados(0) & "</tr>" Response.Write "<tr><td>" & Dados(1) & "</tr>" ObjStream.ReadLinewend%>

voce parou pra olhar seu codigo direito...

 

vamos analisar

 

entra em loop no arquivo

<% While not ObjStream.AtEndOfLinewend%>

ler linha por linha dentro do loop

Texto = ObjStream.ReadLine

aqui voce quer quebrar mas ja ta linha por linha então isso não faz sentido mesmo

Dados = Split(Replace(Texto,Chr(10),""),Chr(13))

sua logica ta errada tiozinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

thicomp, analizando o seu código q você me mandou, alterei e ficou assim:

 

<%Const forReading = 1, forWriting = 2, forAppending = 8Set Fso = CreateObject("Scripting.FileSystemObject")Set ObjFile = Fso.GetFile("caminho.txt")Set objStream = ObjFile.OpenAsTextStream(forReading,false)%><html><body><center><table width=750 border=2><%Texto = ObjStream.ReadAllDados = Split(Replace(Texto,Chr(10),""),Chr(13)) for x = 0 to uBound(Dados)	response.write "<tr><td>" & Dados(x) & "</tr>"next%></table></center></body></html><% objStream.CloseSet Fso = nothingSet objStream = nothing%>

Desse modo q eu fiz foi o seguinte: mandei ele ler todo o .txt e jogar na variável Texto.... e mandei fazer um Split nele, separado pelo char(13)

 

Assim, o Dados virou um array com as linhas do seu texto, e se você quer tal linha você escreve Dados(n)... vê se consegue adaptar à sua necessidade.

 

Do jeito q você queria eu sei q dá, mas eu não sei como..... separar por linhas e dar um ReadLine....

 

 

ps.: Editei um detalhe

Compartilhar este post


Link para o post
Compartilhar em outros sites

usando o readall deve funcionar pois ele mantem o CHR(13)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas utilizando este código:

 

for x = 0 to uBound(Dados)

response.write "<tr><td>" & Dados(x) & "</tr>"

next

 

Todas as linhas do meu arquivo txt ficarão como o mesmo formato, não??

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.