Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes.

C# ::: Dicas & Truques ::: Validação de Dados

C# Windows Forms - Como validar o conteúdo de uma caixa de texto usando o evento Validating da classe Control

Quantidade de visualizações: 18251 vezes
O evento Validating (disponível para todas as classes que herdam de System.Windows.Forms.Control) é muito útil quando precisamos verificar a validade dos valores inseridos nos controle Windows Forms. Neste exemplo mostrarei como usá-lo para validar o conteúdo de um TextBox. Aqui veremos como verificar se o conteúdo inserido é um valor inteiro válido.

Tudo começa com a propriedade CausesValidation da classe Control. Esta propriedade nos permite definir se o controle provocará uma validação de seus dados quando o mesmo estiver prestes a perder o foco, ou seja, o usuário começara a interagir com outro controle após inserir dados no controle alvo da validação. Se o valor desta propriedade for true a validação ocorrerá.

Em seguida voltamos nossa atenção para o evento Validating (também declarado originalmente na classe Control). Este evento é disparado quando a propriedade CausesValidation é true e o controle está prestes a perder o foco (o usuário está saindo para interagir com outro controle). Veja a ordem dos eventos quando estamos saindo do controle usando o teclado:

a) Leave
b) Validating
c) Validated
d) LostFocus

Se estivermos saindo do controle usando o mouse (clicando em outro controle), a ordem é:

a) Leave
b) Validating
c) Validated

Veja um exemplo do uso do evento Validating de um TextBox:

private void textBox1_Validating(object sender, CancelEventArgs e){
  MessageBox.Show("Meu conteúdo pode ser validado agora");
}

Experimente executar este código, coloque o foco na caixa de texto e depois "saia" para outro componente. Você verá a caixa de mensagem ser exibida.

O tratador de evento Validating recebe um objeto da classe CancelEventArgs. Esta classe possui apenas uma propriedade chamada Cancel. Se o valor desta propriedade for definido como true, o evento Validating (e todos que viriam após ele) é cancelado. Isso faz com que o foco fique preso no controle até que o usuário informe o valor correto. Veja:

private void textBox1_Validating(object sender, CancelEventArgs e){
  // vamos verificar se a caixa de texto contém um valor inteiro válido
  try{
    // vamos tentar converter o texto recebido em um valor inteiro
    int valor = Int32.Parse(textBox1.Text);
    MessageBox.Show("Validação ocorreu com sucesso!");
  }
  catch(FormatException fe){
    // não conseguimos converter o texto em um valor inteiro
    MessageBox.Show("Valor inválido! Tente novamente! " +
      fe.Message.ToString());
    // limpamos a caixa de texto
    textBox1.Text = "";
    // e "prendemos" o foco na caixa de texto
    e.Cancel = true;
  }
}

Neste trecho de código nós usamos um bloco try...catch para tentar converter o texto do TextBox em um valor inteiro. Se houver falha na conversão nós avisamos o usuário, limpamos a caixa de texto e forçamos o usuário a fazer a correção.

Para finalizar, entra em cena o evento Validated. Este evento é disparado imediatamente após o evento Validating finalizar sua parte e é um bom lugar para avisarmos o usuário sobre o sucesso da validação ou remover quaisquer efeito visual que tenhamos inserido durante o processo de validação. Veja:

private void textBox1_Validating(object sender, CancelEventArgs e){
  // vamos verificar se a caixa de texto contém um valor inteiro válido
  try{
    // vamos tentar converter o texto recebido em um valor inteiro
    int valor = Int32.Parse(textBox1.Text);
  }
  catch(FormatException fe){
    // não conseguimos converter o texto em um valor inteiro
    MessageBox.Show("Valor inválido! Tente novamente! " +
      fe.Message.ToString());
    // limpamos a caixa de texto
    textBox1.Text = "";
    // e "prendemos" o foco na caixa de texto
    e.Cancel = true;
  }
}

private void textBox1_Validated(object sender, EventArgs e){
  MessageBox.Show("Validação ocorreu com sucesso!");
}

Veja que tudo que fizemos aqui foi remover a mensagem de sucesso de validação do evento Validating para o evento Validated.


PHP ::: Dicas & Truques ::: Data e Hora

Como verificar se um ano é bissexto usando PHP

Quantidade de visualizações: 1 vezes
Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da terra e com os eventos sazonais relacionados às estações do ano.

Na linguagem PHP podemos verificar se um ano é bissexto checando o valor retornado por date("L"). Se o valor retornado for "1", então o ano é bissexto. Observe que, em PHP, o valor 1 é considerado true (verdadeiro).

