Ir para conteúdo
Fórum Script Brasil
  • 0

Copia do Arquivo TXT variavel (configuravel)


pimpocvl

Pergunta

Boa noite pessoal.

Novamente recorro a voces para solucionar esta duvida.

Preciso criar um jeito auto-independente de copiar DADOS de um arquivo TXT, para outro arquivo TXT. Por exemplo, digamos que hoje eu tenha que copiar alguns DADOS de um arquivo TXT que contem os CEP's do Brasil, e amanha eu tenha que copiar alguns dados de outro arquivo TXT que contenham informacoes FINANCEIRAS; Estes dois arquivos tem suas proprias caracteristas, ou seja, tem seus proprios LAYOUT's (coluna, tamanho do campo etc...); So que eu preciso gravar estas informacoes no meu proprio LAYOUT, a ideia seria copiar de um arquivo TXT para outro arquivo TXT, porem tendo a possibilidade de manipular para qual coluna eu quero colar no arquivo DESTINO os dados do arquivo ORIGEM.

Acredito que se eu der um exemplo mais detalhado ficara mais facil de entender a minha duvida.

Supomos que temos um arquivo TXT que contem os CEP's de todo o Brasil, exemplo:

[ARQUIVO ORIGEM - (dentro do arquivo esta assim)]

CEP CIDADE BAIRRO NUMERO LOGRADOURO ESTADO

80002900CURITIBA JOAO NEGRAO 1251 RUA REBOUCAS PR

...eu preciso copiar somente o CEP o NOME DA RUA a CIDADE e o ESTADO. (deixamos o bairro de fora e o numero de fora).

Linha := OpenDialog1.FileName;

Assignfile(ARQ, OpenDialog1.FileName);

Reset(ARQ);

Readln(ARQ,Linha);

[PERGUNTA]

Como eu posso fazer para colar os dados do arquivo ORIGEM que estao armazenados na variavel LINHA em outro arquivo TXT, porem indicando para qual coluna ira a informacao (dados) CEP, em qual coluna ficara o NOME DA RUA, em qual coluna ficara o nome da CIDADE etc... no arquivo DESTINO.

...tendo em vista que amanha eu quero copiar alguns dados de outro arquivo que contem dados FINANCEIROS, exemplo:

NOME DO CLIENTE Data vencimento Valor

Olimpio 01/05/2009 100,00

...eu não gostaria de ter que ficar mechendo no codigo fonte. Estava pensando em algo como:

Entro no sistema, acesso o ASSISTENTE DE CONVERSAO. Indico o arquivo de ORIGEM, indico o nome do arquivo DESTINO e onde ele sera salvo, tambem informo quantos "campos vou copiar" da linha de origem. Avanco no assistente e vou informar de qual coluna ele vai copiar o primeiro campo, a quantidade de caracteres que sera copiado e para qual coluna ele vai colar no arquivo DESTINO, isso sera repetido a mesma quantidade de vezes que eu informei na primeira tela do assistente "campos a copiar", pois eu preciso informar a coluna, qtd de campos a copiar e coluna destino para todos os campos que eu quero "converter".

obs:

PEGA DA COLUNA 1, COPIA TANTOS CARACTERES, E COLA NO ARQUIVO DESTINO NA COLUNA 10. (exemplo de um unico campo, porem a linha tem mais de um campo).

Pessoal, espero ter conseguido explicar minha duvida, estou esbarrando na questao de variaveis, pois num arquivo eu posso querer copiar 5 campos, e em outro arquivo eu posso querer copiar 40 campos, então eu queria deixar isso automatizado para não quer que ficar criando manualmente um codigo toda vez que preciso converter um txt.

Desde já agradeco pela atencao dos amigos.

Olimpio Gonzatto Jr.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
a ideia seria copiar de um arquivo TXT para outro arquivo TXT, porem tendo a possibilidade de manipular para qual coluna eu quero colar no arquivo DESTINO os dados do arquivo ORIGEM.

Primeiro faça uma busca no forum e veja se encontra algo a respeito

http://scriptbrasil.com.br/forum/index.php...ghlite=tabulado

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Minhas arma, eu não entendi nada daqueles codigos q o senhor indicou no link, ou seja, não consegui adaptar a minha necessidade. Precisaria de uma dicas a mais dos colegas tento em vista que me enquadro na categoria INICIANTE. (super fralda) hehehe.

E não entendi como que ficou com titulo de RESOLVIDO se eu não editei o mesmo.

Seria que teria alguém com um pouco de paciencia para me ajudar?

Desde já obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas,

Eu não consegui resolver isso aqui, preciso que você tenha paciência comigo, isso mesmo, mais paciência do que já tem, para alguns e um absurdo ler isso, mas a verdade e esta, eu não consegui resolver o meu problema com as dicas que você me passou; eu acredito que deve ser algo bem insignificante para alguém que já detem o conhecimento mas para mim não.

Veja bem, a minha necessidade e copiar dados de um arquivo TXT tendo a possibilidade de informar "dinamicamente" quantas colunas (+quantidade de caracteres) que serão copidos desse arquivo. informar para qual TABELA ou ARQUIVO (destino) ira ser colado essas informações, sendo que tambem preciso infomar para qual coluna ira ser colado na TABELA ou ARQUIVO destino. (tendo em vista que amanha pode ser outro arquivo).

Bom, desde já agradeço pela atenção disponibilizada a minha pessoa.

obs.: este arquivo TXT não possui tabulação.

Link para o comentário
Compartilhar em outros sites

  • 0

Exemplo:

ARQUIVO ORIGEM:

[CEP]..........[TIPO].....[LOGRADOURO].....[bAIRRO]..........[CIDADE].....[uF]

85819110.....Rua.........Universitaria..........Universitario.......Cascavel.....Pr

85816290.....Av...........Av. Brasil..............São Cristovao.....Cascavel.....Pr

...os pontos na verdade são espacos em branco).

ARQUIVO DESTIVO:

...bem, neste caso eu preciso ter a flexbilidade de informar para qual coluna sera copiado as informacoes do "arquivo origem" sendo que elas podem variar dependendo do layout desejado.

--------------------------------

Para copiar do arquivo ORIGEM, eu poderia utilizar o seguinte codigo "FIXO":

Readln(ArquivoOrigem,ArquivoOrigemLinha);

ArquivoOrigemLinha := copy(ArquivoOrigemLinha,1,8)+' '+copy(ArquivoOrigemLinha,14,4)+' '+copy(ArquivoOrigemLinha,26,15)+' '+copy(ArquivoOrigemLinha,54,15)+' '+copy(ArquivoOrigemLinha,79,10)+' '+copy(ArquivoOrigemLinha,92,2);

...eu preciso deixar esse codigo DINAMICO para que possa estar alterando as colunas e quantidades de caracteres a copiar (ate qui tudo bem, o problema vai agora) e tambem determinando se vou copiar somente 1, 2, 3...5 colunas, ou seja, digamos que eu preciso copiar somente o CEP e o nome do BAIRRO. Eu acredito que se resolver esta situacao, a questao de colar no arquivo destino já se resolve por si só.

Editado por pimpocvl
Link para o comentário
Compartilhar em outros sites

  • 0

Uma sugestão:

Abra o arquivo texto no Excel e tente tabular os campos ..

depois se conseguir, salve este arquivo como DBF 4 (DBase IV) (*.DBF)

Se ainda quiser, pode usar o Datapump do delphi para converter para outro banco de dados DB ( paradox ) ou GDB ( Interbase/Firebird ) etc

Fica mais facil trabalhar com uma tabela do que com um arquivo texto

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...