Delimited- arquivo de log

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

evaldo
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 27 Out 2005 23:29

Delimited- arquivo de log

Mensagem por evaldo »

Ola pessoal, estou criando essa rotina de log.txt, mas preciso colocar um delimitador de campo, gostaria de saber qual caracter a usar, e no append from, qual a sintaxe correta?

Código: Selecionar todos

   LOCAL cLine := ""
   LOCAL aStruc:= DBSTRUCT()
   //
   WHILE nCont <= LEN(aGetProd)
      IF VALTYPE(aGetProd[nCont]) = "N"
         cLine += STR(aGetProd[nCont],aStruc[nCont,3],aStruc[nCont,4])
      ELSEIF VALTYPE(aGetProd[nCont]) = "D"
         cLine += STRTRAN(DTOC(aGetProd[nCont]),"/","") 
      ELSE 
         cLine += LEFT(aGetProd[nCont],aStruc[nCont,3])
      ENDIF  
      nCont++
   ENDDO
O arquivo esta fiscando assim, mas alguns campos ele fica fora de possicao, por isso preciso colocar o delimitador.

Código: Selecionar todos

 001219336PK1795      02102007     15.000     15.000     15.000 0.5500     20.613  45.00
001 6783TK 15103S/24302102007     31.870     31.870     34.142 0.8500     46.918  15.00
001 3873IN CSN2816   02102007     18.430     18.430     19.746 0.8500     27.135  15.00
001149027374GS       02102007      4.460      4.460      4.781 0.9000      6.571  20.00
001 1882333006810    02102007    141.430    141.430    151.502 0.9000    208.193  10.00
00121006C 1423.0     02102007     18.720     19.515     20.465 0.9000     28.123  10.00
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á

criar arquivo TXT e importá-lo

Mensagem por Pablo César »

Na minha opinião Evaldo, a melhor forma de se fazer é utilizando o default do proprio Clipper. Pois com delimeters você não terá mais problemas algum sobre tamanho e é mais seguro, mais rápido e econômico (ao espaço, me refiro). Mas você não disse se você precisa exportar TODOS os registros ou não, isto é, se precisaria alguma condição nessa operação. Mas digamos que você precise do básico:

Código: Selecionar todos

USE DBF
COPY TO LOG.TXT DELI

USE LOG.DBF
APPEND FROM LOG.TXT DELI
O COPY TO LOG.TXT DELI, irá criar um arquivo texto separados com "," e irá tratar os campos que são caracter (entre aspas) e numéricos (sem aspas), datas em modo DTOS (sem aspas).

Para dar um melhor exemplo, você teria que descrever melhor sua situação e listar (estrutura, e nomes de arquivos, como também se existe alguma condição).

Inclusive se você precisar dar um retorno listando estrutura e parte do seu arquivo DBF, você poderá contar com:

viewtopic.php?t=6616

Neste exemplo também te permte apreciar a forma de exportar/importar dados com DELIMITERS.
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.
Responder