Veja um trecho de código completo no qual testamos se um determinado ano é bissexto ou não:

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<?php  
  // função que verifica se o ano é bissexto
  function ano_bissexto($ano){  
    return (date('L', mktime(0, 0, 0, 1, 1, $ano)) == 1);  
  }  

  // agora vamos testar a função
  $ano = 2020;
  if(ano_bissexto($ano)){
    echo "O ano $ano é bissexto";
  }
  else{
    echo "O ano $ano não é bissexto";
  }
?>  

</body>
</html>

Ao executar este código nós teremos o seguinte resultado:

O ano 2020 é bissexto


Java ::: Tratamento de Erros ::: Passos Iniciais

Como usar try catch em Java - Aprenda a tratar erros em Java usando o bloco try...catch

Quantidade de visualizações: 40402 vezes
A forma mais comum de tratar e se recuperar de erros em uma aplicação Java é usando o bloco try...catch. Todo o código que apresenta a possibilidade de erros ou falhas é colocado em um bloco try. E o código a ser executado caso o erro ou falha aconteça é colocado em um bloco catch. Veja a sintáxe:

try{
  // código que pode provocar erros
}
catch(Tipo_Exceção nome){
  // tratamento do erro
}

A palavra-chave catch é seguida por uma declaração do tipo de exceção sendo lançada. É aqui que entram detalhes interessantes. Antes de tratar um erro, é preciso que você saiba qual erro estará tratando. Em Java temos três tipos de erros: runtime exceptions, checked exceptions e errors. Errors não precisam ser tratados com bloco try...catch, runtime exceptions (erros causados por códigos mal escritos ou mal testados) opcionalmente usam try...catch e checked exceptions (erros que fogem ao controle do programador) devem obrigatoriamente usar try...catch.

Vamos ver um exemplo do uso de try...catch:

import java.io.*;

public class Estudos{
  public static void main(String[] args){
    try{
      DataInputStream in = new DataInputStream(
        new BufferedInputStream(
          new FileInputStream("conteudo.txt")));
        
      while(in.available() != 0)
        System.out.print((char) in.readByte());
    } 
    catch(IOException e){
      System.out.print(e.getMessage());
    }

    System.exit(0);
  }
}  

Neste trecho de código nós tentamos ler o conteúdo de um arquivo. O que aconteceria se o arquivo não existisse? O programa entraria em colapso. Além disso, todas as operações de entrada e saída (IO) estão suscetíveis a falhas externas. Por esta razão, o compilador nos força a usar try...catch nestas situações.

Neste exemplo podemos ver que o bloco catch é seguido por uma definição da classe IOException. No entanto, este trecho de código pode também disparar a exceção FileNotFoundException. Olhando a documentação vemos que FileNotFoundException herda de IOException, que por sua vez herda de Exception. Isso nos mostra que, se não estivermos certos de qual exceção será lançada, podemos usar a superclasse Exception e usarmos o método getMessage() ou demais métodos para obter maiores informações sobre o erro.

Vamos ver mais um exemplo de try...catch. Desta vez veremos como evitar uma exceção StringIndexOutOfBoundsException:

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    String palavra = "Java";    

    Scanner in = new Scanner(System.in);
    
    System.out.print("Informe um inteiro: ");
    int indice = in.nextInt();

    try{
      System.out.println("O caractere no índice " + 
        "informado é " + palavra.charAt(indice));
    }
    catch(StringIndexOutOfBoundsException e){
      System.out.println("Erro:" + e.getMessage());
    }
  }
}

Compile, execute este código e forneça um inteiro maior que 3 para ver o resultado.


C# ::: Dicas & Truques ::: Strings e Caracteres

Como transformar em letra maiúscula apenas a primeira letra de uma string C#

Quantidade de visualizações: 23206 vezes
Nesta dica mostrarei como é possível combinar o método ToUpper() da classe Char e o método Substring() da classe String do C# para converter para letra maiúscula apenas a primeira letra de uma palavra, frase ou texto.

Veja o código completo para o exemplo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string frase = "gosto de java e c#";
      Console.WriteLine("Original: " + frase);

      // vamos obter a primeira letra da string
      char primeira = char.ToUpper(frase[0]);
      // agora combinamos a letra obtida com o restante da string
      frase = primeira + frase.Substring(1);

      Console.WriteLine("Resultado: " + frase);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executarmos este código C# nós teremos o seguinte resultado:

Original: gosto de java e c#
Resultado: Gosto de java e c#


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 23 usuários muito felizes estudando em nosso site.