segunda-feira, 7 de setembro de 2020

DICAS 3080 -WEBDEV TUTORIAL 14 - Licao 1.3-18-09-2020 11hrs-Lesson 1.3. LOGIN CONECTAR CODIGO - PARTE J




https://youtu.be/rRPVSjFe2h8



Bom Dia/Boa Tarde/Boa Noite

Esse Ao Vivo vai estrear as 11:00 do dia 18/09/2020 

DICAS 3080 -WEBDEV TUTORIAL 14 - Licao 1.3-18-09-2020 11hrs-Lesson 1.3. LOGIN CONECTAR CODIGO - PARTE J
Lesson 1.3. My first pages


ASSUNTOS

FAZENDO O CODIGO NO CONECTAR
EXPLICANDO PORQUE O CODIGO TEM DE SER NO LADO SERVIDOR
HReadSeekFirst
HFound
Error
ok conectado
conclusao
 


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















===========================================


// CLICK ON BTN_CONECTAR (SERVER)

HReadSeekFirst(REGISTRO,LOGIN,EDT_LOGIN)
IF NOT HFound(REGISTRO) THEN
Error("LOGIN INCORRETO")
ELSE 
IF EDT_SENHA=REGISTRO.SENHA THEN
Info("OK, VOCE ESTA CONECTADO")
ELSE 
Error("SENHA INCORRETA")
END
END
// Este código é executado no código do servidor porque uma pesquisa é realizada no banco de dados localizado no servidor.
// This code is run in server code because a search is performed in the database that is located on the server.
// Ce code est exécuté en code serveur car une recherche est effectuée dans la base de données qui se trouve sur le serveur.
// Este código se ejecuta en el código del servidor porque se realiza una búsqueda en la base de datos que se encuentra en el servidor.

// HReadSeekFirst é usado para localizar um valor em um arquivo de dados. A pesquisa é realizada em todo o nome por padrão.
//--// Para realizar uma pesquisa "Começa com", tudo o que você precisa fazer é adicionar um parâmetro: a constante hStartWith.
// HReadSeekFirst is used to find a value in a data file. The search is performed on the entire name by default. 
//--// To perform a "Starts with" search, all you have to do is add a parameter: the hStartWith constant.
// HReadSeekFirst est utilisé pour rechercher une valeur dans un fichier de données. La recherche est effectuée sur le nom entier par défaut. 
//--// Pour effectuer une recherche "Commence par", il suffit d'ajouter un paramètre: la constante hStartWith.
// HReadSeekFirst se usa para encontrar un valor en un archivo de datos. La búsqueda se realiza en el nombre completo de forma predeterminada.
//--// Para realizar una búsqueda "Empieza por", todo lo que tiene que hacer es agregar un parámetro: la constante hStartWith.

// O HFound é usado para descobrir se a pesquisa realizada no arquivo de dados de registro foi bem-sucedida ou não.
//--// O código "IF NOT HFound" é usado para definir a ação a ser executada se o login não for encontrado
//--// ("Login not found"), bem como a ação a ser executada se o login for encontrado.

// HFound is used to find out whether the search performed in the Registration data file was successful or not. 
//--// The "IF NOT HFound" code is used to define the action to perform if the login is not found ("Login not found")
//--// as well as the action to perform if the login is found.

// HFound est utilisé pour savoir si la recherche effectuée dans le fichier de données d'enregistrement a réussi ou non.
//--// Le code "IF NOT HFound" permet de définir l'action à effectuer si le login n'est pas trouvé ("Login not found") 
//--// ainsi que l'action à effectuer si le login est trouvé.           

// HFound se utiliza para averiguar si la búsqueda realizada en el archivo de datos de registro fue exitosa o no.
//--// El código "IF NOT HFound" se utiliza para definir la acción a realizar si no se encuentra el inicio de sesión
//--// ("No se encuentra el inicio de sesión"), así como la acción a realizar si se encuentra el inicio de sesión.

