Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

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

Nenhum

[ Ver toda a lista ]


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

23/5/2017, 10:37 por Rosangela Pires

Ola Amigos.

Para se movimentar na grid com as setas colocamos no Metodo AfterChange da grid …

Comentários: 0

TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

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

Os nossos membros postaram um total de 49 mensagens em 26 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