Executa a declaração e expressão de laço repetidamente, até que a condição da expressão se torna falsa.

O FOR possui 3 parâmetros nem todos obrigatórios e escritos pela seguinte sintaxe:

FOR (parâmetro 1; parâmetro 2; parametro3)  {  conteúdo do laço; }

Parâmetros

  • Parâmetro1 = inicialização do laço, exemplo: int variável = 0;
  • Paramero2 = condição do laço, exemplo: variável < 100;
  • Parametro3 = incremento ou decremento do laço, exemplo: variável++; ou variável–;

Obs:

Um erro muito comum é escrever comandos da categoria laços com uma condição infinita, um laço interminável não permite que o compilador termine o conteúdo do comando.

for-js

For

 

Exemplo

No exemplo a seguir vamos criar uma simples tabuada:

Python

<!DOCTYPE html>
<html>

<head>
   <title>Desenvolvimento Aberto</title>
</head>

<body>

<h2>Desenvolvimento Aberto -For</h2>
<br>
<h3>JavaScript</h3>
<br>

<pre>
<script>

var i;

document.writeln("O comando For permite criar um looping para uma determinada condicao\n")

for (i=0; i<= 10; i++) 
{

var tabuada = 2 * i;
document.writeln("tabuada 2 x " + i + " = " + tabuada);
	
}

</script>
</pre>

</body>

</html> 

Em Python podemos usar o componente Entry do Tkinter para manipular senhas, necessitando apenas acrescentar em sua propriedade Show o caractere asterisco “*”.

TkMessageBox

O módulo tkMessageBox é usado para exibir caixas de mensagens em suas aplicações. Este módulo fornece uma série de funções que você pode usar para exibir uma mensagem apropriada.  Algumas destas funções são showinfo, showwarning, ShowError, askquestion, askokcancel, askyesno e askretryignore.

password-py

Senha

Exemplo

Neste exemplo criamos uma caixa de entrada para senhas e a manipulamos e exibimos o resultado em uma caixa de mensagem

Python

#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Desenvolvimento Aberto
# Senha.py

# importa modulos

from Tkinter import *
import tkMessageBox

# Cria formulario
formulario = Tk()
formulario.title = "Desenvolvimento Aberto"
formulario.geometry("300x150")

# Cria janela para menssagem
janela = Tk()
janela.wm_withdraw()

# Cria evento do botão
def clique():
    if (verificaSenha(senha.get())):
        tkMessageBox.showinfo(title="Menssagem",message="Senha correta",parent=janela)
    else:
        tkMessageBox.showinfo(title="Menssagem",message="Senha incorreta",parent=janela)

# Verifica Senha
def verificaSenha(psenha):
    correto = True
    #Senha ficticia deve vir de alguma fonte
    rsenha = "daaberto"
    if (len(psenha) != len(rsenha)):
        correto = False
    else:
        if (psenha != rsenha):
            correto = False
    return correto

# Cria Componentes
rotulo = Label(formulario, text="Digite uma senha de 8 caracteres:")

senha = Entry(formulario, show="*")

botao = Button(formulario, text="Ok", command=clique)

# Posiciona componentes no formulario
rotulo.grid(row=0,sticky=W, padx = 20, pady=20)
senha.grid(row=1,sticky=W, padx =20)
botao.grid(row=2,sticky=W, padx=20, pady=10)

# loop do tcl
mainloop()

Para validar senhas em C++ você deve usar o componente Edit Control com sua propriedade Password alterada para True, deste modo o controle altera a visualização dos caracteres comuns para caracteres “*”.

MessageBox

Envia mensagens para o usuário através da API do Windows.

Visual Studio

Para criar um programa que valida senhas siga os seguintes passos:

  1. Crie um novo projeto C++ MFC Application Dialog Based.
  2. Coloque os componentes: Static Text, Edit Control e um Button no dialogo, use a figura abaixo para o design:

    password_design

    Design

  3. Crie uma variável chamada m_senha para o Edit Control.
  4. Mude a propriedade Password do Edit Control para True.
  5. Crie um evento para o clique do botão.
  6. Use o código abaixo e complete seu código gerado automaticamente.
