Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

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

Delphi ::: VCL - Visual Component Library ::: TComboBox

Como retornar o índice do item selecionado em um ComboBox do Delphi usando a propriedade ItemIndex

Quantidade de visualizações: 19369 vezes
Em algumas situações precisamos saber o índice do item selecionado em um ComboBox. Isso pode ser feito por meio da propriedade ItemIndex da classe TComboBox. Esta propriedade retorna um valor inteiro representando um índice começando em 0, ou seja, o índice do primeiro item é 0. Se nenhum item estiver selecionado, o valor -1 será retornado.

Veja o código:

procedure TForm1.Button1Click(Sender: TObject);
var
  indice: Integer;
begin
  // vamos obter o índice do item selecionado no ComboBox
  indice := ComboBox1.ItemIndex;

  // mostra o resultado
  ShowMessage('O índice do item selecionado é: ' +
    IntToStr(indice));
end;

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


Java ::: Java Swing - JTable e classes relacionadas ::: JTable

Como inserir novas colunas em uma JTable do Java Swing em tempo de execução usando o método addColumn() da classe DefaultTableModel

Quantidade de visualizações: 571 vezes
Em algumas situações nós precisamos adicionar uma ou mais colunas em uma JTable do Java Swing. Entre as formas possíveis, uma é por meio do uso da função addColumn() da classe DefaultTableModel. Este método recebe, no exemplo abaixo, uma String contendo o nome da coluna a ser criada.

Veja o código completo para a aplicação Java Swing:

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

public class Estudos extends JFrame{
  public Estudos(){
    super("Exemplo de uma tabela simples");
		
    final DefaultTableModel modelo = new 
       DefaultTableModel();
    
    // constrói a tabela
    JTable tabela = new JTable(modelo);
    
    // Cria duas colunas
    modelo.addColumn("Nome");
    modelo.addColumn("Idade");
    
    JButton btn = new JButton("Adicionar Colunas");
    btn.addActionListener(
      new ActionListener(){
      	public void actionPerformed(ActionEvent e){
      	  String titulo = JOptionPane.showInputDialog(
            null, "Informe o título da nova coluna:");
      	  
      	  // Adiciona uma coluna
          modelo.addColumn(titulo);
        }
      }	
    ); 
    
    tabela.setPreferredScrollableViewportSize(
        new Dimension(350, 50));
	
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
			
    JScrollPane scrollPane = new JScrollPane(tabela);
    c.add(scrollPane);
    c.add(btn);
    	
    setSize(400, 300);
    setVisible(true);
  }
	
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



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

Quais as diferenças entre as funções fgetc(), fread() e fgets() da linguagem PHP? - Revisado

Quantidade de visualizações: 15845 vezes
As funções fgetc(), fread() e fgets() do PHP nos permitem fazer a leitura de caracteres, palavras, textos e bytes de um arquivo. No entanto, nem sempre os iniciantes nesta linguagem conseguem identificar as diferenças entre essas três funções. Nessa dica falarei sobre o que diferencia uma da outra. Em mais dicas e truques dessa seção você aprenderá como usá-las.

A função fgetc() lê um caractere por vez em um arquivo. Sua assinatura é:

string fgetc(resource $handle)

A função fgets(), por sua vez, retorna uma linha de texto de cada vez. Veja a assinatura:

string fgets(resource $handle [, int $length])

O parâmetro $length pode ser omitido, o que significa que o tamanho da linha será definindo pela ocorrência de uma quebra de linha "\n".

Já a função fread() permite ler uma determinada quantidade de bytes de um arquivo. Sua assinatura é:

string fread(resource $handle, int $length)

O parâmetro $length indica a quantidade de bytes que serão lidos, de cada vez, do arquivo.

Esta dica foi revisada para o PHP 8.


Java ::: Tratamento de Erros ::: Erros de Tempo de Execução

Tratamento de erros em Java - Como tratar o erro NoClassDefFoundError em seus programas Java

Quantidade de visualizações: 12618 vezes
A exceção (erro) NoClassDefFoundError acontece quando a Java Virtual Machine (JVM) ou uma instância de ClassLoader tenta carregar a definição de uma classe (como parte de uma chamada de método normal ou como parte da criação de uma nova instância usando a expressão new) e nenhuma definição de tal classe puder ser encontrada.

Antes de vermos uns exemplos, veja a posição da classe pública NoClassDefFoundError na hierarquia de classes da plataforma Java:

java.lang.Object
  java.lang.Throwable
    java.lang.Error
      java.lang.LinkageError
        java.lang.NoClassDefFoundError
Esta classe implementa a interface Serializable.

Veja que NoClassDefFoundError herda de Error e portanto, é uma das exceções lançadas como parte do funcionamento da JVM. Isso quer dizer que não podemos usar blocos try...catch para evitá-lo. A exceção é quando estamos tentando carregar uma instância de classe usando o ClassLoader.

Para provocar o erro NoClassDefFoundError só precisamos efetuar algumas das ações abaixo:

1) Fornecer um nome de classe que não existe (ou com diferenças entre minúsculas e maiúsculas do nome pretendido). Assim:

java MinhaClasse

Se a classe não existir no diretório atual ou em um arquivo jar, a mensagem de erro abaixo será exibido:

C:\java>java MinhaClasse
Exception in thread "main" 
java.lang.NoClassDefFoundError: MinhaClasse


2) Fornecer um nome de classe seguida por .class:

java MinhaClasse.class



Python ::: Dicas & Truques ::: Strings e Caracteres

Como retornar o código ASCII ou Unicode de um caractere em Python usando a função ord()

Quantidade de visualizações: 13643 vezes
Nesta dica vou mostrar como é possível usar a função ord() da linguagem Python para retornar o código ASCII ou Unicode de um determinado caractere (letra, dígito ou símbolo).

