RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
O que ocorre é que dentro deste arquivo existem campos em branco.

Ex.: 100,,098

Eis umas das dificuldades.

Abraço.

-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Dirlei Dionísio
Enviada em: terça-feira, 13 de julho de 2010 22:28
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

É só parsear o conteúdo byte a byte pra identificar o que está dentro de
aspas duplas. Se for encontrada uma aspa dupla, você sabe que até que uma
outra aspa dupla seja encontrada, uma eventual vírgula fará parte do dado.


--
Dirlei Dionísio
Novo artigo: 5 dicas para aproveitar sua inteligência e criatividade
http://MaisQueBomCodigo.blogspot.com


Em 13 de julho de 2010 21:06, Marcelo leite_rom...@yahoo.com.br escreveu:





 Ta certo Walter , não me atentei que tinha campos sem as aspas duplas 
 como separação. Já trabalhei comarquivos txt parecido com este mas 
 todos os campos vinham separados por aspas duplas. Agora este caso tem 
 que analisar um pouco.
 De: sWalter Chagas (Bol) wchag...@bol.com.br wchagasj%40bol.com.br

 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 13 de Julho de 2010 18:06:16

 Assunto: Re: RES: [delphi-br] Importação de Arquivo

 Não não não não.

 Da forma como você está propondo, voce supoe que entre os valores do 
 tipo String (que são delimitados por aspas duplas) pode vir apenas um 
 valor float. Mas e se vier dois ou mais na sequência?? Veja o caso 
 abaixo:


 601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,00
 03,2
 ,002,,33901400,130.00

 como ficaria este caso?

 []s

 Walter Alves Chagas Junior
 Belo Horizonte - MG - Brazil
 wchag...@bol.com.br wchagasj%40bol.com.br 
 http://delphitocorporerm.blogspot.com/
 http://twitter.com/wchagas
 MSN: whitesock...@hotmail.com whitesockets%40hotmail.com
 SKYPE: WalterChagasJr

 - Original Message -
 From: Marcelo
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Tuesday, July 13, 2010 5:29 PM
 Subject: Res: RES: [delphi-br] Importação de Arquivo

 tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos 
 valores decimais não será substituida. Ai ele terá um separador padrão 
 o ponto e virgula. depois fica facil.

 
 De: Walter Chagas (Bol) wchag...@bol.com.br wchagasj%40bol.com.br
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
 Assunto: Re: RES: [delphi-br] Importação de Arquivo

 é mas e a virgula dos valores decimais??

 É um enigma essa parada daí.

 []s

 Walter Alves Chagas Junior
 Belo Horizonte - MG - Brazil
 wchag...@bol.com.br wchagasj%40bol.com.br 
 http://delphitocorporerm.blogspot.com/
 http://twitter.com/wchagas
 MSN: whitesock...@hotmail.com whitesockets%40hotmail.com
 SKYPE: WalterChagasJr

 - Original Message -
 From: Marcelo
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Tuesday, July 13, 2010 5:04 PM
 Subject: Res: RES: [delphi-br] Importação de Arquivo

 Já pensou em dar um StringReplace nas , trocando por ; ai voce 
 teria um

 separador padrão ai facaria muito mais facil de trabalhar

 
 De: Ralp Alves Bezerra ral...@gmail.com ralprd%40gmail.com
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
 Assunto: RES: [delphi-br] Importação de Arquivo

 Não estou conseguindo montar uma rotina para pegar os dados contidos 
 dentro das aspas duplas e delimitadas por vírgula.

 Existe um campo no formato 100.000,00 que também contém vírgulas em 
 seu conteúdo.

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em nome 
 de Rubem Nascimento da Rocha Enviada em: terça-feira, 13 de julho de 
 2010 15:54
 Para: delphi-br
 Assunto: RE: [delphi-br] Importação de Arquivo
 Prioridade: Alta

 Qual é exatamente a sua dificuldade?

 Sds.

 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br mailto:
 delphi-br%40yahoogrupos.com.br delphi-br%2540yahoogrupos.com.br
 From: ral...@gmail.com ralprd%40gmail.com 
 mailto:ralprd%40gmail.comralprd%2540gmail.com

 Date: Tue, 13 Jul 2010 15:50:44 -0300
 Subject: [delphi-br] Importação de Arquivo

 Nobres colegas, estou tentando importar para o meu banco de dados um 
 arquivo no formato txt com o formato abaixo:


 601,029,201000,02,01,20100512,12050002,201005,04,122,00
 03,2 ,002,,33901400,100.000,00


 601,029,201000,02,01,20100517,17050003,201005,04,122,00
 03,2
 ,002,,33901400,130.00


 601,029,201000,02,01,20100517,17050004,201005,04,122,00
 03,2
 ,002,,33901400,1.000,00


 601,029,201000,02,01,20100524,24050005,201005,04,122,00
 03,2
 ,003,,33903000,10.000,00


 601,029,201000,03,01,20100503,03050009,201005,04,122,00
 03,2
 ,006,,33903900,100,00

 Já vasculhei

RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
O problema é que os campos tem tamanhos variados, não teria como eu dar um copy.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Wagne®_Fix
Enviada em: terça-feira, 13 de julho de 2010 16:26
Para: delphi-br@yahoogrupos.com.br
Assunto: Res: RES: [delphi-br] Importação de Arquivo

 

  

Eu uso COPY, as pessoas podem achar complicado mas eu me dou muito bem... Tem 
um 
cliente meu que importa mais ou menos uns 1000 dados diários para o Banco e 
nunca deu problema...

AssignFile(arq,g);
Reset ( arq );
ReadLn ( arq, linha );
Tot := 0;
AuxTot := 0;

while not Eof ( arq ) do begin
AuxLinha := '';
AuxPed := '';
AuxChassi := '';
AuxLinha := Copy(linha,53,1);
AuxPed := Copy(linha,1,10);
AuxChassi := Copy(linha,51,10);
end;


De: Ralp Alves Bezerra ral...@gmail.com mailto:ralprd%40gmail.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
From: ral...@gmail.com mailto:ralprd%40gmail.com  mailto:ralprd%40gmail.com 
Date: Tue, 13 Jul 2010 15:50:44 -0300
Subject: [delphi-br] Importação de Arquivo

Nobres colegas, estou tentando importar para o meu banco de dados um arquivo
no formato txt com o formato abaixo:

601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,100.000,00

601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
,002,,33901400,130.00

601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
,002,,33901400,1.000,00

601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
,003,,33903000,10.000,00

601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
,006,,33903900,100,00

Já vasculhei a net e até o momento ainda não consegui nenhum êxito.

Algum dos nobres colegas já efetuou este tipo de importação com um arquivo
neste formato?

Estou utilizando Delphi 7/Firebird 2.1

Grato.

Ralp Alves

__
CONVERSE COM SEUS AMIGOS E OS VEJA PELA WEBCAM NO MESSENGER. CLIQUE AQUI E
VEJA COMO.
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2 
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2ocid=WLCRM: 
ocid=WLCRM:
Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-
ocid=WLCRM:Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
Pois é, este formato esta me deixando louco aqui.

 

Existem os valores do tipo float que também possuem as vírgulas e não são 
delimitados por aspas duplas. “100”,10.200,25,”098”

Existem campos em branco “100”,””,10.200,25,”098”

 

Esta sendo um grande dilema.

 

Abraço.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Marcelo
Enviada em: terça-feira, 13 de julho de 2010 21:06
Para: delphi-br@yahoogrupos.com.br
Assunto: Res: RES: [delphi-br] Importação de Arquivo

 

  



