sexta-feira, 18 de setembro de 2020

DICAS 3107 -WEBDEV TUTORIAL 41 - 30-09-2020-09_00Hrs-QUA-Licao 3.3. - HSAVE - ADICIONAR NOVO PRODUTO - Parte N



https://youtu.be/72hNaAHyiSs


Bom Dia Boa Tarde Boa Noite

Esse Ao Vivo vai estrear as 09:00 do dia 30/09/2020-QUA

DICAS 3107 -WEBDEV TUTORIAL 41 - 30-09-2020-09_00Hrs-QUA-Licao 3.3. - HSAVE -  ADICIONAR NOVO PRODUTO - Parte N
Lesson 3.3. Pages for addition and modification

ASSUNTOS

Adicionar um novo produto por meio da página 
PAGE_FORMULARIO_DO_PRODUTO
Declarações globais - ADICIONAR -1 
PROCEDIMENTO MyPage ( gnProductID é 8 - byte int = - 1 )
VERIFICANDO SE É NOVO REGISTRO OU NAO NA ENTRADA DA TELA
GRAVANDO NOVO REGISTRO OU ALTERANDO
MOSTRANDO DUAS OPCOES DE GRAVACOES


DICAS 3067 -WEBDEV TUTORIAL 1-Licao 1.1-14-09-2020 11hrs-DESCUBRA WEBDEV
DICAS 3068 -WEBDEV TUTORIAL 1-Licao 1.2-14-09-2020 15hrs-Web development and WEBDEV - PARTE A
DICAS 3069 -WEBDEV TUTORIAL 3-Licao 1.2-14-09-2020 16hrs-Web development and WEBDEV - PARTE B






PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
Playlist windev Franca PcSoft
Amarildo
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Site forum Google 
Video sobre 3 Mil Videos Windev 
PlayList Pedrosao
Video sobre Alfaserver servidor 
Ultimo Video manipulacao arquivos











Adicionar um novo produto por meio da página "Formulário do produto"
Acabamos de explicar como modificar um produto. Agora, queremos ser capazes de adicionar um produto. Para isso, não é necessário recriar uma nova página: usaremos a página "PAGE_Product_form" que foi criada anteriormente e a adaptaremos para gerenciar a adição.
  • Em primeiro lugar, vamos modificar o modo de abertura da página "PAGE_Product_form":
    1. Posicione-se na página "Formulário do produto": clique no botão "PAGE_Formulário do produto" que se encontra na barra de documentos aberta.
    2. Pressione F2 para exibir os diferentes eventos WLanguage da página.
    3. No evento "Declarações globais", vamos dar um valor padrão ao parâmetro passado para a página. Com efeito, ao modificar o registro, o parâmetro passado sempre corresponde ao identificador do produto a modificar. Mas ao adicionar um registro, o identificador do elemento não existe. Para gerenciar este caso, usaremos o valor padrão "-1".
    4. Substitua a seguinte linha de código no evento "Declarações globais":
      PROCESSO MyPage ( gnProductID é byte int )

      pelo código:
      PROCEDIMENTO MyPage gnProductID é byte int = - )
    5. Devemos agora gerenciar o valor "-1" (ao adicionar um registro). Substitua o seguinte código:
      HReadSeekFirst(Product,ProductID,gnProductID)
      IF HFound(Product) = False THEN
      // Display the list of products
      PageDisplay(PAGE_List_of_products)
      END
      FileToPage()


      pelo código:
      IF gnProductID = -1 THEN
      HReset(Product)
      ELSE
      HReadSeekFirst(Product,ProductID,gnProductID)
      IF HFound(Product) = False THEN
      // Display the list of products
      PageDisplay(PAGE_List_of_products)
      END
      END
      FileToPage()


      Vamos estudar este código:
      • Se o identificador do produto for definido como -1, significa que estamos adicionando um produto. Nesse caso, HReset é executado. Esta função inicializa as variáveis ​​de item no arquivo de dados "Produto" com os valores padrão para gerenciar um novo registro.
      • Se o identificador do produto tiver um valor diferente de -1, recuperamos o código usado para abrir o formulário em modificação.
    6. Feche a janela de código.
  • O controle do botão "Validar" também deve oferecer suporte à adição do registro.
    1. Selecione o controle do botão "Validar" em "PAGE_Product_form".
    2. Exibe os eventos WLanguage associados ao controle (F2).
    3. O código no evento "Click (navegador)" não deve mudar: as verificações a serem realizadas são sempre as mesmas. Apenas o código do servidor deve ser modificado.
    4. No evento "Click (Server)", substitua o código existente pelo seguinte código:
      PageToFile()
      IF gsImagePath <> "" THEN
      Product.Visual = fLoadBuffer(gsImagePath)
      END
      IF Product..NewRecord THEN
      HAdd(Product)
      ELSE
      HModify(Product)
      END
      PageDisplay(PAGE_List_of_products)







      Vamos estudar este código:
      • ..NewRecord é usado para descobrir se o registro atual deve ser criado.
      • Se HRESET foi chamado anteriormente, a propriedade retorna True (novo produto) e o registro deve ser criado pelo HAdd .
      • Caso contrário, o registro atual já existe e deve ser modificado pelo HModify .
      • HAdd adiciona o registro ao arquivo de dados. Esta função pega os valores na memória e grava o conteúdo dos itens do arquivo no próprio arquivo de dados. Os índices são atualizados imediata e automaticamente. Neste caso, é o arquivo de dados "Produto" que é atualizado.

        Observação

        O código de teste do novo registro pode ser substituído por HSave . Esta função serve para verificar se o registro já se encontra no arquivo de dados, e permite adicioná-lo ou modificá-lo. O código WLanguage torna-se:
        PageToFile()
        IF gsImagePath <> "" THEN
        Product.Visual = fLoadBuffer(gsImagePath)
        END
        HSave(Product)
        PageDisplay(PAGE_List_of_products)




    5. Salve as modificações ( Salve o elementoou Ctrl + S).




Nenhum comentário:

Postar um comentário

Teste

Teste
teste