password_prog

Programa

 

Exemplo:

Neste exemplo criamos um campo de entrada de senha, o validamos e exibimos mensagens para o usuário.

C++

// Código gerado automaticamente
// senhacppDlg.cpp : implementation file
//

#include "stdafx.h"
#include "senhacpp.h"
#include "senhacppDlg.h"
#include "afxdialogex.h"
#include <Windows.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

CsenhacppDlg::CsenhacppDlg(CWnd* pParent /*=NULL*/)
	: CDialogEx(CsenhacppDlg::IDD, pParent)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CsenhacppDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_EDIT1, m_senha);
}

BEGIN_MESSAGE_MAP(CsenhacppDlg, CDialogEx)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON1, &CsenhacppDlg::OnBnClickedButton1)
END_MESSAGE_MAP()

BOOL CsenhacppDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	SetIcon(m_hIcon, TRUE);			
	SetIcon(m_hIcon, FALSE);		

	return TRUE;  
}

void CsenhacppDlg::OnPaint()
{
	if (IsIconic())
	{
		CPaintDC dc(this); 

		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;
				
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialogEx::OnPaint();
	}
}

HCURSOR CsenhacppDlg::OnQueryDragIcon()
{
	return static_cast<HCURSOR>(m_hIcon);
}

// Desenvolvimento Aberto
// nosso código começa aqui

// Verifica senha
static bool  verificaSenha(CString psenha)
{
	bool correto = true;
	
	// Retorna senha de alguma fonte
	CString rsenha = L"daaberto";

	// Verifica tamanho
	if (psenha.GetLength() != rsenha.GetLength())
	{
		correto = false;
	}
	else
	{
		// Verifica senha
		if (psenha != rsenha)
		{
			correto = false;
		}
	}

	return correto;
}

// Cria menssagens
int menssagem(bool correto)
{
	LPCWSTR msg;

	if (correto)
	{
		msg = L"A Senha está correta";
	}
	else
	{
		msg = L"A Senha está incorreta";
	}

	int msgboxID = MessageBox(
		NULL,
		msg,
		(LPCWSTR)L"Menssagem",
		MB_ICONWARNING | MB_OK | MB_DEFBUTTON2
		);

	switch (msgboxID)
	{
	case IDOK:

		break;	
	}

	return msgboxID;
}

// Evento do botão
void CsenhacppDlg::OnBnClickedButton1()
{
	// Exibe menssagem
	CString psenha;

	m_senha.GetWindowTextW(psenha);

	if (verificaSenha(psenha))
	{
		menssagem(true);
	}
	else
	{
		menssagem(false);
	}
	
}

Em C# para usar um campo para senhas basta usar um TextBox padrão, alterando sua propriedade PasswordChar. Quando a caixa de texto está no modo de senha porque PasswordChar, UseSystemPasswordChar ou se ReadOnly for verdadeiro, o TextBox está no modo restrito. Neste modo, o ImeMode está desativado, mas o ImeMode atual é armazenado em cache para que ele possa ser restaurado se o TextBox nunca se tornar irrestrito.

ImeMode

Siginifica Input Method Editor, o modo permite aos usuários inserir caracteres e símbolos complexos, tais como mostrar caracteres “*”, usando um teclado padrão.

MessageBox

Exibe uma caixa de mensagem que pode conter texto, botões e símbolos que informam e instruem o usuário.

Aspas Simples e Aspas Duplas

Em algumas linguagens de programação usa-se aspas simples para escrever textos literais para uma variável, outras linguagens usam aspas duplas. Em algumas linguagens modernas usa-se ambos os tipos de aspas. Em C# aspas duplas significam caracteres literais no formato String, aspas simples significam caracteres literais no formato Char. No exemplo abaixo o caractere de senha precisa ser do tipo Char, tente colocar os caracteres em aspas duplas e verá o erro: String e Char não são tipos compatíveis, aspas simples transformam os literais em tipos Char suprimindo o erro do compilador.

