ai meu caro, vc tem que saber o tamanho de cada campo e fazer com que o Copy(Str,Index,Count) copie exatament o que vc quer. tipo: TXT( 00000001 JOAO PAULINO DE OLIVEIRA RUA DE GLORIA ANDAR DE CIMA 00000002 MARIA MADALENA DE OLIVEIRA RUA DA GETULIO VARGAS ) no txt temos os seguintes campos FIELD SIZE codigo 8 nome 28 rua 27 então quando fazer o copy() temos que atentar para indicar a possição de inicio correta e a quantidade de caracter correta. assim: procedure.... Var sLinha, sCodigo, sNome, sEndereco: string begin //..... while ou for pra passar o valor da linha lida no txt para sLinha; sCodigo := Trim(Copy(sLinha,1,8)//copiar da posição 1, 8 caractes sNome := Trim(Copy(sLinha,10,28)//copiar da posição 10, 28 caractes sEndereco := Trim(Copy(sLinha,39,27)// copiar da posição 39, 27 caractes //... o resto do seu código; end; bom então acho que você esteja pecando nessa parte da divisão de inicio e quantidade de caracters. reveja seus código com calma. ah! lembrando que todas as linhas do txt devem ter exatamente a mensa quantidade de caracteres para o mesmo campo, mesmo, quando o texto real seja menor, a diferença que falta deve estar com espaços vazio. epero ter ajudado Jean Barreiros Programador/Web-Designer Delphi, C++, PHP, JavaScript FireBird/InterBase, MySql, SQLServer, PostGree, Oracle msn: [EMAIL PROTECTED] e-mail: [EMAIL PROTECTED]
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]