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 Apenas R$ 19,90
Delphi ::: Dicas & Truques ::: Matemática e Estatística

Apostila Delphi - Como obter o menor entre dois valores usando a função Min() do Delphi

Quantidade de visualizações: 12885 vezes
A função Min(), presente na unit Math é útil quando precisamos retornar o menor entre dois valores fornecidos. Veja um exemplo:

procedure TForm2.Button1Click(Sender: TObject);
var
  a, b, menor: Integer;
begin
  // uses Math

  a := 34;
  b := 17;
  menor := Min(a, b);

  // exibe o resultado
  ShowMessage('O menor valor é: ' + IntToStr(menor));
end;

Note que a função Min() é uma função sobrecarregada, ou seja, os valores fornecidos e o retorno da função podem ser do tipo Integer, Int64, Single, Double ou Extended.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


C# ::: Namespace System.Drawing ::: Image

Gráficos C# Windows Forms - Como usar a classe Image em suas aplicações C#

Quantidade de visualizações: 6516 vezes
A classe Image, do namespace System.Drawing (no assemply System.Drawing.dll) é uma classe abstrata de base que fornece funcionalidades para as classes derivadas Bitmap e Metafile (que são classes concretas e sealed, ou seja, não podem ter suas funcionalidades herdadas por outras classes).

Por ser uma classe abstrata, não podemos criar novas instâncias de Image (usando new()). Em vez disso nós a usamos apenas para chamar seus métodos estáticos ou como referência para as classes derivadas. Veja um trecho de código no qual carregamos um bitmap e o exibimos em um PictureBox:

private void button2_Click_1(object sender, EventArgs e){
  try{
    // vamos carregar o bitmap a partir de um diretório
    Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true);
    // vamos exibir a imagem no PictureBox
    pictureBox1.Image = imagem;
  }
  catch(ArgumentException ae){
    MessageBox.Show("Houve um erro ao carregar a imagem: " + 
      ae.Message.ToString());
  }
}

Veja que declaramos uma Image e a usamos como referência a um Bitmap. É claro que podemos perfeitamente trocar a linha:

Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true);

por:

Bitmap imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true);

O código compila normalmente, mas aí perdemos todo o poder que o polimorfismo nos entrega. Sempre que possível, devemos programar em cima das interfaces, superclasses e classes abstratas.

Além dos métodos estáticos, a classe Image fornece várias propriedades. Veja uma modificação do exemplo anterior no qual obtemos a largura e a altura da imagem que foi carregada:

private void button2_Click_1(object sender, EventArgs e){
  try{
    // vamos carregar o bitmap a partir de um diretório
    Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true);
    // vamos exibir a imagem no PictureBox
    pictureBox1.Image = imagem;

    // vamos exibir a largura e altura da imagem
    MessageBox.Show("A imagem carregada possui a largura de " + imagem.Width +
      " pixels e altura de " + imagem.Height + " pixels.");
  }
  catch(ArgumentException ae){
    MessageBox.Show("Houve um erro ao carregar a imagem: " + 
      ae.Message.ToString());
  }
}

Depois de carregada a imagem você verá uma mensagem parecida com:

A imagem carregada possui a largura de 80 pixels e altura de 50 pixels.


JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como somar os elementos de um array em JavaScript usando a função reduce()

Quantidade de visualizações: 574 vezes
Nesta dica mostrarei como podemos usar a função reduce() do JavaScript para somar todos os elementos de um vetor de inteiros. Lembre-se de que a função reduce() foi introduzida no ECMAScript5 (ES5), também chamado de JavaScript 2009.

Veja a página HTML completa para o exemplo:

<!doctype html>
<html>
<head>
  <title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos criar um vetor de inteiros
  var valores = new Array(7, 2, 1, 3, 5);
  document.write("Valores do array: " + valores 
    + "<br>");
	
  // agora vamos usar a função para somar
  // os elementos do vetor
  var res = valores.reduce((soma, valor) => soma 
    + valor, 0);
  document.write("A soma dos elementos é: " + res); 	
</script>
  
</body>
</html>

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

Valores do array: 7,2,1,3,5
A soma dos elementos é: 18

Neste exemplo eu coloquei a função que será executada para cada elemento do array diretamente dentro do corpo da função reduce(). Podemos também colocar esta função do lado de fora. Veja:

<script type="text/javascript">
  // função que será chamada pela função reduce()
  function somar_elementos(soma, valor) {
    return soma + valor;
  }
  
  // vamos criar um vetor de inteiros
  var valores = new Array(7, 2, 1, 3, 5);
  document.write("Valores do array: " + valores 
    + "<br>");
	
  // agora vamos usar a função para somar
  // os elementos do vetor
  var res = valores.reduce(somar_elementos, 0);
  document.write("A soma dos elementos é: " + res); 	
</script>



Python ::: Dicas & Truques ::: Lista (List)

Como adicionar uma lista Python ao final de outra usando o método extend()

