Página 1 de 1

Como carregar um arq acima de 65kb Memoread() nao consegue?

Enviado: 25 Jun 2013 15:31
por romulobonnadio
Prezados, boa tarde!
Como faco para carregar um arquivo acima de 65kb, linha por linha?
Usando o Memoread() nao consigo carregar o arquivo todo e depois fazer minha varredura necessaria?
Teria outra funcao que faca o mesmo procedimento do MemoRead()?
Obrigado!

Código: Selecionar todos

            mArqV := MemoRead(mArqV) // Carregando arquivo 

            mMlCountV := MlCount(mArqV,254)

			For iV:=1 To mMlCountV
     			      alinV := FArray(MemoLine(mArqV,254,iV))
.
.
.
                       Next



Como carregar um arq acima de 65kb Memoread() nao consegue?

Enviado: 25 Jun 2013 18:02
por Pablo César
O MemoRead do Clipper tem essa limitação, você irá precisar ler o arquivo e processá-lo com funções de baixo nível como: FOpen, FRead, FClose, FWrite. Faltou você fazer uma pesquisa avançada aqui no fórum, aqui tem um exemplo:

https://pctoledo.org/forum/viewto ... 932#p79932

Ler TXT maior do que 64k

Enviado: 27 Jun 2013 17:28
por romulobonnadio
Obrigado pelas dicas, problema solucionado da seguinte forma:

Código: Selecionar todos

  		    aVendas := {}
            FT_FSELECT(1)
		    DO WHILE ! FT_FEOF()
               FT_FSELECT(1); alinV :=  FT_FREADLN()
        	   Aadd(aVendas, FArray(alinV) )
               FT_FSELECT(1);FT_FSKIP()
            ENDDO
			If(Len(aVendas)>4000)
		       Aviso("!!! A atualizacao do arquivo de Vendas nao foi suportada !!!")
			   Saida(MVerano,MVersao)
			Endif