Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Java ::: Fundamentos da Linguagem ::: Comentários

Java para iniciantes - Como inserir comentários em seus códigos Java

Quantidade de visualizações: 13636 vezes
Comentários em Java, assim como em outras linguagens, são ignorados pelo compilador. Em Java, podemos usar dois estilos de comentários:

1) Comentário de uma única linha:

// obtém o resultado do cálculo
int res = 4 + 5; // aqui também pode

2) Comentários de múltiplas linhas:

/*
 Este exemplo mostra como verificar se
 um número é par ou ímpar.  
*/



Java ::: Classes e Componentes ::: JComboBox

Tutorial Java Swing - Como remover todos os itens de um JComboBox (Caixa de Combinação) em tempo de execução

Quantidade de visualizações: 12705 vezes
Nesta dica mostrarei como é possível usar o método removeAllItems() da classe JComboBox para remover todos os seus itens. Note que criei a aplicação Java Swing na mão mesmo, sem usar nenhum editor visual de GUI, como o que está disponível no IDE Netbeans. Esta abordagem pode não ser produtiva, mas é excelente para entender como o Java Swing funciona.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  JComboBox combo;  
 
  public Estudos(){
    super("A classe JComboBox");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
     
    // Cria os itens da lista
    String nomes[] = {"Carlos", "Marcelo", "Fabiana",
      "Carolina", "Osmar"};
 
    // Cria o JComboBox
    combo = new JComboBox(nomes);
 
    // Um botão que permite limpar o JComboBox
    JButton btn = new JButton("Limpar");
    btn.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          // remove todos os itens do JComboBox
          combo.removeAllItems(); 
        }
      }
    );
 
    // Adiciona o JComboBox à janela
    c.add(combo);
 
    // Adiciona o botão à janela
    c.add(btn);  
 
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Aqui os itens do JComboBox foram inseridos a partir de um vetor de String.


PHP ::: PHP + XML ::: SimpleXML

Como usar a função simplexml_load_file() do PHP para carregar um arquivo XML e convertê-lo em um objeto SimpleXMLElement

Quantidade de visualizações: 5200 vezes
A função simplexml_load_file() pode ser usada quando queremos carregar um arquivo XML e convertê-lo em um objeto da classe SimpleXMLElement. Veja a assinatura desta função:

SimpleXMLElement simplexml_load_file(string $filename [, 
  string $class_name = "SimpleXMLElement" [, int $options = 0 
  [, string $ns = "" [, bool $is_prefix = false]]]])


Este método possui alguns parâmetros que são opcionais. O único parâmetro exigido é o nome e/ou caminho do arquivo XML a ser carregado.

Código para clientes.xml:

<?xml version="1.0" encoding="iso-8859-1"?>
<cadastro>
  <cliente id="14" ativo="true">
     <nome>Osmar J. Silva</nome>
     <email>osmar@arquivodecodigos.com.br</email>
  </cliente>
  <cliente id="75" ativo="false">
     <nome>Cintia Gomes Arantes</nome>
     <email>cintia@arquivodecodigos.com.br</email>
  </cliente>
</cadastro>


Veja agora como carregar o conteúdo deste arquivo e convertê-lo em um objeto SimpleXMLElement:

<?
  $xml = simplexml_load_file("clientes.xml");
  print_r($xml);
?>

Ao executarmos este código teremos o seguinte resultado:

SimpleXMLElement Object ( [cliente] => Array ( 
  [0] => SimpleXMLElement Object ( [@attributes] => Array ( 
  [id] => 14 [ativo] => true ) [nome] => Osmar J. Silva 
  [email] => osmar@arquivodecodigos.net ) [1] => 
  SimpleXMLElement Object ( [@attributes] => Array ( 
  [id] => 75 [ativo] => false ) [nome] => Cintia Gomes Arantes 
  [email] => cintia@arquivodecodigos.net ) ) )


Neste documento XML nós temos dois clientes, ou seja, temos um objeto SimpleXMLElement que contém um array de outros dois objetos SimpleXMLElement (um para cada cliente). Para verificarmos se isso é realmente verdade, veja o trecho de código abaixo:

