Bom dia.. Conseguir contar os espaços deu certo a inserção dos dados, mais só gravou a primeira linha, debugei o código e não encontrei problemas, verifiquei que estava usando o comando "Next;" não gerava erro mais só gravava a primeira linha, substituir por "Readln" e agora gera o erro: Project SysSam.exe raised exception class EInOutError with message 'I/O error 6'. Process stopped. Use Step or Run to continue. Como usar o comando POS ou Readln, para que grave todas as linhas? Layout de importação: 3351781;MARIA DA PENHA CAUS;69601640797;055;021;46671479;015;46687415;013;48879253; 3351781;MARIA DA PENHA CAUS;69601640797;055;021;46671479;015;46687415;013;48879253; 3351781;MARIA DA PENHA CAUS;69601640797;055;021;46671479;015;46687415;013;48879253; 3351781;MARIA DA PENHA CAUS;69601640797;055;021;46671479;015;46687415;013;48879253; Código com os espaços corretos: while not Eof(fArq) do //Enquanto não chegar ao fim do arquivo begin Application.ProcessMessages; Readln(farq, linha); //Lê a linha e posiciona o cursor na próxima frmImportacao.Caption := 'Lendo Linha: ' + IntToStr(i) + ' de: ' + IntToStr(ProgressBar1.Max); //Buscando pelo Parâmetro codigo, para verificar se já existe na tabela //DM.cdsImportacao.Params.ParamByName('codigo').asString := Trim(Copy(Linha, 1, 8)); DM.cdsImportacao.Open; //Abre o CDS // if DM.cdsImportacao.IsEmpty then //Se Não existir o registro DM.cdsImportacao.Append //Insira os dados da linha atual else //Senão, se o registro já existir DM.cdsImportacao.Edit; //Coloca em modo de edição para atualizar os campos //Aqui os campos recebem as linhas lidas DM.cdsImportacaocod_integracao.AsString :=Trim(Copy(Linha, 1, 7 )); DM.cdsImportacaonome.AsString :=Trim(Copy(Linha, 9, 19 )); DM.cdsImportacaocontato.AsString :=Trim(Copy(Linha, 31, 9 )); DM.cdsImportacaoddi.AsString :=Trim(Copy(Linha, 41, 3 )); DM.cdsImportacaoddd.AsString :=Trim(Copy(Linha, 45, 3 )); DM.cdsImportacaofone.AsString :=Trim(Copy(Linha, 49, 8 )); DM.cdsImportacaoddd_2.AsString :=Trim(Copy(Linha, 58, 3 )); DM.cdsImportacaofone_2.AsString :=Trim(Copy(Linha, 62, 8 )); DM.cdsImportacaoddd_3.AsString :=Trim(Copy(Linha, 71, 3 )); DM.cdsImportacaofone_3.AsString :=Trim(Copy(Linha, 75, 8 )); DM.cdsImportacao.Post; //Salve o registro em memória DM.cdsImportacao.ApplyUpdates(0); //Aplica as atualizações em memória no banco DM.cdsImportacao.Close; //Fecha o CDS } Inc(i); ProgressBar1.Position := ProgressBar1.Position + 1; Next; end; Agradeço a ajuda