Ta certo Walter , não me atentei que tinha campos sem as aspas duplas como 
separação. Já trabalhei comarquivos txt parecido com este mas todos os campos 
vinham separados por aspas duplas. Agora este caso tem que analisar um pouco.
De: sWalter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 18:06:16
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String 
(que são delimitados por aspas duplas) pode vir apenas um valor float. Mas e se 
vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 5:04 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais facil de trabalhar


De: Ralp Alves Bezerra ral...@gmail.com mailto:ralprd%40gmail.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
From: ral...@gmail.com mailto:ralprd%40gmail.com  mailto:ralprd%40gmail.com 
Date: Tue, 13 Jul 2010 15:50:44 -0300
Subject: [delphi-br] Importação de Arquivo

Nobres colegas, estou tentando importar para o meu banco de dados um arquivo
no formato txt com o formato abaixo:

601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,100.000,00

601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
,002,,33901400,130.00

601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
,002,,33901400,1.000,00

601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
,003,,33903000,10.000,00

601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
,006,,33903900,100,00

Já vasculhei a net e até o momento ainda não consegui nenhum êxito.

Algum dos nobres colegas já efetuou este tipo de importação com um arquivo
neste formato?

Estou utilizando Delphi 7/Firebird 2.1

Grato.

Ralp Alves

__
CONVERSE COM SEUS AMIGOS E OS VEJA PELA WEBCAM NO MESSENGER

RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
Ok Walter, vou testar aqui e posto o resultado.

 

Abraço.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Daniel Azevedo
Enviada em: terça-feira, 13 de julho de 2010 17:24
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

 

  

A rotina q te mandei faz justamente isso, ignora as virgulas
pega a Aspas + a virgula , para identificar o final do campo valido
quero dizer... foi esta a intenção
mais a noite vou estar com o delphi e posso fazer a rotina funcionar 
caso ela nao tenha funcionado

se ate la nao tiver resolvido eu monto uma e ja faço os testes
e te entrego funfando

Walter Chagas (Bol) escreveu:
 

 é mas e a virgula dos valores decimais??

 É um enigma essa parada daí.

 []s


 Walter Alves Chagas Junior
 Belo Horizonte - MG - Brazil
 wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
 mailto:wchagasj%40bol.com.br
 http://delphitocorporerm.blogspot.com/
 http://twitter.com/wchagas
 MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
 mailto:whitesockets%40hotmail.com
 SKYPE: WalterChagasJr

 - Original Message -
 From: Marcelo
 To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br
 Sent: Tuesday, July 13, 2010 5:04 PM
 Subject: Res: RES: [delphi-br] Importação de Arquivo

 Já pensou em dar um StringReplace nas , trocando por ; ai voce 
 teria um
 separador padrão ai facaria muito mais facil de trabalhar

 
 De: Ralp Alves Bezerra ral...@gmail.com mailto:ralprd%40gmail.com  
 mailto:ralprd%40gmail.com
 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
 Assunto: RES: [delphi-br] Importação de Arquivo

 Não estou conseguindo montar uma rotina para pegar os dados contidos 
 dentro
 das aspas duplas e delimitadas por vírgula.

 Existe um campo no formato 100.000,00 que também contém vírgulas em seu
 conteúdo.

 De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br 
 [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br] Em
 nome de Rubem Nascimento da Rocha
 Enviada em: terça-feira, 13 de julho de 2010 15:54
 Para: delphi-br
 Assunto: RE: [delphi-br] Importação de Arquivo
 Prioridade: Alta

 Qual é exatamente a sua dificuldade?

 Sds.

 To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br 
 mailto:delphi-br%40yahoogrupos.com.br
 From: ral...@gmail.com mailto:ralprd%40gmail.com  
 mailto:ralprd%40gmail.com 
 mailto:ralprd%40gmail.com
 Date: Tue, 13 Jul 2010 15:50:44 -0300
 Subject: [delphi-br] Importação de Arquivo

 Nobres colegas, estou tentando importar para o meu banco de dados um 
 arquivo
 no formato txt com o formato abaixo:

 601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
 ,002,,33901400,100.000,00

 601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
 ,002,,33901400,130.00

 601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
 ,002,,33901400,1.000,00

 601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
 ,003,,33903000,10.000,00

 601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
 ,006,,33903900,100,00

 Já vasculhei a net e até o momento ainda não consegui nenhum êxito.

 Algum dos nobres colegas já efetuou este tipo de importação com um arquivo
 neste formato?

 Estou utilizando Delphi 7/Firebird 2.1

 Grato.

 Ralp Alves


__ Informa磯 do ESET Smart Security, vers㯠da vacina 5276 (20100713) 
__

A mensagem foi verificada pelo ESET Smart Security.

http://www.eset.com