<?
  // carrega o arquivo XML e o converte em um objeto SimpleXMLElement
  $xml = simplexml_load_file("clientes.xml");
  
  // vamos mostrar os dados do primeiro cliente
  echo "Nome: " . $xml->cliente[0]->nome . "<br>";
  echo "E-Mail: " . $xml->cliente[0]->email;
?>

Ao executarmos este código teremos o seguinte resultado:

Nome: Osmar J. Silva
E-Mail: osmar@arquivodecodigos.com.br



Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet

Como usar a propriedade Active da classe TClientDataSet do Delphi

Quantidade de visualizações: 12246 vezes
A propriedade Active de um controle TClientDataSet pode ser definida em tempo de design (pelo Object Inspector) ou em tempo de execução. Se o valor for True os dados armazenados no TClientDataSet podem ser lidos e manipulados. Se o valor for False, o client dataset está fechado (closed) e não podemos acessar nem manipular os dados contidos nele.

Veja no trecho de código abaixo como definir o valor da propriedade Active em tempo de execução:

procedure TForm3.Button3Click(Sender: TObject);
begin
  // vamos ativar o client dataset
  ClientDataSet1.Active := True;

  // vamos testar se o client dataset foi mesmo ativado
  if ClientDataSet1.Active then
    ShowMessage('O ClientDataSet está ativo')
  else
    ShowMessage('O ClientDataSet  NÃO está ativo')
end;

Ao clicar no botão nós "ativamos" o client dataset e em seguida testamos o valor da propriedade Active para informar se o controle foi realmente ativado. É preciso ter muito cuidado. Tentar manipular os dados de um client dataset fechado pode resultar em uma exceção do tipo EDatabaseError com mensagens parecidas com:

Project Projeto.exe raised exception class EDatabaseError with message 'ClientDataSet1: Cannot perform this operation on a closed dataset'.

Ao definirmos o valor True para a propriedade Active as seguintes ações ocorrem:

1) O client dataset é preenchido com dados. Dependendo das propriedades do controle, estes dados podem vir de três formas diferentes: a) Do arquivo especificado na propriedade FileName; b) Do provider especificado na propriedade ProviderName ou por meio do método SetProvider. (algumas classes derivadas de TCustomClientDataSet possuem um componente interno que faz o papel do provider); c) Os dados que estavam ativos quando o client dataset foi desativado (somente se a aplicação foi executada durante um certo período depois que o dataset foi desativado).

2) O evento BeforeOpen é disparado.

3) O valor dsBrowse é atribuído à propriedade State do dataset.

4) Abre e posiciona um cursor no primeiro registro do conjunto de dados.

5) Dispara o evento AfterOpen.

Se o client dataset nunca foi ativado, atribuir o valor True para a propriedade Active faz com que a estrutura (metadata) do client dataset seja definida. Esta estrutura é obtida juntamente com o pacote de dados a partir do provider ou armazenado em disco. Se não houver pacote de dados, tal estrutura é construída usando o valor atual da propriedade FieldDefs ou a partir dos componentes de campos persistentes listados na propriedade Fields.

Se um erro ocorrer durante a abertura do dataset, seu estado (State) é definido como dsInactive e o cursor de navegação é fechado.

Ao definirmos o valor False para a propriedade Active as seguintes ações ocorrem:

1) O evento BeforeClose é disparado.

2) O valor para a propriedade State é definido como dsInactive.

3) O cursor de navegação é fechado, salvando os dados atuais em disco se a propriedade FileName estiver definida e salvando o pacote de dados atual em cache de forma que o mesmo possa ser restaurado mais tarde quando o dataset for reaberto.

4) O evento AfterClose é disparado.

Importante: Uma chamada ao método Open do TClientDataSet define a propriedade Active como True, enquanto uma chamada ao método Close a define como False.

Esta dica foi escrita e testada no Delphi 2009.


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 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á 104 usuários muito felizes estudando em nosso site.