O que significa M, traço e sinal de maior ? | Ti Responde 010

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 พ.ย. 2024

ความคิดเห็น • 10

  • @giullianopinheiro7614
    @giullianopinheiro7614 2 ปีที่แล้ว +1

    Excelente!

    • @TerminalDeInformacao
      @TerminalDeInformacao  2 ปีที่แล้ว

      Opa, obrigado pelo comentário Giulliano. Grande abraço.

  • @jesseaugusto698
    @jesseaugusto698 2 ปีที่แล้ว +1

    Ótimo conteúdo!!!!

  • @Flavio2767
    @Flavio2767 4 หลายเดือนก่อน +1

    Opa. Eu de novo. Como que faço quando informo no meu código que quero pegar o que está em memória. Mas traz nul. Por exemplo a tabela CTS onde eu quero pegar o M->CTS_CODPLA e fazer verificação. Porém ele só traz se eu pegar o que tá no meu Alias (CTS->CTS_CODPLA)

    • @TerminalDeInformacao
      @TerminalDeInformacao  4 หลายเดือนก่อน +1

      Bom dia Flavio, tudo joia?
      Depende da estrutura da tela, por exemplo, se for uma grid de uma tela antiga, ai você teria que usar o aCols, ao invés disso: M->CTS_CODPLA, ficaria isso: aCols[n][GDFieldPos("CTS_CODPLA")]
      Agora se for uma rotina em MVC, você pode ou dar um FWFldGet com o nome do campo ou capturar o Model ativo em memória e depois dar um GetValue (tem um exemplo na aula 43 do curso de MVC - terminaldeinformacao.com/2022/04/22/curso-mvc-em-advpl/ ).
      Um grande abraço.

    • @Flavio2767
      @Flavio2767 4 หลายเดือนก่อน +1

      @@TerminalDeInformacao Opa, cara muito obrigado. FWFldGet("CTS_CODPLA") fiz aqui. Então ess FWFldGet funciona como o variável de memoria. É que no padrão MVC tudo mudou né? Cara, de novo muito obrigado. Que Deus te abençoe imensagemente. Grande abraço.

    • @TerminalDeInformacao
      @TerminalDeInformacao  4 หลายเดือนก่อน +1

      Amém meu irmão. Bom dia, tudo joia?
      Então o FWFldGet serve para buscar uma informação no(s) model(s) em memória do MVC.
      Para as telas antigas, as rotinas passavam pelo RegToMemory (ficavam com o M->), para as rotinas em MVC, algumas (principalmente as que tem grid), ai você precisa ou capturar o model e dar GetValue ou usar a FWFldGet. Mas em alguns cenários, para manter a compatibilidade em algumas telas também funciona acionar o M-> e o nome do campo em uma tela em MVC.
      Um grande abraço.

    • @Flavio2767
      @Flavio2767 4 หลายเดือนก่อน +1

      @@TerminalDeInformacao ahhh entendi. Eu achei que ele substituiria o M-> . Aproveitando deixa eu perguntar... O jeito de fazer o If também muda? Por exemplo quero comparar dois valores if (fwfldger("Cts_codpla")

    • @TerminalDeInformacao
      @TerminalDeInformacao  4 หลายเดือนก่อน

      Bom dia Flavio, tudo joia?
      Para uma melhor manutenção do código, e até depuração, eu recomendaria isolar em uma variável e depois faria os testes com ela, por exemplo:
      --
      //Pega o valor do campo
      cCodPla := FWFldGet("CTS_CODPLA")
      //Se tiver conteúdo e for igual a 2
      If ! Empty(cCodPla) .And. Alltrim(cCodPla) == "2"
      // to-do
      EndIf
      --
      Um grande abraço.