// Se o login for encontrado, a senha digitada no controle EDT_Password é comparada com aquela encontrada no arquivo de dados
//--// (para o login especificado). Se as duas senhas forem iguais, 
//--// o usuário está conectado; caso contrário, uma mensagem de erro será exibida.
// If the login is found, the password entered in the EDT_Password control is compared to that found in the data file
//--// (for the specified login). If the two passwords are the same,
//--// the user is connected; otherwise, an error message is displayed.
// Si le login est trouvé, le mot de passe saisi dans le champ EDT_Password est comparé à celui trouvé dans le fichier de données
//--// (pour la connexion spécifiée). Si les deux mots de passe sont identiques,
//--// l'utilisateur est connecté; sinon, un message d'erreur s'affiche.     
// Si se encuentra el inicio de sesión, la contraseña ingresada en el control EDT_Password se compara con la que se encuentra en el archivo de datos
//--// (para el inicio de sesión especificado). Si las dos contraseñas son iguales,
//--// el usuario está conectado; de lo contrario, se muestra un mensaje de error.        

=====================           

// btn_salvar server

// PageToFile é usado para recuperar o conteúdo dos controles de edição na página para transferi-lo para o arquivo de dados.
// PageToFile is used to retrieve the content of the edit controls on the page to transfer it to the data file.
// PageToFile est utilisé pour récupérer le contenu des contrôles d'édition sur la page pour le transférer dans le fichier de données.
// PageToFile est utilisé pour récupérer le contenu des contrôles d'édition sur la page pour le transférer dans le fichier de données.

PageToFile()

// HAdd é usado para gravar os dados transferidos no arquivo de dados.
// HAdd is used to write the transferred data to the data file.
// HAdd est utilisé pour écrire les données transférées dans le fichier de données.
// HAdd se utiliza para escribir los datos transferidos en el archivo de datos.

HAdd(REGISTRO)

// Info - são usadas para exibir uma mensagem.
// Info - are used to display a message.
// Info - sont utilisés pour afficher un message.
// Info - sont utilisés pour afficher un message....

Info("registro adicionado com sucesso ")












  • For the "CONNECT" Button control, we must write the WLanguage code to perform the search:
    1. Select the "CONNECT" Button control and display the associated events (F2).
    2. Write the following WLanguage code in the "Click (server)" event:
      HReadSeekFirst(RegistrationLoginEDT_Login)
      IF NOT HFound(Registration) THEN
      Error("Unknown login.")
      ELSE
      IF EDT_Password = Registration.Password THEN
      Info("OK, you are connected.")
      ELSE
      Error("Incorrect password.")
      END
      END
    3. Let's take a look at this WLanguage code:
      • This code is run in server code because a search is performed in the database that is located on the server.
      • HReadSeekFirst is used to find a value in a data file. The search is performed on the entire name by default. To perform a "Starts with" search, all you have to do is add a parameter: the hStartWith constant.
      • HFound is used to find out whether the search performed in the Registration data file was successful or not. The "IF NOT HFound" code is used to define the action to perform if the login is not found ("Login not found") as well as the action to perform if the login is found.
      • If the login is found, the password typed in the EDT_Password control is compared to the one found in the data file (for the specified login). If the two passwords are the same, then the user is connected, otherwise an error message is displayed.

        Remark

        The code presented here is for educational purpose. In a real project:
        • The password must not be stored in clear. We advise you to encrypt the password.
        • We advise you to display the same error message in case of incorrect login or password (to avoid an attempt to hack the logins).
    4. Save (Ctrl + S) and close the code editor (cross in the top right corner).

Page test

  • Run the test of this page:
    1. Click the Run the test of a page icon among the quick access buttons.
    2. Enter the following data in the page that appears in a browser:
      • Login: john
      • Password: john1
    3. Click the "CONNECT" button. An error message is displayed.
    4. Validate the message and modify the password: "john".
    5. Click the "CONNECT" button. You are connected.
    6. Close the browser.
Conclusion
By creating two pages only, we have discovered several WEBDEV features:
  • the creation of controls: edit controls and Button controls,
  • the possibilities for aligning and organizing controls in the page,
  • the addition of records into data files,
  • the sequence of pages,
  • the search for record in the data files,
  • the use of WLanguage server and browser events,
  • ...