Quantidade de visualizações: 7747 vezes
A função extend() do objeto List da linguagem Python nos permite adicionar todos os elementos de uma determinada lista ao final de outra lista. É claro que qualquer objeto que fornece uma forma de iteração pode ser passado ao método, incluindo uma List, um Set, uma Tuple, etc.

Veja um trecho de código no qual criamos duas listas de inteiros e adicionamos todos os elementos da segunda lista ao final da primeira:

"""
  Este exemplo mostra como adicionar os elementos
  de uma lista ao final de outra
"""

def main():
  # cria uma lista de inteiros
  valores1 = [2, 5, 12, 2, 3]
  print(valores1)

  # cria uma lista de pontos-flutuantes 
  valores2 = [4.3, 6.43, 8.1]
  print(valores2)

  # insere a segunda lista no final da primeira
  valores1.extend(valores2)

  # exibe o resultado final
  print(valores1)

if __name__== "__main__":
  main()

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

[2, 5, 12, 2, 3]
[4.3, 6.43, 8.1]
[2, 5, 12, 2, 3, 4.3, 6.43, 8.1]


Java ::: Dicas & Truques ::: Threads

Como usar uma thread Java para animar o título de uma janela JFrame do Java Swing

Quantidade de visualizações: 11750 vezes
Nesta dica mostro como podemos usar uma thread para substituir um timer em uma aplicação Swing. Ao executar este código você verá que o texto da barra de títulos da aplicação pisca continuamente enquanto o aplicativo estiver sendo executado.

Veja a listagem para o exemplo:

import java.awt.*;
import javax.swing.*;

public class Estudos extends JFrame{
  public Estudos() {
    super("Uso de threads em aplicações Swing");
    
    // vamos criar a thread que fará o título da janela
    // piscar continuamente
    // vamos criar duas threads
    MinhaThread t1 = new MinhaThread(this);
    t1.start();

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

// classe que usaremos como thread
class MinhaThread extends Thread{
  private JFrame janela;
  private String titulo;  

  public MinhaThread(JFrame janela){
    this.janela = janela;
    this.titulo = janela.getTitle();
  }   

  public void run(){
    try{
      while(true){
        if(janela.getTitle().equals(""))
          janela.setTitle(titulo);
        else
          janela.setTitle("");

        Thread.sleep(300);
      }
    }
    catch(InterruptedException ex){
      // precisa fazer nada aqui
    }
  }
}

Um detalhe interessante é que, ao ser colocada para dormir, a thread usada no exemplo permite que as demais threads da aplicação continuem suas execuções normalmente. Isso permite que a janela seja movida, redimensionada, minimizada, etc. Lembre-se sempre de usar o método Thread.yield() caso a thread criada estiver executando alguma ação demorada. Isso evitará que a janela do programa pareça congelada.


MySQL ::: Dicas & Truques ::: Data e Hora

Como obter a data atual no MySQL usando as funções CURDATE(), CURRENT_DATE e CURRENT_DATE()

Quantidade de visualizações: 38102 vezes
As funções CURDATE(), CURRENT_DATE e CURRENT_DATE() são usadas quando queremos obter a data atual do servidor MySQL. O valor retornado pode estar no formato 'YYYY-MM-DD' ou YYYYMMDD, dependendo se a função for chamada em um contexto string ou numérico. Veja:

SELECT CURDATE()

O valor retornado será algo como 2008-03-30. Veja agora como usar CURDATE() em um contexto numérico:

SELECT CURDATE() + 0

O retorno será algo como 20080330.


C# ::: Dicas & Truques ::: Mouse e Teclado

Como desenhar em um formulário C# usando o mouse - Código-fonte completo

Quantidade de visualizações: 10360 vezes
Quando estamos estudando os eventos do mouse, a primeira idéia que vem à cabeça é como usar tais eventos para escrever um programa de desenho. O código abaixo mostra como isso pode ser feito.

Aqui nós usamos três eventos do mouse: MouseDown (ocorre quando o botão do mouse está pressionado), MouseUp (ocorre quando o botão do mouse é liberado) e MouseMove (ocorre quando movimentamos o mouse na superfície de um componente).

Dessa forma, quando o botão do mouse é pressionado nós ativamos uma variável indicando que o movimento do mouse pode vir acompanhado de um desenho. Quando o botão do mouse é liberado nós definimos o valor desta variável como false. Isso faz com que o desenho só seja realizado se movermos o mouse com o botão pressionado.

Veja o código:

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 EstudosWindowForms {
  public partial class Form1 : Form {
    // indica se podemos ou não desenhar no formulário
    bool pintar = false;

    public Form1() {
      InitializeComponent();
    }

    private void Form1_MouseDown(object sender, MouseEventArgs e) {
      // podemos iniciar o desenho 
      pintar = true;
    }

    private void Form1_MouseUp(object sender, MouseEventArgs e) {
      // vamos parar de desenhar 
      pintar = false;
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e) {
      // vamos desenhar?
      if (pintar) { // o botão do mouse está pressionado
        // vamos desenhar um círculo na posição atual do mouse 
        Graphics g = CreateGraphics();
        g.FillEllipse(new SolidBrush(Color.Maroon), e.X, e.Y, 5, 5);
        g.Dispose();
      }
    }
  }
}



C# ::: Dicas & Truques ::: Mouse e Teclado

C# Windows Forms - Como verificar o estado da tecla Num Lock em suas aplicações C# Windows Forms

Quantidade de visualizações: 8312 vezes
Em algumas situações nós precisamos verificar o estado da tecla Num Lock (que ativa ou desativa o teclado numérico), ou seja, precisamos saber se ela está ou não ativada. Em C# isso pode ser feito de duas formas:

1) A forma mais simples, oferecida no .NET Framework a partir da versão 2.0;
2) Usando código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API).

