Marcos,

Tente usar esta função para fazer o split dos dados:

function Explode(delimiter:string; source:string) : TStringList;
(*
// Name : Explode
// Purpose : each of which is a substring of string formed by splitting 
it on
// boundaries formed by the string delim. It does not support PHP's
// 'limit' feature.
// Date : 12 Feb 2001 by Bob Brown (bob.br...@opus.co.nz)
// Comments : Based on PHP's Explode function (http://www.php.net/explode).
// Returns an array of strings, each of which is a substring of
// string formed by splitting it on boundaries formed by the string // 
delimiter.
*)
var
   c : word;
begin
   Result:=TStringList.Create;
   c:=0;
   while source<>'' do
   begin
     if Pos(delimiter,source)>0 then
     begin
       Result.Add(Copy(Source,1,Pos(delimiter,source)-1));
       Delete(Source,1,Length(Result[c])+Length(delimiter));
     end
     else
     begin
       Result.Add(Source);
       Source:='';
     end;
     inc(c);
   end;
end;


Sucesso !!

Moacir


Em 10/03/2010 09:41, 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, 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 (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