Você está aqui: Cards de Ética e Legislação Profissional |
||
|
||
|
|
||
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como concatenar strings em Ruby usando o operador +Quantidade de visualizações: 9818 vezes |
Nesta dica mostrarei como podemos usar o operador + (operador de adição ou soma) para concatenar strings na linguagem Ruby. Veja:frase1 = "Gosto muito de Ruby" frase2 = " e de Java" # vamos concatenar as duas strings res = frase1 + frase2 # exibe o resultado puts res Ao executar este código Ruby nós teremos o seguinte resultado: Gosto muito de Ruby e de Java |
Delphi ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como usar nil para testar ou indicar que um ponteiro Delphi não referencia nenhuma posição de memóriaQuantidade de visualizações: 15494 vezes |
O propósito dos ponteiros é nos permitir acessar e manipular os valores de outras variáveis. Isso é feito acessando-se diretamente o endereço de memória destas variáveis. Porém, há situações nas quais queremos testar se um determinado ponteiro está realmente apontando para um local na memória. Veja o seguinte trecho de código:procedure TForm1.Button1Click(Sender: TObject); var pvalor: ^integer; begin // vamos exibir o valor da variável referenciada pelo // ponteiro pvalor ShowMessage(IntToStr(pvalor^)); end; Ao executarmos este código nós teremos um valor aleatório sendo exibido (e um warning do tipo W1036 Variable 'pvalor' might not have been initialized. Isso acontece porque criamos um ponteiro para um Integer mas não indicamos o endereço da variável para a qual ele aponta, ou seja, até o momento este ponteiro é nulo (não aponta para nenhuma posição de memória). Mova a declaração do ponteiro para a seção interface e verá que código compilará mas teremos uma exceção do tipo EAccessViolation (Exception class EAccessViolation with message 'Access violation at address ... in module ...). Clássico erro de lógica. Estamos tentando acessar dados não existentes na memória. Esta situação pode ser evitada testando se o ponteiro ainda é nulo antes de tentarmos desreferenciá-lo. Veja:
procedure TForm1.Button1Click(Sender: TObject);
begin
// vamos exibir o valor da variável referenciada pelo
// ponteiro pvalor
if pvalor = nil then
ShowMessage('O ponteiro ainda é nulo.')
else
ShowMessage(IntToStr(pvalor^));
end;
Note que movi a declaração do ponteiro para a secão interface, de forma a torná-la global. Isso evita que o ponteiro seja automaticamente inicializado (o que sempre acontece com as variáveis locais). Ao executar o código novamente você verá a mensagem indicando que o ponteiro ainda é nulo. Podemos também usar nil para, explicitamente, marcar um ponteiro como nulo, ou seja, definir que o ponteiro não aponta para nenhum local na memória. Comece declarando as variáveis abaixo na seção interface do formulário: valor: Integer; pvalor: ^Integer; Em seguida coloque o código abaixo no evento Click de um botão: procedure TForm1.Button1Click(Sender: TObject); begin // vamos atribuir um valor à variável valor valor := 14; // vamos "apontar" nosso ponteiro para o local de // memória da variável valor pvalor := @valor; // vamos exibir o valor da variável apontada por pvalor ShowMessage(IntToStr(pvalor^)); // vamos marcar pvalor como nulo pvalor := nil; // vamos causar um EAccessViolation já que pvalor // não aponta para nenhum local na memória agora ShowMessage(IntToStr(pvalor^)); end; Sempre que marcamos um ponteiro como nil, a memória até então ocupada por ele é liberada para uso por parte do sistema operacional ou demais programas. Este procedimento ajuda a evitar os vazamentos de memória (memory leak) tão frequentes em códigos que trabalham com memória alocada dinamicamente. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C# ::: Windows Forms ::: CheckBox |
Como marcar ou desmarcar uma CheckBox do C# Windows Forms via códigoQuantidade de visualizações: 14993 vezes |
É possível marcar ou desmarcar uma CheckBox do C# Windows Forms via código. Para isso só precisamos manipular sua propriedade Checked. Se quisermos que a CheckBox seja marcada, basta fornecermos o valor true para esta propriedade. Veja:
private void button1_Click(object sender, EventArgs e){
// vamos marcar a CheckBox
checkBox1.Checked = true;
}
Se quisermos desmarcar, basta fornecermos o valor false. Veja:
private void button1_Click(object sender, EventArgs e){
// vamos desmarcar a CheckBox
checkBox1.Checked = false;
}
|
JavaScript ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila de JavaScript - Como usar o laço for da linguagem JavaScriptQuantidade de visualizações: 8256 vezes |
O laço for (também chamado de loop for ou laço para) é usado quando queremos repetir uma instrução ou um conjunto de instruções um determinado número de vezes. Este laço é composto de três partes: inicialização, teste de continuídade e incremento ou decremento da variável de controle. Veja:
for(inicialização; teste; incremento/decremento){
instrução ou conjunto de instruções
}
Na parte da inicialização nós podemos inicializar a variável a ser usada para controlar a quantidade de repetições do laço. Na parte do teste de continuídade nós avaliamos uma condição boolean (verdadeiro/falso) para determinar se o laço deve ser interrompido ou continuar sua execução. Na parte de incremento/decremento nós incrementamos ou decrementamos o valor da variável de controle. Veja um trecho de código no qual usamos o laço for para contar de 0 até 10:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
for(var i = 0; i <= 10; i++){
document.write(i + "<br>");
}
</script>
</body>
</html>
Este código exibirá o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 Veja que a condição de continuídade do laço é o valor da variável i menor ou igual a 10. Eis agora uma modificação deste código que conta de 10 até 0:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
for(var i = 10; i >= 0; i--){
document.write(i + "<br>");
}
</script>
</body>
</html>
Agora o código exibirá o seguinte resultado: 10 9 8 7 6 5 4 3 2 1 0 Agora que já vimos um exemplo do uso deste laço, é importante saber quando e quantas vezes as três partes de um laço for são executadas: a) A parte de inicialização é executada apenas uma vez, ou seja, na entrada da estrutura do laço. b) O teste de continuídade é feito ANTES de cada repetição (iteração) do laço. Se o teste de continuída não resultar satisfatório já na primeira repetição, as instruções contidas no laço não serão executadas e o fluxo do código continuará após sua chave de fechamento. c) A parte de incremento/decremento da variável de controle é feita DEPOIS de cada repetição do laço. Com exceção do teste de continuídade, as demais partes de um laço for podem conter mais de uma instrução. Quando isso acontece nós as separamos usando vírgulas. Veja um exemplo:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
for(var i = 0, j = 2; i <= 10; i++, j = j + 3){
document.write("i = " + i + "; j = " + j + "<br>");
}
</script>
</body>
</html>
Ao executar este código teremos o seguinte resultado: i = 0; j = 2 i = 1; j = 5 i = 2; j = 8 i = 3; j = 11 i = 4; j = 14 i = 5; j = 17 i = 6; j = 20 i = 7; j = 23 i = 8; j = 26 i = 9; j = 29 i = 10; j = 32 Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6. |
Java ::: Classes e Componentes ::: JTextField |
Java Swing - Como definir a cor do texto de um JTextField usando o método setForeground()Quantidade de visualizações: 11023 vezes |
|
Nesta dica eu mostro como podemos usar o método setForeground() da classe JTextField para definir a cor de seu texto. Note que esta função pede um objeto da classe Color, por isso, neste exemplo, forneci o valor Color.BLUE. Veja o código Java Swing completo:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JTextField texto;
public Estudos() {
super("Estudos Swing");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria um botão
JButton btn = new JButton("Definir cor do texto");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
// vamos definir a cor do texto como azul
texto.setForeground(Color.BLUE);
}
}
);
// Cria o JTextField
texto = new JTextField(10);
// Adiciona o botão à janela
c.add(btn);
// Adiciona o JTextField à janela
c.add(texto);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
C# - Como adicionar ou subtrair meses de uma data em C# usando a função AddMonths() da classe DateTime |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