[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
Desculpe Daniel, troquei o seu nome pelo do Walter.

Não sei o que houve aqui em meu micro. Meu outlook parou de funcionar e não 
consigo recuperar minhas mensagens.

Poderia me enviar novamente a rotina?

Abraço.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Daniel Azevedo
Enviada em: terça-feira, 13 de julho de 2010 17:24
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

 

  

A rotina q te mandei faz justamente isso, ignora as virgulas
pega a Aspas + a virgula , para identificar o final do campo valido
quero dizer... foi esta a intenção
mais a noite vou estar com o delphi e posso fazer a rotina funcionar 
caso ela nao tenha funcionado

se ate la nao tiver resolvido eu monto uma e ja faço os testes
e te entrego funfando

Walter Chagas (Bol) escreveu:
 

 é mas e a virgula dos valores decimais??

 É um enigma essa parada daí.

 []s


 Walter Alves Chagas Junior
 Belo Horizonte - MG - Brazil
 wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
 mailto:wchagasj%40bol.com.br
 http://delphitocorporerm.blogspot.com/
 http://twitter.com/wchagas
 MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
 mailto:whitesockets%40hotmail.com
 SKYPE: WalterChagasJr

 - Original Message -
 From: Marcelo
 To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br
 Sent: Tuesday, July 13, 2010 5:04 PM
 Subject: Res: RES: [delphi-br] Importação de Arquivo

 Já pensou em dar um StringReplace nas , trocando por ; ai voce 
 teria um
 separador padrão ai facaria muito mais facil de trabalhar

 
 De: Ralp Alves Bezerra ral...@gmail.com mailto:ralprd%40gmail.com  
 mailto:ralprd%40gmail.com
 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
 Assunto: RES: [delphi-br] Importação de Arquivo

 Não estou conseguindo montar uma rotina para pegar os dados contidos 
 dentro
 das aspas duplas e delimitadas por vírgula.

 Existe um campo no formato 100.000,00 que também contém vírgulas em seu
 conteúdo.

 De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br 
 [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br] Em
 nome de Rubem Nascimento da Rocha
 Enviada em: terça-feira, 13 de julho de 2010 15:54
 Para: delphi-br
 Assunto: RE: [delphi-br] Importação de Arquivo
 Prioridade: Alta

 Qual é exatamente a sua dificuldade?

 Sds.

 To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
 mailto:delphi-br%40yahoogrupos.com.br 
 mailto:delphi-br%40yahoogrupos.com.br
 From: ral...@gmail.com mailto:ralprd%40gmail.com  
 mailto:ralprd%40gmail.com 
 mailto:ralprd%40gmail.com
 Date: Tue, 13 Jul 2010 15:50:44 -0300
 Subject: [delphi-br] Importação de Arquivo

 Nobres colegas, estou tentando importar para o meu banco de dados um 
 arquivo
 no formato txt com o formato abaixo:

 601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
 ,002,,33901400,100.000,00

 601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
 ,002,,33901400,130.00

 601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
 ,002,,33901400,1.000,00

 601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
 ,003,,33903000,10.000,00

 601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
 ,006,,33903900,100,00

 Já vasculhei a net e até o momento ainda não consegui nenhum êxito.

 Algum dos nobres colegas já efetuou este tipo de importação com um arquivo
 neste formato?

 Estou utilizando Delphi 7/Firebird 2.1

 Grato.

 Ralp Alves


__ Informa磯 do ESET Smart Security, vers㯠da vacina 5276 (20100713) 
__

A mensagem foi verificada pelo ESET Smart Security.

http://www.eset.com





[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
Depois de muito quebrar a cabeça aqui, solicitei a geração de um novo arquivo 
para importação. E para minha surpresa, os valores não mais tinham as casas 
decimais com vírgula e sim ponto.

 

Acredito que possa ter ocorrido um erro na geração do arquivo anterior.

 

Esta é uma das linhas de várias dentro do arquivo.

 

601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2,002,,33901400,O,Valor
 que se empenha p/ fazer face as despesas com Concessao de 01(uma) diaria para 
ir a Fortaleza tratar de Convenios e Recursos Federais na Sede da APRECE, no 
periodo de 
14/05/2010.,11400.00,250.00,11150.00,,,0,,0,F,7,777,PEDRO 
ROGERIO MORAIS,RUA PROFESSOR NICACIO, S/N  
CENTRO,00883663126,6257,BELA CRUZ,CE,0,,,01192619366

 

Os valores agora não tem mais vírgulas nas casas decimais. Porém, no 
histórico:Valor que se empenha p/ fazer face as despesas com Concessao de 
01(uma) diaria para ir a Fortaleza tratar de Convenios e Recursos Federais na 
Sede da APRECE, no periodo de 14/05/2010.  existe a utilização de vírgulas. 
Sendo assim, não posso converter as vírgulas para ponto e vírgula.

 

Outro caso, é a existência de campos em branco:  BELA 
CRUZ,CE,0,,,01192619366.

 

Como devo proceder a partir de agora?

 

Abraços.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Marcos Douglas
Enviada em: quarta-feira, 14 de julho de 2010 09:22
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

 

  

2010/7/14 Walter Chagas (Bol) wchag...@bol.com.br 
mailto:wchagasj%40bol.com.br :
 Ruben, torno a questionar.

 E se tiver dois valores float na sequencia? Lembre-se que os valores float 
 não vem entre aspas.

Li todos os emails desta thread e gostaria de fazer um comentário.
Se não há um padrão[1] no arquivo então, conceitualmente, este arquivo
está errado e não pode ser lido com 100% de certeza, ou seja, algo
deverá ser interpretado da melhor forma possível, caso o sistema
encontre uma anomalia.

[1] Alguns conceitos utilizados em muitos arquivos textos formatados:
- cada coluna tem um número determinado de caracteres
- delimitador único para cada coluna: os arquivos csv são exemplos,
mas quando há vírgulas dentro de um dado, este é quotado com aspas.
- prefixos para cada tipo de informação: uma letra, simbolo, etc
- prefixo+sufixo que delimitam uma informação: ex é uma sequencia de
caracteres como [[informação]]
- etc.

Abraço,
MD.





[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
Com certeza, agora acho que vai dar certo.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Walter Chagas (Bol)
Enviada em: quarta-feira, 14 de julho de 2010 09:40
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

 

  

Esse txt daí foi osso viu...

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 9:06 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Ta certo Walter , não me atentei que tinha campos sem as aspas duplas como 
separação. Já trabalhei comarquivos txt parecido com este mas todos os campos 
vinham separados por aspas duplas. Agora este caso tem que analisar um pouco.
De: sWalter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 18:06:16
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String 
(que são delimitados por aspas duplas) pode vir apenas um valor float. Mas e se 
vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 5:04 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais facil de trabalhar


De: Ralp Alves Bezerra ral...@gmail.com mailto:ralprd%40gmail.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
From: ral...@gmail.com mailto:ralprd%40gmail.com  mailto:ralprd%40gmail.com 
Date: Tue, 13 Jul 2010 15:50:44 -0300
Subject: [delphi-br] Importação de Arquivo

Nobres colegas, estou tentando importar para o meu banco de dados um arquivo
no formato txt com o formato abaixo:

601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,100.000,00

601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
,002,,33901400,130.00

601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
,002,,33901400,1.000,00

601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
,003,,33903000,10.000,00

601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
,006,,33903900,100,00

Já vasculhei a net e até o momento ainda não consegui nenhum

RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Rubem Rocha
Cara, me manda um exemplo de arquivo TXT nesse formato. Penso que não seja tão 
cabeludo esse problema pra resolver. Vou montar um exemplo de análise de texto 
nesse formato, mostrando o conteúdo em um DBGrid. Tenho certeza que isso não é 
dilema ou paradoxo tão complexo pra ser resolvido. Se estiver como você que 
necessita, eu posto o exemplo na área de arquivos da lista pro povo todo ver 
que isso é simples de resolver.

 

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Ralp Alves Bezerra
Enviada em: quarta-feira, 14 de julho de 2010 05:56
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: RES: [delphi-br] Importação de Arquivo

 

  

Pois é, este formato esta me deixando louco aqui.

Existem os valores do tipo float que também possuem as vírgulas e não são 
delimitados por aspas duplas. “100”,10.200,25,”098”

Existem campos em branco “100”,””,10.200,25,”098”

Esta sendo um grande dilema.

Abraço.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em nome de Marcelo
Enviada em: terça-feira, 13 de julho de 2010 21:06
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: Res: RES: [delphi-br] Importação de Arquivo

Ta certo Walter , não me atentei que tinha campos sem as aspas duplas como 
separação. Já trabalhei comarquivos txt parecido com este mas todos os campos 
vinham separados por aspas duplas. Agora este caso tem que analisar um pouco.
De: sWalter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 18:06:16
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String 
(que são delimitados por aspas duplas) pode vir apenas um valor float. Mas e se 
vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:04 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais facil de trabalhar


De: Ralp Alves Bezerra ral...@gmail.com mailto:ralprd%40gmail.com  
mailto:ralprd%40gmail.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br 
mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br ] Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi

RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Rubem Rocha
Ora, o StringReplace vai retirar as aspas onde apenas haverão aspas, e o 
separador será ponto-e-vírgula. Não vejo problema nenhum nisso.

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Walter Chagas (Bol)
Enviada em: quarta-feira, 14 de julho de 2010 08:00
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

 

  

Ruben, torno a questionar.

E se tiver dois valores float na sequencia? Lembre-se que os valores float não 
vem entre aspas.

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Rubem Rocha 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 6:14 PM
Subject: RES: RES: [delphi-br] Importação de Arquivo

Simples! Faz um StringReplace() na linha lida fazendo as seguintes trocas:

1) De [,”] para [;]

2) De [“,] para [;]

3) De [“,”] para [;]

Assim, a linha lida terá os valores dos campos delimitados por ponto-e-vírgula! 
Bem mais fácil pra ler, não?

Sds.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em nome de Walter Chagas (Bol)
Enviada em: terça-feira, 13 de julho de 2010 17:06
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String (que são delimitados por aspas duplas) pode vir apenas um valor float. 
Mas e se vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:04 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais facil de trabalhar


