Ir para conteúdo

POWERED BY:

Arquivado

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

hesmarjassi

Ler ultima linha de um arquivo

Recommended Posts

Boa noite pessoal, não sei se estou no lugar certo, pois quero falar sobre ASP, mas não da microsoft, mas enfim, se puderem me ajudar.

 

É o seguinte, estou lendo um arquivo txt , a minha página lê a primeira linha que é o cabeçalho e depois vai dando loop pra ler todos os pedidos, só que não sei como ler a ultima linha ou o rodapé.Segue abaixo uma parte do meu código que lê o cabeçalho.

 

linha = texto.ReadLine

if cont = 1 then

  ' Uma ocorrencia por arquivo '
  
    ITPTIPO = Right(Mid(linha,1,3),3)
	ITPIDEN = Right(Mid(linha,1,6),3)
	ITPVERS = Right(Mid(linha,1,8),2)  
	ITPCONT = Right(Mid(linha,1,13),5)
	ITPGMOT = Right(Mid(linha,1,19),6)
	ITPHORA = Right(Mid(linha,1,25),6)
	ITPCGCT = Right(Mid(linha,1,39),14)
	ITPCGCR = Right(Mid(linha,1,53),14)
	ITPCINT = Right(Mid(linha,1,61),8)
	ITPCINR = Right(Mid(linha,1,69),8)
	ITPFILT = Right(Mid(linha,1,128),59)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisa verificar se é o fim do arquivo com a propriedade AtEndOfStream do objeto FSO

Compartilhar este post


Link para o post
Compartilhar em outros sites

fa um WHILE no CODE

 

wHILE NOT arquivo2.AtEndOfStream 'fazer até o fim do arquivo...
response.write arquivo2.ReadLine&"<br>" 'Escreve a linha atual + <br> para pular uma linha
wend 'refaz...

 

 

e dá uma olhadinha aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera, bom é o seguinte , eu estou usando a função Atend, como mostra abaixo :

 

while (not texto.AtEndOfStream)

cont = cont +1

 

 

 

linha = texto.ReadLine

 

if cont = 1 then ....

 

 

Só que eu não sei quantos pedidos terá no arquivo por exemplo, eu faço assim leio a primeira vez pego a primeira linha e guardo no banco, depois faço um loop e leio a segunda linha referente ao pedido e vou fazendo isso, enquanto isso não faço nada com a última linha (que é o rodapé ) só que quero mostrar que quando acabar o pedido aí eu quero pegar essa linha de rodapé e gravar no banco, pra ver se ajuda vou colocar abaixo um exemplo do meu arquivo, lembrando que a primeira linha é o cabeçalho, depois a cada 3 linhas é um pedido e a ultima o rodapé, vlw

 

 

ITP08001000001009142100565910442200570403728220000124VOLKS

PA1 100914030 000000VW99/1H 00000000F 998605/ APR/T / 0522611 00160001164VW 01

PA210091400000000005000000000011828

TE1

PA1 100914030 000000VW99/2K 00000000F 998605/ APR/S / 0522638 00180000699VW 01

PA210091400000000012000000000010450

TE1

FTP00000000000008

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas este arquivo tem um padrão?

 

tipo

 

todo cabeçalho inicia com ITP

 

todo rodapé inicia com FTP

 

?

 

Se for bastaria testar isso com uso de um if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas este arquivo tem um padrão?

 

tipo

 

todo cabeçalho inicia com ITP

 

todo rodapé inicia com FTP

 

?

 

Se for bastaria testar isso com uso de um if

 

Sim tem esse padrão mesmo ?

 

eu até pensei em validar isso com o IF, mas toda vez eu leio o ftp, como vou testar se é não tem mais pedido e que só falta o rodapé pra eu gravar no banco ?

 

Desculpe , eu quiz dizer que o padrão é esse mesmo

 

todo cabeçalho inicia com ITP

 

todo rodapé inicia com FTP

Compartilhar este post


Link para o post
Compartilhar em outros sites

então faça isso leia linha a linha e controle o que vai inserir por estas linhas especificas

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.