After this overview, we will go into more details in the next section, especially regarding the analysis and the definition of database characteristics before explaining how to develop a full site.


=-=================== portugues

  • Veremos agora em detalhes como funcionam os controles de botão. Primeiramente, vamos dar uma olhada no controle do botão "REGISTAR".
    1. Selecione o controle do botão "REGISTAR".
    2. Abra a janela de descrição do controle (clique duas vezes no controle).
    3. Na guia "Geral", na área "Ação do botão", iremos especificar a ação a ser executada. No nosso caso, vamos abrir a página de registro:
      • Na área "Tipo", selecione "Exibir uma página do site".
      • Na área "Página", selecione "PAGE_Form".
        Descrição do controle de botão
    4. Valide a janela de descrição.

      Observação

      Nenhum código é necessário: no editor, o controle Button está associado à ação a ser executada (neste caso, abrir uma página).
  • Para o controle do botão "CONNECT", devemos escrever o código WLanguage para realizar a pesquisa:
    1. Selecione o controle do botão "CONECTAR" e exiba os eventos associados (F2).
    2. Escreva o seguinte código WLanguage no evento "Click (server)":
      HReadSeekFirst Registro Login EDT_ Login )
      SE NÃO HFound Registro ) ENTÃO Erro "Login desconhecido." ELSE IF EDT_ Senha Registro Senha ENTÃO Info "OK, você está conectado." ELSE Erro "Senha incorreta." END END








    3. Vamos dar uma olhada neste código WLanguage:
      • Este código é executado no código do servidor porque uma pesquisa é realizada no banco de dados localizado no servidor.
      • HReadSeekFirst é usado para localizar um valor em um arquivo de dados. A pesquisa é realizada em todo o nome por padrão. Para realizar uma pesquisa "Começa com", tudo o que você precisa fazer é adicionar um parâmetro: a constante hStartWith .
      • HFound é usado para descobrir se a pesquisa realizada no arquivo de dados de registro foi bem-sucedida ou não. O código "IF NOT HFound" é usado para definir a ação a ser executada se o login não for encontrado ("Login not found"), bem como a ação a ser executada se o login for encontrado.
      • Se o login for encontrado, a senha digitada no controle EDT_Password é comparada com aquela encontrada no arquivo de dados (para o login especificado). Se as duas senhas forem iguais, o usuário está conectado; caso contrário, uma mensagem de erro será exibida.

        Observação

        O código apresentado aqui é para fins educacionais. Em um projeto real:
        • A senha não deve ser armazenada de forma clara. Aconselhamos você a criptografar a senha.
        • Aconselhamos que exiba a mesma mensagem de erro em caso de login ou senha incorretos (para evitar uma tentativa de hackear os logins).
    4. Salve (Ctrl + S) e feche o editor de código (cruz no canto superior direito).

Teste de página

  • Execute o teste desta página:
    1. Clique no Execute o teste de uma páginaícone entre os botões de acesso rápido.
    2. Insira os seguintes dados na página que aparece em um navegador:
      • Login: john
      • Senha: john1
    3. Clique no botão "CONECTAR". Uma mensagem de erro é exibida.
    4. Valide a mensagem e modifique a senha: "john".
    5. Clique no botão "CONECTAR". Você está conectado.
    6. Feche o navegador.
Conclusão
Ao criar apenas duas páginas, descobrimos vários recursos do WEBDEV:
  • a criação de controles: controles de edição e controles de botão,
  • as possibilidades de alinhar e organizar controles na página,
  • a adição de registros em arquivos de dados,
  • a sequência de páginas,
  • a busca de registro nos arquivos de dados,
  • o uso do servidor WLanguage e eventos do navegador,
  • ...
Após esta visão geral, entraremos em mais detalhes na próxima seção, especialmente no que diz respeito à análise e à definição das características do banco de dados antes de explicar como desenvolver um site completo.




Teste

Teste
teste