De: Ralp Alves Bezerra ral...@gmail.com mailto:ralprd%40gmail.com  
mailto:ralprd%40gmail.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br 
mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br ] Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br

RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
O que ocorre é o seguinte:

 

Neste arquivo texto contém um campo histórico da seguinte forma. exemplo: 
“Pagamento efetuado em 25/14, visto que houve atraso.” 

Note que existe uma vírgula dentro do histórico.

 

Retirar as aspas duplas é beleza, porém, se for substituir as vírgulas por 
ponto e vírgula, a vírgula contida dentro do campo histórico também será 
substituída por ponto e vírgula. (é vírgula demais!)

 

Neste caso, pode ser interpretada como novo campo.

 

Será que existe alguma maneira de antes de eliminar as aspas duplas e 
substituir as vírgulas por ponto e vírgula, efetuar uma pesquisa em tudo que se 
encontra dentro das aspas duplas e se for encontrada alguma vírgula a mesma ser 
eliminada?

 

Abraço.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Rubem Rocha
Enviada em: quarta-feira, 14 de julho de 2010 11:03
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: RES: [delphi-br] Importação de Arquivo
Prioridade: Alta

 

  

Ora, o StringReplace vai retirar as aspas onde apenas haverão aspas, e o 
separador será ponto-e-vírgula. Não vejo problema nenhum nisso.

Sds.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em nome de Walter Chagas (Bol)
Enviada em: quarta-feira, 14 de julho de 2010 08:00
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Ruben, torno a questionar.

E se tiver dois valores float na sequencia? Lembre-se que os valores float não 
vem entre aspas.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Rubem Rocha 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 6:14 PM
Subject: RES: RES: [delphi-br] Importação de Arquivo

Simples! Faz um StringReplace() na linha lida fazendo as seguintes trocas:

1) De [,”] para [;]

2) De [“,] para [;]

3) De [“,”] para [;]

Assim, a linha lida terá os valores dos campos delimitados por ponto-e-vírgula! 
Bem mais fácil pra ler, não?

Sds.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br 
mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Walter Chagas (Bol)
Enviada em: terça-feira, 13 de julho de 2010 17:06
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String (que são delimitados por aspas duplas) pode vir apenas um valor float. 
Mas e se vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com

RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
O arquivo original

 

http://www.grupog2gestao.com.br/NE201005.txt

 

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Rubem Rocha
Enviada em: quarta-feira, 14 de julho de 2010 11:00
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: RES: [delphi-br] Importação de Arquivo
Prioridade: Alta

 

  

Cara, me manda um exemplo de arquivo TXT nesse formato. Penso que não seja tão 
cabeludo esse problema pra resolver. Vou montar um exemplo de análise de texto 
nesse formato, mostrando o conteúdo em um DBGrid. Tenho certeza que isso não é 
dilema ou paradoxo tão complexo pra ser resolvido. Se estiver como você que 
necessita, eu posto o exemplo na área de arquivos da lista pro povo todo ver 
que isso é simples de resolver.

Sds.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em nome de Ralp Alves Bezerra
Enviada em: quarta-feira, 14 de julho de 2010 05:56
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: RES: RES: [delphi-br] Importação de Arquivo

Pois é, este formato esta me deixando louco aqui.

Existem os valores do tipo float que também possuem as vírgulas e não são 
delimitados por aspas duplas. “100”,10.200,25,”098”

Existem campos em branco “100”,””,10.200,25,”098”

Esta sendo um grande dilema.

Abraço.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br 
mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Marcelo
Enviada em: terça-feira, 13 de julho de 2010 21:06
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Assunto: Res: RES: [delphi-br] Importação de Arquivo

Ta certo Walter , não me atentei que tinha campos sem as aspas duplas como 
separação. Já trabalhei comarquivos txt parecido com este mas todos os campos 
vinham separados por aspas duplas. Agora este caso tem que analisar um pouco.
De: sWalter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 18:06:16
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String 
(que são delimitados por aspas duplas) pode vir apenas um valor float. Mas e se 
vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:04 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais

RES: RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Ralp Alves Bezerra
Desculpe pessoal é porque eu realmente nunca importei um arquivo de texto
com esta estrutura.

Seguindo a dica do Rubem, consegui esta procedure para tratar o arquivo
antes da importação:

procedure  FileReplaceString( const FileName, searchstring, replacestring:
string  );
var
fs: TFileStream;
S: string ;
begin
  fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone);
  try
SetLength(S, fs.Size);
fs.ReadBuffer(S[1], fs.Size);
  finally
fs.Free;
  end ;
S  := StringReplace(S, SearchString, replaceString, [rfReplaceAll,
rfIgnoreCase]);
fs := TFileStream.Create(FileName, fmCreate);
  try
fs.WriteBuffer(S[1], Length(S));
  finally
fs.Free;
  end ;

Estou utilizando da seguinte maneira:

StringReplace(Entrada, ','  ,  ';'  , [rfReplaceAll] );
StringReplace(Entrada, ','  ,  ';'  , [rfReplaceAll] );
StringReplace(Entrada, ','  ,  ';'  , [rfReplaceAll] );

Funcionou parcialmente. O problema agora é com os campos do tipo float que
não estão entre aspas duplas. Eles continuam com a vírgula na delimitação.

E se eu substituir as vírgulas por ponto e vírgula, a vírgula do histórico
também muda. Ai gera o problema.

;0254;Atender as necessidades das Escolas deste Municipio, conforme Termo de
Contrato no 021/2010.;2295.32,787.00,1508.32,

Abraço.

-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Nascimento da Rocha
Enviada em: quarta-feira, 14 de julho de 2010 11:57
Para: delphi-br
Assunto: RE: RES: RES: [delphi-br] Importação de Arquivo
Prioridade: Alta


Mas se for prestar bem atenção ao formato do texto, basta remover as
seguintes sequencias de caracteres por ponto-e-vírgula:

 

1) ',';

2) ',';

3) ','

 

Isso não impacta, por exemplo, no conteúdo de um campo literal(string) como
o que vc ilustrou. Pensei q isto estivesse claro!

 

Sds.
 


To: delphi-br@yahoogrupos.com.br
From: ral...@gmail.com
Date: Wed, 14 Jul 2010 11:54:06 -0300
Subject: RES: RES: [delphi-br] Importação de Arquivo

  



O que ocorre é o seguinte:

Neste arquivo texto contém um campo histórico da seguinte forma. exemplo:
“Pagamento efetuado em 25/14, visto que houve atraso.” 

Note que existe uma vírgula dentro do histórico.

Retirar as aspas duplas é beleza, porém, se for substituir as vírgulas por
ponto e vírgula, a vírgula contida dentro do campo histórico também será
substituída por ponto e vírgula. (é vírgula demais!)

Neste caso, pode ser interpretada como novo campo.

Será que existe alguma maneira de antes de eliminar as aspas duplas e
substituir as vírgulas por ponto e vírgula, efetuar uma pesquisa em tudo que
se encontra dentro das aspas duplas e se for encontrada alguma vírgula a
mesma ser eliminada?

Abraço.

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Rocha Enviada em: quarta-feira, 14 de julho de 2010 11:03
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: RES: [delphi-br] Importação de Arquivo
Prioridade: Alta

Ora, o StringReplace vai retirar as aspas onde apenas haverão aspas, e o
separador será ponto-e-vírgula. Não vejo problema nenhum nisso.

