Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
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: 7398 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);
}
|
C# ::: Dicas & Truques ::: Data e Hora |
Como calcular os dias restantes para uma data em C# usando um objeto TimeSpanQuantidade de visualizações: 9679 vezes |
Em algumas ocasiões precisamos saber a quantidade de dias restantes para uma determinada data no futuro em C# (próximo Natal, próxima Páscoa, vencimento de uma duplicata, etc). O trecho de código abaixo mostra como isso pode ser feito. Veja que usamos o construtor da estrutura DateTime para construir a data no futuro e então subtraímos desta a data atual. Em seguida obtemos a quantidade de dias do TimeSpan resultante:
static void Main(string[] args){
// vamos obter a quantidade de dias restantes para o Natal de
// 2009
DateTime data_futura = new DateTime(2009, 12, 25); // 25/12/2009
DateTime hoje = DateTime.Now;
// obtém a quantidade de dias restantes
TimeSpan dif = data_futura.Subtract(hoje);
int restantes = dif.Days + 1; // dia de hoje na contagem
// exibe o resultado
System.Console.WriteLine("Faltam " + restantes + " dias para " +
"o Natal de 2009");
// pausa o programa
Console.ReadKey();
}
|
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a distância entre dois pontos no plano em Java - Java para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 7538 vezes |
|
Como calcular a Distância Euclidiana entre dois pontos usando Java. Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em Java, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço). Comece analisando a imagem abaixo: ![]() Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y). Veja a fórmula: \[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\] Agora, jogando os valores dos dois pontos da fórmula nós teremos: \[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\] Que resulta em 6,32 (aproximadamente). E agora veja o código Java completo que lê as coordenadas dos dois pontos e mostra a distância entre eles:
package arquivodecodigos;
import java.util.Scanner;
public class Estudos{
public static void main(String args[]){
Scanner entrada = new Scanner(System.in);
// vamos ler os dados do primeiro ponto
System.out.print("Informe o x do primeiro ponto: ");
double x1 = Double.parseDouble(entrada.nextLine());
System.out.print("Informe o y do primeiro ponto: ");
double y1 = Double.parseDouble(entrada.nextLine());
// vamos ler os dados do segundo ponto
System.out.print("Informe o x do segundo ponto: ");
double x2 = Double.parseDouble(entrada.nextLine());
System.out.print("Informe o y do segundo ponto: ");
double y2 = Double.parseDouble(entrada.nextLine());
// vamos obter a distância entre eles
double distancia = distancia2d(x1, y1, x2, y2);
System.out.println("Distância entre os dois pontos: " +
distancia);
}
// função que permite calcular a distância
// entre dois pontos no plano (R2)
public static double distancia2d(double x1, double y1,
double x2, double y2){
double a = x2 - x1;
double b = y2 - y1;
double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
return c;
}
}
Ao executarmos este código nós teremos o seguinte resultado: Informe o x do primeiro ponto: 3 Informe o y do primeiro ponto: 6 Informe o x do segundo ponto: 9 Informe o y do segundo ponto: 4 Distância entre os dois pontos: 6.324555320336759 |
Python ::: Dicas & Truques ::: Formatação de datas, strings e números |
Como inserir uma determinada quantidade de espaços à esquerda de um valor numérico usando PythonQuantidade de visualizações: 7794 vezes |
|
Este trecho de código Python mostra como definir uma quantidade de caracteres de espaço à esquerda de um valor numérico. Este exemplo funciona com inteiros. Para ponto-flutuante você deve trocar "d" por "f". Veja o código:
# método principal
def main():
valor = 54
# com três espaços
print("O valor é %5d" % valor)
# com nove espaços
print("O valor é %11d" % valor)
# com quatro espaços
print("O valor é %6d" % valor)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O valor é 54 O valor é 54 O valor é 54 |
LISP ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico |
Exercícios Resolvidos de Lisp - Como converter quilômetros em metros, centímetros e milímetros usando LispQuantidade de visualizações: 1200 vezes |
|
Pergunta/Tarefa: Escreva um programa em Common Lisp para converter quilômetros em metros, centímetros e milímetros. Seu programa deverá pedir para o usuário informar a quantidade de quilômetros e exibir as conversões solicitadas. Como sabemos, um Quilômetro = 1000 Metros, 100.000 Centímetros ou 1.000.000 Milímetros. Seu programa deverá exibir uma saída parecida com: Informe a distância em quilômetros: 2.5 Distância em Quilômetros: 2.5 Distância em Metros: 2500.0 Distância em Centímetros: 250000.0 Distância em Milímetros: 2500000.0 Veja a resolução comentada deste exercício usando Common Lisp: ; Variáveis usadas na resolução do problema (let ((quilometros)(metros)(centimetros)(milimetros)) ; vamos ler a quantidade de quilômetros (princ "Informe a distância em quilômetros: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável quilometros (setq quilometros (read)) ; vamos calcular a distância em metros (setq metros (* quilometros 1000.0)) ; vamos calcular a distância em centímetros (setq centimetros (* quilometros 100000.0)) ; e agora a distância em milímetros (setq milimetros (* quilometros 1000000.0)) ; E mostramos o resultado (format t "Distância em Quilômetros: ~F" quilometros) (format t "~%Distância em Metros: ~F" metros) (format t "~%Distância em Centímetros: ~F" centimetros) (format t "~%Distância em Milímetros: ~F" milimetros) ) |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de LISP |
Veja mais Dicas e truques de LISP |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






