Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes.

Você está aqui: Cards de
Card 0 de 0
O filtro aplicado não retornou nenhum resultado. Clique o botão Remover Filtro ou experimente um filtro diferente.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

C# ::: Dicas & Truques ::: Mouse e Teclado

Como desenhar em um formulário C# usando o mouse - Código-fonte completo

Quantidade de visualizações: 10657 vezes
Quando estamos estudando os eventos do mouse, a primeira idéia que vem à cabeça é como usar tais eventos para escrever um programa de desenho. O código abaixo mostra como isso pode ser feito.

Aqui nós usamos três eventos do mouse: MouseDown (ocorre quando o botão do mouse está pressionado), MouseUp (ocorre quando o botão do mouse é liberado) e MouseMove (ocorre quando movimentamos o mouse na superfície de um componente).

Dessa forma, quando o botão do mouse é pressionado nós ativamos uma variável indicando que o movimento do mouse pode vir acompanhado de um desenho. Quando o botão do mouse é liberado nós definimos o valor desta variável como false. Isso faz com que o desenho só seja realizado se movermos o mouse com o botão pressionado.

Veja o código:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace EstudosWindowForms {
  public partial class Form1 : Form {
    // indica se podemos ou não desenhar no formulário
    bool pintar = false;

    public Form1() {
      InitializeComponent();
    }

    private void Form1_MouseDown(object sender, MouseEventArgs e) {
      // podemos iniciar o desenho 
      pintar = true;
    }

    private void Form1_MouseUp(object sender, MouseEventArgs e) {
      // vamos parar de desenhar 
      pintar = false;
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e) {
      // vamos desenhar?
      if (pintar) { // o botão do mouse está pressionado
        // vamos desenhar um círculo na posição atual do mouse 
        Graphics g = CreateGraphics();
        g.FillEllipse(new SolidBrush(Color.Maroon), e.X, e.Y, 5, 5);
        g.Dispose();
      }
    }
  }
}



HTML5 ::: HTML5 + JavaScript ::: Canvas

Como carregar uma imagem (ou foto) no objeto Canvas do HTML5

Quantidade de visualizações: 2960 vezes
O objeto Canvas do HTML5 nos permite carregar uma imagem ou foto em tempo de execução e desenhá-la em sua superfície. Para isso, comece criando um objeto Image para guardar a imagem temporariamente na memória:

var imagem = new Image();
// vamos carregar a logo do nosso site
imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg";

O passo seguinte é adicionar um "ouvidor" de evento neste objeto Image para que ele nos avise quando a imagem estiver 100% carregada. Veja:

// vamos adicionar um "ouvidor" de evento no objeto Image
imagem.addEventListener('load', desenharImagem);

Pronto! Veja que agora, quando o evento load do objeto Image disparar, a função desenharImagem será chamada e a imagem será então desenhada no Canvas. Veja:

function desenharImagem(){
  // obtemos uma referência ao elemento Canvas  
  var canvas = document.getElementById("canvas1");
  // obtemos o contexto de desenho
  var contexto = canvas.getContext("2d");
  // e finalmente desenhamos a imagem
  contexto.drawImage(imagem, 0, 0);
}

E aqui está o código completo para o exemplo:

<html>
<head>
  <title>O objeto Canvas do HTML5</title>
</head>

<body>

<Canvas id="canvas1" width="500" height="350"></Canvas>

<script type="text/javascript">
  var imagem = new Image();
  // vamos carregar a logo do nosso site
  imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg";

  // vamos adicionar um "ouvidor" de evento no objeto Image
  imagem.addEventListener('load', desenharImagem);

  function desenharImagem(){
    // obtemos uma referência ao elemento Canvas  
    var canvas = document.getElementById("canvas1");
    // obtemos o contexto de desenho
    var contexto = canvas.getContext("2d");
    // e finalmente desenhamos a imagem
    contexto.drawImage(imagem, 0, 0);
  }
</script>

</body>
</html>

Ao executar a página nós teremos o seguinte resultado:




Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular o produto escalar entre dois vetores usando Java - Geometria Analítica e Álgebra Linear usando Java

