![]() |
|
|
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. |
||
Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
Java ::: Java Swing - Componentes Visuais ::: JPanel |
Como fazer uma sub-classe de JPanel para desenhar um gráfico no Java SwingQuantidade de visualizações: 12589 vezes |
|
Nesta dica mostrarei como podemos criar uma classe Desenho que herda da classe JPanel do Java Swing para criar uma área de desenho. Esta é uma das práticas mais comuns quando queremos desenhar gráficos ou exibir imagens em Java Swing. Note como sobrescrevemos o método paintComponent(Graphics g) herdado da classe JPanel para pintar o fundo do painel na cor amarela e depois desenhamos um retângulo azul. Veja o código Java Swing completo para o exemplo:
package estudos;
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("A classe JPanel");
Container c = getContentPane();
Desenho desenho = new Desenho();
c.add(desenho);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// Sub-classe de JPanel
class Desenho extends JPanel{
public void paintComponent(Graphics g){
super.paintComponent(g);
// Define a cor de fundo
setBackground(Color.YELLOW);
// Desenha um quadrado na cor azul
g.setColor(Color.BLUE);
g.fillRect(10, 10, 100, 100);
}
}
|
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Manipulação de texto em PHP - Como acessar e modificar os caracteres individuais de uma stringQuantidade de visualizações: 3 vezes |
|
Os caracteres de uma string em PHP, ou seja, uma palavra, frase ou texto, podem ser acessados individualmente usando índices, igual fazemos com os vetores (o índice começando sempre em zero). Dessa forma, podemos tanto obter um determinado caractere quanto acessá-lo e modificá-lo. Veja um código PHP completo demonstrando o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $nome = "Carlos de Jesus"; echo "Original: " . $nome . "<br>"; echo "Vou alterar o 11º caractere.<br>"; $nome[10] = "M"; echo "Modificado: " . $nome; ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: Original: Carlos de Jesus Vou alterar o 11º caractere. Modificado: Carlos de Mesus |
Revit C# ::: Dicas & Truques ::: Revit C# Windows Forms |
Como criar um formulário Windows Forms a partir do Revit C#Quantidade de visualizações: 1188 vezes |
|
Nesta dica mostrarei os passos necessários para se criar uma aplicação Revit C# contendo uma formulário Windows Forms. O objetivo é demonstrar como o usuário pode interagir com os elementos do formulário para acessar e manipular objetos do Revit a partir de códigos C#. Antes de continuarmos, veja a janela Windows Forms que criamos logo abaixo: ![]() Veja que temos um formulário contendo 6 Labels e 6 TextBox contendo as coordenadas inicias e finais de uma linha geométrica usada para criar um novo eixo na área de desenho do Revit. Ao informar as coordenadas e clicar o botão Desenhar Eixo, um novo objeto da classe Grid da Revit API é criado e desenhado no documento atual. Este código é muito útil para iniciantes em programação Revit C# porque mostra como acessar o documento ativo usando ActiveUIDocument e em seguida passar este objeto para uma outra classe C#. De posse deste objeto nós podemos realizar várias tarefas, entre elas criar uma nova linha geométrica usando Line.CreateBound() e, em seguida, criar um novo Grid usando Grid.Create(). Veja o código completo para uma macro chamada Estudos do tipo Aplicativo. Se tiver dificuldades para executar, chama a gente nos contatos na parte superior do site que teremos prazer em ajudá-lo. Eis a listagem do código C#:
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Estudos {
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.
TransactionMode.Manual)]
[Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")]
public partial class ThisApplication {
private void Module_Startup(object sender, EventArgs e) {
JanelaPrincipal janela = new JanelaPrincipal();
janela.uidoc = this.ActiveUIDocument;
janela.ShowDialog();
}
private void Module_Shutdown(object sender, EventArgs e) {
// para fazer alguma limpeza de memória ou algo assim
}
#region Revit Macros generated code
private void InternalStartup() {
this.Startup += new System.EventHandler(Module_Startup);
this.Shutdown += new System.EventHandler(Module_Shutdown);
}
#endregion
}
// classe para representar o formulário
public class JanelaPrincipal : System.Windows.Forms.Form {
public UIDocument uidoc;
public System.Windows.Forms.TextBox txtX0;
public System.Windows.Forms.TextBox txtY0;
public System.Windows.Forms.TextBox txtZ0;
public System.Windows.Forms.TextBox txtX1;
public System.Windows.Forms.TextBox txtY1;
public System.Windows.Forms.TextBox txtZ1;
// construtor da classe
public JanelaPrincipal() {
this.Text = "Meu Formulário Revit C# Windows Forms"; // título da janela
this.Width = 390; // largura da janela
this.Height = 240; // altura da janela
// define a posição atual da janela
this.StartPosition = FormStartPosition.CenterScreen;
// vamos criar quatro labels e quatro caixas de texto
Label label1 = new Label();
label1.Text = "X Inicial:";
label1.Location = new System.Drawing.Point(20, 20);
label1.Height = 15;
label1.Width = 80;
Label label2 = new Label();
label2.Text = "Y Inicial:";
label2.Location = new System.Drawing.Point(120, 20);
label2.Height = 15;
label2.Width = 80;
Label label3 = new Label();
label3.Text = "Z Inicial:";
label3.Location = new System.Drawing.Point(220, 20);
label3.Height = 15;
label3.Width = 80;
txtX0 = new System.Windows.Forms.TextBox();
txtX0.Location = new System.Drawing.Point(20, 40);
txtX0.Width = 80;
txtX0.Height = 15;
txtY0 = new System.Windows.Forms.TextBox();
txtY0.Location = new System.Drawing.Point(120, 40);
txtY0.Width = 80;
txtY0.Height = 15;
txtZ0 = new System.Windows.Forms.TextBox();
txtZ0.Location = new System.Drawing.Point(220, 40);
txtZ0.Width = 80;
txtZ0.Height = 15;
Label label4 = new Label();
label4.Text = "X Final:";
label4.Location = new System.Drawing.Point(20, 80);
label4.Height = 15;
label4.Width = 80;
Label label5 = new Label();
label5.Text = "Y Final:";
label5.Location = new System.Drawing.Point(120, 80);
label5.Height = 15;
label5.Width = 80;
Label label6 = new Label();
label6.Text = "Z Final:";
label6.Location = new System.Drawing.Point(220, 80);
label6.Height = 15;
label6.Width = 80;
txtX1 = new System.Windows.Forms.TextBox();
txtX1.Location = new System.Drawing.Point(20, 97);
txtX1.Width = 80;
txtX1.Height = 15;
txtY1 = new System.Windows.Forms.TextBox();
txtY1.Location = new System.Drawing.Point(120, 97);
txtY1.Width = 80;
txtY1.Height = 15;
txtZ1 = new System.Windows.Forms.TextBox();
txtZ1.Location = new System.Drawing.Point(220, 97);
txtZ1.Width = 80;
txtZ1.Height = 15;
// botão que desenha o eixo nas coordenadas indicadas
Button button1 = new Button();
button1.Text = "Desenhar Eixo";
button1.Location = new System.Drawing.Point(95, 160);
button1.Width = 150;
button1.Click += new System.EventHandler(DesenharEixo);
// botão que fecha a janela
Button button2 = new Button();
button2.Text = "Fechar";
button2.Location = new System.Drawing.Point(265, 160);
button2.Width = 80;
button2.Click += new System.EventHandler(FecharJanela);
// adiciona os controles à janela
this.Controls.Add(label1);
this.Controls.Add(label2);
this.Controls.Add(label3);
this.Controls.Add(label4);
this.Controls.Add(label5);
this.Controls.Add(label6);
this.Controls.Add(txtX0);
this.Controls.Add(txtY0);
this.Controls.Add(txtZ0);
this.Controls.Add(txtX1);
this.Controls.Add(txtY1);
this.Controls.Add(txtZ1);
this.Controls.Add(button1);
this.Controls.Add(button2);
}
// função usada para desenhar um novo eixo no documento atual
private void DesenharEixo(object sender, System.EventArgs e) {
// primeiro obtemos uma referência ao documento atual
Document doc = uidoc.Document;
// criamos a linha geométrica para posicionar o eixo
XYZ inicio = new XYZ(Double.Parse(txtX0.Text), Double.Parse(txtY0.Text),
Double.Parse(txtZ0.Text));
XYZ final = new XYZ(Double.Parse(txtX1.Text), Double.Parse(txtY1.Text),
Double.Parse(txtZ1.Text));
// construímos a linha
Line linhaGeometrica = Line.CreateBound(inicio, final);
// iniciamos uma nova transação
using(Transaction t= new Transaction(doc)) {
t.Start("Criar um novo Grid");
Grid grid = Grid.Create(doc, linhaGeometrica);
t.Commit();
}
}
// função usada para fechar a janela
private void FecharJanela(object sender, System.EventArgs e) {
this.Close();
}
}
}
Não se esqueça de adicionar referências a System.Windows.Forms e System.Drawing. Basta, dentro do SharpDevelop, ir no menu Projeto -> Adicionar Referência. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Como calcular salário líquido em Python - Calculando o salário líquido de um professorQuantidade de visualizações: 1399 vezes |
|
Pergunta/Tarefa: Escreva um programa Python que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como float), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como float). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real). Dica: Use locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8'). Sua saída deverá ser parecida com: Informe o valor da hora aula: 28 Informe o número de horas trabalhadas no mês: 12 Informe o percentual de desconto do INSS: 8 Salário Bruto: R$ 336,00 Total de Descontos: R$ 26,88 Salário Líquido: R$ 309,12 Veja a resolução comentada deste exercício usando Python:
import locale
# função principal do programa
def main():
locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8')
# vamos ler o valor do hora aula
valor_hora_aula = float(input("Informe o valor da hora aula: "))
# vamos ler o número de horas trabalhadas no mês
horas_trabalhadas = int(input("Informe o número de horas trabalhadas no mês: "))
# vamos ler o percentual de desconto do INSS
percentual_desconto_inss = float(input("Percentual de desconto do INSS: "))
# vamos calcular o salário bruto
salario_bruto = valor_hora_aula * horas_trabalhadas
# agora calculamos o total do desconto
total_desconto = (percentual_desconto_inss / 100) * salario_bruto
# finalmente calculamos o salário líquido
salario_liquido = salario_bruto - total_desconto
# mostramos o resultado
print("Salário Bruto: R$ {0}".format(locale.currency(salario_bruto,
grouping=True, symbol=None)))
print("Total de Descontos: R$ {0}".format(locale.currency(total_desconto,
grouping=True, symbol=None)))
print("Salário Líquido: R$ {0}".format(locale.currency(salario_liquido,
grouping=True, symbol=None)))
if __name__== "__main__":
main()
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa que lê dois números inteiros e mostra o menorQuantidade de visualizações: 4780 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que solicita dois números inteiros ao usuário e mostra o menor deles. Mostre uma mensagem informando se os dois números são iguais. Sua saída deverá ser parecida com: Informe o primeiro número: 34 Informe o segundo número: 30 O menor número é: 30 Informe o primeiro número: 12 Informe o segundo número: 43 O menor número é: 12 Informe o primeiro número: 7 Informe o segundo número: 7 Os dois números são iguais. 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) {
Scanner entrada = new Scanner(System.in);
// vamos solicitar os dois números inteiros
System.out.print("Informe o primeiro número: ");
int num1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo número: ");
int num2 = Integer.parseInt(entrada.nextLine());
// o primeiro número é menor que o segundo?
if(num1 < num2){
System.out.println("O menor número é: " + num1);
}
else if(num2 < num1){ // o segundo número é menor que o primeiro?
System.out.println("O menor número é: " + num2);
}
else{
System.out.println("Os dois números são iguais.");
}
System.out.println("\n");
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





