Arquivo texto

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

carlos.sc
Usuário Nível 1
Usuário Nível 1
Mensagens: 5
Registrado em: 11 Dez 2004 20:03

Arquivo texto

Mensagem 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
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Arquivo texto

Mensagem 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.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Unindo os arquivos texto

Mensagem 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...
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
carlos.sc
Usuário Nível 1
Usuário Nível 1
Mensagens: 5
Registrado em: 11 Dez 2004 20:03

Re: Arquivo texto

Mensagem 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
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Juntar arquivos texto

Mensagem 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.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
carlos.sc
Usuário Nível 1
Usuário Nível 1
Mensagens: 5
Registrado em: 11 Dez 2004 20:03

Re: Arquivo texto

Mensagem 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
carlos.sc
Usuário Nível 1
Usuário Nível 1
Mensagens: 5
Registrado em: 11 Dez 2004 20:03

Re: Arquivo texto

Mensagem 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
Responder