Você está aqui: Cards de |
||
|
||
|
|
||
C# ::: Windows Forms ::: TextBox |
C# Windows Forms Avançado - Como rolar as linhas de um TextBox para o topo (parte superior) usando a API do WindowsQuantidade de visualizações: 7311 vezes |
|
Em algumas situações gostaríamos de rolar para cima o conteúdo de um TextBox de múltiplas. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_TOP para seu parâmetro wParam. O valor do parâmetro lParam é zero. Veja um trecho de código que rola para cima o conteúdo de um TextBox. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem. Comece adicionando a linha: using System.Runtime.InteropServices; na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método:
[DllImport("user32.dll", EntryPoint = "SendMessage",
CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg,
IntPtr wParam, IntPtr lParam);
Finalmente coloque o código abaixo no evento Click de um botão:
private void button2_Click(object sender, EventArgs e){
// antes de executar este exemplo certifique-se de que
// a propriedade Multiline do TextBox esteja definida
// como true e a propriedade ScrollBars contenha o valor
// Vertical ou Both
textBox1.Multiline = true;
textBox1.ScrollBars = ScrollBars.Vertical;
// constante para a mensagem WM_VSCROLL
const uint WM_VSCROLL = 0x115;
// constante para o parâmetro wParam
const int SB_TOP = 6;
// handle para a caixa de texto
IntPtr handle = textBox1.Handle;
IntPtr wParam = (IntPtr)SB_TOP;
IntPtr lParam = IntPtr.Zero;
// vamos fazer com que o TextBox role para o topo (parte superior)
SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam);
}
|
Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle |
Como usar o laço for da linguagem DartQuantidade de visualizações: 4408 vezes |
|
Em algumas situações os nossos códigos precisam executar repetidas vezes uma ou mais instruções. Para isso a linguagem Dart, assim como C, C++, Java, Python, JavaScript, Delphi, etc, nos oferece o laço for, ou loop for. Este laço é usado quando sabemos exatamente a quantidade de vezes que a instrução (ou grupo de instruções) deverá ser repetida. Veja um exemplo no qual usamos este laço para contar de 1 até 10:
void main() {
for (int i = 1; i <= 10; i++) {
print('${i}');
}
}
Ao executar este código nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 Veja que o laço for em Dart é composto de três partes: a) Inicialização da variável de controle; b) O teste de continuidade; c) O incremento ou decremento da variável de controle. Como a execução do laço se inicia no teste de continuidade, é possível termos um laço for que nunca será executado. Veja:
void main() {
for (int i = 1; i > 5; i++) {
print('${i}');
}
}
Execute este código e perceberá que nenhum valor é impresso. Isso aconteceu porque o teste condicional retornou um valor falso, impedindo até mesmo a primeira execução do laço. Veja agora um laço for que conta de 10 até 1:
void main() {
for (int i = 10; i >= 1; i--) {
print('${i}');
}
}
Para finalizar em grande estilo, veja um laço for que pede para o usuário digitar 5 idades e, em seguida, mostra a média das idades lidas:
// Vamos importar a biblioteca dart:io
import 'dart:io';
void main() {
int soma = 0;
// vamos solicitar 5 idades
for (int i = 0; i < 5; i++) {
stdout.write("Digite uma idade: ");
int idade = int.parse(stdin.readLineSync());
soma = soma + idade;
}
// Vamos mostrar a média das idades
double media = soma / 5;
print("A média das idades é $media.");
}
A execução deste código mostrará o seguinte resultado: c:\estudos_dart>dart laco_for.dart Digite uma idade: 18 Digite uma idade: 21 Digite uma idade: 34 Digite uma idade: 50 Digite uma idade: 9 A média das idades é 26.4. |
Excel ::: Fórmulas do Excel ::: Trigonometria - Funções Trigonométricas |
Como converter graus em radianos no Excel usando a função RADIANOS() - Trigonometria no ExcelQuantidade de visualizações: 664 vezes |
|
Quando estamos trabalhando com trigonometria no Excel, é importante ficarmos atentos ao fato de que todas as funções trigonométricas do Excel, tais como COS(), SEN(), TAN(), etc, recebem seus argumentos em radianos, em vez de graus. Por isso, antes de chamar estas funções, é importante converter o valor em graus para radianos. No Excel isso pode ser feito por meio da função RADIANOS(). Esta função recebe o valor em graus e retorno o valor em radianos. Vamos ver um exemplo. Abra uma nova planilha do Excel e cole o código a seguir na célula B1: =RADIANOS(A1) Note que o argumento para a função RADIANOS() é o valor da célula A1. Assim, digite 45 na célula A1 e pressione Enter ou Tab. O valor 0,785398163 será exibido automaticamente na célula B1. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: NumPy Python Library |
Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do PythonQuantidade de visualizações: 1480 vezes |
|
Pergunta/Tarefa: Escreva um programa Python que usa a biblioteca NumPy para efetuar a soma de duas matrizes de mesma ordem, ou seja, mesmo número de linhas e colunas. Seu código deverá somar o primeiro elemento da matriz A com o primeiro elemento da matriz B, e assim por diante. Sua saída deverá ser parecida com: A primeira matriz é: [[4 1 3] [9 2 5]] A segunda matriz é: [[ 3 10 2] [ 1 13 4]] A matriz soma é: [[ 7 11 5] [10 15 9]] Veja a resolução comentada deste exercício em Python:
# vamos importar a biblioteca NumPy
import numpy as np
# função principal do programa
def main():
# vamos criar a primeira matriz
a = np.array([[4, 1, 3],
[9, 2, 5]])
# vamos criar a segunda matriz
b = np.array([[3, 10, 2],
[1, 13, 4]])
# vamos somar as duas matrizes
c = a + b
# e agora mostramos o resultado
print("A primeira matriz é:\n{0}".format(a))
print("A segunda matriz é:\n{0}".format(b))
print("A matriz soma é:\n{0}".format(c))
if __name__== "__main__":
main()
|
C# ::: Datas e Horas ::: DateTime |
Como usar o método IsLeapYear() da estrutura DateTime do C# para verificar se um determinado ano é bissextoQuantidade de visualizações: 7718 vezes |
Podemos verificar se um determinando ano é bissexto usando o método IsLeapYear() da estrutura DateTime. Este método recebe um valor inteiro representando o ano com 4 dígitos e retorna um valor true ou false. Veja o exemplo:
static void Main(string[] args){
// vamos verificar se o ano 2008
// é bissexto
int ano = 2008;
if(DateTime.IsLeapYear(ano))
Console.WriteLine("O ano informado é bissexto");
else
Console.WriteLine("O ano informado NÃO é bissexto");
// pausa o programa
Console.ReadKey();
}
Este método pode disparar uma exceção ArgumentOutOfRangeException se o valor do ano for menor que 1 ou maior que 9999. |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





