![]() |
|
|
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 Hidrostática |
||
|
||
|
|
||
C# ::: Windows Forms ::: TextBox |
C# Windows Forms Avançado - Como rolar as linhas de um TextBox para o topo (parte superior) usando a API do WindowsQuantidade de visualizações: 7593 vezes |
|
Em algumas situações gostaríamos de rolar para cima o conteúdo de um TextBox de múltiplas. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_TOP para seu parâmetro wParam. O valor do parâmetro lParam é zero. Veja um trecho de código que rola para cima o conteúdo de um TextBox. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem. Comece adicionando a linha: using System.Runtime.InteropServices; na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método:
[DllImport("user32.dll", EntryPoint = "SendMessage",
CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg,
IntPtr wParam, IntPtr lParam);
Finalmente coloque o código abaixo no evento Click de um botão:
private void button2_Click(object sender, EventArgs e){
// antes de executar este exemplo certifique-se de que
// a propriedade Multiline do TextBox esteja definida
// como true e a propriedade ScrollBars contenha o valor
// Vertical ou Both
textBox1.Multiline = true;
textBox1.ScrollBars = ScrollBars.Vertical;
// constante para a mensagem WM_VSCROLL
const uint WM_VSCROLL = 0x115;
// constante para o parâmetro wParam
const int SB_TOP = 6;
// handle para a caixa de texto
IntPtr handle = textBox1.Handle;
IntPtr wParam = (IntPtr)SB_TOP;
IntPtr lParam = IntPtr.Zero;
// vamos fazer com que o TextBox role para o topo (parte superior)
SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam);
}
|
C++ ::: Win32 API (Windows API) ::: Processos |
Como usar a função EnumProcesses() da WinAPI em seus códigos C++ para obter os identificadores de cada processo ativo no WindowsQuantidade de visualizações: 8915 vezes |
A função EnumProcesses() pode ser usada quando queremos obter os ids de todos os processos sendo executados no momento no Windows. Veja o protótipo desta função:BOOL WINAPI EnumProcesses( DWORD* pProcessIds, DWORD cb, DWORD* pBytesReturned ); Esta função possui três parâmetros: a) DWORD* pProcessIds - Um ponteiro para uma matriz que receberá a lista de identificadores dos processos. É importante definir uma matriz um pouco grande, visto que não sabemos de antemão quantos processos serão retornados. b) DWORD cb - O tamanho da matriz pProcessIds em bytes. c) DWORD* pBytesReturned - O números de bytes retornados na matriz pProcessIds. Podemos facilmente saber quantos processos foram encontrados simplesmente dividindo o número de bytes retornados pela quantidade de bytes em um DWORD. Veja um trecho de código no qual listamos os ids de todos os processos sendo executados atualmente.
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <psapi.h>
/*
Este exemplo usa o header <psapi.h>
É necessário fazer uma referência à psapi.lib
*/
using namespace std;
int main(int argc, char *argv[]){
DWORD processos[1024]; // vamos listar até 1024 processos
DWORD pBytesReturned; // bytes retornados pela função EnumProcesses()
// vamos listar os processos
EnumProcesses(processos, sizeof(processos), &pBytesReturned);
// quantidade de processos retornados
int retornados = pBytesReturned / sizeof(DWORD);
// agora vamos listar os ids dos processos retornados
for(int i = 0; i < retornados; i++){
if(!processos[i] == 0){
cout << "Processo " << (i + 1) << ": " << processos[i] << endl;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
O id de um processo pode ser fornecido para muitas funções úteis do Windows, entre elas OpenProcess(). Veja um trecho de código no qual fechamos (forçadamente) um processo mediante o fornecimento de seu id:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[]){
// vamos fechar o processo com o id 3040
// CUIDADO: Verifique o id do processo antes de fechá-lo
// pode ser que você esteja fechando processos essenciais
// para o bom funcionamento do Windows
// vamos abrir o processo desejado
// vai retornar ERROR_INVALID_HANDLE se o processo não
// puder ser aberto
HANDLE hProcesso = OpenProcess(PROCESS_TERMINATE, 0, 3040);
// vamos fechar o processo
if(TerminateProcess(hProcesso, 0)){
cout << "Processo finalizado com sucesso." << endl;
}
else{
cout << "Erro ao finalizar o processo: " <<
GetLastError() << endl;
}
// vamos fechar o handle do processo
CloseHandle(hProcesso);
system("PAUSE");
return EXIT_SUCCESS;
}
|
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o código ASCII ou Unicode associado a um caractere em JavaScript usando a função charCodeAt()Quantidade de visualizações: 4 vezes |
|
O método charCodeAt() é usado para obter o código ASCII ou Unicode de um caractere em uma determinada posição em uma string. Esta função está disponível no objeto String do JavaScript. Veja um página HTML completa demonstrando o seu uso:
<!doctype html>
<html>
<head>
<title>Strings em JavaScript</title>
</head>
<body>
<script type="text/javascript">
var palavra = "Arquivo";
document.write("O código Unicode da letra \"A\" é " +
palavra.charCodeAt(0));
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: O código ASCII ou Unicode da letra "A" é 65 |
Portugol ::: Dicas & Truques ::: Laços de Repetição |
Como usar o laço de repetição PARA da linguagem Portugol - Apostila de Portugol para iniciantes em Algorítmos e Lógica de ProgramaçãoQuantidade de visualizações: 883 vezes |
|
O laço de repetição PARA da linguagem Portugol é usado quando queremos repetir uma ou mais instruções de nosso código um DETERMINADO número de vezes. Isso quer dizer que esse laço de repetição é usado quando sabemos exatamente quantas vezes uma instrução ou grupo de instruções será repetida. Vamos começar com um exemplo básico? Veja um laço PARA que escreve "Gosto de programação" cinco vezes na saída do programa:
programa {
funcao inicio() {
// um laço PARA que escreve uma frase 5 vezes
para (inteiro i = 0; i < 5; i++) {
escreva("Gosto de programar\n")
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: Gosto de programar Gosto de programar Gosto de programar Gosto de programar Gosto de programar Note que, em Portugol, a palavra chave que representa o laço, ou seja, a palavra "para" deve ser escrita sempre em letras minúsculas. Além disso, o laço para possui uma variável de controle que, na maioria das vezes, se chama "i" e é do tipo inteiro. Vamos ver mais um exemplo? Veja um laço PARA que escreve os números de 1 até 10 na saída do programa:
programa {
funcao inicio() {
// um laço PARA que conta de 1 até 10
para (inteiro i = 1; i <= 10; i++) {
escreva(i, " ")
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 E que tal contar de trás para frente, ou seja, de 10 até 1? Veja:
programa {
funcao inicio() {
// um laço PARA que conta de 10 até 0
para (inteiro i = 10; i >= 1; i--) {
escreva(i, " ")
}
}
}
Ao executar o código Portugol novamente nós teremos o seguinte resultado: 10 9 8 7 6 5 4 3 2 1 Para finalizar, veja algumas observações importantes em relação ao laço de repetição PARA da linguagem Portugol: a) O laço com variável de controle possui três partes. A inicialização da variável contadora, a definição do valor final do contador e a definição do incremento. Estas três partes são escritas juntas, no início do laço. b) A sintaxe é respectivamente a palavra reservada para, abre parênteses, a declaração de uma variável de controle, ponto e virgula, a condição a ser testada, ponto e virgula, uma alteração na variável de controle a ser feita a cada iteração, fecha parenteses, e entre chaves as instruções do programa. |
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como subtrair horas de uma data usando a função mktime() da linguagem PHPQuantidade de visualizações: 2 vezes |
|
Nesta dica veremos como é possível subtrair horas de uma data. Para isso nós usaremos a função mktime() da linguagem PHP, com as horas subtraídas da parte date("H") da nova data e hora. Veja o código PHP completo para o exemplo:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
echo "Agora é: " . date("d/m/Y - H:i:s") . "<br>";
$data_anterior = mktime(date("H") - 15, date("i"),
date("s"), date("m"), date("d"), date("Y"));
echo "15 horas atrás era: " .
date("d/m/Y - H:i:s", $data_anterior);
?>
</body>
</html>
Ao executar este código PHP nós teremos o seguinte resultado: Agora é: 21/04/2020 - 22:53:06 15 horas atrás era: 21/04/2020 - 07:53:06 |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
|
Android Java - Como detectar um clique em um botão do Android usando setOnClickListener() e exibir uma mensagem AlertDialog JavaScript - Como adicionar zeros (ou outro caractere) no início de uma string usando o método padStart() da linguagem JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




