Java ::: Fundamentos da Linguagem ::: Comentários |
Java para iniciantes - Como inserir comentários em seus códigos JavaQuantidade 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çãoQuantidade 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 SimpleXMLElementQuantidade 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 DelphiQuantidade 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 |
|
Python - Como tratar o evento wx.EVT_PAINT em suas aplicações wxPython - Interfaces gráficas no Python |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como remover o primeiro elemento de um array em JavaScript - Como usar a função shift() do objeto Array do JavaScript Java - Como adicionar ou subtrair dias de uma data e hora usando o método add() da classe Calendar do Java Portugol - Como calcular o coeficiente angular de uma reta em Portugol dados dois pontos no plano cartesiano |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