password

Senha

 

Exemplo:

Neste exemplos usamos uma caixa de texto com sua propriedade de senha ativada e exibimos mensagens ao usuário de acordo com o resultado de validação.

C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace senha
{
    public partial class Form1 : Form
    {
        // Declara componentes
        Label rotulo;
        TextBox senha;
        Button botao;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Shown(object sender, EventArgs e)
        {

            // Cria componentes
            rotulo = new Label();
            senha = new TextBox();
            botao = new Button();

            // Adiciona Componentes
            this.Text = "DA - Password";
            rotulo.Text= "Digite uma senha de 8 caracteres";
            botao.Text="Ok";

            // Adiciona tamanho dos componentes
            rotulo.Size = new Size(300, 20);
            this.Size = new Size(250, 150);

            // Adiciona posição dos componentes
            rotulo.Location = new Point(15, 20);
            senha.Location = new Point(15, 45);
            botao.Location = new Point(15, 70);

            // Adiciona componente no formulario
            this.Controls.Add(rotulo);
            this.Controls.Add(senha);
            this.Controls.Add(botao);

            // Cria evento do botão
            botao.Click += new System.EventHandler(this.botao_Click);

            // Altera propriedades para usar senhas
            senha.MaxLength = 8;
            senha.PasswordChar = '*';

        }

        private void botao_Click(object sender, EventArgs e)
        {
            // Exibe menssagens
            if (verificaSenha(senha.Text))
            {
                MessageBox.Show("A Senha está correta!", "Menssagem",
                                 MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);

            }
            else
            {
                MessageBox.Show("A Senha está incorreta!", "Menssagem",
                                 MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
            }
        }

        public Boolean verificaSenha(string  senha)
        {
            // Verifica Senha
            Boolean correto = true;

            // Retorna senha de alguma fonte
            string rsenha = "daaberto";

            // Verifica tamanho da senha
            if (senha.Length != rsenha.Length)
            {
                correto = false;
            }
            else
            {
                // Verifica senha
                if (senha != rsenha)
                {
                    correto = false;
                }
            }

            return correto;
        }

    }
}

A classe JPasswordField, uma subclasse de JTextField, fornece campos de texto especializados para a entrada de senha. Por razões de segurança, um campo de senha não mostra os caracteres que o usuário digita. Em vez disso, o campo apresenta um outro caractere, como um asterisco ‘*’. Como outra medida de segurança, um campo de senha armazena o seu valor como um array de caracteres, e não como uma string.

JOptionPane

Torna mais fácil abrir uma caixa de diálogo padrão que solicita aos usuários para um valor ou informa os de algo.

ShowMessageDialog

Diz o usuário sobre algo que aconteceu.

Aspas Simples e Aspas Duplas

Em algumas linguagens de programação usa-se aspas simples para escrever textos literais para uma variável, outras linguagens usam aspas duplas. Em algumas linguagens modernas usa-se ambos os tipos de aspas. Em Java aspas duplas significam caracteres literais no formato String, aspas simples significam caracteres literais no formato Char. No exemplo abaixo a variável contendo a senha recuperada precisa ser uma array do tipo Char, tente colocar os caracteres em aspas duplas e verá o erro: String e Char não são tipos compatíveis, aspas simples transformam os literais em tipos Char suprimindo o erro do compilador.

password

Senha

 

Exemplo:

Neste exemplo criamos uma caixa de texto especifica para manipular senhas, e usamos seus recursos de validação para imprimir uma mensagem na tela para o usuário.

Java

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;


public class Senha implements ActionListener 

{   
	// Declara Componentes
	JFrame menssagem;
	JLabel rotulo;
	JPasswordField senha;
	JButton botao;
	
	// Cria painel com componentes
	public Container criaPainel()
	{
		JPanel painel = new JPanel(new BorderLayout());
		
		rotulo = new JLabel("Insira uma senha com 8 caracteres:");
		
		senha = new JPasswordField(8);
				
		botao = new JButton("Ok");
		botao.addActionListener(this);
		
		painel.add(rotulo, BorderLayout.PAGE_START);
		painel.add(senha, BorderLayout.CENTER);
		painel.add(botao, BorderLayout.PAGE_END);
		
		painel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
					
		return painel;
	}
	
    public void actionPerformed(ActionEvent arg0) {
    	
    	// Captura ação do botão
    	if (arg0.getSource() == botao )
    	{
    		// Recupera senha do componente de senha
    		char[] psenha = senha.getPassword();
    		
    		// Verifica a senha
    		if (verificaSenha(psenha)) 
    		{
    			// Manda uma menssagem usando um componente de caixa de dialogo
    			JOptionPane.showMessageDialog(menssagem, 
    					"A senha está correta!");
    		}
    		
    		else
    		{
    			JOptionPane.showMessageDialog(menssagem, 
    					"A senha está incorreta!");
    		}
    	}
				
	}
    
    public boolean verificaSenha(char[] psenha)
    {
		
    	// Verifica Senha
    	boolean correto = true;
    	
    	// Retorna senha de alguma fonte dentro de um array
    	// Neste caso nossa senha ficticia é fixa.
    	
    	// Aspas simples indicam que os literais são do formato char e não string
    	char [] rsenha = { 'd', 'a', 'a', 'b', 'e', 'r', 't', 'o' } ;
    	
    	if (psenha.length != rsenha.length) 
    	{
    		correto = false;
    	}
    	
    	else
    	{
    		for (int i = 0; i < rsenha.length; i++)
    		{
    			if (psenha[i] != rsenha[i])
    			{
    				correto = false;
    			}
    		}
    	}
    	
    	
    	return correto;
    	
    }
	
    // Cria GUI
	public static void criaGUI()
	{
		JFrame formulario = new JFrame("DA - JPassword");
		formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		Senha pass = new Senha();
		
		formulario.setContentPane(pass.criaPainel());
		
		formulario.setSize(300,130);
		formulario.setVisible(true);
	}

	// Chama GUI
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		javax.swing.SwingUtilities.invokeLater(new Runnable() {
			
			@Override
			public void run() {
				
				criaGUI();
				
			}
		});

	}

}

