Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
26 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 25 Visitantes :: 2 Motores de busca

newtonrio

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Erro de compatibilidade de cores

28/3/2017, 10:59 por Clebervfp

Boa dia, estou com um problema com vfp9, se alguém poder me ajudar fico agradecido!

Tenho um …

Comentários: 0

Espessura do cursor intermitente

7/3/2017, 09:08 por Jefferson Matakas

Bom dia a todos !!

Existe uma opcao no windows que pode ser acessada atraves da 'central da …

Comentários: 0

DESENVOLVIMENTO EM REDES

4/3/2017, 18:45 por AJC

Pessoal tem ou conhece livros ou material para programação em
redes usando banco de dados nativo …

Comentários: 0

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 4

Como preencher campos vazios

9/2/2017, 11:55 por Linghston

Pessoal boa tarde,

É o seguinte, eu preciso preencher os campos de uma coluna da tabela DBF que …

Comentários: 2

Estatísticas
Temos 7042 usuários registrados
O último usuário registrado atende pelo nome de brunobpc77

Os nossos membros postaram um total de 32 mensagens em 18 assuntos

COmo percorrer arquivo texto com FOpen e família?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido COmo percorrer arquivo texto com FOpen e família?

Mensagem por emircalife em 21/5/2010, 10:04

Tenho um arquivo texto imenso e preciso percorrer ele com FOpen, FSeek, FRead e FClose, por favor, como percorrer linha a linha?

Grato.

emircalife
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: COmo percorrer arquivo texto com FOpen e família?

Mensagem por Marcos Guedes em 21/5/2010, 10:34

Utilizando Array:
Código:
CLEAR

LOCAL nomearquivo AS STRING
LOCAL conteudoarquivo AS STRING
LOCAL nlinhas AS INTEGER
LOCAL contador AS INTEGER
*!*
m.nomearquivo = GETFILE("txt")
*!*
IF (!FILE(m.nomearquivo,1)) THEN
   RETURN .F.
ENDIF
*!*
m.conteudoarquivo = FILETOSTR(m.nomearquivo)
m.nlinhas = ALINES(arrlinhas, m.conteudoarquivo)
*!*
FOR m.contador=1 TO m.nlinhas
   ?arrlinhas[m.contador]
ENDFOR

Utilizando FOpen, FSeek, FRead e FClose (Adaptado do Help do fox):
Código:
CLEAR

LOCAL gnfilehandle,nsize,cstring, nomearquivo

m.nomearquivo = GETFILE("txt")
IF (!FILE(m.nomearquivo,1)) THEN
   RETURN .F.
ENDIF

gnfilehandle = FOPEN(m.nomearquivo)

* Seek to end of file to determine number of bytes in the file.

nsize =  FSEEK(gnfilehandle, 0, 2)    && Move pointer to EOF

IF nsize <= 0

   * If file is empty, display an error message.

   WAIT WINDOW "This file is empty!" NOWAIT

ELSE

   * If file is not empty, store the file's contents in memory

   * and display the text in the main Visual FoxPro window.

   = FSEEK(gnfilehandle, 0, 0)      && Move pointer to BOF

   cstring = FREAD(gnfilehandle, nsize)

   ? cstring

ENDIF

= FCLOSE(gnfilehandle)        && Close the file

Resolve?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Não resolve desta forma

Mensagem por emircalife em 21/5/2010, 10:52

Não, visto que o arquivo tem 1653 linhas, preciso pegar linha por linha e não ele todos de uma vez.
Olha como estou fazendo e vê se acha o erro:

Código:
PROCEDURE PegaDadosPosto
   LOCAL   lcArquivo   AS   STRING
   LOCAL   lcDados      AS   STRING
   LOCAL   lnHandle      AS   INTEGER
   LOCAL   lnTamanho    AS   INTEGER
   LOCAL   lnLinha       AS   INTEGER
   LOCAL   lcPlaca      AS   STRING
   
   lcArquivo   =   getFile( "txt", "Arquivo do extrator", "Abrir" )
   
   lnHandle      =   0
   lnTamanho   =   0
   lnLinha      =   4
   lcDados      =   ""

   IF ( Used( "TMPCONSUMO" ) ) THEN
      SELECT TMPCONSUMO
      USE
   ENDIF

   CREATE CURSOR TMPCONSUMO   (   PLACA   C(  8    )   ;
                              )

   IF ( File( lcArquivo ) ) THEN            && O arquivo existe?
     lnHandle   = FOpen( lcArquivo, 12 )   && se existir abre com atributos leitura e escrita sem buffer
   ENDIF

   IF ( Not lnHandle < 0 ) THEN            && Verifica se houve erro ao abrir o arquivo
      lnTamanho = FSeek( lnHandle, 0, 2)   && Determine file size, assign to pnSize
      
      =FSeek( lnHandle, 0, 0)               && Move para o começo do arquivo
      DO WHILE Not lnLinha > lnTamanho
         WAIT WINDOW "Importando a linha " + PadL( lnLinha, Len( allTrim( Str( lnTamanho ) ) ), "0" ) NOWAIT NOCLEAR
         lcDados   =   FRead( lnHandle, lnTamanho )
         
         lcPlaca   =   Left( allTrim( subStr( lcDados, 71, 7 ) ), 3 ) + "-" + Right( allTrim( subStr( lcDados, 71, 7 ) ), 4 )
         
         APPEND BLANK IN TMPCONSUMO
         REPLACE   PLACA   WITH   lcPlaca   IN   TMPCONSUMO
         
         lnLinha = lnLinha + 1
      ENDDO
      
      WAIT CLEAR
   ENDIF
   
   GO TOP IN TMPCONSUMO
   BROWSE

   FClose( lnHandle )  && Fecha o arquivo
ENDPROC

emircalife
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: COmo percorrer arquivo texto com FOpen e família?

Mensagem por Marcos Guedes em 21/5/2010, 10:57

Você conferiu o segundo exemplo que postei na primeira mensagem?

O seguinte comando, no segundo exemplo que postei, está devolvendo linha por linha, utilizando FOPEN - FCLOSE
Código:
? cstring

Você precisaria apenas adaptar, mandando os dados para a tabela/cursor, seguindo a idéia de como já estais fazendo.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: COmo percorrer arquivo texto com FOpen e família?

Mensagem por Marcos Guedes em 31/5/2010, 22:22

Resolveu, emircalife?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: COmo percorrer arquivo texto com FOpen e família?

Mensagem por emircalife em 1/6/2010, 08:09

Resoveu sim, desculpa por não dar um ok.

emircalife
Começando a Participar
Começando a Participar


Voltar ao Topo Ir em baixo

Resolvido Re: COmo percorrer arquivo texto com FOpen e família?

Mensagem por hugo em 1/6/2010, 09:10

emir

aproveita e reputa quem te ajudou

valeu

mudado status para RESOLVIDO

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]
avatar
hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum