Importar dados TXT para o Banco?

Delphi

20/11/2008

Pessoal, não sei como fazer para importar estes dados para um banco de dados Firebird, vi alguns topicos aqui, mais não entendo o procedimento

30100594228000157 119507736761107200211SUMAKO YAMOTO 30100594228000157 126906135320104200401ADRIANO ANTUNESIS 30100594228000157 128410654900104200401JOSIMARA RIBEIRO DOS SANTOS 30100594228000157 129041985220108200301GISLAINE CRISTINA TROLLI 30100594228000157 129460184920105200401SUELLEN CAMARGO 30100594228000157 209062969130103200401TEREZA APARECIDA MENDES TEIXEIRA


Este arquivo fica tudo junto quando é gerado, preciso separar e passar para o banco, mais ai é que esta a duvida, não sei como separar isso e gravar no banco.

Alguém pode me ajudar?

Vi este código aqui nas buscas que fiz;
procedure TF_Importar.BitBtn1Click(Sender: TObject);
var
Txt: Textfile;
Entrada: string;
begin
BitBtn1.Enabled:= false;
if OpenDialog1.Execute then
begin
F_Importar.Table1.EmptyTable; //... zera o arquivo
F_Importar.Table1.Open;
AssignFile(Txt,(OpenDialog1.FileName){ NOME do arquivo texto}
Animate1.Visible:= true;
Animate1.Active:= true;
Reset(Txt);
While not Eoln(Txt) do
begin
Readln(Txt,Entrada);
F_Importar.Table1.Insert;
F_Importar.Table1.FieldByName(´Numero_Ordem´).Value:= Copy(Entrada,01,05);
F_Importar.Table1.FieldByName(´Codigo_Entidade´).Value:= Copy(Entrada,06,01);
F_Importar.Table1.FieldByName(´Numero_Entidade´).Value:= StrToInt(Copy(Entrada,07,03));
F_Importar.Table1.FieldByName(´Referencia´).Value:= Copy(Entrada,10,07);
F_Importar.Table1.FieldByName(´Tipo_Envio´).Value:= StrToInt(Copy(Entrada,17,01));
F_Importar.Table1.FieldByName(´Matricula´).Value:= Copy(Entrada,18,10);
F_Importar.Table1.FieldByName(´Nome´).Value:= Copy(Entrada,28,60);
F_Importar.Table1.FieldByName(´CPF´).Value:= Copy(Entrada,88,11);
F_Importar.Table1.FieldByName(´Sexo´).Value:= Copy(Entrada,99,01);
F_Importar.Table1.FieldByName(´Data_Nascimento´).Value:= Copy(Entrada,100,10);
F_Importar.Table1.FieldByName(´Data_Admissao´).Value:= Copy(Entrada,110,10);
F_Importar.Table1.FieldByName(´Tipo_Servidor´).Value:= Copy(Entrada,120,01);
F_Importar.Table1.FieldByName(´Codigo_Cargo_Funcional´).Value:= Copy(Entrada,121,10);
F_Importar.Table1.FieldByName(´Codigo_Lotacao´).Value:= Copy(Entrada,131,10);
F_Importar.Table1.FieldByName(´Salario_Base´).Value:= Copy(Entrada,141,11);
F_Importar.Table1.FieldByName(´Total_Vencimento´).Value:= Copy(Entrada,152,11);

F_Importar.Table1.Post;
NeatoMeter1.Caption:= ´Importando, aguarde... ´+ IntToStr(Table1.RecordCount);
end;
CloseFile(Txt);
NeatoMeter1.Caption:= ´Importação realizado com sucesso...´;
NeatoMeter1.Percent:= 100;
BitBtn1.Enabled:= true;
F_Importar.Height:= 404;
F_Importar.ClientHeight:= 377;
BitBtn2.Kind:= bkClose;
Label1.Caption := ´Foi Importado um total de ´+ IntToStr(Table1.RecordCount)+´ registros com sucesso´;
end;
end; 

Mais sinceramente, não entendo o modo que é feito para exportar, e nem cheguei a testar.

A principio não sei qual leitura o comando copy faz aqui
[b:7062193f06]Copy(Entrada,01,05);[/b:7062193f06] Seria algO da linha 01 a 05? e a Coluna? Bom pessoal, estou perdido ainda, mais preciso saber como importar o texto acima no banco. (Obs: Este testo pode haver alterações de nomes além de ter mais conteudo que este ai acima)

Grato
Adriano.


Adriano_servitec

Adriano_servitec

Curtidas 0

Respostas

Marcosrocha

Marcosrocha

20/11/2008

Mensagem := ´18/11/2008 às 08:10´;
Edit1.Text := Copy(Mensagem, 1, 10);

Copiar o texto da variável Mensagem a partir da primeira posição da String, pegando 10 caracteres à frente. Edit1.Text ficará com o valor: 18/11/2008
Tomando o mesmo exemplo se eu usar Copy(Mensagem, 12, 2), Edit1.Text dicará com o valor: às
[b:307a6392d9]Jamais[/b:307a6392d9] confunda Copy de 01 até 05 pois como mostrei, o último parâmetro do copy diz quantos caracteres ele deve copiar e [b:307a6392d9]não[/b:307a6392d9] até qual posição.


GOSTEI 0
Adriano_servitec

Adriano_servitec

20/11/2008

Mensagem := ´18/11/2008 às 08:10´;
Edit1.Text := Copy(Mensagem, 1, 10);
Copiar o texto da variável Mensagem a partir da primeira posição da String, pegando 10 caracteres à frente. Edit1.Text ficará com o valor: 18/11/2008 Tomando o mesmo exemplo se eu usar Copy(Mensagem, 12, 2), Edit1.Text dicará com o valor: às [b:32d4e87223]Jamais[/b:32d4e87223] confunda Copy de 01 até 05 pois como mostrei, o último parâmetro do copy diz quantos caracteres ele deve copiar e [b:32d4e87223]não[/b:32d4e87223] até qual posição.
Olá marcosrocha, ja entendi o procedimento, e ja consegui fazer, muito obrigado amigo.

Valeu pela ajuda.


GOSTEI 0
POSTAR