Você deve ter percebido que até agora todas nossa paginas Html não continham acentuação ou caracteres especiais, e se você trocou os caracteres dos exemplos para caracteres acentuados quando usou alguns de nosso exemplos anteriores, você conseguiu uma interpretação estranha do Browser, que lhe retornou alguns caracteres ilógicos ao invés do acentos no qual estamos acostumados.

Isto é porque no Linux geralmente se usa um padrão de caracteres universal chamado UTF-8, paginas web foram projetadas para serem usadas em um Browser no qual roda em vários servidores de países diferentes contendo línguas e caracteres diferentes, cada sistema operacional local possui uma codificação especial para traduzir estes caracteres para a língua local. Por exemplo em Windows alguns destes exemplos podem ser acentuados normalmente pois o Codepage usado pelo Windows pt-br é 1252 que contem todos os nossos caracteres e não está na codificação UTF-8.

Para garantir que sua pagina seja vista igualmente em todo o mundo precisamos usar uma tabela de conversão de caracteres Html chamada Entities ou podemos usar a tabela ASCII.

UTF-8

UTF-8 (8-bit Unicode Transformation Format) é um tipo de codificação Unicode de comprimento variável criado por Ken Thompson e Rob Pike. Pode representar qualquer carácter universal padrão do Unicode, sendo também compatível com o ASCII. Por esta razão, está lentamente a ser adoptado como tipo de codificação padrão para email, páginas web, e outros locais onde os caracteres são armazenados.

Caso não queira utilizar os caracteres ASCII ou Entities abaixo, você simplesmente pode definir seu documento com UTF-8 declarando a tag abaixo dentro de sua tag <head>:

<meta charset="utf-8" />

ASCII

ASCII (acrônimo para American Standard Code for Information Interchange, que em português significa “Código Padrão Americano para o Intercâmbio de Informação”, mas comumente utilizamos a sigla em inglês para referencia direta) é uma codificação de caracteres de sete bits baseada no alfabeto inglês. Cada sequencia de códigos na tabela ASCII corresponde a um caractere, comumente representados pelos 8 bits (equivalente a um byte), sendo que o oitavo bit (da direita para a esquerda) serve como um bit de paridade, utilizado para detecção de erro. Os códigos ASCII representam texto em computadores, equipamentos de comunicação, entre outros dispositivos que trabalham com texto. Desenvolvida a partir de 1960, grande parte das codificações de caracteres modernas a herdaram como base.

Tabelas de Caracteres

Você pode acessar as tabelas Entities ou ASCII para converter o seu texto nas paginas html com codificação universal:

Entities : http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

ASCII: http://en.wikipedia.org/wiki/ASCII

USP – Entities e ASCII: http://www.ime.usp.br/~glauber/html/acentos.htm

acentos

Entities e ASCII

 

Exemplo:

Neste exemplo criamos uma pagina html em codificação UTF-8 padrão e usamos Entites e ASCII para traduzir os caracteres acentuados para o português Brasil.

Html / JavaScript

<!DOCTYPE html>
<html>

<head>
   <title>Desenvolvimento Aberto</title>
</head>

<body>

<h2>Desenvolvimento Aberto - Acentos - HTML </h2>
<br>
<h3>JavaScript</h3>
<br>

<pre>
<script>

document.writeln("Html - texto com entrada direta");
document.writeln("Este texto é incorreto pois não mostra acentuação\n");

document.writeln("Html - texto usando Entities");
document.writeln("Este texto &eacute incorreto pois n&atildeo mostra acentua&ccedil&atildeo\n");

document.writeln("Html - texto usando ASCII");
document.writeln("Este texto &#233 incorreto pois n&#227o mostra acentua&#231&#227o\n");

</script>
</pre>

</body>

</html>

O comando While executa uma instrução ou um bloco de instruções até que uma expressão especificada seja avaliada como falsa. O comando Do While (faça… enquanto) executa um comando repetidamente até que a condição de término especificada retorne falso.

A diferença entre eles é posicionamento da expressão em suas sintaxes, a instrução Do While executará a instrução pelo menos uma vez independente se a condição for falsa.

dowhile

While – Do While

 

Exemplo:

Neste exemplo criamos um laço até que um contador atinja seu limite definido em uma expressão.

Html / JavaScript

<!DOCTYPE html>
<html>

<head>
   <title>Desenvolvimento Aberto</title>
</head>

<body>

<h2>Desenvolvimento Aberto - While - Do While </h2>
<br>
<h3>JavaScript</h3>
<br>

<pre>
<script>
document.writeln("Comandos de Loop: \n");
document.writeln("While - executa uma instrucao enquanto a expressao for verdadeira");
document.writeln("Do - While - executa uma instrucao enquando a expressao for verdadeira\n");
document.writeln("A diferenca entre While e Do While e que Do While excutara a instrucao pelo uma vez");
document.writeln("independentemente se a expressao for falsa\n");

var contador = 0;

document.writeln("While:");

while (contador < 5)
{
    document.writeln("Contador While = " + contador);
    contador = contador + 1;
}

document.writeln();
document.writeln("Do While:" + contador);

var contador = 0 ;
do {

    document.writeln("Contador Do While = " +  contador);
    contador = contador + 1;
	
} while (contador < 5 );

</script>
</pre>

</body>

</html> 

Um menu de contexto ou um menu pop-up é um menu em uma interface gráfica do usuário (GUI) que aparece em cima de interação do usuário, como uma operação de clique com o botão direito do mouse. Um menu de contexto oferece um conjunto limitado de opções que estão disponíveis no estado atual, ou contexto, do sistema operacional ou aplicativo. Normalmente, as opções disponíveis são as ações relacionadas com o objeto selecionado.

