Ler arquivo de dados em Texto
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.
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
Curtidas 0
Respostas
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
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
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)
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
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
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.
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