![]() |
|
|
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 AutoCAD Civil 3D |
||
|
||
|
|
||
Java Servlets ::: Dicas & Truques ::: URLs, Documentos e Páginas |
Como compartilhar dados entre um Java Servlet e uma página JSP usando a requisição HttpServletRequestQuantidade de visualizações: 8695 vezes |
|
Quando usamos o método forward() da interface RequestDispatcher para direcionar para um outro Java Servlet ou página JSP, tanto o objeto de requisição ServletRequest quanto o objeto de resposta ServletResponse são enviados também. Assim, podemos tirar proveito desta funcionalidade para compartilhar dados entre um servlet e uma página JSP usando a requisição. Vamos ver como isso é possível. Comece analisando o seguinte servlet:
package estudos;
import java.io.*;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
public class MeuServlet extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException{
// cria uma instância da classe Pessoa
Pessoa p = new Pessoa();
p.setNome("Osmar J. Silva");
// vamos colocar o objeto p na requisição
request.setAttribute("pessoaBean", p);
// agora direcionamos para a página exibir.jsp
RequestDispatcher dispatcher =
request.getRequestDispatcher("/exibir.jsp");
dispatcher.forward(request, response);
}
}
Note que aqui eu já estou usando o pacote jakarta.servlet em vez de javax.servlet. Confirme se você está usando o Java EE ou Jakarta EE. Veja que no método doGet() deste Servlet nós temos a criação de uma instância da classe Pessoa (Pessoa.java). Esta classe tem a seguinte estrutura:
package estudos;
public class Pessoa{
private String nome;
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome = nome;
}
}
Depois de criada a instância da classe nós a colocamos na requisição atual usando:
// vamos colocar o objeto p na requisição
request.setAttribute("pessoaBean", p);
O passo seguinte é direcionar a requisição atual para a página exibir.jsp (a View do MVC). Veja o código para esta página:
<jsp:useBean id="pessoaBean" scope="request"
type="estudos.Pessoa" />
<html>
<head>
<title>Estudos Servlet</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-2">
</head>
<body>
<h4>Nome da pessoa: <jsp:getProperty name="pessoaBean"
property="nome" /></h4>
</body>
</html>
Aqui nós estamos usando <jsp:getProperty> para acessar um dos atributos do bean pessoaBean. Poderíamos usar JSTL e EL. Veja:
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="pessoaBean" scope="request"
type="estudos.Pessoa" />
<html>
<head>
<title>Estudos Servlet</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-2">
</head>
<body>
<h4>Nome da pessoa: <c:out value="${pessoaBean.nome}"/></h4>
</body>
</html>
Fiz o mapeamento deste Java Servlet para a URL http://localhost:8080/estudos/meuservlet. Ao chamá-la nós teremos o seguinte resultado: Nome da pessoa: Osmar J. Silva |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um arquivo em Java usando a função renameTo() da classe FileQuantidade de visualizações: 7 vezes |
|
Nesta dica eu mostro como podemos tirar proveito do método renameTo() da classe File do Java para renomear arquivos. Lembre-se de que a classe File está no pacote java.io. Além disso, não coloquei try...catch no exemplo. Faça isso caso você deseje usar este código em aplicações reais. Veja o código completo:
package arquivodecodigos;
import java.io.File;
public class Estudos{
public static void main(String[] args){
// arquivo com o nome antigo
File arquivo1 = new File("c:\\java\\Conectar.java");
// arquivo com o novo nome
File arquivo2 = new File("c:\\java\\Conectar2.java");
boolean ok = arquivo1.renameTo(arquivo2);
if(ok){
System.out.println("Arquivo renomeado com sucesso.");
}
else{
System.out.println("Nao foi possivel renomear o arquivo.");
}
}
}
Se o arquivo puder se renomeado com sucesso você verá a mensagem: Arquivo renomeado com sucesso. |
C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em C usando a função sin()Quantidade de visualizações: 12281 vezes |
|
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem C. Esta função, disponível no header math.h, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
printf("Seno de 0 = %f", sin(0));
printf("\nSeno de 1 = %f", sin(1));
printf("\nSeno de 2 = %f", sin(2));
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Seno de 0 = 0.000000 Seno de 1 = 0.841471 Seno de 2 = 0.909297 Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: ![]() |
Delphi ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Delphi para iniciantes: Como usar o laço de repetição for do DelphiQuantidade de visualizações: 22999 vezes |
|
O laço for do Delphi (linguagem Object Pascal) é usado quando queremos que um determinado bloco de instruções seja executado um determinado número de vezes. Na maioria das vezes a execução deste laço é controlada por uma variável de controle, que deve ser declarada antes de seu uso. Veja um laço for que contará de 0 até 10 (incluído):
procedure TForm1.Button3Click(Sender: TObject);
var
i: Integer; // variável de controle
begin
for i := 0 to 10 do
begin
ShowMessage(IntToStr(i)); // mostra a mensagem 10 vezes
end;
end;
Veja que o valor da variável de controle i começa em 0 e é incrementado a cada iteração até que seu valor seja igual a 10, o que faz com que a execução do laço seja interrompida. A variável de controle de um laço for deve ser do tipo ordinal (inteiro, caractere, Boolean, enumerações ou sub-faixas) e não pode ser alterada dentro do laço. Veja:
procedure TForm1.Button3Click(Sender: TObject);
var
i: Integer; // variável de controle
begin
// este laço for pretende exibir os números pares de 0 a 10
for i := 0 to 10 do
begin
ShowMessage(IntToStr(i));
i := i + 2; // vamos ter problemas aqui
end;
end;
Ao tentarmos compilar este código teremos o seguinte erro: [DCC Error] Unit1.pas(107): E2081 Assignment to FOR-Loop variable 'i' Este erro nos informa que não é possível atribuir valor a uma variável de controle dentro do laço for. Se quisermos que o laço "conte" de trás para frente, podemos substituir a palavra-chave to por downto. Veja:
procedure TForm1.Button3Click(Sender: TObject);
var
i: Integer; // variável de controle
begin
// este laço for conta de 10 até 0
for i := 10 downto 0 do
begin
ShowMessage(IntToStr(i));
end;
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Coleções (Collections) ::: LinkedList |
Como usar a classe LinkedList do Java em suas aplicaçõesQuantidade de visualizações: 27489 vezes |
|
A classe LinkedList é uma implementação da interface List. Esta classe implementa boa parte das operações de uma lista e permite a inserção de qualquer tipo de elemento (incluindo null). Veja sua posição na hierarquia de classes Java:
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.AbstractSequentialList<E>
java.util.LinkedList<E>
Esta classe implementa as seguintes interfaces: Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, List<E> e Queue<E>. O uso mais comum de uma lista ligada é quando precisamos adicionar e remover elementos no início ou final da lista, acessar os elementos no início ou final e percorrer a lista elemento por elemento. Não é raro ver programadores usando a classe LinkedList como uma pilha ou fila. O trecho de código abaixo mostra como criar uma LinkedList, adicionar elementos e percorrê-los usando um ListIterator:
import java.util.*;
public class Estudos{
public static void main(String args[]){
// Cria uma LinkedList de String
LinkedList<String> lista = new LinkedList<String>();
// adiciona três elementos na lista
lista.add("Cuiabá");
lista.add("Goiânia");
lista.add("Belo Horizonte");
// obtém um ListIterator para percorrer toda a
// lista, começando no primeiro elemento
ListIterator<String> iterador = lista.listIterator(0);
while(iterador.hasNext()){
String cidade = iterador.next();
System.out.println(cidade);
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: Cuiabá Goiânia Belo Horizonte |
Desafios, 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 |







