Página 1 de 1

Arquivo texto

Enviado: 26 Mai 2008 23:38
por carlos.sc
Amigos....
tenho um sistema que gera 5 arquivos textos para NF eletronica, e ate hj funcionando legal,

agora o escritorio de um cliente quer que eu envie todos os 5 arquivos num so.
gostaria de saber como faco para gera todos num so, pois estou dando o comando e so
esta gerando o ultimo ou seja os outros quatros estao sendo despresados..

obrigado

carlos henrique

s.carlos sp

Re: Arquivo texto

Enviado: 27 Mai 2008 01:12
por sygecom
Carlos,
Post um pequeno exemplo com apenas uma linha demonstrando como vc esta usando para gerar os quatro arquivos. Se esta usando SET PRINTER TO,FCREATE()...Em fim, em cima do seu exemplo podemos lhe ajudar a criar em unico arquivo o que vc deseja.

Enviado: 27 Mai 2008 05:15
por Maligno
carlos.sc escreveu:agora o escritorio de um cliente quer que eu envie todos os 5 arquivos num so.
Uma possível solução seria continuar gerando os 5 separadamente e, ao final, juntar todos eles. Não parece ser o ideal, mas resolveria o problema sem alterar o código principal.
Uma outra forma, que à primeira vista parece ser mais apropriada, seria gerá-los como se fossem um só. Exemplo: ao invés de fechar o primeiro para criar o segundo, mantenha-o aberto e continue a gravação como se já fosse outro. É só pensar com calma que você resolve isso fácil.

Unindo os arquivos texto

Enviado: 27 Mai 2008 08:52
por Pablo César
Unir todos esses arquivos de uma forma simples e sem custo, é utilizando o comando COPY do sistema operacional. Exemplo:

Código: Selecionar todos

cArq1:="ARQUIVO.001"
cArq2:="ARQUIVO.002"
cArq3:="ARQUIVO.003"
cArq4:="ARQUIVO.004"
cArq5:="ARQUIVO.005"
VRODA:="COPY "+cArq1+"+"+cArq2+"+"+cArq3+"+"+cArq4+"+"+cArq5+" NUM_SO.TXT"
RUN (VRODA)
Irá juntar os cinco arquivos num só arquivo (neste caso com nome NUM_SO.,TXT). Observe que entre meio dos nomes de cada arquivo possue o caracter "+" que o SO precisa para concatenar os arquivos.

Outra forma seria, ler cada um deles para uma variável e logo mandar gravar em determinado arquivo seja através do MEMOWRIT ou através das funções de baixo nível FWRITE/FCLOSE ou até também appendando em arquivo DBF temporário com apenas um campo de tamanho máximo para suportar linha a lin ha de cada arquivo e depois gerá-lo através do COPY TO ... SDF, etc... etc...

Re: Arquivo texto

Enviado: 27 Mai 2008 13:54
por carlos.sc
amigos....
abaixo vai de como estou fazendo......
antes era assim:
sele 13
copy to produtos.txt sdf
sele 12
copy to clientes.txt sdf
e assim para todos outros arquivos...ate ai blz.....funciona...ai tentei fazer desse jeito:
sele 12
copy to NFELETRO.txt sdf // 0002
sele 14
copy to NFELETRO.txt sdf // 0020
sele 16
copy to NFELETRO.txt sdf // 0021
sele 13
copy to NFELETRO.txt sdf // 0030
sele 15
copy to NFELETRO.txt sdf // 0032


resultado: ele grava apenas o ultimo do SELECT 15
preciso colocar todos num arq texto so !

grato
carlos henrique
s.carlos sp

Juntar arquivos texto

Enviado: 27 Mai 2008 14:03
por Pablo César
Ué ? Mas você que juntar vários arquivos num só arquivo, sendo que cada um pode conter diferente estrutura e tamanho ? Tem certeza que quer fazer isso ?. Se realmente isso não for utilizado para fins de importação de base de dados e quer concatená-los todos juntos, então coloque nomes diferentes conforme o nome do ALIAS e sua extensão ."TXT" daí em mais faça como eu te indiquei.

Re: Arquivo texto

Enviado: 27 Mai 2008 17:57
por carlos.sc
Pablo, tbm achei estranho, mas hj (27/05/08) inclusive fui ate ao escrit de contab de meu cliente pra ver, e realmente outros cliente enviam o arq tudo num so, apesar dos lay-outs serem diferentes.....

vou tentar fazer como vc me disse,qualquer novidade eu posto aqui...

um abração

carlos
s.carlos - sp

Re: Arquivo texto

Enviado: 27 Mai 2008 22:20
por carlos.sc
RESOLVIDOOOOOOOOOOOOOOOOOOOO

FIZ do jeito que o amigo pablo disse e deu certo, nao precisei mexer na estrutura do prg, apenas acrescentei uma
linha:
!copy arq1.txt+arq2.txt+arq3.txt novoarq.txt

resolveu
obrigado a todos pelas dicas e sugestoes.
carlos henrique

s.carlos sp