![]() |
|
|
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 Python |
||
|
||
|
|
||
C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um arquivo em C++ usando a função rename()Quantidade de visualizações: 12331 vezes |
Em algumas situações nossos códigos C++ precisam renomear arquivos. Isso pode ser feito com o auxílio da função rename() ou _rename(), disponível no header io.h or stdio.h (trazido da linguagem C). Veja a assinatura desta função:int rename(const char *oldname, const char *newname); a) EINVAL - Invalid argument - Os nomes dos arquivos contém caracteres inválidos; b) ENOENT - No such file or directory - O caminho do arquivo é inválido; c) EACCESS - Acesso negado - Algum outro programa está usando este arquivo e mantém controle sobre o mesmo. Veja um trecho de código C++ no qual renomeamos um arquivo:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// vamos renomear este arquivo
char arq_antigo[] = "C:\\Dev-Cpp\\arquivo.txt";
char arq_novo[] = "C:\\Dev-Cpp\\arquivo2.txt";
// vamos testar se o arquivo foi renomeado com sucesso
if(rename(arq_antigo, arq_novo) != 0){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Arquivo renomeado com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
É possível usar a versão Unicode de rename() ou _rename(). O método _wrename, também presente em io.h or stdio.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// vamos renomear este arquivo
wchar_t arq_antigo[] = L"C:\\Dev-Cpp\\arquivo.txt";
wchar_t arq_novo[] = L"C:\\Dev-Cpp\\arquivo2.txt";
// vamos testar se o arquivo foi renomeado com sucesso
if(_wrename(arq_antigo, arq_novo) != 0){
cout << "Erro: " << strerror(errno) << endl;
}
else{
cout << "Arquivo renomeado com sucesso" << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Revit C# ::: Dicas & Truques ::: Tratamento de Erros |
Como corrigir o erro OperationCanceledException em macros e add-ins do Revit C# APIQuantidade de visualizações: 691 vezes |
|
Nesta dica mostrarei como podemos tratar a exceção OperationCanceledException em macros e plug-ins feitos para o Revit usando a Revit C# API. Esta exceção está no namespace Autodesk.Revit.Exceptions e deve ser declarada por seu nome completo, para não ser confundida com System.OperationCanceledException. O erro OperationCanceledException ocorre quando uma operação é cancelada de forma inesperada. Por exemplo, no código abaixo nós pedimos para o usuário selecionar um grupo e, em seguida, informar um ponto na área de desenho do Revit para que o grupo seja copiado e colocado no ponto indicado. Se o usuário clicar com o botão direito ou pressionar Esc, a operação é cancelada automaticamente. O tratamento da exceção OperationCanceledException nos permite reagir a isso, indicando ao usuário o melhor caminho a ser seguido. O código apresentado aqui já foi visto em dicas e truques sobre a criação e manipulação de grupos de elementos no Revit usando a Revit C# API. No entanto, no código apresentado eu não fiz o tratamento de exceções. Veja o código Revit C# API completo para o exemplo:
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;
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) {
// vamos obter uma referência ao Document ativo
Document doc = this.ActiveUIDocument.Document;
// Vamos definir um objeto Reference para guardar
// o elemento selecionado pelo usuário
Reference ref_selecionado = null;
// pedimos para o usuário selecionar um grupo
Selection selecao = this.ActiveUIDocument.Selection;
try {
ref_selecionado = selecao.PickObject(ObjectType.Element,
"Selecione um grupo");
Element elem = doc.GetElement(ref_selecionado);
Group group = elem as Group;
// vamos pedir para o usuário selecionar um ponto na área de
// desenho do Revit
XYZ ponto = selecao.PickPoint(
"Selecione um ponto para posicionar o grupo");
// criamos uma nova transação e posicionamos a cópia do
// grupo nas coordenadas indicadas pelo usuário
Transaction transacao = new Transaction(doc);
transacao.Start("Copiar Grupo no Revit");
doc.Create.PlaceGroup(ponto, group.GroupType);
transacao.Commit();
// mostramos o resultado
TaskDialog.Show("Aviso", "O grupo foi copiado com sucesso.");
}
// Se o usuário clicar com o botão direito ou pressionar Esc
catch (Autodesk.Revit.Exceptions.OperationCanceledException ex) {
TaskDialog.Show("Aviso", "Erro: Operação cancelada pelo usuário");
}
catch (Exception ex) {
TaskDialog.Show("Aviso", "Erro: " + ex.Message);
}
}
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
}
}
Se o usuário cancelar a operação, ou seja, não selecionar nenhum grupo (talvez pressionando a tecla Esc), o código reagirá e mostrará a mensagem: Erro: The user aborted the pick operation. Se, em vez de selecionar um grupo, o usuário selecionar um outro elemento, então a mensagem de erro será: Erro: Referência de objeto não definida para uma instância de um objeto. |
CSS ::: Dicas & Truques ::: Cores de Fundo e Imagens de Fundo |
Exemplos de uso da propriedade background do CSS para definições cores e imagens de fundo em elementos HTMLQuantidade de visualizações: 9730 vezes |
|
Nesta dica mostrarei alguns exemplos muito úteis da propriedade background do CSS para definirmos cores e imagens de fundo para a página HTML e também para os elementos HTML: Exemplo 1: Como definir a cor de fundo para a página HTML usando a propriedade background:
body {background: #0099CC}
Exemplo 2: Como definir a cor de fundo e a imagem de fundo para a página HTML usando as propriedades background e url:
body {background: #0099CC url(fundo.gif)}
Exemplo 3: Como definir a cor de fundo, a imagem de fundo para a página HTML e a forma de repetição usando as propriedade background, url e repeat-x:
body {background: #0099CC url(fundo.gif)
repeat-x}
Exemplo 4: Como definir a cor de fundo, a imagem de fundo para a página HTML, a forma de repetição e como fixar a imagem de fundo usando as propriedade background, url, repeat-x e fixed:
body {background: #0099CC url(fundo.gif) repeat-x
fixed}
Exemplo 5: Como definir a cor de fundo, a imagem de fundo para a página HTML, sem repetição, fixa e posições inicias usando as propriedade background, url, repeat-x e fixed:
body {background: #0099CC url(fundo.gif) no-repeat
fixed 40 60}
|
Java ::: Java Swing - Componentes Visuais ::: JList |
Como retornar os índices dos itens selecionados em uma JList de seleção múltipla do Java SwingQuantidade de visualizações: 8735 vezes |
|
Em outra dica desta seção nós vimos como obter e retornar os valores selecionados em uma JList de múltipla seleção do Java Swing. Agora veremos como retornar os índices dos valores selecionados. Para isso nós vamos usar o método getSelectedIndices(), que retorna um vetor (array) de inteiros. Note o uso da constante ListSelectionModel.MULTIPLE_INTERVAL_SELECTION fornecida para o método setSelectionMode() da JList para indicar a forma de seleção que estamos usando no exemplo. Veja o código Java Swing completo para o exemplo:
package estudos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JList lista;
public Estudos() {
super("A classe JList");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria os itens da lista
String nomes[] = {"Carlos", "Marcelo", "Fabiana",
"Carolina", "Osmar"};
// Cria a JList
lista = new JList(nomes);
// Define a seleção múltipla para a lista
lista.setSelectionMode(
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
// Um botão que permite obter os índices do itens
// selecionados
JButton btn = new JButton("Obter índices selecionados");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
int[] indices = lista.getSelectedIndices();
String res = "Índices selecionados:\n";
for(int i = 0; i < indices.length; i++)
res += indices[i] + "\n";
JOptionPane.showMessageDialog(null, res);
}
}
);
// Adiciona a lista à janela
c.add(new JScrollPane(lista));
// Adiciona o botão à janela
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Lembre-se que as teclas Ctrl ou Shift devem estar pressionadas enquanto escolhemos os itens de uma JList de seleção múltipla. |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular a área de um círculo em Java dado o raio do círculoQuantidade de visualizações: 38441 vezes |
A área de um círculo pode ser calculada por meio do produto entre a constante PI e a medida do raio ao quadrado (r2). Comece analisando a figura abaixo:![]() Sendo assim, temos a seguinte fórmula: ![]() Onde A é a área, PI equivale a 3,14 (aproximadamente) e r é o raio do círculo. O raio é a medida que vai do centro até um ponto da extremidade do círculo. O diâmetro é a medida equivalente ao dobro da medida do raio, passando pelo centro do círculo e dividindo-o em duas partes. A medida do diâmetro é 2 * Raio. Veja agora um código Java completo que calcula a área de um círculo mediante a informação do raio:
package arquivodecodigos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
double area, raio;
Scanner in = new Scanner(System.in);
System.out.print("Informe o raio do círculo: ");
raio = Float.parseFloat(in.nextLine());
area = Math.PI * Math.pow(raio, 2);
System.out.println("A area do círculo de raio " +
raio + " é igual a " + area);
System.exit(0);
}
}
Ao executarmos este código nós teremos o seguinte resultado: Informe o raio do círculo: 5 A area do círculo de raio 5.0 é igual a 78.53981633974483 A circunferência é um conjunto de pontos que estão a uma mesma distância do centro. Essa distância é conhecida como raio. A circunferência é estudada pela Geometria Analítica e, em geral, em um plano cartesiano. O círculo, que é formado pela circunferência e pelos infinitos pontos que preenchem seu interior, é estudado pela Geometria Plana, pois ele ocupa um espaço e pode ter sua área calculada, diferentemente da circunferência. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
C++ - Como inicializar os valores dos elementos de um vetor C++ usando valores randômicos - Revisado LISP - Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para Engenharia |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