Sds.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
] Em nome de Walter Chagas (Bol) Enviada em: quarta-feira, 14 de julho de
2010 08:00
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Ruben, torno a questionar.

E se tiver dois valores float na sequencia? Lembre-se que os valores float
não vem entre aspas.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br
mailto:wchagasj%40bol.com.br http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com
mailto:whitesockets%40hotmail.com
SKYPE: WalterChagasJr

- Original Message -
From: Rubem Rocha
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br
Sent: Tuesday, July 13, 2010 6:14 PM
Subject: RES: RES: [delphi-br] Importação de Arquivo

Simples! Faz um StringReplace() na linha lida fazendo as seguintes trocas:

1) De [,”] para [;]

2) De [“,] para [;]

3) De [“,”] para [;]

Assim, a linha lida terá os valores dos campos delimitados por
ponto-e-vírgula! Bem mais fácil pra ler, não?

Sds.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Walter Chagas (Bol)
Enviada em: terça-feira, 13 de julho de 2010 17:06
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Não não não não.

Da forma como você está propondo, voce supoe que entre os

Res: RES: RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Jean Barreiros
você nao viu a solução que eu mandei ontem?

=

segue a forma de você resolver: 
(
Eu coloquei um ClientDatSet no form e criei 15 Fields chamdos: 
campo1...2..3..4..15 como string
e campo16 como Float, os tamanhos são de acordo a cada campo do txt
)

procedure TForm1.Button1Click(Sender: TObject);
var arq: TextFile; linha:string;
begin
ClientDataSet1.CreateDataSet;
AssignFile(arq,'dados.txt');
Reset(arq);
while not Eof(arq) do
begin
ClientDataSet1.Append;
ReadLn(arq,linha);//Ler os dados da linha;
linha := StringReplace(linha,',',';',[rfReplaceAll]);
linha := StringReplace(linha,'','',[rfReplaceAll]);
//Delete(linha,1,1);//apaga a 1ª aspas duplas;
ClientDataSet1.Fields[0].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[1].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[2].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[3].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[4].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[5].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[6].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[7].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[8].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[9].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[10].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[11].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[12].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[13].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
ClientDataSet1.Fields[14].AsString := Copy(linha,1,Pos(';',linha)-1);
Delete(linha,1,Pos(';',linha));
linha := StringReplace(linha,'.','',[rfReplaceAll]);//Transforma os '.' em 
',' para separar a casa de milar;
linha := StringReplace(linha,';',',',[rfReplaceAll]);//Transforma os ';' em 
'.' para separar a casa decimal;
ClientDataSet1.Fields[15].AsFloat := 
StrToFloat(linha);//FormatFloat('###,###,#0.00',StrToFloat(linha));
ClientDataSet1.Post;
end;
end;

espero ter ajudado.




 ===
Jean Barreiros
  Programador/Web-Designer
  Delphi|C++|PHP|JavaScript
  FireBird|MySql|SQLServer
  PostGree|Oracle
  msn: delphij...@gmail.com
  e-mail: delphij...@yahoo.com.br
===





De: Ralp Alves Bezerra ral...@gmail.com
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 14 de Julho de 2010 12:45:15
Assunto: RES: RES: RES: [delphi-br] Importação de Arquivo

  
Desculpe pessoal é porque eu realmente nunca importei um arquivo de texto
com esta estrutura.

Seguindo a dica do Rubem, consegui esta procedure para tratar o arquivo
antes da importação:

procedure  FileReplaceString( const FileName, searchstring, replacestring:
string  );
var
fs: TFileStream;
S: string ;
begin
fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone);
try
SetLength(S, fs.Size);
fs.ReadBuffer(S[1], fs.Size);
finally
fs.Free;
end ;
S  := StringReplace(S, SearchString, replaceString, [rfReplaceAll,
rfIgnoreCase]);
fs := TFileStream.Create(FileName, fmCreate);
try
fs.WriteBuffer(S[1], Length(S));
finally
fs.Free;
end ;

Estou utilizando da seguinte maneira:

StringReplace(Entrada, ','  ,  ';'  , [rfReplaceAll] );
StringReplace(Entrada, ','  ,  ';'  , [rfReplaceAll] );
StringReplace(Entrada, ','  ,  ';'  , [rfReplaceAll] );

Funcionou parcialmente. O problema agora é com os campos do tipo float que
não estão entre aspas duplas. Eles continuam com a vírgula na delimitação.

E se eu substituir as vírgulas por ponto e vírgula, a vírgula do histórico
também muda. Ai gera o problema.

;0254;Atender as necessidades das Escolas deste Municipio, conforme Termo de
Contrato no 021/2010.;2295.32,787.00,1508.32,

Abraço.

-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Nascimento da Rocha
Enviada em: quarta-feira, 14 de julho de 2010 11:57
Para: delphi-br
Assunto: RE: RES: RES: [delphi-br] Importação de Arquivo
Prioridade: Alta

Mas se for prestar bem atenção ao formato do texto, basta remover as
seguintes sequencias de caracteres por ponto-e-vírgula:

1) ',';

2) ',';

3) ','

Isso não impacta, por exemplo, no conteúdo de um campo literal(string) como
o que vc ilustrou. Pensei q isto estivesse claro!

Sds.


To: delphi-br@yahoogrupos.com.br
From: ral...@gmail.com
Date: Wed, 14 Jul 2010 11:54:06 -0300
Subject: RES: RES

RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Rubem Rocha
Ok. Identifiquei que são 38 campos em cada linha de dados. Só preciso saber o 
significado e tipo de dados de cada um deles.

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Ralp Alves Bezerra
Enviada em: quarta-feira, 14 de julho de 2010 11:07
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: RES: [delphi-br] Importação de Arquivo

 

  

O arquivo original

http://www.grupog2gestao.com.br/NE201005.txt

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em nome de Rubem Rocha
Enviada em: quarta-feira, 14 de julho de 2010 11:00
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: RES: RES: [delphi-br] Importação de Arquivo
Prioridade: Alta

Cara, me manda um exemplo de arquivo TXT nesse formato. Penso que não seja tão 
cabeludo esse problema pra resolver. Vou montar um exemplo de análise de texto 
nesse formato, mostrando o conteúdo em um DBGrid. Tenho certeza que isso não é 
dilema ou paradoxo tão complexo pra ser resolvido. Se estiver como você que 
necessita, eu posto o exemplo na área de arquivos da lista pro povo todo ver 
que isso é simples de resolver.

Sds.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br 
mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Ralp Alves Bezerra
Enviada em: quarta-feira, 14 de julho de 2010 05:56
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
Assunto: RES: RES: [delphi-br] Importação de Arquivo

Pois é, este formato esta me deixando louco aqui.

Existem os valores do tipo float que também possuem as vírgulas e não são 
delimitados por aspas duplas. “100”,10.200,25,”098”

Existem campos em branco “100”,””,10.200,25,”098”

Esta sendo um grande dilema.

Abraço.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
] Em nome de Marcelo
Enviada em: terça-feira, 13 de julho de 2010 21:06
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: Res: RES: [delphi-br] Importação de Arquivo

