Marcos,

Se o arquivo puder ser gerado com um separador diferente de vírgula 
("!#", por exemplo), isso resolve o problema.

Caso contrário, a rotina que faz split deveria receber também o 
delimitador de strings (neste caso, aspas duplas) e não considerar o 
delimitador de campos presente dentro de uma string ao fazer a separação 
dos tokens.

Você pode adaptar a rotina que eu disponibilizei para fazê-la contemplar 
isso e surpreender o seu cliente com uma melhoria no seu software ; )

Um abraço,
Dirlei.

Marcos Abreu Ferreira escreveu:
>  
>
> Dirlei,
>
> tive um problema parecido, só que dentro de um dos determinados campos 
> tinha o nome do individuo, só que ele poderia vir com a vírgula, como 
> exemplo abaixo
>
> "1","029",200900,"Carlos Alberto"
> "2","030",200901,"Henrique, Carmen"
>
> Se eu der um SPLIT por vírgula, no primeiro registro vou ter um vetor 
> de 4 posições, e no segundo registro, vou ter um vetor com 5 posições. 
> A minha solução foi avisar o cliente que se ele colocar a vírgula nos 
> nomes, iria dar problema, mas gostaria de fazer uma solução que se o 
> cara colocar a vírgula, o sistema entenda isso e ignore na hora do SPLIT.
>
> Alguém teria uma solução para isso?
>
> Marcos
>
> --- Em delphi-br@yahoogrupos.com.br 
> <mailto:delphi-br%40yahoogrupos.com.br>, Dirlei <dir...@...> escreveu
> >
> > Ralph,
> >
> > Para retirar as aspas, você pode utilizar:
> > StringReplace(<linha do arquivo>, '"', '', [rfReplaceAll]);
> >
> > Para fazer "split" dos valores separados por vírgula, você pode 
> utilizar
> > uma função que fiz para isso. Disponibilizei em:
> > http://pastebin.com/ZfAGxK5i <http://pastebin.com/ZfAGxK5i> (use à 
> vontade, mas mantenha a atribuição).
> >
> > Dirlei.
> >
> > Ralp Alves Bezerra escreveu:
> > >
> > >
> > > Nobres colegas,
> > >
> > > Estou tentando importar um arquivo texto no seguinte formato:
> > >
> > > "601","029",200900,"01","01",20091201,"01120001",200912,"01","031"
> > > "601","029",200900,"01","01",20091201,"01120001",200912,"01","031"
> > > "601","029",200900,"01","01",20091201,"01120001",200912,"01","031"
> > > Porém, esbarrei no qualificador de texto (aspas).
> > >
> > > Como poderia fazer a importação deste arquivo delimitado por 
> vírgula e com
> > > as aspas?
> > >
> > > Alguém já efetuou este processo ou tem alguma idéia de como devo 
> proceder?
> > >
> > > Já dei uma olhada no velho amigo Google e não consegui nada.
> > >
> > > Estou utilizando delphi7 e firebird 2.1.
> > >
> > > Abraços.
> > >
> > > Ralp Alves
>

Responder a