![]() |
|
|
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. |
||
PHP ::: Fundamentos da Linguagem ::: Passos Iniciais |
PHP para iniciantes - Quais as diferenças entre include e require do PHP?Quantidade de visualizações: 14213 vezes |
A principal diferença entre as diretivas require() e include() do PHP é que, se usarmos require() para incluir um arquivo que não pode ser incluído (talvez o arquivo não exista), um erro fatal será gerado e a execução de código na página será imediatamente suspenso. Um exemplo de tal mensagem de erro é:Warning: require(inexistente.php) [function.require]: failed to open stream: No such file or directory in /public_html/testes.php on line 3 Fatal error: require() [function.require]: Failed opening required 'inexistente.php' (include_path='.:/usr/share/pear') in /public_html/testes.php on line 3 Veja que geralmente recebemos um Warning e depois um Fatal error. Experimente criar o arquivo "inexistente.php" e as mensagens de advertência e erro desaparecerão. Se usarmos include() e o arquivo de inclusão não puder ser localizado, teremos uma advertência mas a execução do código na página não será interrompida: Warning: include(inexistente.php) [function.include]: failed to open stream: No such file or directory in /public_html/testes.php on line 3 Warning: include() [function.include]: Failed opening 'inexistente.php' for inclusion (include_path='.:/usr/share/pear') in /public_html/testes.php on line 3 O uso de require() ou include() vai depender da situação: require() é melhor empregado para carregar arquivos que são essenciais para o restante da página, por exemplo, se você tiver um site usando banco de dados, então usar require() para incluir o arquivo contendo o login e senha do banco de dados é muito melhor que usar include(). Se usarmos include() nesta situação, poderemos terminar gerando mais erros e advertências que o pretendido. include() deve ser usado quando o arquivo a ser incluído não é essencial para o correto funcionamento da página. Um exemplo disso é quando incluímos um arquivo de topo ou rodapé de páginas. |
Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como verificar se uma chave já existe no registro do Windows usando a função KeyExists() da classe TRegistry do DelphiQuantidade de visualizações: 17682 vezes |
|
Em algumas situações nós gostaríamos de verificar se uma determinada chave já existe no registro do Windows, talvez antes de criá-la, excluí-la ou tentar ler algum de seus valores. O método KeyExists() da classe TRegistry pode ser usado para esta finalidade. Este método recebe uma string representando a chave a ser pesquisada e retorna um valor Boolean indicando a existência da chave. Veja o trecho de código abaixo:
procedure TForm3.Button5Click(Sender: TObject);
var
reg: TRegistry;
begin
// uses Registry
// vamos criar uma instância da classe TRegistry
reg := TRegistry.Create;
// a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas
// vamos reafirmar isso
reg.RootKey := HKEY_CURRENT_USER;
// vamos verificar a existência de uma chave a partir da chave raiz
if reg.KeyExists('Arquivo de Códigos') then
begin
ShowMessage('A chave pesquisada existe.');
end
else
begin
ShowMessage('A chave pesquisada não existe.');
end;
// vamos liberar o registro
reg.Free;
end;
Aqui nós estamos verificando a existência da chave "Arquivo de Códigos" a partir da chave raiz HKEY_CURRENT_USER. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
HTML5 ::: Aplicativos Completos ::: Programas de desenho, edição e visualização de imagens e fotos |
Como criar um programa de desenho simples usando o objeto Canvas do HTML5Quantidade de visualizações: 7826 vezes |
|
Revisando alguns códigos que desenvolvi para clientes ao longo desses anos, encontrei um exemplo de um programa de desenho bem simples demonstrando as possibilidades gráficas do elemento Canvas do HTML. Este código foi escrito há uns dois anos e resolvi compartilhar com todos, para que vocês possam aprimorá-lo e acrescentar novas idéias, afinal, o HTML5 está mais atual do que nunca. Veja o resultado no navegador: ![]() Eu o escrevi de forma bem simples, sem usar jQuery ou qualquer outro framework, apenas JavaScript raiz mesmo, de forma que até os estudantes mais iniciantes não terão dificuldade de entender. Veja a listagem completa e com comentários:
<html>
<head>
<title>Desenhando no canvas do HTML5</title>
</head>
<body style="padding: 15px">
<b>Clique e arraste para desenhar</b><br><br>
<canvas id="quadro" style="border: 1px solid #666"
width="600" height="350"></canvas>
<br><br><button onClick="limpar()">Limpar</button>
<script type="text/javascript">
// obtém uma referência ao canvas
var quadro = document.getElementById('quadro');
// vamos obter o contexto de desenho
var areaDesenho = quadro.getContext("2d");
// podemos desenhar?
var podeDesenhar = false; // ainda não
// vetores para guardar as posições x, y, e se o mouse está sendo
// movimentado pressionado
var vetorX = new Array();
var vetorY = new Array();
var vetorArrastar = new Array();
// agora vamos adicionar na área de desenho um "ouvidor" de
// eventos mousedown, ou seja, vamos detectar quando o usuário
// pressionar o botão do mouse (sem soltar)
quadro.addEventListener('mousedown', function(e){
// podemos iniciar o desenho
podeDesenhar = true;
registrarClique(e.pageX - this.offsetLeft, e.pageY - this.offsetTop, false);
desenhar(); // faça o desenho, moço
});
// o "ouvidor" de evento que detecta se o mouse está sendo arrastado
// pressionado
quadro.addEventListener('mousemove', function(e){
if(podeDesenhar){
registrarClique(e.pageX - this.offsetLeft, e.pageY -
this.offsetTop, true);
desenhar(); // faça o desenho, moço
}
});
// o "ouvidor" de evento que detecta se o mouse foi liberado
// e interrompe o desenho
quadro.addEventListener('mouseup', function(e){
podeDesenhar = false;
});
// o mouse saiu da área de desenho?
quadro.addEventListener('mouseleave', function(e){
podeDesenhar = false;
});
function registrarClique(x, y, arrastar){
// aqui nós guardamos em vetores as posições x, y do clique ou
// o movimento do mouse pressionado.
vetorX.push(x);
vetorY.push(y);
vetorArrastar.push(arrastar);
}
// é aqui que a mágica ocorre
function desenhar(){
// primeiro vamos limpar o quadro de desenho
areaDesenho.clearRect(0, 0, areaDesenho.canvas.width,
areaDesenho.canvas.height);
areaDesenho.strokeStyle = "#5c5cd6"; // cor
areaDesenho.lineJoin = "round"; // formato da junção de linha
areaDesenho.lineWidth = 5; // largura da linha
// percorremos os vetores, usando como base o vetor de coordenadas x
for(var i = 0; i < vetorX.length; i++){
areaDesenho.beginPath(); // inicia o caminho
// o mouse foi arrastado neste evento?
if((vetorArrastar[i] == true && i > 0)){
areaDesenho.moveTo(vetorX[i - 1], vetorY[i - 1]);
}
else{
// é o início do desenho
areaDesenho.moveTo(vetorX[i] - 1, vetorY[i]);
}
// desenha a linha do ponto X ao ponto Y
areaDesenho.lineTo(vetorX[i], vetorY[i]);
// fecha o caminho
areaDesenho.closePath();
// conclui de fato o desenho
areaDesenho.stroke();
}
}
// e aqui nós limpamos a área de desenho e esvaziamos os vetores
function limpar(){
areaDesenho.clearRect(0, 0, areaDesenho.canvas.width,
areaDesenho.canvas.height);
vetorX = [];
vetorY = [];
vetorArrastar = [];
}
</script>
</body>
</html>
Salve o código como "desenho.html" (cuidado para não salvar como "desenho.html.txt") e abra-o no seu navegador, remoto ou localmente. Você pode começar suas modificações alterando a cor do desenho, a largura da linha, etc. Você pode também deixar figuras pré-configuradas e até permitir que o usuário inclua fotos no Canvas. Para os estudantes que já sabem Node.js, saiba que é possível enviar os três vetores via sockets em um ambiente real time para que outros usuários na rede vejam o seu desenho em tempo real. Bons estudos. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Criando dois vetores de inteiros de forma que a soma dos elementos individuais de cada vetor seja igual a 30Quantidade de visualizações: 12121 vezes |
|
Pergunta/Tarefa: Considere os seguintes vetores:
// dois vetores de 5 inteiros cada
int a[] = {50, -2, 9, 5, 17};
int b[] = new int[5];
Sua saída deverá ser parecida com: Valores no vetor a: 50 -2 9 5 17 Valores no vetor b: -20 32 21 25 13 Veja a resolução comentada deste exercício usando Java:
package estudos;
public class Estudos {
public static void main(String[] args) {
// dois vetores de 5 inteiros cada
int a[] = {50, -2, 9, 5, 17};
int b[] = new int[5];
// vamos preencher o segundo vetor de forma que a soma dos
// valores de seus elementos seja 30
for(int i = 0; i < b.length; i++){
b[i] = 30 - a[i];
}
// vamos mostrar o resultado
System.out.print("Valores no vetor a: ");
for(int i = 0; i < a.length; i++){
System.out.print(a[i] + " ");
}
System.out.print("\nValores no vetor b: ");
for(int i = 0; i < b.length; i++){
System.out.print(b[i] + " ");
}
System.out.println();
}
}
|
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
VB.NET - Como usar o laço While em VB.NET JavaScript - Formulários HTML - Como marcar ou desmarcar todas as checkboxes de um formulário HTML de uma só vez usando JavaScript |
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 |