Vamos começar com a forma mais fácil, disponível no .NET Framework a partir da versão 2.0:

private void button1_Click(object sender, EventArgs e){
  // vamos verificar se a tecla Num Lock está ativada
  if(Control.IsKeyLocked(Keys.NumLock)){
    MessageBox.Show("A tecla Num Lock está ativada");
  }
  else{
    MessageBox.Show("A tecla Num Lock NÃO está ativada");
  }
}

Aqui nós usamos o método IsKeyLocked() da classe Control e fornecemos como argumento a constante NumLock, da enumeração Keys.

A segunda forma consiste em usar código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Para isso devemos seguir os seguintes passos:

a) Adicionar

using System.Runtime.InteropServices;

na seção de importações.

b) Adicionar o código abaixo no corpo da classe, como um método:

// Função com código não gerenciado que obtém o estado de uma
// determinada tecla

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, 
CallingConvention = CallingConvention.Winapi)]

public static extern short GetKeyState(int keyCode); 

c) Adicione o código abaixo no evento Click de um botão:

private void button1_Click(object sender, EventArgs e){
  // vamos obter o estado da tecla Num Lock como um boolean
  bool NumLock = (((ushort)GetKeyState(0x90)) & 0xffff) != 0;

  // vamos verificar se a tecla Num Lock está ativada
  if(NumLock){
    MessageBox.Show("A tecla Num Lock está ativada");
  }
  else{
    MessageBox.Show("A tecla Num Lock NÃO está ativada");
  }
}



PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como renomear um diretório em PHP usando a função rename()

Quantidade de visualizações: 11763 vezes
Diretórios podem ser renomeados usando a função rename() da linguagem PHP. Esta função recebe o nome atual do diretório e o novo nome e retorna um valor boolean (true ou false) informando o sucesso ou não da operação. Antes de usar esta função verifique se você possui as permissões adequadas para renomear o diretório.

Veja um trecho de código no qual renomeamos um diretório no diretório public_html:

<?php
  // renomeia o diretório "recentes" para "atuais"
  $diretorio_antigo = "/site/public_html/recentes";
  $diretorio_novo = "/site/public_html/atuais";
  
  if(rename($diretorio_antigo, $diretorio_novo)){
    echo "Diretório renomeado com sucesso.";
  }
  else{
    echo "Não foi possível renomear o diretório.";
  }
?>

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

Diretório renomeado com sucesso.

Seja cuidadoso. Se você não tiver as permissões adequadas para renomear um diretório, a seguinte mensagem de erro será exibida:

Warning: rename(imagens,imagens_novas)
[function.rename]: Permission denied in
/site/public_html/testes.php on line 9
Não foi possível renomear o diretório.


Delphi ::: Dicas & Truques ::: Strings e Caracteres

Apostila Delphi para iniciantes - Como acessar os caracteres de uma string individualmente

Quantidade de visualizações: 17916 vezes
Em algumas situações pode ser necessário acessar os caracteres de uma palavra, frase ou texto individualmente. Em Delphi isso pode ser feito usando-se a indexação de matrizes. Tenha em mente, porém, que o índice em Delphi começa em 1 e não 0, como na maioria das linguagens.

Veja um trecho de código no qual acessamos o primeiro caractere de uma string:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string;
  letra: Char;
begin
  nome := 'Osmar J. Silva';

  // vamos obter a primeira letra
  letra := nome[1];

  // vamos exibir o resultado
  ShowMessage('A primeira letra é: ' + letra);
end;

Veja outro exemplo, no qual usamos um laço for para visitar cada um dos caracteres e exibí-lo:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string;
  letra: Char;
  i: integer;
begin
  nome := 'Osmar';

  for i := 1 to Length(nome) do
    begin
      letra := nome[i];
      ShowMessage('O ' + IntToStr(i) + 'º caractere é: '
        + letra);
    end;
end;

Assim como acessamos os caracteres individuais de uma string para leitura, podemos fazê-lo também para alterações. Veja um trecho de código no qual trocamos o terceiro caractere de uma string:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string;
begin
  nome := 'Osmar';

  // vamos alterar o terceiro caractere
  nome[3] := 'K';
  
  ShowMessage(nome);
end;

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.

Carregar Publicações Anteriores


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 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
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

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



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