Ler arquivo de dados em Texto

Delphi

30/05/2003

Colegas,

Recebi uma base de dados em texto e gostaria de exportá-la para interbase.

Ele é mais ou menos assim

031125325632 2563256325478

Os campos são identificados por posições, por exemplo, as três primeiras posições se referem ao estados, da 4 a 7 município, etc.

Já tenho todas as posições. Gostaria de saber se alguém poderia me ajudar numa rotina que leia o arquivo texto e procuro a posição das string na linha.

Alguém poderá me ajudar?

FCS-BH

P.S.: Cada linha é um registro.


Fcs-bh

Fcs-bh

Curtidas 0

Respostas

Josemarlourenco

Josemarlourenco

30/05/2003

Eis um exemplo:
Procedure Imprta;
Var
FFile: TextFile;
FLine: String;
Begin
AssignFile(FFile, NomeDoArquivo);
Reset(FFile);
while not EOF(FFile) do
begin
ReadLn(FFile, FLine);
if FLine<>´´ then
begin
FLine:=UpperCase(FLine);
Application.ProcessMessages;
oTable.Append;
oTable[´CodMunicipio´] := Copy(FLine, 2, 5);
oTable[´SiglaUF´] := Copy(FLine, 7, 2);
oTable[´Nome´] := Copy(FLine, 9, 50);
oTable.Post;
end;
Application.ProcessMessages;
end;
CloseFile(FFile);
End;

Josemar


GOSTEI 0
Tales

Tales

30/05/2003

Cara, Usa o Copy... é só atribuir a uma variável do tipo String Ex:

Teste := Copy (StringOrigem), 3, 5)

Onde o primeiro numero é a posição inicial e o segundo é o tamanho da string que vc quer extrair...

8)


GOSTEI 0
Tales

Tales

30/05/2003

Teste := Copy (StringOrigem, 3, 5) 8)


Desculpa eu tinha fechado um parenteses a mais ´ ) ´, agora esta certo...
:lol:


GOSTEI 0
Fcs-bh

Fcs-bh

30/05/2003

VALEU CARAS, JÁ CONSEGUI.

ALGUÉM SABE ME DIZER O LIMITE DE REGISTROS DO INTERBASE 6.0?

COMO ABRIR UMA TABELA COM 1.000.000 DE REGISTROS MAIS RAPIDAMENTE.

ABRAÇOS.


GOSTEI 0
POSTAR