Veja o exemplo completo:

def main():
  print("O codigo ASCII ou Unicode para o caractere A é",
    ord('A')) 
 
if __name__== "__main__":
  main()

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

O codigo ASCII ou Unicode para o caractere A é 65


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: 8355 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");
  }
}



Python ::: Dicas & Truques ::: Data e Hora

Datas e horas em Python - Como obter o nome do dia da semana no formato longo (segunda-feira, terça-feira, etc) usando a função strftime() do Python

Quantidade de visualizações: 9148 vezes
Nesta dica eu mostro como podemos usar a função strftime() da linguagem Python para obter e exibir o nome do dia da semana no formato longo e em português, ou seja, segunda-feira, terça-feira, quarta-feira, etc.

Veja o código completo para o exemplo:

from datetime import datetime
import locale

# função principal do programa
def main():
  # Configurações do usuário
  locale.setlocale(locale.LC_ALL, '')
 
  # Obtém um datatime da data e hora atual
  hoje = datetime.today()
 
  # Exibe o nome do dia da semana no formato
  # longo
  print("O dia da semana é:", hoje.strftime("%A"))
 
if __name__== "__main__":
  main()

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

O dia da semana é: quinta-feira


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

Como criar vetores em PHP com a construção array() e usando inteiros como chaves

Quantidade de visualizações: 8452 vezes
A linguagem PHP nos permite criar vetores (arrays) e informar os valores inteiros que queremos como chaves, ou seja, não precisamos, obrigatoriamente, iniciar os índices dos elementos em 0.

Veja o código a seguir:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $linguagens = array(10 => 'Java',
    11 => 'Python', 12 => 'C++');
             
  echo "A linguagem escolhida foi: " . 
    $linguagens[11];
?>
 
</body>
</html>

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

A linguagem escolhida foi: Python


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de Java - Desenvolva um programa que leia dez números do tipo inteiro ao usuário Armazene esses dez números em um vetor

Quantidade de visualizações: 1417 vezes
Exercício Resolvido de Java - Desenvolva um programa que leia dez números do tipo inteiro ao usuário. Armazene esses dez números em um vetor

Pergunta/Tarefa:

Desenvolva um programa que leia dez números do tipo inteiro ao usuário. Armazene esses dez números em um vetor. Para os valores dos elementos inseridos nas posições pares desse vetor, calcule o somatório deles, para os demais calcule a subtração desses valores. Em seguida, o programa deverá apresentar na tela os resultados.

Sua saída deverá ser parecida com:

Digite o 1.o número inteiro: 5
Digite o 2.o número inteiro: 1
Digite o 3.o número inteiro: 2
Digite o 4.o número inteiro: 3
Digite o 5.o número inteiro: 7
Digite o 6.o número inteiro: 8
Digite o 7.o número inteiro: 10
Digite o 8.o número inteiro: 54
Digite o 9.o número inteiro: 4
Digite o 10.o número inteiro: 5
A soma dos números nas posições pares é: 28
A subtração dos números nas posições ímpares é: -71
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);

    int numeros[] = new int[10]; // vetor para guardar os 10 números inteiros
    int soma = 0; // soma dos números nas posições pares
    int subtracao = 0; // subtração dos números nas posições impares
    
    // vamos fazer a leitura dos 10 valores inteiros
    for(int i = 0; i < numeros.length; i++){
      System.out.print("Digite o " + (i + 1) + ".o número inteiro: ");
      numeros[i] = Integer.parseInt(entrada.nextLine());
    }
    
    // agora vamos percorrer o vetor e obter a soma dos elementos nas posições
    // pares e a subtração dos elementos nas posições ímpares
    for(int i = 0; i < numeros.length; i++){
      if(i % 2 == 0){
        // posição par
        soma = soma + numeros[i];
      }
      else{
        // posição ímpar
        subtracao = subtracao - numeros[i];
      }
    }
    
    System.out.println("A soma dos números nas posições pares é: " + soma);
    System.out.println("A subtração dos números nas posições ímpares é: " 
      + subtracao);
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercícios Resolvidos de Java - Métodos - Um método estático que recebe um vetor de inteiros e o exibe

Quantidade de visualizações: 2572 vezes
Exercício Resolvido de Java - Métodos - Um método estático que recebe um vetor de inteiros e o exibe

Pergunta/Tarefa:

Escreva um método Java que recebe um vetor de inteiros e o exibe. Este método deverá ter a seguinte assinatura:

public static void exibirVetor(int[] vetor){
  // sua implementação aqui
}
Este método deverá, obrigatoriamente, estar na classe principal (aquela que contém o método main()). Para testar o método, declare e construa um vetor de 5 inteiros. Em seguida peça ao usuário para informar os valores do vetor e o passe para o método exibirVetor().

Sua saída deverá ser parecida com:



Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);
    
    // vamos declarar e construir um vetor de 5 inteiros
    int valores[] = new int[5];
    
    // agora vamos pedir que o usuário informe os valores
    for(int i = 0; i < valores.length; i++){
      System.out.print("Informe o valor para o " + (i + 1) + " elemento: ");
      valores[i] = Integer.parseInt(entrada.nextLine());
    }
    
    // e agora vamos passar o vetor para o método exibirVetor()
    System.out.println("\nOs elementos do vetor são:\n");
    exibirVetor(valores);
    
    System.out.println("\n");
  }
  
  // um método estático que recebe um vetor de inteiros e o exibe
  public static void exibirVetor(int[] vetor){
    // vamos percorrer os elementos do vetor e exibir cada um
    for(int i = 0; i < vetor.length; i++){
      System.out.print(vetor[i] + "   ");
    }
  }
}


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


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


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