![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa 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. |
||
C++ ::: Win32 API (Windows API) ::: Edit Control |
Como definir a cor de fundo para um Edit Control em tempo de execução usando C++ e a API do WindowsQuantidade de visualizações: 10616 vezes |
|
O processo de definir a cor de fundo para um Edit Control em tempo de execução usando apenas C++ e a API do Windows é um pouco complicado. A técnica apresentada aqui pode não ser a mais eficiente, mas funciona mesmo (testado como VC++ 2005 e Windows XP). Note que estarei usando as funções CreateSolidBrush(), GetDlgCtrlID(), SetBkMode() e SetBkColor() da WinAPI. 1 - Comece adicionando as linhas na parte de variáveis globais de sua aplicação: HBRUSH hbrushEditBox = CreateSolidBrush(RGB(255, 255, 255)); HDC hdcEdit; int id_edit_control; HWND edit_window; 2 - Modifique ou adicione um case para a mensagem WM_CTLCOLOREDIT da seguinte forma:
case WM_CTLCOLOREDIT:
hdcEdit = (HDC)wParam;
edit_window = HWND(lParam);
id_edit_control = GetDlgCtrlID(edit_window);
if(id_edit_control == IDC_EDIT1){
SetBkMode(hdcEdit, TRANSPARENT);
SetBkColor(hdcEdit,(LONG)hbrushEditBox);
return (LONG)hbrushEditBox;
}
return (LRESULT)CreateSolidBrush(RGB(255, 255, 255));
3 - A cor de fundo do Edit Control com ID IDC_EDIT1 será modificada para vermelho quando clicarmos no botão com o ID IDC_BUTTON1. Veja o case para este botão (dentro do case WM_COMMAND): case IDC_BUTTON1: // ID do botão // Define uma nova cor de fundo para o Edit Control // com o ID IDC_EDIT1 // Vermelho como cor de fundo hbrushEditBox = CreateSolidBrush(RGB(255, 0, 0)); // Atualiza o Edit Control InvalidateRect(GetDlgItem(hwnd, IDC_EDIT1), 0, TRUE); break; |
Java ::: Pacote java.awt ::: Graphics |
Como retornar a cor atual do contexto de desenho usando o método getColor() da classe Graphics do Java - Computação gráfica em JavaQuantidade de visualizações: 8338 vezes |
|
Antes de efetuar qualquer desenho na superfície de um componente, é importante saber qual cor está definida no momento, assim podemos alterá-la se necessário. Para isso podemos usar o método getColor() da classe Graphics. Este método retorna um objeto da classe Color. Veja um exemplo no qual obtemos a cor usada atualmente para desenhar na superfície de um JLabel:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria um JLabel
label = new JLabel();
c.add(label, BorderLayout.CENTER);
// Cria um botão
JButton btn = new
JButton("Obter a cor do contexto");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
Graphics graphics = label.getGraphics();
// obtém a cor usada para desenhar no
// contexto de desenho
Color cor = graphics.getColor();
JOptionPane.showMessageDialog(null,
"A cor usada atualmente é " +
cor.toString());
}
}
);
// Adiciona o botão à janela
c.add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executar este código Java nós teremos o seguinte resultado: A cor usada atualmente é java.awt.Color[r=0,g=0,b=0] |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar a quantidade de linhas e colunas de um vetor ou matriz usando a propriedade shape do objeto ndarray da biblioteca NumPy do PythonQuantidade de visualizações: 3426 vezes |
Podemos usar a propriedade shape do objeto ndarray da biblioteca NumPy para obter a quantidade de linhas e colunas em um vetor ou matriz. Para um vetor, o retorno será a quantidade de colunas seguida por uma vírgula. Para matrizes, a propriedade retornará a quantidade de linhas e colunas. Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar um vetor com 8 elementos
vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4])
# vamos mostrar a quantidade de linhas e colunas nesse vetor
print("Linhas e colunas no vetor:", vetor.shape)
# agora vamos criar uma matriz de 2 linhas e 4 colunas
matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]])
# vamos mostrar a quantidade de linhas e colunas nessa matriz
print("Linhas e colunas na matriz:", matriz.shape)
if __name__== "__main__":
main()
Ao executarmos este código nós teremos o seguinte resultado: Linhas e colunas no vetor: (8,) Linhas e colunas na matriz: (2, 4) Além de usar a propriedade shape do objeto ndarray, nós podemos também efetuar uma chamada ao método global shape() da NumPy. Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar um vetor com 8 elementos
vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4])
# vamos mostrar a quantidade de linhas e colunas nesse vetor
print("Linhas e colunas no vetor:", np.shape(vetor))
# agora vamos criar uma matriz de 2 linhas e 4 colunas
matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]])
# vamos mostrar a quantidade de linhas e colunas nessa matriz
print("Linhas e colunas na matriz:", np.shape(matriz))
if __name__== "__main__":
main()
Execute e veja que o resultado é o mesmo para ambos os códigos. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica |
Exercícios Resolvidos de Java - Como aplicar a Fórmula da Vazão pelo Método Racional em Java - De acordo com o método racional, a vazão máxima a ser consideradaQuantidade de visualizações: 559 vezes |
|
Pergunta/Tarefa: Neste exercício de Java nós veremos como aplicar a Fórmula da Vazão pelo Método Racional para resolver uma questão de Hidrologia que caiu no concurso para Analista na Área de Engenharia Sanitária do MPE-MS em 2013. 1) De acordo com o método racional, a vazão máxima a ser considerada no projeto de um bueiro para uma chuva de intensidade igual a 2 mm/h, com duração igual ou superior ao tempo de concentração da bacia de contribuição que possui área igual a 18 km2 e coeficiente de escoamento superficial igual a 0,7 será, em m3/s, igual a A) 5,4. B) 7,0. C) 11,5. D) 14,0. E) 25,2. Sua saída deve ser parecida com: Intensidade da chuva em mm/h: 2 Área da bacia em quilômetros quadrados: 18 Coeficiente de escoamento: 0.7 A vazão máxima é: 7.0 O primeiro passo para resolver esta questão é relembrando a fórmula da Vazão pelo Método Racional. Apresentado pela primeira vez em 1851 por Mulvaney e usado por Emil Kuichling em 1889, o Método Racional é um método indireto e estabelece uma relação entre a chuva e o escoamento superficial (deflúvio). Usamos esta fórmula para calcular a vazão de pico de uma determinada bacia, considerando uma seção de estudo. Eis a fórmula: \[Q = \frac{C \cdot I \cdot A}{360} \] Onde: Q = vazão de pico (m3/s); C = coeficiente de escoamento superficial que varia de 0 a 1. I = intensidade média da chuva (mm/h); A = área da bacia (ha), onde 1 ha = 10.000m2 Na questão do concurso nós já temos a intensidade da chuva em milímetros por hora, mas a área da bacia está em quilômetros quadrados, o que exigirá uma conversão para hectares. No código Java eu mostro essa parte comentada. Então, hora de vermos 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 ler a precipitação ou intensidade da chuva em mm/h
System.out.print("Intensidade da chuva em mm/h: ");
double intensidade = Double.parseDouble(entrada.nextLine());
// vamos ler a área da bacia em quilômetros quadrados
System.out.print("Área da bacia em quilômetros quadrados: ");
double area_bacia = Double.parseDouble(entrada.nextLine());
// vamos ler o coeficiente de escoamento
System.out.print("Coeficiente de escoamento: ");
double coeficiente = Double.parseDouble(entrada.nextLine());
// agora vamos transformar quilômetros quadrados em
// hectares
area_bacia = area_bacia * 100;
// e vamos calcular a vazão de pico em metros cúbicos
double vazao = ((coeficiente * intensidade * area_bacia) / 360.0);
// e mostramos o resultado
System.out.println("A vazão máxima é: " + vazao);
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como inverter a ordem dos elementos de um array em JavaScript - Vetores e matrizes em JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
|
AutoCAD Civil 3D .NET C# - Como retornar a quantidade de perfis de um alinhamento do Civil 3D usando a função GetProfileIds() da API C# do AutoCAD Civil 3D wxWidgets - Como baixar, compilar a biblioteca e criar um projeto C++ wxWidgets usando o Visual Studio 2017 AutoCAD .NET API C# - Como selecionar uma polilinha no AutoCAD e mostrar as coordenadas de suas vértices usando a AutoCAD .NET C# API |
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 |



