Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa 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.

C ::: Dicas & Truques ::: Ponteiros, Referências e Memória

Como usar ponteiros void na linguagem C - Curso de Linguagem C para iniciantes

Quantidade de visualizações: 17380 vezes
Em dicas desta seção você aprendeu que é possível criar ponteiros para os mais diferentes tipos. Veja:

int *ponteiro_int;
float *ponteiro_float;
double *ponteiro_double;

Existe, porém, um tipo de ponteiro que pode ser usado com todos os tipos de dados existentes ou ainda a serem criados. Este tipo é conhecido como void, ou seja, um ponteiro genérico e pode ser declarado da seguinte forma:

void *ponteiro; // ponteiro genérico

Veja um trecho de código no qual usamos um ponteiro genéríco para apontar para variáveis de diferentes tipos:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int valor = 20;
  float valor2 = 5.23;

  void *ponteiro; // ponteiro genérico

  ponteiro = &valor; // aponta para um inteiro
  printf("%d\n", *(int *)ponteiro);

  ponteiro = &valor2; // aponta para um float
  printf("%0.2f\n", *(float *)ponteiro);

  system("PAUSE");
  return 0;
}

Uma observação importante é a necessidade de uma conversão explícita (cast) no momento de desreferenciar um ponteiro genéríco. Neste caso ele precisa ser convertido para o tipo de ponteiro sendo usado no momento. Veja:

printf("%d\n", *(int *)ponteiro);

A parte (int *)ponteiro converte o ponteiro genérico em um ponteiro do tipo int e o símbolo * externo é usado para desreferenciar. Se essa conversão não for feita teremos um aviso e erro na maioria dos compiladores. Veja:

printf("%d\n", *ponteiro);

[Warning] dereferencing 'void *' pointer
invalid use of void expression  

Embora essa conversão seja necessária quando estamos desreferenciando um ponteiro genérico, podemos abrir mão dela na atribuição de um ponteiro genérico a um ponteiro de um tipo específico:

ponteiro = &valor; // aponta para um inteiro
int *ponteiro_int = ponteiro;
printf("%d\n", *ponteiro_int);

Para finalizar, saiba que as funções malloc() e calloc() retornam ponteiros void, ou seja, ponteiros genéricos que podem ser atribuídos a ponteiros de qualquer tipos. Neste caso, o ponteiro retornado por estas funções aponta para a primeira posição do bloco de memória requisitada.


JavaScript ::: Web APIs (APIs Web) ::: MediaDevices Interface (Interface MediaDevices)

Como acessar as mídias do usuário em JavaScript usando a função getUserMedia() da interface MediaDevices

Quantidade de visualizações: 3299 vezes
O método getUserMedia() da interface MediaDevices nos permite acessar as entradas de mídias do usuários, tais como áudio e vídeo. Isso facilita o desenvolvimento de aplicações muito interessantes, a saber, tirar foto usando a webcam, gravar áudio a partir do microfone, gravar vídeo a partir da webcam, etc.

No entanto, antes de usar o MediaStream retornado pelo método getUserMedia(), é importante saber que o usuário deverá dar a sua permissão. Assim, sempre que o método getUserMedia() é chamado, uma janela de informação é mostrada para que o usuário concorde ou não em permitir o acesso às suas mídias.

Veja, por exemplo, como solicitar acesso à webcam/câmera do usuário:

<!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">
  async function obterMediaUsuario(){
    // vamos obter o stream
    var stream = null;
    try{
      stream = await navigator.mediaDevices.getUserMedia({video: true});
      window.alert("A mídia para vídeo foi obtida com sucesso.");
      // agora podemos fazer algo com o stream aqui
    }
    catch(erro){
      window.alert("Houve um erro: " + erro);
    }  
  }
  
  // o browser suporta o MediaDevices?
  if(navigator.mediaDevices){
    obterMediaUsuario()
  }
  else{
    window.alert("O navegador não suporta o MediaDevices");  
  }
</script> 
  
</body>
</html>

Veja que usamos uma função assíncrona para getUserMedia(). Isso é necessário porque esta função retorna uma Promise que, em caso de sucesso, será convertida em um objeto MediaStream. Se o usuário não permitir o acesso, um erro do tipo NotAllowedError ou NotFoundError será retornado.

Alguns navegadores só permitem o uso do método getUserMedia() em ambiente seguro HTTPS ou localhost.

Em mais dicas dessa seção você verá como tirar proveito do MediaStream retornado pela função getUserMedia() e também como tratar melhor os erros retornados.


Java ::: Dicas & Truques ::: Mouse e Teclado

Como verificar se Num Lock está ativado no seu teclado usando o método getLockingKeyState() da classe Toolkit da linguagem Java

Quantidade de visualizações: 9196 vezes
Nesta dica mostrarei como é possível verificar se Num Lock está ativado no seu teclado. Para isso nós podemos usar o método getLockingKeyState() da classe Toolkit, do pacote java.awt.

Veja o exemplo completo:

package arquivodecodigos;

import java.awt.Toolkit;
import java.awt.event.*;
 
public class Estudos{
  public static void main(String[] args){
    Toolkit tk = Toolkit.getDefaultToolkit();    
     
    if(tk.getLockingKeyState(KeyEvent.VK_NUM_LOCK)){
      System.out.println("Num Lock está ativado");
    }  
    else{
      System.out.println("Num Lock não está ativado");    
    } 

    System.exit(0);
  }
}

Ao executar este código nós teremos o seguinte resultado:

Num Lock não está ativado


Java ::: Fundamentos da Linguagem ::: Passos Iniciais

Java GUI - Como ler entrada do usuário usando a classe JOptionPane da linguagem Java

Quantidade de visualizações: 22339 vezes
Nesta dica mostrarei como podemos ler a entrada do usuário em aplicações console (ou Java Swing) usando a classe JOptionPane e seu método showInputDialog(). Veja um exemplo:

package arquivodecodigos;

import javax.swing.*;
 
public class Estudos{
  public static void main(String[] args){
    String nome = JOptionPane.showInputDialog(
      "Qual é seu nome?");
    int idade = Integer.parseInt(JOptionPane.showInputDialog(
       "Qual é sua idade?"));
 
    System.out.println("Olá, " + nome + ". Você tem " + 
      idade + " anos.");
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

Olá, Osmar. Você tem 38 anos.


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 10 usuários muito felizes estudando em nosso site.