Ta certo Walter , não me atentei que tinha campos sem as aspas duplas como 
separação. Já trabalhei comarquivos txt parecido com este mas todos os campos 
vinham separados por aspas duplas. Agora este caso tem que analisar um pouco.
De: sWalter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 18:06:16
Assunto: Re: RES: [delphi-br] Importação de Arquivo

Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String 
(que são delimitados por aspas duplas) pode vir apenas um valor float. Mas e se 
vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com  
mailto:whitesockets%40hotmail.com mailto:whitesockets%40hotmail.com 
mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
mailto:delphi-br%40yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br  
mailto:wchagasj%40bol.com.br mailto:wchagasj%40bol.com.br 
mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
mailto:delphi-br%40yahoogrupos.com.br 
Enviadas

RES: RES: [delphi-br] Importação de Arquivo

2010-07-14 Por tôpico Rubem Rocha
Mandei um exemplo pro Ralp que mostra o uso de TStringList para importação
de arquivos, abordando o uso das propriedades QuoteChar, DelimitedText e
Delimiter.

Sds.

-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Fabricio Colombo
Enviada em: quarta-feira, 14 de julho de 2010 09:23
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

var
  vList: TStringList;
begin
  vList := TStringList.Create;
  try
vList.Delimiter := ',';
vList.DelimitedText :=  SuaLinha;

Memo1.Lines.Assign(vList);
  finally
vList.Free;
  end;

 Quando utiliza o DelimitedText, ele respeita o conteúdo contido entre aspas
duplas, e agora que os decimas estão com ponto, vai funcionar perfeitamente.

Em 14 de julho de 2010 10:03, Ralp Alves Bezerra ral...@gmail.comescreveu:



 Depois de muito quebrar a cabeça aqui, solicitei a geração de um novo
 arquivo para importação. E para minha surpresa, os valores não mais tinham
 as casas decimais com vírgula e sim ponto.

 Acredito que possa ter ocorrido um erro na geração do arquivo anterior.

 Esta é uma das linhas de várias dentro do arquivo.


601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,O,Valor
 que se empenha p/ fazer face as despesas com Concessao de 01(uma) diaria
 para ir a Fortaleza tratar de Convenios e Recursos Federais na Sede da
 APRECE, no periodo de

14/05/2010.,11400.00,250.00,11150.00,,,0,,0,F,7,777,PE
DRO
 ROGERIO MORAIS,RUA PROFESSOR NICACIO, S/N
 CENTRO,00883663126,6257,BELA CRUZ,CE,0,,,01192619366

 Os valores agora não tem mais vírgulas nas casas decimais. Porém, no
 histórico:Valor que se empenha p/ fazer face as despesas com Concessao de
 01(uma) diaria para ir a Fortaleza tratar de Convenios e Recursos Federais
 na Sede da APRECE, no periodo de 14/05/2010. existe a utilização de
 vírgulas. Sendo assim, não posso converter as vírgulas para ponto e
vírgula.

 Outro caso, é a existência de campos em branco: BELA
 CRUZ,CE,0,,,01192619366.

 Como devo proceder a partir de agora?

 Abraços.

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em nome de
 Marcos Douglas
 Enviada em: quarta-feira, 14 de julho de 2010 09:22

 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: Re: RES: [delphi-br] Importação de Arquivo

 2010/7/14 Walter Chagas (Bol) wchag...@bol.com.br
wchagasj%40bol.com.brmailto:
 wchagasj%40bol.com.br wchagasj%2540bol.com.br :

  Ruben, torno a questionar.
 
  E se tiver dois valores float na sequencia? Lembre-se que os valores
 float não vem entre aspas.

 Li todos os emails desta thread e gostaria de fazer um comentário.
 Se não há um padrão[1] no arquivo então, conceitualmente, este arquivo
 está errado e não pode ser lido com 100% de certeza, ou seja, algo
 deverá ser interpretado da melhor forma possível, caso o sistema
 encontre uma anomalia.

 [1] Alguns conceitos utilizados em muitos arquivos textos formatados:
 - cada coluna tem um número determinado de caracteres
 - delimitador único para cada coluna: os arquivos csv são exemplos,
 mas quando há vírgulas dentro de um dado, este é quotado com aspas.
 - prefixos para cada tipo de informação: uma letra, simbolo, etc
 - prefixo+sufixo que delimitam uma informação: ex é uma sequencia de
 caracteres como [[informação]]
 - etc.

 Abraço,
 MD.

 [As partes desta mensagem que não continham texto foram removidas]

  







RES: RES: [delphi-br] Importação de Arquivo (Res olvido)

2010-07-14 Por tôpico Ralp Alves Bezerra
Gostaria de agradecer a todos na lista que se despuseram a sanar minha
dúvida.

 

O exemplo que o Rubem Rocha enviou serviu como uma luva.

 

Gostaria de agradecer também ao nobres colegas Daniel Azevedo, Fabricio
Colombo, Jean Barreiros, Walter Chagas, Marcos Douglas e a todos que de
alguma maneira me ajudaram em mais esta empreitada.

 

Muito obrigado, 

 

Abraço a todos.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Rocha
Enviada em: quarta-feira, 14 de julho de 2010 14:01
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: RES: [delphi-br] Importação de Arquivo
Prioridade: Alta

 

  

Mandei um exemplo pro Ralp que mostra o uso de TStringList para importação
de arquivos, abordando o uso das propriedades QuoteChar, DelimitedText e
Delimiter.

Sds.

-Mensagem original-
De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
] Em
nome de Fabricio Colombo
Enviada em: quarta-feira, 14 de julho de 2010 09:23
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: Re: RES: [delphi-br] Importação de Arquivo

var
vList: TStringList;
begin
vList := TStringList.Create;
try
vList.Delimiter := ',';
vList.DelimitedText := SuaLinha;

Memo1.Lines.Assign(vList);
finally
vList.Free;
end;

Quando utiliza o DelimitedText, ele respeita o conteúdo contido entre aspas
duplas, e agora que os decimas estão com ponto, vai funcionar perfeitamente.

Em 14 de julho de 2010 10:03, Ralp Alves Bezerra ral...@gmail.com
mailto:ralprd%40gmail.com escreveu:



 Depois de muito quebrar a cabeça aqui, solicitei a geração de um novo
 arquivo para importação. E para minha surpresa, os valores não mais tinham
 as casas decimais com vírgula e sim ponto.

 Acredito que possa ter ocorrido um erro na geração do arquivo anterior.

 Esta é uma das linhas de várias dentro do arquivo.


601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,O,Valor
 que se empenha p/ fazer face as despesas com Concessao de 01(uma) diaria
 para ir a Fortaleza tratar de Convenios e Recursos Federais na Sede da
 APRECE, no periodo de

14/05/2010.,11400.00,250.00,11150.00,,,0,,0,F,7,777,PE
DRO
 ROGERIO MORAIS,RUA PROFESSOR NICACIO, S/N
 CENTRO,00883663126,6257,BELA CRUZ,CE,0,,,01192619366

 Os valores agora não tem mais vírgulas nas casas decimais. Porém, no
 histórico:Valor que se empenha p/ fazer face as despesas com Concessao de
 01(uma) diaria para ir a Fortaleza tratar de Convenios e Recursos Federais
 na Sede da APRECE, no periodo de 14/05/2010. existe a utilização de
 vírgulas. Sendo assim, não posso converter as vírgulas para ponto e
vírgula.

 Outro caso, é a existência de campos em branco: BELA
 CRUZ,CE,0,,,01192619366.

 Como devo proceder a partir de agora?

 Abraços.

 De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
delphi-br%40yahoogrupos.com.br] Em nome de
 Marcos Douglas
 Enviada em: quarta-feira, 14 de julho de 2010 09:22

 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
