![]() |
|
|
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 Engenharia Civil - Estruturas de Aço e Madeira |
||
|
||
|
|
||
C++ ::: Win32 API (Windows API) ::: Passos Iniciais |
Como usar a função WinMain das aplicações C++ GUI usando a Windows APIQuantidade de visualizações: 10418 vezes |
Cada programa de interface gráfica escrito em C++ e usando a Windows API possui como ponto de entrada de execução, a função WinMain(). Esta função é a equivalente do main() em aplicações console. Veja sua assinatura:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) É possível usar esta função sem a macro WINAPI, ou seja: int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) O primeiro passo a observar é que esta função deve retornar um valor inteiro quando finalizar. Isso serve para informar ao sistema operacional se algum erro ocorreu durante a tentativa de sua execução. Vejamos agora uma explicação detalhada de seus parâmetros: HINSTANCE hInstance - É um handle para o módulo executável do programa (o arquivo .exe na memória). HINSTANCE hPrevInstance - Sempre NULL para programas Win32. LPSTR lpCmdLine - Os argumentos da linha de comando como uma única string. Não inclui o nome do programa. int nCmdShow - Um valor inteiro que pode ser passado para a função ShowWindow(). hInstance é usado para tarefas tais como carregar recursos ou outras que são realizadas em um módulo. Um módulo é um EXE ou DLL carregada em seu programa. hPrevInstance era usado como um handle para uma instância executada anteriormente no Win16. Este cenário não mais ocorre. Em Win32 podemos ignorar por completo este parâmetro. |
Firebird ::: Dicas & Truques ::: Tipos de Dados |
Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de músicaQuantidade de visualizações: 19636 vezes |
|
Um BLOB é um tipo de dados que permite armazenar grandes informações no formato binário (Binary Large OBject). Campos deste tipo podem conter dados binários ou ASCII, por exemplo, grandes arquivos de texto, documentos para o processamento de dados, arquivos de programas CAD, imagens e gráficos, vídeos, arquivos de música, etc. O tamanho de um BLOB é quase ilimitado, uma vez que eles podem ser armazenados utilizando-se várias páginas. Isso assume, contudo, que um tamanho de página suficiente tenha sido fornecido para a base de dados. Por exemplo, usando uma página de 1kb, o tamanho do BLOB não pode exceder 0,5Gb. Se usarmos um tamanho de página de 4Kb, o tamanho do BLOB está limitado a 8Gb. O Firebird suporta dois tipos pré-definidos de BLOB, diferenciados pelo atributo sub-type (palavra-chave SQL SUB_TYPE): a) BLOB SUB_TYPE 0 - Este é o tipo BLOB genérico para o armazenamento de qualquer tipo de dados, incluindo texto. Geralmente chamado de "BLOB binário sem registro de tipo". b) BLOB SUB_TYPE 1 (BLOB SUB_TYPE TEXT) - Sub-tipo mais especializado para o armazenamento de texto puro. É equivalente aos tipos CLOB e MEMO implementados em alguns bancos de dados (DBMS). É recomendado para uso com interfaces de aplicações tais como componentes RAD ou motores de pesquisa que fornecem um tratamento especial para tais tipos. Veja um comando DDL CREATE TABLE que cria uma tabela contendo um campo do tipo BLOB (usando o sub-tipo text): CREATE TABLE COMPROMISSOS ( ID INTEGER NOT NULL, DESCRICAO BLOB SUB_TYPE 1 SEGMENT SIZE 4096 NOT NULL, DATA_HORA TIMESTAMP NOT NULL ); Aqui nós temos uma tabela com três campos: ID é do tipo INTEGER, DESCRICAO é do tipo BLOB com o sub-tipo 1 e DATA_HORA é do tipo TIMESTAMP. Veja agora um comando DML INSERT INTO que insere um registro nesta tabela: INSERT INTO COMPROMISSOS VALUES(10, 'REUNIÃO COM CLIENTE - SÃO PAULO', '2010-12-02 12:30:00'); Note que os valores para campos do tipo BLOB devem ser fornecidos entre aspas simples. Agora, veja um comando SQL DML SELECT que lista o registro inserido anteriormente: SELECT * FROM COMPROMISSOS; Este comando vai gerar o seguinte resultado: ID DESCRICAO DATA_HORA 10 REUNIÃO COM CLIENTE - SÃO PAULO 2/12/2010 12:30:00 |
Java ::: Coleções (Collections) ::: ArrayList |
Como pesquisar valores em uma ArrayList do Java usando a função indexOf() - Coleção Java para iniciantesQuantidade de visualizações: 17667 vezes |
|
Nesta dica eu mostrarei como podemos usar o método indexOf() para verificar a existência de um valor em uma ArrayList. Se o ítem for encontrado, seu índice (começando em 0) é retornado, do contrário o valor retornado é -1. Veja o código Java completo para o exemplo:
package arquivodecodigos;
import java.util.ArrayList;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// adiciona itens na lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
nomes.add("Osmar");
nomes.add("Maria");
// Verifica se o valor "Osmar" existe na
// ArrayList
int indice = nomes.indexOf("Osmar");
if(indice == -1){
System.out.println("O valor pesquisado não foi encontrado.");
}
else{
System.out.println("O valor foi encontrado no índice: " + indice);
}
System.exit(0);
}
}
Ao executar este código nós teremos o seguinte resultado: O valor foi encontrado no índice: 3 |
React.js ::: Dicas & Truques ::: Passos Iniciais |
Aprenda a desenvolver aplicações React diretamente no HTML, sem usar a ferramenta create-react-appQuantidade de visualizações: 2005 vezes |
|
Embora seja recomendável usar a ferramenta create-react-app para criar suas aplicações React, às vezes gostaríamos de testar algumas idéias diretamente no código HTML, ou seja, sem precisar passar pelo processo "npx create-react-app" -> "npm start" -> "npm run build". Tudo que temos que fazer é incluir três scripts, a saber, react.production.min.js, react-dom.production.min.js e babel.min.js. Estes scripts estão disponíveis para inclusão via CDN (o mais recomendado) ou você pode baixá-los para uso local, o que, com certeza, vai deixar o processo de desenvolvimento ainda mais rápido. Para obter os CDS ou fazer o download individual dos mesmos, basta pesquisá-los no Google por seus nomes. Nesta dica eu optei por baixar os scripts e rodá-los a partir da minha máquina de desenvolvimento. Os dois primeiros scripts nos permitem escrever código React em nossos códigos JavaScript, e o terceiro, babel.min.js, nos permite usar a síntáxe JSX (JavaScript XML) e também dar suporte ao JavaScript ES6 para os navegadores mais antigos. Então, vamos escrever código? Veja a listagem a seguir:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Estudos React</title>
<script src="js/react.production.min.js"></script>
<script src="js/react-dom.production.min.js"></script>
<script src="js/babel.min.js"></script>
</head>
<body>
<h1>Primeira aplicação React direto no HTML</h1>
<div id="minha_app"></div>
<script type="text/babel">
// vmaos criar um novo compomente React
class Mensagem extends React.Component{
render() {
return <h1>Olá, bem-vindo(a) ao React!</h1>
}
};
// vamos exibir o componente Mensagem na div minha_app
ReactDOM.render(<Mensagem />, document.getElementById('minha_app'));
</script>
</body>
</html>
Ao abrir esta página no navegador teremos o seguinte resultado: Primeira aplicação React direto no HTML Olá, bem-vindo(a) ao React! Pronto! Agora você pode testar idéias no React de forma bem rápida e fácil. Mas, lembre-se, em aplicações mais complexas, o uso da ferramenta create-react-app continua sendo o mais recomendado. |
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 MediaDevicesQuantidade de visualizações: 3270 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. |
Desafios, Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
Dicas e truques de outras linguagens |
|
C - Como calcular a energia cinética de um corpo dado sua massa e sua velocidade usando a linguagem C |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