Os menus de contexto foram introduzidos no ambiente Smalltalk do computador Xerox Alto, onde eram chamados menus pop-up. O sistema operacional NEXTSTEP desenvolveu a ideia, incorporando a funcionalidade em que o botão do meio ou o da direita traziam o menu principal na posição do mouse, eliminando a necessidade de mover o ponteiro por toda a tela. Esse menu principal era vertical e mudava de acordo com o texto da operação do sistema.

ContextMenu

Em Abap um menu de contexto é considerado um elemento complexo da coleção de componentes do Netweaver 7. Um menu de contexto não é um componente que você arrasta em uma tela no Screen Painter, mas sim um evento de cada componente dentro do Screen Painter chamado:

  • ON_CTMENU_seunomedemenu

É também composto de um Status de GUI onde você cria um menu do tipo menu de contexto e da instrução Abap, FORM chamando o evento ON_CT_MENU_seunomedemenu de cada componente e atribuído a um Status de GUI. É possível criar um menu dinâmico usando a classe cl_ctmenu para instanciar um novo objeto de menu e usar seus métodos para manipular o novo menu.

Criando um Menu de Contexto

Para criar um menu de contexto precisamos de vários objetos Abap e você já deve ter o conhecimento de como criar um menu, criar um titulo, criar uma tela e criar o OK_CODE.

  1. Entre na transação SE38 e crie um programa chamado ZCONTEXTMENU.
  2. Entre na transação SE41 e crie um Status de tela chamado MENU_100 e crie o menu DA_MENU e a função SAIR.
  3. Crie um menu de contexto chamado CONTEXT_MENU_1  e cria as funções FUNCAO1, FUNCAO2 e FUNCAO3.
  4. Crie um titulo chamado TITULO100.
  5. Ative os dois menus e o titulo
  6. Entre na transação SE51 e crie um layout, o PBO_Module Status_100 e o campo OK_CODE e use a figura abaixo para referencia:

    menucontexto_layout

    Tela 100 – Layout

  7. Coloque um componente Box e nomeie corretamente e em sua propriedade ON_CTMENU_, coloque CONTEXTO1.
  8. Coloque cada componente TextField e os nomeie como quiser.
  9. Nomeie cada Input/Output Field de CAIXA1, CAIXA2, CAIXA3 e CAIXA4.
  10. No componente CAIXA4, em sua propriedade ON_CTMENU_, coloque CONTEXTO1.
  11. Coloque um botão e em sua function code coloque SAIR.
  12. Ative a tela e volte para a transação SE38 e escreva o código abaixo.
menucontexto

ContextMenu – Programa

 

Exemplo:

Neste exemplo criamos um status de Gui para o menu DA_TELA contento a função SAIR, um Status de GUI para o menu de contexto CONTEXT_MENU_1 contento 3 funções e criamos uma tela 100 para os componentes como mostra a figura de layout acima. Para cada função criamos uma ação, não se esqueça de preencher o campo tipo OK com o nome OK_CODE na aba Element List da tela 100 e também de criar o PBO_MODULE para o Status_100 na aba Flow Logic.

Obs: O componente Box associado a um menu de contexto faz todos os componentes dentro dele herdarem o menu.

Abap

*&---------------------------------------------------------------------*
*& Report  ZCONTEXTMENU
*&
*&---------------------------------------------------------------------*
*& Desenvolvimento Aberto
*& Menu de Contexto / Popup Menu
*&---------------------------------------------------------------------*

REPORT  ZCONTEXTMENU.

* Declara componentes Input/Output field
DATA: CAIXA1 TYPE STRING,
      CAIXA2 TYPE STRING,
      CAIXA3 TYPE STRING,
      CAIXA4 TYPE STRING.

* Delcara variavel que captura o nome do programa
DATA: prog TYPE sy-repid.

* Delclara Eventos dos botões
DATA: ok_code TYPE sy-ucomm,
      clique_ok TYPE sy-ucomm.

* Alimenta variavel
prog = sy-repid.

* Chama a tela 100
CALL SCREEN 100.

