
MICHELI_MARTINS
Membros-
Total de itens
84 -
Registro em
-
Última visita
Tudo que MICHELI_MARTINS postou
-
delphi2007Xquickreport4Xvista
pergunta respondeu ao MICHELI_MARTINS de MICHELI_MARTINS em Delphi, Kylix
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. -
delphi2007Xquickreport4Xvista
pergunta respondeu ao MICHELI_MARTINS de MICHELI_MARTINS em Delphi, Kylix
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. -
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?
-
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...
-
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.
-
(Resolvido) EDI PROGRAMACAO PECA/MATERIAL
pergunta respondeu ao MICHELI_MARTINS de MICHELI_MARTINS em Delphi, Kylix
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: -
(Resolvido) EDI PROGRAMACAO PECA/MATERIAL
pergunta respondeu ao MICHELI_MARTINS de MICHELI_MARTINS em Delphi, Kylix
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. -
(Resolvido) EDI PROGRAMACAO PECA/MATERIAL
pergunta respondeu ao MICHELI_MARTINS de MICHELI_MARTINS em Delphi, Kylix
então ms sera que a separacao das linhas é feita pela identificaçao do registro? se você reparar existem linhas que já começam com numeros e não com o id... -
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?