delphi-br%40yahoogrupos.com.br
 Assunto: Re: RES: [delphi-br] Importação de Arquivo

 2010/7/14 Walter Chagas (Bol) wchag...@bol.com.br
mailto:wchagasj%40bol.com.br 
wchagasj%40bol.com.brmailto:
 wchagasj%40bol.com.br wchagasj%2540bol.com.br :

  Ruben, torno a questionar.
 
  E se tiver dois valores float na sequencia? Lembre-se que os valores
 float não vem entre aspas.

 Li todos os emails desta thread e gostaria de fazer um comentário.
 Se não há um padrão[1] no arquivo então, conceitualmente, este arquivo
 está errado e não pode ser lido com 100% de certeza, ou seja, algo
 deverá ser interpretado da melhor forma possível, caso o sistema
 encontre uma anomalia.

 [1] Alguns conceitos utilizados em muitos arquivos textos formatados:
 - cada coluna tem um número determinado de caracteres
 - delimitador único para cada coluna: os arquivos csv são exemplos,
 mas quando há vírgulas dentro de um dado, este é quotado com aspas.
 - prefixos para cada tipo de informação: uma letra, simbolo, etc
 - prefixo+sufixo que delimitam uma informação: ex é uma sequencia de
 caracteres como [[informação]]
 - etc.

 Abraço,
 MD.

 [As partes desta mensagem que não continham texto foram removidas]

 






[As partes desta mensagem que não continham texto foram removidas]



Res: RES: [delphi-br] Importação de Arquivo

2010-07-13 Por tôpico Wagne®_Fix
Eu uso COPY, as pessoas podem achar complicado mas eu me dou muito bem... Tem 
um 
cliente meu que importa mais ou menos uns 1000 dados diários para o Banco e 
nunca deu problema...

  AssignFile(arq,g);
  Reset ( arq );
  ReadLn ( arq, linha );
  Tot:= 0;
  AuxTot   := 0;

  while not Eof ( arq ) do begin
AuxLinha:= '';
AuxPed  := '';
AuxChassi   := '';
AuxLinha:= Copy(linha,53,1);
AuxPed  := Copy(linha,1,10);
AuxChassi   := Copy(linha,51,10);
  end;





De: Ralp Alves Bezerra ral...@gmail.com
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

  
Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
From: ral...@gmail.com mailto:ralprd%40gmail.com 
Date: Tue, 13 Jul 2010 15:50:44 -0300
Subject: [delphi-br] Importação de Arquivo

Nobres colegas, estou tentando importar para o meu banco de dados um arquivo
no formato txt com o formato abaixo:

601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,100.000,00

601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
,002,,33901400,130.00

601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
,002,,33901400,1.000,00

601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
,003,,33903000,10.000,00

601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
,006,,33903900,100,00

Já vasculhei a net e até o momento ainda não consegui nenhum êxito.

Algum dos nobres colegas já efetuou este tipo de importação com um arquivo
neste formato?

Estou utilizando Delphi 7/Firebird 2.1

Grato.

Ralp Alves

__
CONVERSE COM SEUS AMIGOS E OS VEJA PELA WEBCAM NO MESSENGER. CLIQUE AQUI E
VEJA COMO.
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2ocid=WLCRM:
Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-
ocid=WLCRM:Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]


 


  

[As partes desta mensagem que não continham texto foram removidas]



Res: RES: [delphi-br] Importação de Arquivo

2010-07-13 Por tôpico Marcelo


Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais facil de trabalhar



De: Ralp Alves Bezerra ral...@gmail.com
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

  
Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
From: ral...@gmail.com mailto:ralprd%40gmail.com 
Date: Tue, 13 Jul 2010 15:50:44 -0300
Subject: [delphi-br] Importação de Arquivo

Nobres colegas, estou tentando importar para o meu banco de dados um arquivo
no formato txt com o formato abaixo:

601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,100.000,00

601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
,002,,33901400,130.00

601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
,002,,33901400,1.000,00

601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
,003,,33903000,10.000,00

601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
,006,,33903900,100,00

Já vasculhei a net e até o momento ainda não consegui nenhum êxito.

Algum dos nobres colegas já efetuou este tipo de importação com um arquivo
neste formato?

Estou utilizando Delphi 7/Firebird 2.1

Grato.

Ralp Alves

__
CONVERSE COM SEUS AMIGOS E OS VEJA PELA WEBCAM NO MESSENGER. CLIQUE AQUI E
VEJA COMO.
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2ocid=WLCRM:
Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-
ocid=WLCRM:Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]


 


  

[As partes desta mensagem que não continham texto foram removidas]



Res: RES: [delphi-br] Importação de Arquivo

2010-07-13 Por tôpico Marcelo


tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.



De: Walter Chagas (Bol) wchag...@bol.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

  
é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:04 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais facil de trabalhar


De: Ralp Alves Bezerra ral...@gmail.com
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
From: ral...@gmail.com mailto:ralprd%40gmail.com 
Date: Tue, 13 Jul 2010 15:50:44 -0300
Subject: [delphi-br] Importação de Arquivo

Nobres colegas, estou tentando importar para o meu banco de dados um arquivo
no formato txt com o formato abaixo:

601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,100.000,00

601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
,002,,33901400,130.00

601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
,002,,33901400,1.000,00

601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
,003,,33903000,10.000,00

601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
,006,,33903900,100,00

Já vasculhei a net e até o momento ainda não consegui nenhum êxito.

Algum dos nobres colegas já efetuou este tipo de importação com um arquivo
neste formato?

Estou utilizando Delphi 7/Firebird 2.1

Grato.

Ralp Alves

__
CONVERSE COM SEUS AMIGOS E OS VEJA PELA WEBCAM NO MESSENGER. CLIQUE AQUI E
VEJA COMO.
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2ocid=WLCRM:
Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-
ocid=WLCRM:Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]


 


  

[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] Importação de Arquivo

2010-07-13 Por tôpico Rubem Rocha
Eu leria linha-a-linha, e cada linha lida retiraria todas as aspas! Depois,
usaria o bom e velho TStringList pra separar os dados da linha, usando as
propriedades DelimitedText e Delimiter.

 

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de anckerdj
Enviada em: terça-feira, 13 de julho de 2010 16:38
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

 

  

Ralp Alves Bezerra wrote:
 Não estou conseguindo montar uma rotina para pegar os dados contidos
dentro
 das aspas duplas e delimitadas por vírgula.

 

 Existe um campo no formato 100.000,00 que também contém vírgulas em seu
 conteúdo.

 
601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,100.000,00

Use um parser simples (autômato) e vai funcionar sempre.

[]'s



 



[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] Importação de Arquivo

2010-07-13 Por tôpico Rubem Rocha
Simples! Faz um StringReplace() na linha lida fazendo as seguintes trocas:

 

1)  De [,”] para [;]

2)  De [“,] para [;]

3)  De [“,”] para [;]

 

Assim, a linha lida terá os valores dos campos delimitados por ponto-e-vírgula! 
Bem mais fácil pra ler, não?

 

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Walter Chagas (Bol)
Enviada em: terça-feira, 13 de julho de 2010 17:06
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

 

  

Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String (que são delimitados por aspas duplas) pode vir apenas um valor float. 
Mas e se vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 5:04 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais facil de trabalhar


De: Ralp Alves Bezerra ral...@gmail.com mailto:ralprd%40gmail.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
From: ral...@gmail.com mailto:ralprd%40gmail.com  mailto:ralprd%40gmail.com 
Date: Tue, 13 Jul 2010 15:50:44 -0300
Subject: [delphi-br] Importação de Arquivo

