Ajustar arquivo xml no delphi

23/03/2017

0

Olá!

Estou fazendo um programa em Delphi para ajustar uma tag xml, o programa deve para procurar a linha que contem a tag <PortaSerial> e ajustar o conteúdo da mesma, essa tag esta dentro do bloco <ecf> o ajuste deve ser feito no mesmo arquivo de entrada sem gerar um novo arquivo.

Se alguém puder me ajudar eu agradeço sou novato na área creio que deve ser bem simples fazer isso, porém estou com dificuldades.

<DARUMAFRAMEWORK>
  <START>
    <LocalArquivos>C:\\</LocalArquivos>
    <LocalArquivosRelatorios>C:\\</LocalArquivosRelatorios>
    <LogTamMaxMB>5</LogTamMaxMB>
    <ModoObserver>0</ModoObserver>
    <PathBibliotecasAuxiliares>.\\</PathBibliotecasAuxiliares>
    <Produto>ECF</Produto>
    <ThreadAoIniciar>0</ThreadAoIniciar>
    <TipoRegistro>2</TipoRegistro>
    <TokenEncurtadorUrl>0</TokenEncurtadorUrl>
  </START>
  <DUAL>
    <AguardarProcesso>1</AguardarProcesso>
    <Auditoria>0</Auditoria>
    <TamanhoBobina>48</TamanhoBobina>
    <CodePageAutomatico>0</CodePageAutomatico>
    <ControleAutomatico>0</ControleAutomatico>
    <EnterFinal>1</EnterFinal>
    <Inicializou>0</Inicializou>
    <LinhasGuilhotina>0</LinhasGuilhotina>
    <ModoGaveta>0</ModoGaveta>
    <PortaComunicacao>COM1</PortaComunicacao>
    <EndPortaParalela></EndPortaParalela>
    <Tabulacao>05,10,15,20,30,40</Tabulacao>
    <Margem>00;00</Margem>
    <TempoEsperaLeitura>10</TempoEsperaLeitura>
    <Termica>1</Termica>
    <Velocidade>9600</Velocidade>
    <ZeroCortado>0</ZeroCortado>
    <Rota1>COM1>000.000.000.000:0000</Rota1>
    <Rota2>COM2>000.000.000.000:0000</Rota2>
    <Rota3>COM3>000.000.000.000:0000</Rota3>
    <Rota4>COM4>000.000.000.000:0000</Rota4>
    <Rota5>COM5>000.000.000.000:0000</Rota5>
    <AtivaRota>0</AtivaRota>
    <CaracterSeparador>;</CaracterSeparador>
    <FormataTexto>IMP</FormataTexto>
    <Wine>0</Wine>
  </DUAL>
  <ECF>
    <AguardarBitmapRZ>0</AguardarBitmapRZ>
    <AguardarImpressao>0</AguardarImpressao>
    <AjustaDATAM>0</AjustaDATAM>
    <AlteraFPGTO>1</AlteraFPGTO>
    <ArquivoLeituraX>LeituraX.ser</ArquivoLeituraX>
    <ArredondarTruncar>A</ArredondarTruncar>
    <Auditoria>0</Auditoria>
    <CaracterSeparador>;</CaracterSeparador>
    <ControleAutomatico>0</ControleAutomatico>
    <DelayEntreBytes>010</DelayEntreBytes>
    <EncontrarECF>1</EncontrarECF>
    <EmErroBuscarPorta>0</EmErroBuscarPorta>
    <EnviarAvisoAoUsuario>0</EnviarAvisoAoUsuario>
    <EnviarErroAoUsuario>0</EnviarErroAoUsuario>
    <FarmaciaPopular>0</FarmaciaPopular>
    <GerandoRelatorio>0</GerandoRelatorio>
    <HabilitaNFCe>0</HabilitaNFCe>
    <NumeroECFCompativel>001</NumeroECFCompativel>
    <HabilitaNotificacaoWS>0</HabilitaNotificacaoWS>
    <HorarioVeraoInicio></HorarioVeraoInicio>
    <HorarioVeraoFim></HorarioVeraoFim>
    <LegendaInmetro>0</LegendaInmetro>
    <LMFCompleta>0</LMFCompleta>
    <MaxFechamentoAutomatico>0</MaxFechamentoAutomatico>
    <MensagemApl1></MensagemApl1>
    <MensagemApl2></MensagemApl2>
    <MensagemAviso>AVISO: [O PAPEL ESTA ACABANDO!!]. INSIRA NOVA BOBINA DE PAPEL.</MensagemAviso>
    <ModoGaveta>0</ModoGaveta>
    <NaoAvisarPoucoPapel>0</NaoAvisarPoucoPapel>
    <NomeUltimoCMD>eInterpretarRetorno_ECF_Daruma</NomeUltimoCMD>
    <PortaSerial>COM1</PortaSerial>
    <ReceberAvisoEmArquivo>0</ReceberAvisoEmArquivo>
    <ReceberDescricaoAvisoEmArquivo>0</ReceberDescricaoAvisoEmArquivo>
    <ReceberDescricaoErroEmArquivo>0</ReceberDescricaoErroEmArquivo>
    <ReceberErroEmArquivo>0</ReceberErroEmArquivo>
    <ReceberInfoEstendida>1</ReceberInfoEstendida>
    <ReceberInfoEstendidaEmArquivo>0</ReceberInfoEstendidaEmArquivo>
    <ReducaoZAutomatica>0</ReducaoZAutomatica>
    <RetornarAvisoErro>0</RetornarAvisoErro>
    <SangriaMensagem></SangriaMensagem>
    <SangriaValor>100</SangriaValor>
    <SerialByteAByte>0</SerialByteAByte>
    <SinalSonoroIniciar>1</SinalSonoroIniciar>
    <SuprimentoMensagem></SuprimentoMensagem>
    <SuprimentoValor>100</SuprimentoValor>
    <TipoUltimoDocumento>5</TipoUltimoDocumento>
    <TituloMensagem>[DarumaFramework]</TituloMensagem>
    <Velocidade>9600</Velocidade>
    <VelocidadeAntiga>9600</VelocidadeAntiga>
    <VelocidadeGeracaoRelatorio>1</VelocidadeGeracaoRelatorio>
    <Wine>0</Wine>
    <CF>
      <BMP>0</BMP>
      <CupomAdicionalDllConfig>111111111100000000000</CupomAdicionalDllConfig>
      <CupomAdicionalDllTitulo>Cupom Adicional</CupomAdicionalDllTitulo>
      <CupomMania>0</CupomMania>
      <FormaPgto>Dinheiro</FormaPgto>
      <IdentificaConsumidorFormatado></IdentificaConsumidorFormatado>
      <MascaraIdentificaConsumidor>0</MascaraIdentificaConsumidor>
      <MensagemFormaPagamento></MensagemFormaPagamento>
      <MensagemPromocional></MensagemPromocional>
      <MinasLegal>0</MinasLegal>
      <ModoPreVenda>0</ModoPreVenda>
      <NotaLegal>0</NotaLegal>
      <Quantidade>1</Quantidade>
      <TamanhoMinimoDescricao>15</TamanhoMinimoDescricao>
      <TipoDescAcresc>D%</TipoDescAcresc>
      <TorpedoPremiadoParaiba>0</TorpedoPremiadoParaiba>
      <UnidadeMedida>un</UnidadeMedida>
      <ValorDescAcresc>0.00</ValorDescAcresc>
    </CF>
    <CCD>
      <DocOrigem>036305</DocOrigem>
      <FormaPgto>Cartao</FormaPgto>
      <LinhasTEF>20</LinhasTEF>
      <SaltarLinhasTEF>0</SaltarLinhasTEF>
      <Parcelas>01</Parcelas>
      <Valor>000000019074</Valor>
    </CCD>
    <CHEQUE>
      <XLinha1>10</XLinha1>
      <XLinha2>10</XLinha2>
      <XLinha3>10</XLinha3>
      <YLinha1>10</YLinha1>
      <YLinha2>20</YLinha2>
      <YLinha3>30</YLinha3>
      <TimeOutEjetarCheque>20</TimeOutEjetarCheque>
    </CHEQUE>
    <LEI12741>
      <ColunasIBPT>0;4;5;1;6;7</ColunasIBPT>
      <LocalArquivoNCM>./IBPTAX.csv</LocalArquivoNCM>
      <LocalMSG>0</LocalMSG>
      <MSG>Val Aprox Tributos | Fonte:IBPT</MSG>
      <SeparadorIBPT>;</SeparadorIBPT>
    </LEI12741>
    <REDUCAOZ>
      <AvisarOperacoesReducaoZ>0</AvisarOperacoesReducaoZ>
      <AvisarReducaoZ>0</AvisarReducaoZ>
      <Relatorios></Relatorios>
      <PeriodoInicial></PeriodoInicial>
      <PeriodoFinal></PeriodoFinal>
      <ChavePrivada></ChavePrivada>
      <ExecutarAntesOuDepois>1</ExecutarAntesOuDepois>
      <MensagemAviso>Geracao de relatorio sera executada automaticamente apos a reducao Z, favor nao desligar a impressora</MensagemAviso>
      <RetornarInformacao></RetornarInformacao>
      <TimeOutReducaoZ>30</TimeOutReducaoZ>
    </REDUCAOZ>
    <SINTEGRA>
      <Bairro>Bairro</Bairro>
      <CEP>12345.123</CEP>
      <Cod_Convenio>1</Cod_Convenio>
      <Cod_Finalidade>1</Cod_Finalidade>
      <Cod_Natureza>1</Cod_Natureza>
      <Complemento>Complemento</Complemento>
      <Contato_Nome>Nome Contato</Contato_Nome>
      <Contato_Telefone>(12) 1234-1234</Contato_Telefone>
      <Fax>(12) 1234-1234</Fax>
      <Logradouro>Logradouro</Logradouro>
      <Municipio>Municipio</Municipio>
      <Numero>12345</Numero>
      <RateioSubTotal>0</RateioSubTotal>
      <UF>XX</UF>
    </SINTEGRA>
    <MOVIMENTOPORECF>
      <SOFTWAREHOUSE>
        <CNPJ></CNPJ>
        <IE></IE>
        <IM></IM>
        <Denominacao></Denominacao>
        <NomePAFECF></NomePAFECF>
        <VersaoPAFECF></VersaoPAFECF>
        <MD5PAFECF></MD5PAFECF>
        <VersaoERPAFECF></VersaoERPAFECF>
      </SOFTWAREHOUSE>
    </MOVIMENTOPORECF>
    <ATOCOTEPE>
      <Automatico>0</Automatico>
    </ATOCOTEPE>
  </ECF>
  <TA2000>
    <Auditoria>0</Auditoria>
    <MensagemBoasVindasLinha1>**********Daruma Automacao**************</MensagemBoasVindasLinha1>
    <MensagemBoasVindasLinha2>********MicroTerminal TA2000************</MensagemBoasVindasLinha2>
    <Porta>LPT0</Porta>
  </TA2000>
  <MODEM>
    <Apn>XXXXX</Apn>
    <Auditoria>0</Auditoria>
    <BandejaInicio>SIM1</BandejaInicio>
    <CaptionWinAPP>MODEM - MIN100/MIN200</CaptionWinAPP>
    <ControleAutomatico>0</ControleAutomatico>
    <ConfirmaEntregaSMS>0</ConfirmaEntregaSMS>
    <IpCliente>XXX.XXX.XXX.XXX</IpCliente>
    <IpServidor>XXX.XXX.XXX.XXX</IpServidor>
    <LerApagar>FALSE</LerApag
Eduardo

Eduardo

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar