![]() |
|||||
![]() |
|||||
|
C# ::: Dicas & Truques ::: Mouse e Teclado |
C# Windows Forms - Como verificar o estado da tecla Num Lock em suas aplicações C# Windows FormsQuantidade de visualizações: 8318 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 ::: Topografia e Geoprocessamento ::: Passos Iniciais |
Como converter graus, minutos e segundos para graus decimais em PythonQuantidade de visualizações: 1288 vezes |
Em algumas situações, principalmente em cálculos da Engenharia Civil e Topografia, nós precisamos converter graus, minutos e segundos para graus decimais. É comum chamarmos graus, minutos e segundos de DMS ou GMS, enquanto os graus decimais são chamados de UTM. Nesta dica veremos como converter 85º 42' 13.75'' para graus decimais. A fórmula que usaremos é a seguinte: \[\text{Graus decimais} = \text{Graus} + \frac{\text{Minutos}}{60} + \frac{\text{Segundos}}{3600} \] Veja agora o código Python completo que pede para o usuário informar os graus, os minutos e os segundos e mostra os graus decimais: # função principal do programa def main(): # vamos pedir para o usuário informar os graus, minutos # e segundos graus = float(input("Informe os graus: ")) minutos = float(input("Informe os minutos: ")) segundos = float(input("Informe os segundos: ")) # agora vamos calcular os graus decimais graus_decimais = graus + (minutos / 60.0) + \ (segundos / 3600.0) # e agora mostramos o resultado print("Os graus decimais são: {0}".format(graus_decimais)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe os graus: 85 Informe os minutos: 42 Informe os segundos: 13.75 Os graus decimais são: 85.70381944444445 Fique atento ao sinal. Se o valor em graus, minutos e segundos possuir os caracteres "W" ou "S", então o valor em graus decimais deverá levar o sinal de negativo. |
JavaScript ::: Dicas & Truques ::: Set (Conjunto) |
Como retornar elementos presentes no primeiro vetor e não presentes no segundo vetor em JavaScript usando o objeto SetQuantidade de visualizações: 1461 vezes |
Este é um código muito interessante de ser feito em JavaScript. Dados dois arrays a e b, temos que retornar os números que estão presentes no primeiro array, mas que não estão presentes no segundo array. Este código pode ser escrito usando diversas abordagens. Nesta dica mostrarei como resolvê-lo usando um objeto Set, adicionado à linguagem JavaScript na revisão ECMAScript 2015, também chamada de ES6 e ECMAScript 6. Vamos ao código então: <html> <head> <title>O objeto Set do JavaScript</title> </head> <body> <script type="text/javascript"> // primeiro vetor var a = [4, 8, 1, 23, 65]; // segundo vetor var b = [23, 8, 90, 3, 7]; // vetor resultante var c = []; // criamos um objeto Set e guardamos nele os // elementos do segundo vetor var set = new Set(); for (var i = 0; i < b.length; i++){ set.add(b[i]); } // agora varremos o primeiro vetor e usamos // o método has() do objeto Set para verificar se // o valor não está contido nele for (var i = 0; i < a.length; i++){ if(!set.has(a[i])){ c.push(a[i]); } } document.writeln("Primeiro vetor: " + a); document.writeln("<br>Segundo vetor: " + b); document.writeln("<br>Resultado: " + c); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Primeiro vetor: 4, 8, 1, 23, 65 Segundo vetor: 23, 8, 90, 3, 7 Resultado: 4, 1, 65 Note que os valores 4, 1 e 65 estão presentes no primeiro array mas não estão presentes no segundo. |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um valor inteiro em JavaScript usando a função parseInt()Quantidade de visualizações: 26726 vezes |
Nesta dica mostrarei como podemos usar a função parseInt() do JavaScript para transformar uma string em um valor inteiro. Esse procedimento é necessário quando estamos efetuando cálculos com valores vindos de campos de formulários. Veja a página HTML completa para o exemplo: <!doctype html> <html> <head> <title>Strings em JavaScript</title> </head> <body> <script type="text/javascript"> var string1 = "110"; var string2 = "Arquivo"; var string3 = "65,54"; document.write(parseInt(string1) + "<br>"); document.write(parseInt(string2) + "<br>"); document.write(parseInt(string3)); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: 110 NaN 65 |
JavaScript ::: Dicas & Truques ::: Set (Conjunto) |
Como converter um Set em um Array JavaScript usando a função Array.from()Quantidade de visualizações: 1195 vezes |
Em algumas situações nós gostaríamos de tratar um objeto Set da linguagem JavaScript como se ele fosse um Array, ou seja, um vetor (matriz de apenas uma linha e várias colunas). Para estes casos nós podemos usar o método Array.from(), adicionado à linguagem JavaScript na revisão ECMAScript 2015 (ES6 ou ECMAScript 6). Este método recebe vários objetos, entre eles Map e Set, e retorna um array. Assim, veja um trecho de código no qual criamos um Set com três elementos, usamos o método Array.from() para obter um Array a partir dele e, em seguida, percorremos e exibimos os elementos do array. Eis o código completo para o exemplo: <!doctype html> <html> <head> <title>O objeto Set do JavaScript</title> </head> <body> <script type="text/javascript"> // vamos criar um novo conjunto contendo // 3 linguagens de programação var linguagens = new Set(["Java", "PHP", "Delphi"]); // agora vamos converter este Set em um Array var vetor = Array.from(linguagens); // vamos percorrer os elementos do vetor for(var i = 0; i < vetor.length; i++){ document.writeln(vetor[i] + "<br>"); } </script> </body> </html> Ao executar este código nós teremos o seguinte resultado: Java PHP Delphi |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Python para iniciantes - Como contar de 0 a 10 usando o laço for da linguagem PythonQuantidade de visualizações: 10775 vezes |
Nesta dica veremos como usar o loop for da linguagem Python para contar de 0 até 10. É um exemplo bem simples, mas serve para nos lembrar da sintáxe dessa construção. Veja o código completo: # função principal do programa def main(): for i in range(11): print(i, end = " ") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 |
GoLang ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas |
Exercícios Resolvidos de Golang - Como calcular a área de um losango em GoQuantidade de visualizações: 1187 vezes |
Pergunta/Tarefa: Um losango é um quadrilátero equilátero, ou seja, é um polígono formado por quatro lados de igual comprimento. Um losango é também um paralelogramo. Alguns autores exigem ainda que nenhum dos ângulos do quadrilátero seja reto para que ele seja considerado um losango. A área (em metros quadrados) de um losango pode ser calculada usando-se a seguinte fórmula: ![]() Onde D1 é a diagonal maior e D2 é a diagonal menor. Escreva um programa Golang que leia a diagonal maior e a diagonal menor e calcule a área do losango. Sua saída deverá ser parecida com: Informe a medida da diagonal maior: 5 Informe a medida da diagonal menor: 10 A área (em metros quadrados) do losango é: 25 Veja a resolução comentada deste exercício usando Go: // pacote principal package main // vamos importar o módulo de formatação de // entrada e saída import "fmt" // esta é a função principal do programa func main() { // variáveis que vamos usar na resolução do problema var diagonal_maior, diagonal_menor int var area float32 // vamos ler os valores das diagonais maior e menor fmt.Print("Informe a medida da diagonal maior: ") fmt.Scanln(&diagonal_maior) fmt.Print("Informe a medida da diagonal menor: ") fmt.Scanln(&diagonal_menor) // calcula a area do losango area = float32((diagonal_maior * diagonal_menor)) / 2 // mostra o resultado fmt.Printf("A área (em metros quadrados) é: %.2f", area) } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Sistemas Digitais - Manipulação de Bits |
Exercícios Resolvidos de Java - Como fazer o complemento de 1 de um número binário em Java - Solução usando manipulação de stringsQuantidade de visualizações: 473 vezes |
Pergunta/Tarefa: Em Sistemas Digitais e na manipulação de bits, o complemento de 1 de um número binário é realizado de forma direta invertendo-se os "0s" e "1s", ou seja, todo zero (0) vira um (1) e todo um (1) vira zero (0). Dessa forma, se tivermos o número binário 11001, seu complemento de 1 será 00110. Escreva um programa Java que pede para o usuário informar um número binário e exiba o seu complemento de um. Para esta solução você deverá usar exclusivamente manipulação de strings. Sua saída deve ser parecida com: Informe um número binário: 1011001 O complemento de 1 é: 0100110 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); // vamos solicitar um número binário System.out.print("Informe um número binário: "); String binario = entrada.nextLine(); // vamos converter a string em um arrays de chars char digitos[] = binario.toCharArray(); // agora percorremos todos os dígitos do número binário // e trocamos os "0s" por "1s" e vice-versa for(int i = 0; i < digitos.length; i++){ if(digitos[i] == '0'){ digitos[i] = '1'; } else{ digitos[i] = '0'; } } // convertemos de novo para string String complemento1 = String.valueOf(digitos); // e mostramos o resultado System.out.println("O complemento de 1 é: " + complemento1); } } |
PHP ::: Dicas & Truques ::: Gráficos e Cores |
Gráficos em PHP - Como verificar se a extensão GD está disponível na sua instalação do PHPQuantidade de visualizações: 10501 vezes |
Gráficos em PHP são gerados a partir da biblioteca (ou extensão) GD. É claro que você pode usar outras bibliotecas, mas esta é a mais comumente usada e disponível nas hospedagens compartilhadas. Antes de começar a gerar gráficos e imagens, porém, você precisa verificar se a GD está disponível no seu interpretador. A melhor forma de verificar isso é usar a página phpinfo() e procurar a seção "GD". Você deverá ter algo assim: GD Support enabled GD Version 2.0 or higher FreeType Support enabled FreeType Linkage with freetype JPG Support enabled PNG Support enabled WBMP Support enabled A partir da versão 4.3 do PHP, uma versão da GD (equivalente à GD 2.0 ou mais recente) já vem instalada por padrão. Isso dispensa a instalação da biblioteca. |
VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar a instrução Select...Case do VB.NETQuantidade de visualizações: 20887 vezes |
As instruções If...Then e If...Then...Else são muito úteis para testarmos condições em nossos códigos. Porém, há situações em que os caminhos a serem testados são tantos que se torna um pouco tedioso escrever tantos ElseIfs. Para estas situações nós temos a instrução Select...Case. Veja seu uso no trecho de código abaixo:Dim valor As Integer = 7 Select Case valor Case 1 To 5 Console.WriteLine("Entre 1 e 5 (inclusive)") Case 6, 7, 8 Console.WriteLine("Entre 6 e 8 (inclusive)") Case 9 To 10 Console.WriteLine("Igual a 9 ou 10") Case Else Console.WriteLine("Não encontrado no teste") End Select Os valores a serem testados em cada passo da instrução podem ser separados por vírgulas ou por faixa, usando a palavra-chave To. Neste último caso, o valor limite também é incluído no teste. O tipo de dados da variável de teste deve se enquadrar nos tipos: Boolean, Byte, Char, Date, Double, Decimal, Integer, Long, Object, SByte, Short, Single, String, UInteger, ULong e UShort. |
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 |