Quantidade de visualizações: 3999 vezes
O produto escalar (em inglês: dot product) entre dois vetores é um número real que relaciona o comprimento desses dois vetores e o ângulo formado por eles. É importante notar que alguns autores se referem ao produto escalar como produto interno.

Obtém-se o produto escalar entre dois vetores, no R2, ou três vetores, no R3, por meio da fórmula a seguir (assumindo dois vetores __$\vec{u} = (a, b)__$ e __$\vec{v} = (c, d)__$ no R2).

\[\vec{u} \cdot \vec{v} = a \cdot c + b \cdot d \]

Vamos agora a um exemplo prático. Veja a imagem abaixo, na qual temos dois vetores, com suas coordenadas e magnitudes (módulo, comprimento ou norma):



Note que ambos os vetores possuem como origem as coordenadas (0, 0). O primeiro vetor possui as coordenadas finais (4, 10) e magnitude 11, e o segundo vetor possui as coordenadas finais (11, 6) e magnitude 13. Magnitude é o tamanho do vetor, ou seja, seu comprimento, seu módulo ou norma.

Veja agora o código Java completo que lê as coordenadas dos dois vetores e calcula e mostra o produto escalar entre eles:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    Scanner entrada = new Scanner(System.in);
    
    // x e y do primeiro vetor
    System.out.print("Coordenada x do primeiro vetor: ");
    float x1 = Float.parseFloat(entrada.nextLine());
    System.out.print("Coordenada y do primeiro vetor: ");
    float y1 = Float.parseFloat(entrada.nextLine());
    
    // x e y do segundo ponto
    System.out.print("Coordenada x do segundo vetor: ");
    float x2 = Float.parseFloat(entrada.nextLine());
    System.out.print("Coordenada y do segundo vetor: ");
    float y2 = Float.parseFloat(entrada.nextLine());    
    
    // vamos calcular o produto escalar
    float pEscalar = (x1 * x2) + (y1 * y2);
    
    // mostramos o resultado
    System.out.println("O produto escalar é: " + pEscalar);
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

Coordenada x do primeiro vetor: 4
Coordenada y do primeiro vetor: 10
Coordenada x do segundo vetor: 11
Coordenada y do segundo vetor: 6
O produto escalar é: 104.0


wxWidgets ::: Dicas & Truques ::: wxFrame

Como usar a classe wxFrame para criar a janela principal de suas aplicações C++ wxWidgets

Quantidade de visualizações: 2329 vezes
A classe wxFrame, definida no arquivo <wx/frame.h>, herda diretamente da classe wxTopLevelWindow (que herda de wxWindow) e, em geral, é usada para representar a janela principal da aplicação. Em tempo de execução seu tamanho pode ser alterado, maximizado, restaurado e minimizado. Esta janela também inclui uma borda mais grossa, uma barra de títulos e, opcionalmente, uma barra de menus, uma barra de ferramentas ou uma barra de status.

Uma wxFrame pode atuar como um contâiner para outros controles, tais como botões, caixa de texto, listas, tabelas, etc. No entanto, não podemos inserir em uma wxFrame uma outra wxFrame ou um diálogo.

O construtor não vazio da classe wxFrame é:

wxFrame::wxFrame(wxWindow* parent, wxWindowID id,
  const wxString&  title, const wxPoint& pos = wxDefaultPosition,  
  const wxSize& size = wxDefaultSize,  
  long style = wxDEFAULT_FRAME_STYLE,
  const wxString& name = wxFrameNameStr)


O parâmetro parent pode ser, e geralmente é, NULL. Se esse valor for diferente de NULL, a frame será minimizada quando sua janela mãe foi minimizada e restaurada quando esta for restaurada. Note que estamos falando de aplicações de janelas de múltiplos documentos (janelas MDI).

O parâmetro id é o identificador da janela. Podemos informar -1 para indicar um valor default.

O parâmetro title é o texto a ser exibido na barra de títulos da janela.

