eu ate consigo gerar a importacao o grande problema é que tem linhas que saem certas outras não, porque os campos por exemplo:
CONTAD (é de tamanho 6, + as vezes recebem 5 caracteres e em outras vezes 6. quando a conta recebe 6 caracteres dá certo + quando recebe 5 dá erro porque a conta sae por exemplo assim 12345" na tabela enquanto eu precisava que saisse assim 12345 se fosse com seis caracteres sairia certo assim 123456 porque na linha de comando que eu usei ..... IBTable1.fieldbyname('CONTAD').asstring := copy(s1,05,06); aponta seis posições.
CONTAC acontece a mesma coisa que na CONTAD.
e assim tmb com o Historico.
precisava achar uma forma de fazer a importacao entender que eu so preciso da informacao entre as aspas, independente do tamanho dos caracteres.
EXemplo : a) - "","123456","123456","01/01/2005","20000610,25","","PAGO CH 11580 ",""
B) - "","12345","12345","01/01/2005","2610,25","","PAGO CNF CH 11000 A FULANO",""
rESULTADOS
ESPERADOS : a) - 0 123456 123456 01/01/2005 20000610,25 PAGO CH 11580 0
B) - 0 12345 12345 01/01/2005 2610,25 PAGO CNF CH 11000 A FULANO 0
OBS COLOQUEI Zero, nos campos aonde "" representam nada importado ou melhor campo zerado ou vazio.
Se alguém puder me ajuda? sei que essa é um poukinho complicado, + tenho certeza que algum abençoado por Deus vai me ajudar a sair dessa. de qualquer forma a quem puder me ajudar, desde já agradeço e um forte abracao Maique Castro
Pergunta
MAIQUE
POR FAVOR alguém ME AJUDE !
Preciso fazer uma importacao de um arquivo IMPORTADO.TXT para uma tabela do Interbase, minha tabela possui o seguinte LAYOUT abaixo :
"","421303","33214","01/01/2005","2610,25","","PAGO CH 11580 ",""
aonde as aspas é o delimitador entre os campos da tabela. minha tabela possui os seguintes campos
COD,CONTAD, CONTAC,DATA,VALOR,REG1,HISTORICOS,REG2.
estou usando a seguinte logica :
procedure TForm1.Button1Click(Sender: TObject);
var
F1: textfile;
S1:String;
//if FileExists('h:\...\texto.txt')then
begin
AssignFile(F1,'C:\TESTE\IMPORTADO.TXT');
filemode := 2;
reset(f1);
while not eof(F1) do
begin
readln(f1,s1);
IBTable1.Open;
IBTable1.insert;//
IBTable1.fieldbyname('COD').asstring := copy(s1,01,02);
IBTable1.fieldbyname('CONTAD').asstring := copy(s1,05,06);
IBTable1.fieldbyname('CONTAC').asstring := copy(s1,13,06);
IBTable1.fieldbyname('DATA').asstring := copy(s1,22,10);
IBTable1.fieldbyname('VALOR').asstring := copy(s1,33,30);
IBTable1.fieldbyname('REG1').asstring := copy(s1,53,1);
IBTable1.fieldbyname('HISTORICO').asstring := copy(s1,56,70);
IBTable1.fieldbyname('REG2').asstring := copy(s1,88,1);
IBTable1.applyupdates;
closefile(f1);
end;
eu ate consigo gerar a importacao o grande problema é que tem linhas que saem certas outras não, porque os campos por exemplo:
CONTAD (é de tamanho 6, + as vezes recebem 5 caracteres e em outras vezes 6. quando a conta recebe 6 caracteres dá certo + quando recebe 5 dá erro porque a conta sae por exemplo assim 12345" na tabela enquanto eu precisava que saisse assim 12345 se fosse com seis caracteres sairia certo assim 123456 porque na linha de comando que eu usei ..... IBTable1.fieldbyname('CONTAD').asstring := copy(s1,05,06); aponta seis posições.
CONTAC acontece a mesma coisa que na CONTAD.
e assim tmb com o Historico.
precisava achar uma forma de fazer a importacao entender que eu so preciso da informacao entre as aspas, independente do tamanho dos caracteres.
EXemplo : a) - "","123456","123456","01/01/2005","20000610,25","","PAGO CH 11580 ",""
B) - "","12345","12345","01/01/2005","2610,25","","PAGO CNF CH 11000 A FULANO",""
rESULTADOS
ESPERADOS : a) - 0 123456 123456 01/01/2005 20000610,25 PAGO CH 11580 0
B) - 0 12345 12345 01/01/2005 2610,25 PAGO CNF CH 11000 A FULANO 0
OBS COLOQUEI Zero, nos campos aonde "" representam nada importado ou melhor campo zerado ou vazio.
Se alguém puder me ajuda? sei que essa é um poukinho complicado, + tenho certeza que algum abençoado por Deus vai me ajudar a sair dessa. de qualquer forma a quem puder me ajudar, desde já agradeço e um forte abracao Maique Castro
maiquecastro@hotmail.com
maiquecastro@oi.com.br
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.