RES: RES: [delphi-br] Importação de Arquivo
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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]