Página 1 de 1
Nova Linha em arquivo texto
Enviado: 20 Jan 2017 16:55
por rosalvo rosa
Boa tarde amigos
Estou fazendo uma rotina onde gravo um arquivo TXT que será enviado por e-mail ao cliente.
Quando o cliente abre no seu iphone por ex, o aquivo abre certo.
Porém quando ele abre o arquivo no PC, usando o Bloco de Notas, o arquivo fica juntando a primeira linha com a segunda
a terceira com a quarta e assim por diante.
Eu gravo o arquivo setando PRINTER TO &arquivo.
Existe algum caracter para gravar que, ao abrir com o Bloco de Notas, ele separe as linhas corretamente ?
Desde já agradeço.
Abraço
Rosalvo
Nova Linha em arquivo texto
Enviado: 20 Jan 2017 17:53
por wmanesco
Pode colocar o trecho de código onde está gravando?
Nova Linha em arquivo texto
Enviado: 20 Jan 2017 19:01
por alxsts
Olá!
Se seu sistema roda sob Windows, acrescente Chr(13) + Chr(10) ao final de cada linha a ser impressa. Se utiliza Harbour, poderá tornar este processo independente do sistema operacional acrescentando o retorno da função
hb_eol() ao final de cada linha a imprimir. Talvez até já esteja fazendo isto e obtendo problemas com o Notepad. Pode acontecer pois este editor é bem simples...
Nova Linha em arquivo texto
Enviado: 20 Jan 2017 19:11
por JoséQuintas
Na prática as informações são insuficientes.
Depois de um SET PRINTER TO arquivo pode existir qualquer coisa, não significa que esteja certo.
Se for considerar somente esse comando, está certo e não tem o que fazer.
Tudo depende do que vém depois.
Poste um exemplo simples, enviando duas linhas pro arquivo, pra ver como está fazendo.
Nova Linha em arquivo texto
Enviado: 23 Jan 2017 19:44
por rosalvo rosa
Olá pessoal.
Mudei a forma de criar o arquivo e deu certo. Agora estou usando o FWRITE
De qualquer maneira, fica o registro e agradecimento. Valeu pessoal.
cRetLine := "chr(13)+chr(10)"
errhandle := FCREATE("TESTEX.TXT")
cLinha:= " EMPRESA "
FWRITE(errhandle,cLinha+&cRetLine.)
For i:=1 To 5
cLinha:= REPLICATE("-",30) + " linha " + Str(i,1)
FWRITE(errhandle,cLinha+&cRetLine.)
Next
FCLOSE(errhandle)
FCLOSE("TESTEX.TXT")
Nova Linha em arquivo texto
Enviado: 24 Jan 2017 10:05
por alxsts
Olá!
Este código pode ser melhorado:
- Ao invés de definir uma string e atribuir "Chr(13) + Chr(10)", atribua os caracteres diretamente:
- Na hora de gravar, não use o operador macro ( & ). Use
Isto melhora a performance e diminui o tamanho do executável...
Nova Linha em arquivo texto
Enviado: 25 Jan 2017 00:13
por rosalvo rosa
Boa Alex, valeu.
Abraço