Ir para conteúdo

POWERED BY:

Arquivado

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

marcelocardoso

[Resolvido] Lendo TXT

Recommended Posts

Olá pessoal!

 

Estou com um problema, nunca mexi com FSO e preciso ler este arquivo:

 

"1","1","12","NomeDaEmpresa",F,T,"900001","900001"

 

como posso abrir o arquivo txt, ler a linha e pegar um determinado valor destes 8 valores acima dentro das virgulas????

Alguém ajuda?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Num TXT com este conteúdo.

---------------------------------------------------------------------------------

Freecode|http://www.freecode.com.br

MSDN|http://www.msdnbrasil.com.br

TechNet|http://www.technetbrasil.com.br

Freecode|http://www.freecode.com.br/drArtigos

Microsoft|http://www.microsoft.com.br

Forum|http://www.freecode.com.br/forum

Artigos|http://www.freecode.com.br/drArtigos

Tutoriais|http://www.freecode.com.br/tutorias

---------------------------------------------------------------------------------

 

<html>
<head>
<title>Busca em FSO</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#CCCCCC">
<form method="post" action="busca_fso_action.asp">
 <table width="650" cellpadding="1" cellspacing="0" border="1" align="center">
   <tr> 
     <td> <div align="center"><font color="#666699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>:: 
         Entre com a pesquisa</strong></font></div></td>
   </tr>
   <tr> 
     <td><font color="#666699" size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Pesquisar:</font> 
       <input name="pesquisa" type="text" id="pesquisa" size="20" maxlength="50">
         
       <input type="submit" name="Submit" value="buscar">
       <input type="hidden" name="botao" value="true">
       </strong></font> </td>
   </tr>
   <tr>
     <td> </td>
   </tr>
 </table> 
</form>
</body>
</html> 

 

código

 

<% Option Explicit
' declaro as variaveis
Dim fso, fsofile,varpesquisa,varcaminho,contador,linha,icampo

' recupero as variaveis
varpesquisa=Trim(request.form("pesquisa"))
' retiro o aspas simples
varpesquisa=Replace(varpesquisa,"'","")

' crio o FSO

Set fso=Server.createobject("Scripting.FileSystemObject")
' abro o arquivo txt
varcaminho=Server.MapPath("texto.txt")
Set fsofile=fso.opentextfile(varcaminho,1,true,false)
if fsofile.AtEndOfStream = true then
	response.Redirect("busca_fso_form.asp?msgeof=1")
else
	contador=0
	while not fsofile.AtEndOfStream = true
		linha=fsofile.readline
		icampo=Split(linha,"|",-1,1)
			if LCase(varpesquisa) = LCase(icampo(0)) then
				response.Write("<a href='"&icampo(1)&"'>"& icampo(0)&"</a><br>")
    			     contador=contador + 1
			end if
	wend
			response.Write("<br> Total de registros encontrados:") &contador
end if
fsofile.close
Set fsofile=nothing
Set fso= nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal!

 

Consegui fazer este código que le oque preciso, tipo:

 

1) Tenho um arquivo TXT chamado de teste com varias linhas assim: 1;1;12;NomeDaEmpresa;F;T;900001;900001

2) O código que tenho e que fiz, pega todos estes dados acima do TXT, olha como segue:

 

<%

' Setar um valor de execução de script

SERVER.SCRIPTTIMEOUT = 240

 

SET objFSO = Server.CreateObject("Scripting.FileSystemObject")

SET varArquivo = objFSO.OpenTextFile(server.MapPath("teste.txt"),1)

 

' Agora que o arquivo já foi aberto, iremos ler linha por linha

' O comando AtEndOfStream determina que iremos repetir o processo abaixo até o fim do arquivo

DO WHILE NOT varArquivo.AtEndOfStream

 

' Abaixo, criaremos um array para separar os dados entre ponto-e-vírgula

' ReadLine é usado para indicar que iremos separar os dados desta linha

LINHA = SPLIT(varArquivo.ReadLine,";",-1,1)

 

' JOGO NAS VARIAVEIS CADA VALOR

campo01 = LINHA(0)

campo02 = LINHA(1)

campo03 = LINHA(2)

campo04 = LINHA(3)

campo05 = LINHA(4)

campo06 = LINHA(5)

campo07 = LINHA(6)

campo08 = LINHA(7)

 

' TESTAMOS SE OS VALORES VEM

Response.write LINHA(0) & "<br>"

Response.write LINHA(1) & "<br>"

Response.write LINHA(2) & "<br>"

Response.write LINHA(3) & "<br>"

Response.write LINHA(4) & "<br>"

Response.write LINHA(5) & "<br>"

Response.write LINHA(6) & "<br>"

Response.write LINHA(7) & "<br>"

 

' Passar para próxima linha

LOOP

 

' GRAVO OS DADOS NO BANCO DE DADOS

' Com o array criado, iremos inserir de acordo com a ordem dos campos, e usando 'LINHA(0)' nós determinamos cada dado pela ordem do arquivo de texto

' CX.EXECUTE("INSERT INTO TABELA (campo01,campo02,campo03,campo04,campo05,campo06,campo07,campo08) VALUES ('"&campo01&"','"&campo02&"','"&campo03&"','"&campo04&"','"&campo05&"','"&campo06&"','"&campo07&"','"&campo08&"')")

 

' Destruiremos e fecharemos o FSO e o acesso ao arquivo de texto

varArquivo.CLOSE

SET varArquivo = NOTHING

SET objFSO = NOTHING

 

' Destruiremos e fecharemos a conexão com o banco de dados

' CX.CLOSE

' SET CX = NOTHING

%>

 

 

3) Só que agora, preciso que ele percorra todos os dados do TXT, linha por linha até encontrar um ID que é o PRIMEIRO DIGITO do TXT. ok

Como posso fazer isso, para procurar e percorrer todas as linhas do txt em cima deste código que já consegui elaborar.

 

Alguém me ajuda?

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

use assim

 

while not fsofile.AtEndOfStream = true
                       linha=fsofile.readline
                       icampo=Split(linha,"|",-1,1)

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza + 1 resolvido

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.