Essa parte vai ficar assim: DM.cdsImportacao.Post; DM.cdsImportacao.Close; Inc(i); ProgressBar1. Position := ProgressBar1. Position + 1; Next; end; DM.cdsImportacao. ApplyUpdates( 0); //Aplica as atualizações em memória no ShowMessage('Processo Concluído Com êxito!!!'); Close; end;
Emerson Martins da Silva Analista de Sistemas Júnior msn:[EMAIL PROTECTED] EMS INFORMATICA - Desenvolvimento e Suporte de Sistemas ----- Mensagem original ---- De: itasouza <[EMAIL PROTECTED]> Para: delphi-br@yahoogrupos.com.br Enviadas: Domingo, 22 de Junho de 2008 10:49:11 Assunto: [delphi-br] Ajuda com Importação de dados em TXT Importação e exportação de dados em TXT 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(ProgressBa r1.Max); //Buscando pelo Parâmetro codigo, para verificar se já existe na tabela //DM.cdsImportacao. Params.ParamByNa me('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.cdsImportacaonom e.AsString :=Trim(Copy( Linha, 9, 19 )); DM.cdsImportacaocon tato.AsString :=Trim(Copy( Linha, 31, 9 )); DM.cdsImportacaoddi .AsString :=Trim(Copy( Linha, 41, 3 )); DM.cdsImportacaoddd .AsString :=Trim(Copy( Linha, 45, 3 )); DM.cdsImportacaofon e.AsString :=Trim(Copy( Linha, 49, 8 )); DM.cdsImportacaoddd _2.AsString :=Trim(Copy( Linha, 58, 3 )); DM.cdsImportacaofon e_2.AsString :=Trim(Copy( Linha, 62, 8 )); DM.cdsImportacaoddd _3.AsString :=Trim(Copy( Linha, 71, 3 )); DM.cdsImportacaofon e_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 Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]