Página 1 de 1

Conteudo de um arquivo .txt

Enviado: 25 Fev 2014 12:37
por rbonotto
Bom dia,

Estou precisando transferir o conteudo de um arquivo de texto para dentro de uma variavel, é possivel ?
o texto não é muito grande, algo de umas 200 linhas.

Lembro que existia alguma coisa com o memoedit, mas não lembro mais os comandos....

Conteudo de um arquivo .txt

Enviado: 25 Fev 2014 12:56
por Itamar M. Lins Jr.
Ola!
cTexto := hb_memoread("c:\users\xyz\documents\xyz.txt")
HB_MEMOREAD() vs MEMOREAD(): HB_MEMOREAD() is identical to MEMOREAD() except it won’t truncate the last byte (on non-UNIX compatible systems) if it’s a EOF char.

Examples

* This example uses HB_MEMOREAD() to assign the contents of a text
* file to a character variable for later search

cFile := "account.prg"
cString := HB_MEMOREAD( cFile )
cCopyright := "Melina"

IF At( "Melina", cString ) == 0 // check for copyright
HB_MEMOWRIT( cFile, cCopyright + cString ) // if not, add it!
ENDIF
Saudações,
Itamar M. Lins Jr.

Conteudo de um arquivo .txt

Enviado: 25 Fev 2014 13:08
por rbonotto
Era este comando mesmo. Valeu

Mas em arquivos um pouco maiores ele não abre, me parece que esta jogando o conteudo todo dentro de uma mesma linha.

Abraços,

Conteudo de um arquivo .txt

Enviado: 25 Fev 2014 13:47
por bencz
O memoread le ABSOLUTAMENTE TUDO!!!
ele nao realiza a quebra da linha, veja uma solução...

Código: Selecionar todos

FUNCTION main()
   LOCAL cLinha
   LOCAL aLinhas := HB_ATokens(MEMOREAD("t.txt"), (chr(13) + chr(10))) // considerando que seja "\r\n"
   
   FOR EACH cLinha IN aLinhas
      ? SubStr(cLinha, 1, 10)
   NEXT
RETURN nil