Nobres colegas, estou tentando importar para o meu banco de dados um arquivo
no formato txt com o formato abaixo:

601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,100.000,00

601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
,002,,33901400,130.00

601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
,002,,33901400,1.000,00

601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
,003,,33903000,10.000,00

601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
,006,,33903900,100,00

Já vasculhei a net e até o momento ainda não consegui nenhum êxito.

Algum dos nobres colegas já efetuou este tipo de importação com um arquivo
neste formato?

Estou utilizando Delphi 7/Firebird 2.1

Grato.

Ralp Alves




 



[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] Importação de Arquivo

2010-07-13 Por tôpico Rubem Rocha
Em termos de código, ficaria assim:

 

{ Troca as virgulas e aspas por ponto-e-vírgula }

function NormalizaLinha(sLinha: string): string;

begin

  Result := sLinha;

  Result := StringReplace(Result, ',', ';', [rfReplaceAll]);

  Result := StringReplace(Result, ',', ';',  [rfReplaceAll]);

  Result := StringReplace(Result, ',', ';',  [rfReplaceAll]);

end;

 

procedure ImportarArquivo(NomeArquivo: string);

var

  sLinha: string;

  lArquivo, lLinha: TStringList;

begin

  if not FileExists(NomeArquivo) then

Exit;

  lArquivo := TStringList.Create;

  try

lArquivo.LoadFromFile(NomeArquivo);

while lArquivo.Count  0 do

begin

  if not Assigned(lLinha) then

  begin

lLinha := TStringList.Create;

lLinha.Delimiter := ';';

  end;

  sLinha := NormalizeLinha(lArquivo[0]);

  lLinha.DelimitedText := sLinha;

 

  { Aqui, o StringList lLinha contém, em cada posição

dentro dele, um valor separado. Aqui, poste o código

para efetuar a importação do registro!  }

 

  lArquivo.Delete(0);

end;

  finally

if Assigned(lLinha) then lLinha.Free;

lArquivo.Free;

  end;

end;

 

Sds.

 

 

 

De: Rubem Rocha [mailto:rubem.ro...@dtmanaus.com.br] 
Enviada em: terça-feira, 13 de julho de 2010 17:15
Para: 'delphi-br@yahoogrupos.com.br'
Assunto: RES: RES: [delphi-br] Importação de Arquivo
Prioridade: Alta

 

Simples! Faz um StringReplace() na linha lida fazendo as seguintes trocas:

 

1)  De [,”] para [;]

2)  De [“,] para [;]

3)  De [“,”] para [;]

 

Assim, a linha lida terá os valores dos campos delimitados por ponto-e-vírgula! 
Bem mais fácil pra ler, não?

 

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Walter Chagas (Bol)
Enviada em: terça-feira, 13 de julho de 2010 17:06
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Importação de Arquivo

 

  

Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String (que são delimitados por aspas duplas) pode vir apenas um valor float. 
Mas e se vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br mailto:wchagasj%40bol.com.br 
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com mailto:whitesockets%40hotmail.com 
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
Sent: Tuesday, July 13, 2010 5:04 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais facil de trabalhar


De: Ralp Alves Bezerra ral...@gmail.com mailto:ralprd%40gmail.com 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
mailto:delphi-br%40yahoogrupos.com.br 
From: ral...@gmail.com mailto:ralprd%40gmail.com  mailto:ralprd%40gmail.com 
Date: Tue, 13 Jul 2010 15:50:44 -0300
Subject

Res: RES: [delphi-br] Importação de Arquivo

2010-07-13 Por tôpico Marcelo


Ta certo Walter , não me atentei que tinha campos sem as aspas duplas como 
separação. Já trabalhei comarquivos txt parecido com este mas todos os campos 
vinham separados por aspas duplas. Agora este caso tem que analisar um pouco.
De: sWalter Chagas (Bol) wchag...@bol.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 13 de Julho de 2010 18:06:16
Assunto: Re: RES: [delphi-br] Importação de Arquivo
  
Não não não não.

Da forma como você está propondo, voce supoe que entre os valores do tipo 
String 
(que são delimitados por aspas duplas) pode vir apenas um valor float. Mas e se 
vier dois ou mais na sequência?? Veja o caso abaixo:

601,029,2.010,98,1.011,32,01,20100517,17,05,20,10,04,122,0003,2
,002,,33901400,130.00

como ficaria este caso?

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:29 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

tem que trocar a aspa dupla junta Walter, ai não tem enigma , pois nos valores 
decimais não será substituida. Ai ele terá um separador padrão o ponto e 
virgula. depois fica facil.


De: Walter Chagas (Bol) wchag...@bol.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 13 de Julho de 2010 17:09:01
Assunto: Re: RES: [delphi-br] Importação de Arquivo

é mas e a virgula dos valores decimais??

É um enigma essa parada daí.

[]s

Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr

- Original Message - 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br 
Sent: Tuesday, July 13, 2010 5:04 PM
Subject: Res: RES: [delphi-br] Importação de Arquivo

Já pensou em dar um StringReplace nas , trocando por ; ai voce teria um 
separador padrão ai facaria muito mais facil de trabalhar


De: Ralp Alves Bezerra ral...@gmail.com
Para: delphi-br@yahoogrupos.com.br
Enviadas: Terça-feira, 13 de Julho de 2010 16:09:57
Assunto: RES: [delphi-br] Importação de Arquivo

Não estou conseguindo montar uma rotina para pegar os dados contidos dentro
das aspas duplas e delimitadas por vírgula.

Existe um campo no formato 100.000,00 que também contém vírgulas em seu
conteúdo.

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Nascimento da Rocha
Enviada em: terça-feira, 13 de julho de 2010 15:54
Para: delphi-br
Assunto: RE: [delphi-br] Importação de Arquivo
Prioridade: Alta

Qual é exatamente a sua dificuldade?

Sds.

To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
From: ral...@gmail.com mailto:ralprd%40gmail.com 
Date: Tue, 13 Jul 2010 15:50:44 -0300
Subject: [delphi-br] Importação de Arquivo

Nobres colegas, estou tentando importar para o meu banco de dados um arquivo
no formato txt com o formato abaixo:

601,029,201000,02,01,20100512,12050002,201005,04,122,0003,2
,002,,33901400,100.000,00

601,029,201000,02,01,20100517,17050003,201005,04,122,0003,2
,002,,33901400,130.00

601,029,201000,02,01,20100517,17050004,201005,04,122,0003,2
,002,,33901400,1.000,00

601,029,201000,02,01,20100524,24050005,201005,04,122,0003,2
,003,,33903000,10.000,00

601,029,201000,03,01,20100503,03050009,201005,04,122,0003,2
,006,,33903900,100,00

Já vasculhei a net e até o momento ainda não consegui nenhum êxito.

Algum dos nobres colegas já efetuou este tipo de importação com um arquivo
neste formato?

Estou utilizando Delphi 7/Firebird 2.1

Grato.

Ralp Alves

__
CONVERSE COM SEUS AMIGOS E OS VEJA PELA WEBCAM NO MESSENGER. CLIQUE AQUI E
VEJA COMO.
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2
http://www.windowslive.com.br/public/tip.aspx/view/84?product=2ocid=WLCRM:
Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-
ocid=WLCRM:Live:Hotmail:Tagline:senDimensao:CONVERSECO85:-

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]


 


  

[As partes desta mensagem que não continham texto foram removidas]