O parâmetro pos é a posição da janela, expressa como um wxPoint (coordenada x e y). Se fornecermos o valor wxDefaultPosition para este parâmetro, a posição da janela será escolhida pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma.

O parâmetro size é o tamanho da janela, expresso como um wxSize (largura e altura). O valor wxDefaultSize indica o tamanho padrão (default), escolhido pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma.

O parâmetro style é o estilo da janela. O valor padrão é wxDEFAULT_FRAME_STYLE (que pode ser redimensionada, possui um botão de minimizar, de maximizar, etc).

O parâmetro name é usado para associar a janela com um item nomeado, permitindo a personalização individual da janela em sistemas que usam o Motif. No Windows este parâmetro não possui nenhum efeito.

Vamos ao código agora. Veja os arquivos de definição e de implementação para a criação de uma janela wxFrame:

Código para janelaprincipal.h:

#ifndef _JANELAPRINCIPAL_H
#define _JANELAPRINCIPAL

#include <wx/wx.h>

// Definição da nossa janela wxFrame
class JanelaPrincipal : public wxFrame{
  public:
   // construtor não vazio
   JanelaPrincipal(const wxChar *titulo, int posX, int posY, 
     int largura, int altura);

   // destrutor
   ~JanelaPrincipal();
};

#endif // _JANELAPRINCIPAL_H

Código para janelaprincipal.cpp:

#include "janelaprincipal.h"

// arquivo de implementação
JanelaPrincipal::JanelaPrincipal(const wxChar *titulo, int posX,
  int posY, int largura, int altura) : wxFrame((wxFrame *)NULL, -1,
  titulo, wxPoint(posX, posY), wxSize(largura, altura)){

  // não vamos fazer nada aqui por enquanto	 
}

JanelaPrincipal::~JanelaPrincipal(){
  // por enquanto vamos deixar o construtor vazio
}

Agora veja o arquivo de definição e de implementação necessários para a criação e exibição da nossa janela:

Código para aplicacao.h:

#include <wx/wx.h>

// arquivo de definição

// declaramos a classe application
class MinhaAplicacao : public wxApp{
public:
  // é chamado no startup da aplicação
  virtual bool OnInit();
};

// declara MinhaAplicacao& GetApp()
DECLARE_APP(MinhaAplicacao)

Código para aplicacao.cpp

#include "aplicacao.h"
#include "janelaprincipal.h"

// arquivo de implementação

// aqui o wxWidgets cria nosso objeto MinhaAplicacao e o associa
// com a função de entrada main() ou WinMain()
IMPLEMENT_APP(MinhaAplicacao)

bool MinhaAplicacao::OnInit(){
  // vamos criar nossa janela
  JanelaPrincipal *janela = new JanelaPrincipal(wxT("Cadastro"),
	50, 50, 500, 400);
  // vamos exibir a janela wxFrame
  janela->Show(TRUE);
  // essa vai ser a janela principal da aplicação
  SetTopWindow(janela);
  
  // podemos iniciar o loop de eventos
  return true;
}

Note que, para que a janela seja visível na tela, devemos fazer uma chamada ao método Show() e fornecer o valor TRUE. Esta função é definida originalmente em wxWindow. Veja também que chamamos SetTopWindow() para informar ao wxWidgets que esta é a janela principal, razão pela qual fornecemos o valor NULL para o parâmetro parent.


C# ::: Windows Forms ::: TextBox

C# Windows Forms Avançado - Como rolar as linhas de um TextBox para cima uma de cada vez usando a API do Windows

Quantidade de visualizações: 7901 vezes
Em algumas situações gostaríamos de rolar para cima o conteúdo de um TextBox de múltiplas linhas uma linha de cada vez. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_LINEUP 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 uma linha de cada vez. 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_LINEUP = 0;
  
  // handle para a caixa de texto
  IntPtr handle = textBox1.Handle;
  IntPtr wParam = (IntPtr)SB_LINEUP;
  IntPtr lParam = IntPtr.Zero;
  
  // vamos fazer com que o TextBox role uma linha para cima
  SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam);
}



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

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 25 usuários muito felizes estudando em nosso site.