![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
C# ::: Windows Forms ::: ComboBox |
Como excluir todos os itens de um ComboBox do C# Windows Forms usando a função Clear() da classe ComboBox.ObjectCollectionQuantidade de visualizações: 10102 vezes |
Há algumas situações nas quais precisamos remover (limpar) todos os itens de um ComboBox. Isso pode ser feito com uma chamada ao método Clear() da classe ComboBox.ObjectCollection. Temos acesso a esta classe por meio da propriedade Items da classe ComboBox. Vja o exemplo:private void button1_Click(object sender, EventArgs e){ // exclui todos os itens do ComboBox chamado // linguagensCombo linguagensCombo.Items.Clear(); } |
Python ::: wxPython ::: Controles Visuais Básicos do wxPython |
Como definir o texto de um wx.Button do wxPython em tempo de execução usando a função SetLabel()Quantidade de visualizações: 6703 vezes |
O texto (rótulo) de um wx.Button do wxPython pode ser definido em tempo de execução com uma chamada ao método SetLabel(). Este método recebe uma string contendo o novo texto do botão. Veja um exemplo wxPython completo: # vamos importar a biblioteca wxPython import wx # a classe que representa a aplicação wxPython class Janela(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "Usando wx.Button", size=(350, 200)) # Cria um painel panel = wx.Panel(self) # Cria um botão e o adiciona no painel self.btn = wx.Button(panel, label="Clique Aqui", pos=(10, 10), size=(100, 25)) # Anexa um evento ao botão self.Bind(wx.EVT_BUTTON, self.OnBtnClick, self.btn) # Método que será chamado ao clicar o botão def OnBtnClick(self, event): # novo texto do botão novo_texto = "Fui clicado!" # altera o texto do botão self.btn.SetLabel(novo_texto) if __name__ == "__main__": app = wx.App() janela = Janela() janela.Show(True) app.MainLoop() |
jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico |
Como adicionar conteúdo ao final de um elemento HTML usando a função append() do jQueryQuantidade de visualizações: 959 vezes |
O método append() permite adicionar conteúdo ao final de um elemento HTML. Este conteúdo pode ser um seletor, um elemento HTML, uma string HTML ou um objeto jQuery. Veja um trecho de código no qual adicionamos mais um linha de texto a um parágrafo: <script type="text/javascript"> <!-- function adicionarConteudo(){ var texto = "<br>Mais uma linha."; $("#parag").append(texto); } //--> </script> O método append() opera em todos os elementos HTML retornados sob uma determinação condição. O retorno do método é um objeto jQuery que pode ser usado para fins de encadeamento de chamadas de métodos. |
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: 585 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> |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um vetor de inteiros em ordem decrescente em JavaQuantidade de visualizações: 21111 vezes |
Nesta dica mostrarei como é possível ordenar um array (vetor) de ints em ordem decrescente usando o método sort() da classe Arrays e um método inverter() personalizado. É claro que há várias outras formas de se conseguir realizar esta tarefa. Espero que esta seja mais uma técnica adicionada ao seu arsenal. Veja o código Java completo: package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String[] args){ // vamos declarar e construir um vetor de 5 inteiros int[] valores = new int[5]; // inicializa os elementos do array valores[0] = 23; valores[1] = 65; valores[2] = 2; valores[3] = 87; valores[4] = 34; // ordena os valores Arrays.sort(valores); System.out.println("Ordenado em ordem crescente:"); for(int valor : valores){ System.out.print(valor + " "); } // vamos inverter o vetor agora inverter(valores); // exibe os valores dos elementos do array // usando o laço for melhorado System.out.println("\nOrdenado em ordem decrescente:"); for(int valor : valores){ System.out.print(valor + " "); } System.out.println("\n"); System.exit(0); } // método que recebe um array e inverte a ordem // de seus elementos public static void inverter(int[] b){ int esquerdo = 0; int direito = b.length-1; while (esquerdo < direito) { int temp = b[esquerdo]; b[esquerdo] = b[direito]; b[direito] = temp; esquerdo++; direito--; } } } Ao executar este código Java nós teremos o seguinte resultado: Ordenado em ordem crescente: 2 23 34 65 87 Ordenado em ordem decrescente: 87 65 34 23 2 |
C# ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
C# para iniciantes: Como declarar e usar variáveis em C#Quantidade de visualizações: 48486 vezes |
Variáveis são apelidos que damos aos blocos de memória que podem ser usados para armazenar dados durante a execução de um programa. Podemos guardar informações dos mais variados tipos em variáveis, a saber: valores inteiros, valores de número flutuante (com casas decimais), palavras, frases, textos e até mesmo referências a objetos de classes (fornecidas pela linguagem C# ou nossas próprias). Uma variável é declarada, em sua forma mais simples, informando o tipo de dados (int, float, double, string, etc) e então o nome da variável. Veja: // uma variável usado para armazenar um valor inteiro int valor; Uma vez declarada a variável, podemos definir o valor que será armazenado inicialmente. Isso é chamado de "atribuir um valor inicial à variável". Veja: static void Main(string[] args){ // declara e inicializa uma variável do tipo double double salario = 2345.32; // exibe o valor da variável Console.WriteLine("Salário: {0}", salario); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } É possível declarar mais de uma variável do mesmo tipo. Basta separá-las por vírgulas. Veja: // declara três variáveis do tipo char char a, b, c; Variáveis são realmente úteis quando as estamos usando em cálculos ou outras operações importantes para o correto funcionamento do programa. Veja: static void Main(string[] args){ // declara três variáveis do tipo int int a, b, soma; // inicializa as duas primeiras variáveis a = 20; b = 10; // inicializa a terceira variável usando os valores // das duas anteriores soma = a + b; // exibe o resultado Console.WriteLine("Resultado: {0}", soma); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Para finalizar, lembre-se de uma variável C# possui atributos importantes e que devem ser lembrados com frequência durante o planejamento de suas aplicações. Alguns destes atributos são: tipo, nome, valor, posição na memória, escopo (global ou local) e visibilidade (pública ou privada). |
R ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Quais são as palavras reservadas da linguagem RQuantidade de visualizações: 1622 vezes |
As palavras reservadas, ou palavras-chaves, de uma linguagem de programação são um conjunto de palavras e símbolos que possuem significado especial dentro da linguagem, em seu interpretador ou compilador. Estas palavras não podem ser usadas como identificadores de funções, nomes de variáveis, constantes, nomes de classes, etc. A linguagem R, no momento que escrevo este texto, possui as seguintes palavras reservadas: if else repeat while function for in next break TRUE FALSE NULL Inf NaN NA NA_integer_ NA_real_ NA_complex_ NA_character_ ? A qualquer momento nós podemos listas estas palavras reservadas, seja na janela de comandos ou em um script do R. Basta disparmos os comandos abaixo: > ?reserved [ENTER] > help(reserved) [ENTER] > Entre essas palavras reservadas, if, else, repeat, while, function, for, in, next e break são usadas para os testes condicionais, laços e funções definidas pelo usuário. São estas palavras que formam a estrutura básica da linguagem R. As palavras TRUE e FALSE são as constantes lógicas em R. NULL representa a ausência de um valor, ou um valor indefinido (ainda não houve atribuição). A palavra reservada Inf significa "Infinity". Por exemplo, quando 1 é dividido por 0, enquanto NaN quer dizer "Not a Number" (não é um número). Um exemplo disso é quando dividimos 0 por 0. NA significa "Not Available" e é usada para representar valores não informados. A linguagem R é sensível a maiúsculas e minúsculas. Isso quer dizer que TRUE e True não são a mesma coisa. Enquanto TRUE é uma palavra reservada representando uma constante lógica, True pode ser usada como um nome de variável. |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados short da linguagem JavaQuantidade de visualizações: 12181 vezes |
O tipo de dados short pode ser usado quando queremos armazenar valores inteiros na faixa -32,768 à 32,767. Veja um exemplo:public class Estudos{ static short valor = 30000; public static void main(String args[]){ System.out.println("O valor da variável é: " + valor); System.exit(0); } } Porém, é preciso estar atento a um detalhe muito importante (testado na versão 6 do SDK). Veja o trecho de código seguinte: public class Estudos{ public static void main(String args[]){ short a = 32; short b = 19; short soma = a + b; System.out.println("O resultado é: " + soma); System.exit(0); } } À primeira vista este código está correto, visto que a soma das variáveis a e b não ultrapassam a faixa do tipo short. Porém, ao tentarmos compilar, temos a seguinte mensagem de erro: Estudos.java:5: possible loss of precision found : int required: short short soma = a + b; ^ 1 error short a = 32; short b = 19; short soma = (short)(a + b); O tipo de dados short pode ser convertido (sem a necessidade de cast) para os seguintes tipos: short -> int -> long -> float -> double Se precisarmos converter o tipo short para os tipos char e byte, teremos que lançar mão de uma coerção (cast). Veja: short a = 32; short b = 19; byte soma = (byte)(a + b); |
Delphi ::: VCL - Visual Component Library ::: TStringGrid |
Como usar o evento OnDrawCell para controlar o desenho das células em um TStringGrid do DelphiQuantidade de visualizações: 16342 vezes |
O evento OnDrawCell, definido originalmente na classe TCustomDrawGrid, é disparado quando uma determinada célula do TStringGrid precisa ser desenhada. Este evento possui a seguinte assinatura:property OnDrawCell: TDrawCellEvent; O tipo Grids.TDrawCellEvent apresenta, no Delphi 2009, a seguinte lista de parâmetros: TDrawCellEvent = procedure(Sender: TObject; ACol, ARow: Longint; Rect: TRect; State: TGridDrawState) of object; Vamos ver cada um destes parâmetros separadamente: Sender - Representa a grid na qual a célula está sendo desenhada; ACol, ARow - Índices da coluna e linha na qual a célula está sendo desenhada; Rect - Localização da célula na área de desenho (canvas); State - Um objeto Grids.TGridDrawState que indica se a célula possui o foco (gdFocused), está selecionada (gdSelected) e se a mesma é uma célula fixa (gdFixed). Células fixas permanecem vísiveis quando as barras de rolagem são acionadas. Veja um trecho de código no qual usamos o evento OnDrawCell para colorir de amarelo o fundo de uma determinada célula do TStringGrid: procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var conteudo: String; begin // vamos obter o conteúdo da célula conteudo := StringGrid1.Cells[ACol, ARow]; // vamos colorir a célula na segunda linha e terceira // coluna com o fundo amarelo if (ACol = 2) and (ARow = 1) then begin StringGrid1.Canvas.Brush.Color := clYellow; StringGrid1.Canvas.FillRect(Rect); StringGrid1.Canvas.TextRect(Rect, Rect.Left, Rect.Top, conteudo); end; end; Para este exemplo deixei o valor da propriedade DefaultDrawing do TStringGrid como true. Isso faz com que o fundo da célula seja pintado antes que o evento DrawCell seja chamado e o efeito 3D das células fixas seja exibido ou o retângulo de foco ao redor da célula que possui o foco no momento seja desenhado após o evento. Experimente executar o exemplo com o valor false para a propriedade DefaultDrawing para ver o resultado. Veja agora um trecho de código no qual definimos a cor vermelha para o texto das células cujo valor inteiro seja menor que 10: procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var conteudo: String; begin // vamos obter o conteúdo da célula conteudo := StringGrid1.Cells[ACol, ARow]; // vamos definir a cor vermelha para o texto das células // contendo valores menores que 10 if (conteudo <> '') and (StrToInt(conteudo) < 10) then begin StringGrid1.Canvas.Font.Color := clRed; StringGrid1.Canvas.FillRect(Rect); StringGrid1.Canvas.TextRect(Rect, Rect.Left, Rect.Top, conteudo); end; end; Tenha cuidado para que o valor da célula possa ser convertido para inteiro por meio do uso da função StrToInt(). Caso a conversão não for possível, uma exceção do tipo EConvertError será lançada. |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Delphi usando a função Cos() - Calculadora de cosseno em DelphiQuantidade de visualizações: 1370 vezes |
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Delphi. Esta função, incorporada por padrão à linguagem, recebe um valor numérico (Extended) e retorna um valor Extended, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja: procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add('Cosseno de 0 = ' + FloatToStr(Cos(0))); Memo1.Lines.Add('Cosseno de 1 = ' + FloatToStr(Cos(1))); Memo1.Lines.Add('Cosseno de 2 = ' + FloatToStr(Cos(2))); end; Ao executar este código Delphi nós teremos o seguinte resultado: Cosseno de 0 = 1 Cosseno de 1 = 0,54030230586814 Cosseno de 2 = -0,416146836547142 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
Nossas 20 dicas & truques de programação mais populares |
Java - Java Swing Avançado - Como exibir imagens nas células de uma JTable em suas aplicações Java Swing |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Exercícios Resolvidos de Java - Como calcular e exibir os 50 primeiros números primos em Java Java - Java para iniciantes - Como pesquisar uma substring em uma string e retornar sua posição inicial C# - Como excluir todos os itens selecionados em uma ListBox de múltipla seleção do C# Windows Forms Delphi - Como usar o controle TStringGrid em suas aplicações Delphi - O componente TStringGrid do Delphi |
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 |