![]() |
|
|
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 Cards de Hidrologia |
||
|
||
|
|
||
JavaScript ::: Web APIs (APIs Web) ::: MediaDevices Interface (Interface MediaDevices) |
HTML5 + JavaScript - Como usar a interface MediaDevices em seus códigos JavaScriptQuantidade de visualizações: 2232 vezes |
|
A interface MediaDevices é um daqueles objetos que vemos com frequencia em códigos JavaScript e não entendemos muito bem o seu funcionamento. Nesta dica vou decifrá-la. O objetivo da interface MediaDevices é fornecer acesso aos dispositivos de entrada de mídia conectadas e às quais o navegador tem acesso, a saber, câmeras, microfone e compartilhamento de tela. É por meio dessa interface que acessamos tais dispositivos. A interface MediaDevices está disponível como um objeto do objeto navigator. Veja como testar sua existência e suporte no seu navegador web:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>A interface MediaDevices</title>
</head>
<body>
<script type="text/javascript">
// o browser suporta o MediaDevices?
if(navigator.mediaDevices){
window.alert("O navegador suporta o MediaDevices");
}
else{
window.alert("O navegador não suporta o MediaDevices");
}
</script>
</body>
</html>
Note que mediaDevices é um objeto Singleton do objeto navigator, ou seja, só há uma instância desse objeto disponível no contexto de execução de códigos no navegador. Há também a preocupação em relação à segurança. Alguns navegador podem restringir o acesso a este objeto se você não estiver em um ambiente HTTPS ou localhost. |
PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar a instrução switch para desviar o fluxo de execução de seus códigos PHPQuantidade de visualizações: 15313 vezes |
A instrução switch é usada quando queremos testar várias possibilidades de fluxo de código mas não queremos usar vários elseif. Desta forma, cada possibilidade é testada em um bloco case. Veja um exemplo:
<?php
$valor = 4;
switch($valor){
case 0:
echo "Valor é igual a 0";
break;
case 1:
echo "Valor é igual a 1";
break;
case 2:
echo "Valor é igual a 2";
break;
default:
echo "Nenhuma das anteriores";
}
?>
Ao executarmos este código PHP nós teremos o seguinte resultado: Nenhuma das anteriores Veja que, se nenhuma das condições testadas em um bloco case for satisfatória, a parte default da instrução switch será executada. |
C# ::: Windows Forms ::: DataGridView |
Como ligar um DataGridView do C# Windows Forms à tabela de um banco de dados e efetuar inserção, alteração e remoção de registrosQuantidade de visualizações: 33514 vezes |
|
Uma das principais dúvidas que recebo em meu site é em relação aos passos necessários para associar um DataGridView com a tabela de um banco de dados e listar os dados. Em tempo de design este processo é relativamente fácil, visto que temos wizards que nos acompanham e fazem o trabalho mais pesado nos bastidores. No entanto, o cenário é completamente diferente quando temos que realizar tal tarefa via código. Espero que esta dica o deixe mais preparado para enfrentar tais situações. Para esta dica eu fiz uma conexão Visual C# 2005 + MySQL 5.0 usando ODBC (caso tenha dúvidas sobre isso, veja minha seção sobre C# + MySQL). Criei uma tabela MySQL chamada clientes contendo id, nome, idade, cidade e estado do cliente. Criei uma classe de conexão, inseri um DataGridView no formulário e coloquei as declarações abaixo na classe do formulário Form1.cs (fora dos métodos, para que os dados sejam globais na classe): // membros de instância de acesso global na classe // Dica: Se estiver usando SQL Server, troque "Odbc" por // "Sql" (Ex: SQLConnection, SqlCommand, SqlDataAdapter) // conexão com o banco de dados OdbcConnection conn = null; OdbcCommand cmd = null; OdbcDataAdapter adapter = null; DataSet ds = null; Em seguida colocamos o código abaixo no evento Click de um botão:
private void button4_Click(object sender, EventArgs e){
// Dica: Se estiver usando SQL Server, troque "Odbc"
// por "Sql" (Ex: SqlCommand, SqlDataAdapter, etc)
// obtém a conexão com o banco de dados
conn = ConexaoODBC.obterConexao();
if(conn != null){
// obtém todos os clientes cadastrados
cmd = new OdbcCommand("SELECT * FROM clientes",
conn);
adapter = new OdbcDataAdapter(cmd);
ds = new DataSet();
adapter.Fill(ds, "clientes_table");
// exibe os dados da tabela no DataGridView
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "clientes_table";
// fecha a conexão
ConexaoODBC.fecharConexao();
}
}
Aqui os dados já são listados no DataGridView. Porém, as alterações efetuadas no controle ainda não são repassadas para o banco de dados. Veja o código adicional no evento Click de outro botão:
private void button5_Click(object sender, EventArgs e){
// vamos salvar os dados do DataGridView para a tabela do
// banco de dados
// Dica: Se estiver usando SQL Server, troque "Odbc" por
// "Sql" (Ex: SqlCommandBuilder)
// obtém a conexão com o banco de dados
conn = ConexaoODBC.obterConexao();
if(conn != null){
OdbcCommandBuilder cmb = new OdbcCommandBuilder(adapter);
cmb.GetUpdateCommand();
adapter.Update(ds.Tables["clientes_table"]);
// fecha a conexão
ConexaoODBC.fecharConexao();
}
}
Pronto! Execute a aplicação, clique no primeiro botão para carregar os dados da tabela MySQL no DataGridView. Em seguida efetue algumas alterações, insira ou exclua linhas e clique no segundo botão. Feche a aplicação e abra-a novamente e se certifique de que os registros foram atualizados, inseridos ou removidos com sucesso. |
C ::: Dicas & Truques ::: Recursão (Recursividade) |
Como calcular o fatorial de um número em C usando recursividadeQuantidade de visualizações: 16645 vezes |
O fatorial de um determinado número, representado por n! equivale a multiplicar este número por seus antecessores. Assim, o fatorial de 4 (4!) pode ser calculado da seguinte forma:4 x 3 x 2 x 1 = 24 Sempre que falamos de recursão, o cálculo de fatorial nos auxilia na exemplificação por ser relativamente fácil de se entender todas as etapas do processo. O código abaixo mostra uma função recursiva em C que calcula o fatorial de qualquer número. Tenha cuidado. Calcular o fatorial de um número maior que 10 pode tornar sua máquina extremamente lenta, além de, muitas vezes, não retornar os resultados esperados.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// cabeçalho da função fatorial recursiva
int fatorial(int n);
// função principal do programa
int main(int argc, char *argv[]){
setlocale(LC_ALL,""); // para acentos do português
// vamos calcular o fatorial de 5
int res = fatorial(5);
// exibe o resultado
printf("O fatorial de 5 é: %d", res);
printf("\n\n");
system("PAUSE");
return 0;
}
// função recursiva para calcular o fatorial
// de um determinado número
int fatorial(int n){
if(n == 0){
return 1;
}
else{
return n * fatorial(n - 1);
}
}
Ao executar este código C nós teremos o seguinte resultado: O fatorial de 5 é: 120 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Um laço for que conta de 10 até 0Quantidade de visualizações: 10986 vezes |
|
Pergunta/Tarefa: Neste exercício você deverá modificar o Exercício Resolvido 1. Agora você deverá usar o laço for para contar de 10 até 0, ou seja, o inverso do exercício anterior. Novamente você deverá fazer dois exemplos. No primeiro você deverá escrever os valores na horizontal e no segundo você deverá escrever os valores na vertical: Resposta/Solução: Veja o código que usa o laço for para contar de 10 até 0 e exibir os valores na horizontal:
public static void main(String[] args){
// laço for que conta de 10 até e exibe os valores na horizontal
for(int i = 10; i >= 0; i--){
System.out.print(i + " ");
}
}
Quando você executar este código, os valores deverão ser impressos da seguinte forma: 10 9 8 7 6 5 4 3 2 1 0 Agora, veja a modificação que faz com que os valores sejam impressos na vertical:
public static void main(String[] args){
// laço for que conta de 10 até 0 e exibe os valores na vertical
for(int i = 10; i >= 0; i--){
System.out.println(i + " ");
}
}
Agora os valores serão exibidos da seguinte forma: 10 9 8 7 6 5 4 3 2 1 0 |
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 |