* Modulo de Saida da tela
MODULE STATUS_0100 OUTPUT.

  " Chama o menu da tela e o Titulo
  SET PF-STATUS 'MENU_100'.
  SET TITLEBAR 'TITULO100'.

* Limpa o evento contra possiveis sujeiras
 clique_ok = ok_code.
  CLEAR ok_code.

* Cria Eventos dos botões
  CASE clique_ok.
    WHEN 'FUNCAO1'.
      CAIXA1 = CAIXA4.

   WHEN 'FUNCAO2'.
      CAIXA2 = CAIXA4.

   WHEN 'FUNCAO3'.
      CAIXA3 = CAIXA4.

    WHEN 'SAIR'.
      LEAVE PROGRAM.
  ENDCASE.

ENDMODULE.                 " STATUS_0100  OUTPUT

* Cria o Evento on click do menu de contexto referenciando o evento
* declarado no componente e o menu criado no Menu Painter
FORM on_ctmenu_contexto1 USING l_menu TYPE REF TO cl_ctmenu.
  CALL METHOD:l_menu->load_gui_status
                        EXPORTING program = prog
                                  status  = 'CONTEXT_MENU_1'
                                  menu    = l_menu.
ENDFORM.

Websites – Switch – JavaScript – Linux

Publicado: 31 de março de 2014 em JavaScript

A instrução Switch avalia uma expressão, combinando com o valor da expressão a uma cláusula de caso, e executa instruções associadas a esse caso. Em algumas outras linguagens de script este comando é conhecido como Case.

switch

Switch

 

Exemplo:

Neste exemplo à partir de um valor de uma variável (ou expressão) o comando switch pode ser usado para efetuar ações.

Html / JavaScript

<!DOCTYPE html>
<html>

<head>
   <title>Desenvolvimento Aberto</title>
</head>

<body>

<h2>Desenvolvimento Aberto - Switch </h2>
<br>
<h3>JavaScript</h3>
<br>

<pre>
<script>

var escolha = 100;

document.writeln("Avalia uma expressao, combinando com o valor da expressao a \n" +
                 "uma clausula de caso, e executa instrucoes associadas a esse caso.");
document.writeln();

document.writeln("Valor escolhido:");

switch(escolha) {

   case 50 :
   document.writeln("valor de escolha: 50");
   break;
   
   case 100 :
   document.writeln("valor de escolha: 100");
   break;
   
   case 150:
   document.writeln("valor de escolha: 150");
	break;
}

</script>
</pre>

</body>

</html> 

IF é um dos comandos mais comuns e um dos mais importantes na programação, este comando é responsável pelas tomadas de decisões, existe praticamente em todas as linguagens de programação, antigamente este comando era conhecido como “se-então-senão” ou “if-then-else” mas as linguagens mais modernas substituirão o “então” pelo símbolo “{}” (colchetes), se a condição puder ser executada por apenas uma linha de comando então não é necessário usar o colchete.

ifelse

If – Else – Else If

 

Exemplo:

Neste exemplo usamos instruções de decisão para comparar valores e imprimir resultados na tela.

Html / JavaScript

<!DOCTYPE html>
<html>

<head>
   <title>Desenvolvimento Aberto</title>
</head>

<body>

<h2>Desenvolvimento Aberto - If - Else - Else If </h2>
<br>
<h3>JavaScript</h3>
<br>

<pre>
<script>
var numero = 2;

document.writeln("Verifica o valor da variavel numero:")

  if (numero == 1) 
  {
  
    document.writeln("Numero = 1");
  }
  else
  {
  
	 document.writeln("Numero diferente de 1");
  }
  
document.writeln();
document.writeln("Define o valor de x:");
  
var x = 4;
  
  if (x == 1)
  {
      document.writeln("x = 1");
  }
  else if (x == 2)
  {
      document.writeln("x = 2");
  }
  else if (x == 3)
  {
      document.writeln("x = 3");
  }
  else
   {
	   document.writeln("x diferente de 1,2 ou 3");
   }   

</script>
</pre>

</body>

</html>