Ir para conteúdo
Fórum Script Brasil

MICHELI_MARTINS

Membros
  • Total de itens

    84
  • Registro em

  • Última visita

Posts postados por MICHELI_MARTINS

  1. eu já havia colocado o qrexport na uses, e alem dele QRWebFilt que é o componente do quick para html. esta outra forma que você apresentou eu já havia tentado fazer, porem existe dois fatos:

    1- se eu coloco desta forma, QuickReport.ExportToFilter(TQRHTMLDocumentFilter.Create('c:\teste.html')) ele diz q há incompatibilidade de tipos tcomponent e string.

    2- pelo componente QRWebFilt não preciso desta linha porque ele proprio já adiciona na caixa dialog do preview a extensao html.

    ainda assim no form, com botao direito clico em propriedades peço o preview, clico na dialog e peço para salvar em html. salva direitinho.

    se eu pedir para correr (run) escolho o relatorio ele tb me da o preview, tambem me da o html na dialog do preview, mas este quando salvo, abro o html gera lixo.

  2. veja, no meu não existe um savedialog, este compontente para abrir esta caixa e salvar vem do proprio report preview do relatorio. é bem simples. se faço isso no proprio form e clico em salvar ele salva ok.

    o problema é ao executar a aplicação. ele salva tambem. mas ao abrir o html tem um monte de lixo.

  3. Bom dia a todos. Estou com um problema ao fazer o filtro do relatorio para html e não sei como resolver.

    se você da um preview nas propriedades com botao direito em cima do relatorio dentro do form do delphi e pede para salva-lo em html, ele trabalha certinho.

    o problema é quando se roda a aplicação, (exe) gera o relatorio, faz o preview e pede pra salva-lo ele ate salva mas quando vou verificar o html ele joga um monte de lixo na tela.

    o que pode ser?

  4. você vai ter q usar funcoes de string pra separar.

    tipo, substring(), charindex(), etc.

    tem q ver como você sabe ate onde vai o nome. o nome vem sempre primero?? tem tamanho fixo?? onde ele acaba?? ele vai somente ate o primero espaco??

    sabendo disso, você usa as funcoes q eu falei pra separar a string.

    sim o nome vem primeiro depois vem o codigo mas o nome não possui tamanho fixo de forma que o produto varia de tamanho. referente ao espaço entre o nome e o codigo, tem uns produtos que tem e outros q não....teria que ser um select q identificasse o primeiro numero na sequencia do nome do produto...

  5. pessoal boa noite.

    tenho uma base de dados com o nome de produto assim BUCHA 352.322.0050 H1001.

    Gostaria de saber se tem possibilidade de fazer um select nesse campo em que ele so me retorne o numero do produto (sem o nome), pois foi cadastrado assim pelo usuario.

    A intençao é pegar o codigo do produto e fazer um script para transporta-lo para outro campo.

    O problema é que são muitos produtos pra fazer manualmente.

    Agradeço se alguém tiver uma ideia.

  6. micheus achei os erros acho q agora ta certo.

    primeiro o loop é while "NOT" eu havia me esquecido.

    segundo é um insert só na tabela para cada transaçao, e não um por registro. lembrando q este é o manual de peça/programacao. mas existem varios EDIs.

    então o código fica assim:

    procedure TFORMPROGRAMACAO.BTNIMPORTARClick(Sender: TObject);

    Var

    Txt:TextFile;

    Linha,RegId,RegIdOld :string; // identificador do registro anterior

    sArquivo: String;

    BEGIN

    if abrirarquivo.Execute then

    begin

    sArquivo:= (abrirarquivo.FileName);

    end;

    AssignFile(Txt,sArquivo);

    Reset (txt);

    {A variavel LINHA vai receceber linha a linha as informações do arquivo TXT.}

    ReadLn(Txt,LINHA);

    RegIdOld := '';

    RegId := Copy(Linha, 1, 3);

    if RegId = 'ITP' then

    begin

    // processa aqui os dados do registro ITP

    TBLEDI.Insert;

    {Nome do campo a ser gravado, coluna inicial e tamanho de cada campo.}

    TBLEDI.FieldByName('ITPTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('ITPIDENTIFICACAOPROCESSO').ASSTRING :=(Copy(LINHA,04,03));

    TBLEDI.FieldByName('ITPVERSAOTRANSACAO').ASSTRING :=(Copy(LINHA,07,02));

    TBLEDI.FieldByName('ITPNUMEROCONTROLETRANSMISSAO').ASSTRING :=(Copy(LINHA,09,05));

    TBLEDI.FieldByName('ITPIDGERACAOMOVIMENTO').ASSTRING :=(Copy(LINHA,14,12));

    TBLEDI.FieldByName('ITPIDTRANSMISSORCOMUNICACAO').ASSTRING :=(Copy(LINHA,26,14));

    TBLEDI.FieldByName('ITPIDRECEPTORCOMUNICACAO').ASSTRING :=(Copy(LINHA,40,14));

    TBLEDI.FieldByName('ITPCODIGOINTERNOTRANSMISSOR').ASSTRING :=(Copy(LINHA,54,08));

    TBLEDI.FieldByName('ITPCODIGOINTERNORECEPTOR').ASSTRING :=(Copy(LINHA,62,08));

    TBLEDI.FieldByName('ITPNOMETRANSMISSOR').ASSTRING :=(Copy(LINHA,70,25));

    TBLEDI.FieldByName('ITPNOMERECEPTOR').ASSTRING :=(Copy(LINHA,95,25));

    TBLEDI.FieldByName('ITPESPACO').ASSTRING :=(Copy(LINHA,120,09));

    // processa as linhas exceto a última que deverá ser do tipo 'FTP'

    while not Eoln(Txt) do

    begin

    ReadLn(Txt,LINHA);

    RegId := Copy(Linha, 1, 3);

    if RegIdOld <> RegId then

    begin

    // quando há mudança do identificador, faz

    // algum processamento/validação. Por ex, o

    // tipo PE3 só pode aparecer depois de um tipo PE5

    // ...

    RegIdOld := RegId; // atualiza variável

    end;

    // processa aqui os dados do registro conforme identificador

    if RegId = 'PE1' then

    BEGIN

    TBLEDI.FieldByName('PE1TIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE1CODFABRICADESTINO').ASSTRING :=(Copy(LINHA,04,03));

    TBLEDI.FieldByName('PE1IDENTIFICACAOPROGRAMAATUAL').ASSTRING :=(Copy(LINHA,07,09));

    TBLEDI.FieldByName('PE1DATAPROGRAMAATUAL').ASSTRING :=(Copy(LINHA,16,06));

    TBLEDI.FieldByName('PE1IDPROGRAMAANTERIOR').ASSTRING :=(Copy(LINHA,22,09));

    TBLEDI.FieldByName('PE1DATAPROGRAMAANTERIOR').ASSTRING :=(Copy(LINHA,31,06));

    TBLEDI.FieldByName('PE1CODIGOITEMCLIENTE').ASSTRING :=(Copy(LINHA,37,30));

    TBLEDI.FieldByName('PE1CODIGOITEMFORNECEDOR').ASSTRING :=(Copy(LINHA,67,30));

    TBLEDI.FieldByName('PE1NUMEROPEDIDOCOMPRA').ASSTRING :=(Copy(LINHA,97,12));

    TBLEDI.FieldByName('PE1CODIGOLOCALDESTINO').ASSTRING :=(Copy(LINHA,109,05));

    TBLEDI.FieldByName('PE1IDENTIFICACAOCONTATO').ASSTRING :=(Copy(LINHA,114,11));

    TBLEDI.FieldByName('PE1CODIGOUNIDADEMEDIDA').ASSTRING :=(Copy(LINHA,125,02));

    TBLEDI.FieldByName('PE1QUANTIDADECASASDECIMAIS').ASSTRING :=(Copy(LINHA,127,01));

    TBLEDI.FieldByName('PE1CODIGOTIPOFORNECIMENTO').ASSTRING :=(Copy(LINHA,128,01));

    END

    else if RegId = 'PE2' then

    BEGIN

    TBLEDI.FieldByName('PE2IDENTIFICACAOTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE2DATAULTIMAENTREGAEMBARQUE').ASSTRING :=(Copy(LINHA,04,06));

    TBLEDI.FieldByName('PE2NUMEROULTIMANOTAFISCAL').ASSTRING :=(Copy(LINHA,10,06));

    TBLEDI.FieldByName('PE2SERIEULTIMANOTAFISCAL').ASSTRING :=(Copy(LINHA,16,04));

    TBLEDI.FieldByName('PE2DATAULTIMANOTAFISCAL').ASSTRING :=(Copy(LINHA,20,6));

    TBLEDI.FieldByName('PE2QTULTIMAENTREGAEMBARQUE').ASSTRING :=(Copy(LINHA,26,12));

    TBLEDI.FieldByName('PE2QTENTREGAEMBARQUEACUMULADA').ASSTRING :=(Copy(LINHA,38,14));

    TBLEDI.FieldByName('PE2QTNECESSACUMULADA').ASSTRING :=(Copy(LINHA,52,14));

    TBLEDI.FieldByName('PE2QTLOTEMINIMO').ASSTRING :=(Copy(LINHA,66,12));

    TBLEDI.FieldByName('PE2CODFREQUENCIAFORNECIMENTO').ASSTRING :=(Copy(LINHA,78,03));

    TBLEDI.FieldByName('PE2DATALIBERACAOPRODUCAO').ASSTRING :=(Copy(LINHA,81,04));

    TBLEDI.FieldByName('PE2DATALIBERACAOMATERIAPRIMA').ASSTRING :=(Copy(LINHA,85,04));

    TBLEDI.FieldByName('PE2CODLOCALDESCARGA').ASSTRING :=(Copy(LINHA,89,07));

    TBLEDI.FieldByName('P2PERIODOENTREGAEMBARQUE').ASSTRING :=(Copy(LINHA,96,04));

    TBLEDI.FieldByName('PE2SITUACAODOITEM').ASSTRING :=(Copy(LINHA,100,02));

    TBLEDI.FieldByName('PE2IDENTTIPOPROGRAMACAO').ASSTRING :=(Copy(LINHA,102,01));

    TBLEDI.FieldByName('PE2PEDIDODAREVENDA').ASSTRING :=(Copy(LINHA,103,13));

    TBLEDI.FieldByName('PE2QUALIFICACAOPROGRAMACAO').ASSTRING :=(Copy(LINHA,116,01));

    TBLEDI.FieldByName('PE2TIPODEPEDIDOREVENDA').ASSTRING :=(Copy(LINHA,117,02));

    TBLEDI.FieldByName('PE2CODDAVIATRANSPORTE').ASSTRING :=(Copy(LINHA,119,03));

    TBLEDI.FieldByName('PE2ESPACO').ASSTRING :=(Copy(LINHA,122,07));

    END

    else if RegId = 'PE9' then

    BEGIN

    TBLEDI.FieldByName('PE9IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE9PEDIDOCOMPRAREF1').ASSTRING :=(Copy(LINHA,04,14));

    TBLEDI.FieldByName('PE9TIPODOPEDIDO').ASSTRING :=(Copy(LINHA,18,02));

    TBLEDI.FieldByName('PE9PEDIDODECOMPRAREF2').ASSTRING :=(Copy(LINHA,20,10));

    TBLEDI.FieldByName('PE9NUMEROLOTEPRODUCAO').ASSTRING :=(Copy(LINHA,30,12));

    TBLEDI.FieldByName('PE9DATAENTREGABEMITEM').ASSTRING :=(Copy(LINHA,42,06));

    TBLEDI.FieldByName('PE9HORAENTREGA').ASSTRING :=(Copy(LINHA,48,04));

    TBLEDI.FieldByName('PE9QUANTIDADEENTREGA').ASSTRING :=(Copy(LINHA,52,09));

    TBLEDI.FieldByName('PE9CONTROLEPRODUCAOINICIAL').ASSTRING :=(Copy(LINHA,61,03));

    TBLEDI.FieldByName('PE9ESPACO').ASSTRING :=(Copy(LINHA,64,65));

    END

    ELSE if REGID = 'PE3' then

    BEGIN

    TBLEDI.FieldByName('PE3IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM').ASSTRING :=(Copy(LINHA,04,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM').ASSTRING :=(Copy(LINHA,10,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM').ASSTRING :=(Copy(LINHA,12,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM1').ASSTRING :=(Copy(LINHA,21,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM1').ASSTRING :=(Copy(LINHA,27,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM1').ASSTRING :=(Copy(LINHA,29,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM2').ASSTRING :=(Copy(LINHA,38,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM2').ASSTRING :=(Copy(LINHA,44,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM2').ASSTRING :=(Copy(LINHA,46,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM3').ASSTRING :=(Copy(LINHA,55,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM3').ASSTRING :=(Copy(LINHA,61,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM3').ASSTRING :=(Copy(LINHA,63,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM4').ASSTRING :=(Copy(LINHA,72,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM4').ASSTRING :=(Copy(LINHA,78,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM4').ASSTRING :=(Copy(LINHA,80,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM5').ASSTRING :=(Copy(LINHA,89,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM5').ASSTRING :=(Copy(LINHA,95,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM5').ASSTRING :=(Copy(LINHA,97,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM6').ASSTRING :=(Copy(LINHA,106,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM6').ASSTRING :=(Copy(LINHA,112,02));

    TBLEDI.FIELDBYNAME('PE3QTENTREGAEMBARQUEITEM6').ASSTRING:= (Copy(LINHA,114,09));

    TBLEDI.FieldByName('PE3ESPACO').ASSTRING :=(Copy(LINHA,123,06));

    END

    ELSE if REGID ='PE5' then

    BEGIN

    TBLEDI.FieldByName('PE5IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM').ASSTRING :=(Copy(LINHA,04,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO').ASSTRING :=(Copy(LINHA,10,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL').ASSTRING :=(Copy(LINHA,11,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM1').ASSTRING :=(Copy(LINHA,20,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO1').ASSTRING :=(Copy(LINHA,26,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL1').ASSTRING :=(Copy(LINHA,27,09));

    TBLEDI.FieldByName('PE5DATAINICIALENTREGAEMBARQUE2').ASSTRING :=(Copy(LINHA,36,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO2').ASSTRING :=(Copy(LINHA,42,01));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMAATUAL2').ASSTRING :=(Copy(LINHA,43,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM3').ASSTRING :=(Copy(LINHA,52,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAODEPROGRAMACAO3').ASSTRING :=(Copy(LINHA,58,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL3').ASSTRING :=(Copy(LINHA,59,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM4').ASSTRING :=(Copy(LINHA,68,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAODEPROGRAMACAO4').ASSTRING :=(Copy(LINHA,74,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL4').ASSTRING :=(Copy(LINHA,75,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM5').ASSTRING :=(Copy(LINHA,84,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO5').ASSTRING :=(Copy(LINHA,90,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL5').ASSTRING :=(Copy(LINHA,91,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUE6').ASSTRING :=(Copy(LINHA,100,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO6').ASSTRING :=(Copy(LINHA,106,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL6').ASSTRING :=(Copy(LINHA,107,09));

    TBLEDI.FieldByName('PE5ESPACO').ASSTRING :=(Copy(LINHA,116,13));

    END

    ELSE if REGID = 'PE6' then

    BEGIN

    TBLEDI.FieldByName('PE6IDENTDOTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE6FATORDECONVERSAO').ASSTRING :=(Copy(LINHA,04,10));

    TBLEDI.FieldByName('PE6ALTERACAOTECNICADOITEM').ASSTRING :=(Copy(LINHA,14,04));

    TBLEDI.FieldByName('PE6CODIGODEMATERIAL').ASSTRING :=(Copy(LINHA,18,10));

    TBLEDI.FieldByName('PE6PESODOITEM').ASSTRING :=(Copy(LINHA,28,12));

    TBLEDI.FieldByName('PE6UNIDMEDIDAUSADAPPESO').ASSTRING :=(Copy(LINHA,40,02));

    TBLEDI.FieldByName('PE6ESPACO').ASSTRING :=(Copy(LINHA,42,87));

    END

    ELSE if REGID = 'PE7' then

    BEGIN

    TBLEDI.FieldByName('PE7IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE7IDENTEMBALAGEMPRIMCLIENTE').ASSTRING :=(Copy(LINHA,04,30));

    TBLEDI.FieldByName('PE7DESCRICAOEMBALAGEM').ASSTRING :=(Copy(LINHA,34,20));

    TBLEDI.FieldByName('PE7ALTURAEMBALAGEM').ASSTRING :=(Copy(LINHA,54,12));

    TBLEDI.FieldByName('PE7LARGURAEMBALAGEM').ASSTRING :=(Copy(LINHA,66,12));

    TBLEDI.FieldByName('PE7COMPRIMENTOEMBALAGEM').ASSTRING :=(Copy(LINHA,78,12));

    TBLEDI.FieldByName('PE7UNIDMEDIDADIMEMBALAGEM').ASSTRING :=(Copy(LINHA,90,02));

    TBLEDI.FieldByName('PE7PESODAEMBALAGEM').ASSTRING :=(Copy(LINHA,92,12));

    TBLEDI.FieldByName('PE7UNIDMEDIDAUSADAPPESO').ASSTRING :=(Copy(LINHA,104,02));

    TBLEDI.FieldByName('PE7CAPACIDEMBALPRIMCLIENTE').ASSTRING :=(Copy(LINHA,106,12));

    TBLEDI.FieldByName('PE7CODRESPONSAVELPEMBALAGEM').ASSTRING :=(Copy(LINHA,118,01));

    TBLEDI.FieldByName('PE7ESPACO').ASSTRING :=(Copy(LINHA,119,10));

    END

    ELSE if REGID = 'PE8' then

    BEGIN

    TBLEDI.FieldByName('PE8IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE8IDEMBALAGEMSECUNDARIACLIE').ASSTRING :=(Copy(LINHA,04,20));

    TBLEDI.FieldByName('PE8DESCRICAOEMBALAGEM').ASSTRING :=(Copy(LINHA,24,20));

    TBLEDI.FieldByName('PE8ALTURAEMBALAGEM').ASSTRING :=(Copy(LINHA,44,12));

    TBLEDI.FieldByName('PE8LARGURAEMBALAGEM').ASSTRING :=(Copy(LINHA,56,12));

    TBLEDI.FieldByName('PE8COMPRIMENTOEMBALAGEM').ASSTRING :=(Copy(LINHA,68,12));

    TBLEDI.FieldByName('PE8UNIDMEDIDADIMEMBALAGEM').ASSTRING :=(Copy(LINHA,80,02));

    TBLEDI.FieldByName('PE8PESOEMBALAGEM').ASSTRING :=(Copy(LINHA,82,12));

    TBLEDI.FieldByName('PE8UNIDMEDIDAUSADAPPESO').ASSTRING :=(Copy(LINHA,94,02));

    TBLEDI.FieldByName('PE8CAPACEMBALAGEMSECUNDARIA').ASSTRING :=(Copy(LINHA,96,12));

    TBLEDI.FieldByName('PE8NEMBPRIMCAMEMBSEC').ASSTRING :=(Copy(LINHA,108,03));

    TBLEDI.FieldByName('PE8NUMCAMEMBSECUNDARIA').ASSTRING :=(Copy(LINHA,111,03));

    TBLEDI.FieldByName('PE8ESPACO').ASSTRING :=(Copy(LINHA,114,15));

    END

    ELSE if REGID ='PE4' then

    BEGIN

    TBLEDI.FieldByName('PE4IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE4IDENTEMBALSECUNDARIACLIE').ASSTRING :=(Copy(LINHA,04,20));

    TBLEDI.FieldByName('PE4IDENTEMBALSECUNDARIAFORN').ASSTRING :=(Copy(LINHA,24,30));

    TBLEDI.FieldByName('PE4CAPCEMBALAGEMSECUNDARIA').ASSTRING :=(Copy(LINHA,54,12));

    TBLEDI.FieldByName('PE4IDENTEMBALPRIMARIAFORN').ASSTRING :=(Copy(LINHA,66,30));

    TBLEDI.FieldByName('PE4CAPACEMBALPRIMARIAFORN').ASSTRING :=(Copy(LINHA,96,12));

    TBLEDI.FieldByName('PE4CODRESPONSAVELPEMBALAGEM').ASSTRING :=(Copy(LINHA,108,01));

    TBLEDI.FieldByName('PE4ESPACO').ASSTRING :=(Copy(LINHA,109,20));

    END

    ELSE if REGID = 'TE1' then

    BEGIN

    TBLEDI.FieldByName('TE1IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('TE1TEXTOLIVREINFORMATIVO').ASSTRING :=(Copy(LINHA,04,40));

    TBLEDI.FieldByName('TE1TEXTOLIVREINFORMATIVO1').ASSTRING :=(Copy(LINHA,44,40));

    TBLEDI.FieldByName('TE1TEXTOLIVREINFORMATIVO2').ASSTRING :=(Copy(LINHA,84,40));

    TBLEDI.FieldByName('TE1ESPACO').ASSTRING :=(Copy(LINHA,124,05));

    END

    end;

    if regid = 'FTP' then

    begin

    // processa dados do identificador FTP

    TBLEDI.FieldByName('FTPIDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('FTPNUMEROCONTROLETRANSMISSAO').ASSTRING :=(Copy(LINHA,04,05));

    TBLEDI.FieldByName('FTPQUANTREGISTROSTRANSACAO').ASSTRING :=(Copy(LINHA,09,09));

    TBLEDI.FieldByName('FTPNUMEROTOTALVALORES').ASSTRING :=(Copy(LINHA,18,17));

    TBLEDI.FieldByName('FTPCATEGORIAOPERACAO').ASSTRING :=(Copy(LINHA,35,01));

    TBLEDI.FieldByName('FTPESPACO').ASSTRING :=(Copy(LINHA,36,93));

    end;

    TBLEDI.post;//Salva tabela

    end else

    TABELAEDI.SQL.CLEAR;

    TABELAEDI.SQL.ADD('SELECT * FROM IMPORTACAOSCANIA');

    TABELAEDI.ExecSQL;

    TABELAEDI.OPEN;

    end;

    a mais uma coisa. muito obrigada mesmo pela sua ajuda.

    sem sua ajuda não teria conseguido. :rolleyes:

  7. micheus eu dei uma pequena modificada do seu codigo, esta quase la...só o loop q ta dando trabalho agora...

    apenas desconsidere os id dos registros porque estou seguindo pelo nome que consta no manual.

    procedure TFORMPROGRAMACAO.BTNIMPORTARClick(Sender: TObject);

    Var

    Txt:TextFile;

    Linha,RegId,RegIdOld :string; // identificador do registro anterior

    sArquivo: String;

    BEGIN

    if abrirarquivo.Execute then

    begin

    sArquivo:= (abrirarquivo.FileName);

    end;

    AssignFile(Txt,sArquivo);

    Reset (txt);

    {A variavel LINHA vai receceber linha a linha as informações do arquivo TXT.}

    ReadLn(Txt,LINHA);

    RegIdOld := '';

    RegId := Copy(Linha, 1, 3);

    if RegId = 'ITP' then

    begin

    // processa aqui os dados do registro ITP

    TBLEDI.Insert;

    {Nome do campo a ser gravado, coluna inicial e tamanho de cada campo.}

    TBLEDI.FieldByName('ITPTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('ITPIDENTIFICACAOPROCESSO').ASSTRING :=(Copy(LINHA,04,03));

    TBLEDI.FieldByName('ITPVERSAOTRANSACAO').ASSTRING :=(Copy(LINHA,07,02));

    TBLEDI.FieldByName('ITPNUMEROCONTROLETRANSMISSAO').ASSTRING :=(Copy(LINHA,09,05));

    TBLEDI.FieldByName('ITPIDGERACAOMOVIMENTO').ASSTRING :=(Copy(LINHA,14,12));

    TBLEDI.FieldByName('ITPIDTRANSMISSORCOMUNICACAO').ASSTRING :=(Copy(LINHA,26,14));

    TBLEDI.FieldByName('ITPIDRECEPTORCOMUNICACAO').ASSTRING :=(Copy(LINHA,40,14));

    TBLEDI.FieldByName('ITPCODIGOINTERNOTRANSMISSOR').ASSTRING :=(Copy(LINHA,54,08));

    TBLEDI.FieldByName('ITPCODIGOINTERNORECEPTOR').ASSTRING :=(Copy(LINHA,62,08));

    TBLEDI.FieldByName('ITPNOMETRANSMISSOR').ASSTRING :=(Copy(LINHA,70,25));

    TBLEDI.FieldByName('ITPNOMERECEPTOR').ASSTRING :=(Copy(LINHA,95,25));

    TBLEDI.FieldByName('ITPESPACO').ASSTRING :=(Copy(LINHA,120,09));

    TBLEDI.post;//Salva tabela

    // processa as linhas exceto a última que deverá ser do tipo 'FTP'

    while Eoln(Txt) do

    begin

    ReadLn(Txt,LINHA);

    RegId := Copy(Linha, 1, 3);

    if RegIdOld <> RegId then

    begin

    // quando há mudança do identificador, faz

    // algum processamento/validação. Por ex, o

    // tipo PE3 só pode aparecer depois de um tipo PE5

    // ...

    RegIdOld := RegId; // atualiza variável

    end;

    // processa aqui os dados do registro conforme identificador

    if RegId = 'PE1' then

    BEGIN

    TBLEDI.Insert;

    TBLEDI.FieldByName('PE1TIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE1CODFABRICADESTINO').ASSTRING :=(Copy(LINHA,04,03));

    TBLEDI.FieldByName('PE1IDENTIFICACAOPROGRAMAATUAL').ASSTRING :=(Copy(LINHA,07,09));

    TBLEDI.FieldByName('PE1DATAPROGRAMAATUAL').ASSTRING :=(Copy(LINHA,16,06));

    TBLEDI.FieldByName('PE1IDPROGRAMAANTERIOR').ASSTRING :=(Copy(LINHA,22,09));

    TBLEDI.FieldByName('PE1DATAPROGRAMAANTERIOR').ASSTRING :=(Copy(LINHA,31,06));

    TBLEDI.FieldByName('PE1CODIGOITEMCLIENTE').ASSTRING :=(Copy(LINHA,37,30));

    TBLEDI.FieldByName('PE1CODIGOITEMFORNECEDOR').ASSTRING :=(Copy(LINHA,67,30));

    TBLEDI.FieldByName('PE1NUMEROPEDIDOCOMPRA').ASSTRING :=(Copy(LINHA,97,12));

    TBLEDI.FieldByName('PE1CODIGOLOCALDESTINO').ASSTRING :=(Copy(LINHA,109,05));

    TBLEDI.FieldByName('PE1IDENTIFICACAOCONTATO').ASSTRING :=(Copy(LINHA,114,11));

    TBLEDI.FieldByName('PE1CODIGOUNIDADEMEDIDA').ASSTRING :=(Copy(LINHA,125,02));

    TBLEDI.FieldByName('PE1QUANTIDADECASASDECIMAIS').ASSTRING :=(Copy(LINHA,127,01));

    TBLEDI.FieldByName('PE1CODIGOTIPOFORNECIMENTO').ASSTRING :=(Copy(LINHA,128,01));

    TBLEDI.post;//Salva tabela

    END

    else if RegId = 'PE2' then

    BEGIN

    TBLEDI.Insert;

    TBLEDI.FieldByName('PE2IDENTIFICACAOTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE2DATAULTIMAENTREGAEMBARQUE').ASSTRING :=(Copy(LINHA,04,06));

    TBLEDI.FieldByName('PE2NUMEROULTIMANOTAFISCAL').ASSTRING :=(Copy(LINHA,10,06));

    TBLEDI.FieldByName('PE2SERIEULTIMANOTAFISCAL').ASSTRING :=(Copy(LINHA,16,04));

    TBLEDI.FieldByName('PE2DATAULTIMANOTAFISCAL').ASSTRING :=(Copy(LINHA,20,6));

    TBLEDI.FieldByName('PE2QTULTIMAENTREGAEMBARQUE').ASSTRING :=(Copy(LINHA,26,12));

    TBLEDI.FieldByName('PE2QTENTREGAEMBARQUEACUMULADA').ASSTRING :=(Copy(LINHA,38,14));

    TBLEDI.FieldByName('PE2QTNECESSACUMULADA').ASSTRING :=(Copy(LINHA,52,14));

    TBLEDI.FieldByName('PE2QTLOTEMINIMO').ASSTRING :=(Copy(LINHA,66,12));

    TBLEDI.FieldByName('PE2CODFREQUENCIAFORNECIMENTO').ASSTRING :=(Copy(LINHA,78,03));

    TBLEDI.FieldByName('PE2DATALIBERACAOPRODUCAO').ASSTRING :=(Copy(LINHA,81,04));

    TBLEDI.FieldByName('PE2DATALIBERACAOMATERIAPRIMA').ASSTRING :=(Copy(LINHA,85,04));

    TBLEDI.FieldByName('PE2CODLOCALDESCARGA').ASSTRING :=(Copy(LINHA,89,07));

    TBLEDI.FieldByName('P2PERIODOENTREGAEMBARQUE').ASSTRING :=(Copy(LINHA,96,04));

    TBLEDI.FieldByName('PE2SITUACAODOITEM').ASSTRING :=(Copy(LINHA,100,02));

    TBLEDI.FieldByName('PE2IDENTTIPOPROGRAMACAO').ASSTRING :=(Copy(LINHA,102,01));

    TBLEDI.FieldByName('PE2PEDIDODAREVENDA').ASSTRING :=(Copy(LINHA,103,13));

    TBLEDI.FieldByName('PE2QUALIFICACAOPROGRAMACAO').ASSTRING :=(Copy(LINHA,116,01));

    TBLEDI.FieldByName('PE2TIPODEPEDIDOREVENDA').ASSTRING :=(Copy(LINHA,117,02));

    TBLEDI.FieldByName('PE2CODDAVIATRANSPORTE').ASSTRING :=(Copy(LINHA,119,03));

    TBLEDI.FieldByName('PE2ESPACO').ASSTRING :=(Copy(LINHA,122,07));

    TBLEDI.post;//Salva tabela

    END

    else if RegId = 'PE9' then

    BEGIN

    TBLEDI.INSERT;

    TBLEDI.FieldByName('PE9IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE9PEDIDOCOMPRAREF1').ASSTRING :=(Copy(LINHA,04,14));

    TBLEDI.FieldByName('PE9TIPODOPEDIDO').ASSTRING :=(Copy(LINHA,18,02));

    TBLEDI.FieldByName('PE9PEDIDODECOMPRAREF2').ASSTRING :=(Copy(LINHA,20,10));

    TBLEDI.FieldByName('PE9NUMEROLOTEPRODUCAO').ASSTRING :=(Copy(LINHA,30,12));

    TBLEDI.FieldByName('PE9DATAENTREGABEMITEM').ASSTRING :=(Copy(LINHA,42,06));

    TBLEDI.FieldByName('PE9HORAENTREGA').ASSTRING :=(Copy(LINHA,48,04));

    TBLEDI.FieldByName('PE9QUANTIDADEENTREGA').ASSTRING :=(Copy(LINHA,52,09));

    TBLEDI.FieldByName('PE9CONTROLEPRODUCAOINICIAL').ASSTRING :=(Copy(LINHA,61,03));

    TBLEDI.FieldByName('PE9ESPACO').ASSTRING :=(Copy(LINHA,64,65));

    TBLEDI.post;//Salva tabela

    END

    ELSE if REGID = 'PE3' then

    BEGIN

    TBLEDI.INSERT;

    TBLEDI.FieldByName('PE3IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM').ASSTRING :=(Copy(LINHA,04,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM').ASSTRING :=(Copy(LINHA,10,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM').ASSTRING :=(Copy(LINHA,12,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM1').ASSTRING :=(Copy(LINHA,21,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM1').ASSTRING :=(Copy(LINHA,27,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM1').ASSTRING :=(Copy(LINHA,29,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM2').ASSTRING :=(Copy(LINHA,38,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM2').ASSTRING :=(Copy(LINHA,44,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM2').ASSTRING :=(Copy(LINHA,46,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM3').ASSTRING :=(Copy(LINHA,55,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM3').ASSTRING :=(Copy(LINHA,61,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM3').ASSTRING :=(Copy(LINHA,63,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM4').ASSTRING :=(Copy(LINHA,72,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM4').ASSTRING :=(Copy(LINHA,78,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM4').ASSTRING :=(Copy(LINHA,80,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM5').ASSTRING :=(Copy(LINHA,89,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM5').ASSTRING :=(Copy(LINHA,95,02));

    TBLEDI.FieldByName('PE3QTENTREGAEMBARQUEITEM5').ASSTRING :=(Copy(LINHA,97,09));

    TBLEDI.FieldByName('PE3DATAENTREGAEMBARQUEITEM6').ASSTRING :=(Copy(LINHA,106,06));

    TBLEDI.FieldByName('PE3HORAENTREGAEMBARQUEITEM6').ASSTRING :=(Copy(LINHA,112,02));

    TBLEDI.FIELDBYNAME('PE3QTENTREGAEMBARQUEITEM6').ASSTRING:= (Copy(LINHA,114,09));

    TBLEDI.FieldByName('PE3ESPACO').ASSTRING :=(Copy(LINHA,123,06));

    TBLEDI.post;//Salva tabela

    END

    ELSE if REGID ='PE5' then

    BEGIN

    TBLEDI.INSERT;

    TBLEDI.FieldByName('PE5IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM').ASSTRING :=(Copy(LINHA,04,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO').ASSTRING :=(Copy(LINHA,10,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL').ASSTRING :=(Copy(LINHA,11,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM1').ASSTRING :=(Copy(LINHA,20,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO1').ASSTRING :=(Copy(LINHA,26,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL1').ASSTRING :=(Copy(LINHA,27,09));

    TBLEDI.FieldByName('PE5DATAINICIALENTREGAEMBARQUE2').ASSTRING :=(Copy(LINHA,36,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO2').ASSTRING :=(Copy(LINHA,42,01));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMAATUAL2').ASSTRING :=(Copy(LINHA,43,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM3').ASSTRING :=(Copy(LINHA,52,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAODEPROGRAMACAO3').ASSTRING :=(Copy(LINHA,58,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL3').ASSTRING :=(Copy(LINHA,59,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM4').ASSTRING :=(Copy(LINHA,68,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAODEPROGRAMACAO4').ASSTRING :=(Copy(LINHA,74,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL4').ASSTRING :=(Copy(LINHA,75,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUEITEM5').ASSTRING :=(Copy(LINHA,84,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO5').ASSTRING :=(Copy(LINHA,90,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL5').ASSTRING :=(Copy(LINHA,91,09));

    TBLEDI.FieldByName('PE5DATAINENTREGAEMBARQUE6').ASSTRING :=(Copy(LINHA,100,06));

    TBLEDI.FieldByName('PE5IDENTIFICACAOPROGRAMACAO6').ASSTRING :=(Copy(LINHA,106,01));

    TBLEDI.FieldByName('PE5IDENTPROGRAMAATUAL6').ASSTRING :=(Copy(LINHA,107,09));

    TBLEDI.FieldByName('PE5ESPACO').ASSTRING :=(Copy(LINHA,116,13));

    TBLEDI.post;//Salva tabela

    END

    ELSE if REGID = 'PE6' then

    BEGIN

    TBLEDI.Insert;

    TBLEDI.FieldByName('PE6IDENTDOTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE6FATORDECONVERSAO').ASSTRING :=(Copy(LINHA,04,10));

    TBLEDI.FieldByName('PE6ALTERACAOTECNICADOITEM').ASSTRING :=(Copy(LINHA,14,04));

    TBLEDI.FieldByName('PE6CODIGODEMATERIAL').ASSTRING :=(Copy(LINHA,18,10));

    TBLEDI.FieldByName('PE6PESODOITEM').ASSTRING :=(Copy(LINHA,28,12));

    TBLEDI.FieldByName('PE6UNIDMEDIDAUSADAPPESO').ASSTRING :=(Copy(LINHA,40,02));

    TBLEDI.FieldByName('PE6ESPACO').ASSTRING :=(Copy(LINHA,42,87));

    TBLEDI.post;//Salva tabela

    END

    ELSE if REGID = 'PE7' then

    BEGIN

    TBLEDI.INSERT;

    TBLEDI.FieldByName('PE7IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE7IDENTEMBALAGEMPRIMCLIENTE').ASSTRING :=(Copy(LINHA,04,30));

    TBLEDI.FieldByName('PE7DESCRICAOEMBALAGEM').ASSTRING :=(Copy(LINHA,34,20));

    TBLEDI.FieldByName('PE7ALTURAEMBALAGEM').ASSTRING :=(Copy(LINHA,54,12));

    TBLEDI.FieldByName('PE7LARGURAEMBALAGEM').ASSTRING :=(Copy(LINHA,66,12));

    TBLEDI.FieldByName('PE7COMPRIMENTOEMBALAGEM').ASSTRING :=(Copy(LINHA,78,12));

    TBLEDI.FieldByName('PE7UNIDMEDIDADIMEMBALAGEM').ASSTRING :=(Copy(LINHA,90,02));

    TBLEDI.FieldByName('PE7PESODAEMBALAGEM').ASSTRING :=(Copy(LINHA,92,12));

    TBLEDI.FieldByName('PE7UNIDMEDIDAUSADAPPESO').ASSTRING :=(Copy(LINHA,104,02));

    TBLEDI.FieldByName('PE7CAPACIDEMBALPRIMCLIENTE').ASSTRING :=(Copy(LINHA,106,12));

    TBLEDI.FieldByName('PE7CODRESPONSAVELPEMBALAGEM').ASSTRING :=(Copy(LINHA,118,01));

    TBLEDI.FieldByName('PE7ESPACO').ASSTRING :=(Copy(LINHA,119,10));

    TBLEDI.post;//Salva tabela

    END

    ELSE if REGID = 'PE8' then

    BEGIN

    TBLEDI.INSERT;

    TBLEDI.FieldByName('PE8IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE8IDEMBALAGEMSECUNDARIACLIE').ASSTRING :=(Copy(LINHA,04,20));

    TBLEDI.FieldByName('PE8DESCRICAOEMBALAGEM').ASSTRING :=(Copy(LINHA,24,20));

    TBLEDI.FieldByName('PE8ALTURAEMBALAGEM').ASSTRING :=(Copy(LINHA,44,12));

    TBLEDI.FieldByName('PE8LARGURAEMBALAGEM').ASSTRING :=(Copy(LINHA,56,12));

    TBLEDI.FieldByName('PE8COMPRIMENTOEMBALAGEM').ASSTRING :=(Copy(LINHA,68,12));

    TBLEDI.FieldByName('PE8UNIDMEDIDADIMEMBALAGEM').ASSTRING :=(Copy(LINHA,80,02));

    TBLEDI.FieldByName('PE8PESOEMBALAGEM').ASSTRING :=(Copy(LINHA,82,12));

    TBLEDI.FieldByName('PE8UNIDMEDIDAUSADAPPESO').ASSTRING :=(Copy(LINHA,94,02));

    TBLEDI.FieldByName('PE8CAPACEMBALAGEMSECUNDARIA').ASSTRING :=(Copy(LINHA,96,12));

    TBLEDI.FieldByName('PE8NEMBPRIMCAMEMBSEC').ASSTRING :=(Copy(LINHA,108,03));

    TBLEDI.FieldByName('PE8NUMCAMEMBSECUNDARIA').ASSTRING :=(Copy(LINHA,111,03));

    TBLEDI.FieldByName('PE8ESPACO').ASSTRING :=(Copy(LINHA,114,15));

    TBLEDI.post;//Salva tabela

    END

    ELSE if REGID ='PE4' then

    BEGIN

    TBLEDI.INSERT;

    TBLEDI.FieldByName('PE4IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('PE4IDENTEMBALSECUNDARIACLIE').ASSTRING :=(Copy(LINHA,04,20));

    TBLEDI.FieldByName('PE4IDENTEMBALSECUNDARIAFORN').ASSTRING :=(Copy(LINHA,24,30));

    TBLEDI.FieldByName('PE4CAPCEMBALAGEMSECUNDARIA').ASSTRING :=(Copy(LINHA,54,12));

    TBLEDI.FieldByName('PE4IDENTEMBALPRIMARIAFORN').ASSTRING :=(Copy(LINHA,66,30));

    TBLEDI.FieldByName('PE4CAPACEMBALPRIMARIAFORN').ASSTRING :=(Copy(LINHA,96,12));

    TBLEDI.FieldByName('PE4CODRESPONSAVELPEMBALAGEM').ASSTRING :=(Copy(LINHA,108,01));

    TBLEDI.FieldByName('PE4ESPACO').ASSTRING :=(Copy(LINHA,109,20));

    TBLEDI.post;//Salva tabela

    END

    ELSE if REGID = 'TE1' then

    BEGIN

    TBLEDI.INSERT;

    TBLEDI.FieldByName('TE1IDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('TE1TEXTOLIVREINFORMATIVO').ASSTRING :=(Copy(LINHA,04,40));

    TBLEDI.FieldByName('TE1TEXTOLIVREINFORMATIVO1').ASSTRING :=(Copy(LINHA,44,40));

    TBLEDI.FieldByName('TE1TEXTOLIVREINFORMATIVO2').ASSTRING :=(Copy(LINHA,84,40));

    TBLEDI.FieldByName('TE1ESPACO').ASSTRING :=(Copy(LINHA,124,05));

    TBLEDI.post;//Salva tabela

    END;

    end;

    if RegId = 'FTP' then

    begin

    // processa dados do identificador FTP

    TBLEDI.INSERT;

    TBLEDI.FieldByName('FTPIDENTTIPOREGISTRO').ASSTRING :=(Copy(LINHA,01,03));

    TBLEDI.FieldByName('FTPNUMEROCONTROLETRANSMISSAO').ASSTRING :=(Copy(LINHA,04,05));

    TBLEDI.FieldByName('FTPQUANTREGISTROSTRANSACAO').ASSTRING :=(Copy(LINHA,09,09));

    TBLEDI.FieldByName('FTPNUMEROTOTALVALORES').ASSTRING :=(Copy(LINHA,18,17));

    TBLEDI.FieldByName('FTPCATEGORIAOPERACAO').ASSTRING :=(Copy(LINHA,35,01));

    TBLEDI.FieldByName('FTPESPACO').ASSTRING :=(Copy(LINHA,36,93));

    TBLEDI.post;//Salva tabela

    end else

    ShowMessage('Identificador FTP não encontrado');

    end else

    ShowMessage('Identificador ITP não encontrado');

    TABELAEDI.SQL.CLEAR;

    TABELAEDI.SQL.ADD('SELECT * FROM IMPORTACAOSCANIA');

    TABELAEDI.ExecSQL;

    TABELAEDI.OPEN;

    end;

    end.

  8. Gente estou com uma duvida referente à importação.

    Meu sistema esta pronto e já importa o arquivo txt. Mas o problema é que para cada tidpo de registro do edi (itp, pe1,pe2... e por ai vai) o layout começa sempre nas mesmas posições. por exemplo:

    para itp: identificacao do registro, da posição 1 à posicao 3.

    para pe1: identificacao do registro da posição 1 à posicao 3.

    Quando meu sistema le isso ele simplesmente sobrescreve.

    alguém saberia me dizer por onde eu posso diferenciar para que não aconteça isso? se é por linha, se é por elemento alguma coisa assim?

×
×
  • Criar Novo...