![]() |
|
|
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 - Construção Civil |
||
|
||
|
|
||
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o índice da primeira ocorrência de um caractere em uma string C# usando o método IndexOf() da classe StringQuantidade de visualizações: 9355 vezes |
|
Em alguma ocasião nós precisaremos verificar se um determinado caractere está contido em uma palavra, frase ou texto, e poderemos querer também retornar o índice da primeira ocorrência de tal caractere. Para isso nós podemos usar a função IndexOf() da classe String. Este método recebe o caractere ou substring desejada e retorna um valor inteiro indicando o índice da primeira ocorrência. Se o caractere não for encontrado, o valor -1 é retornado. Veja o código completo para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string frase = "Gosto de Java e C#";
// vamos obter o índice da primeira ocorrência da letra "J"
int pos = frase.IndexOf("J");
// o caractere for encontrado?
if (pos != -1) {
Console.WriteLine("O caractere foi encontrado" +
" na posição " + pos);
}
else {
Console.WriteLine("O caractere não foi encontrado");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: O caractere foi encontrado na posição 9 Tenha em mente que o método IndexOf() da classe String do C# diferencia letras maiúsculas de letras minúsculas. |
PHP ::: Dicas & Truques ::: Data e Hora |
Como adicionar ou somar dias a uma data usando a função mktime() do PHPQuantidade de visualizações: 1 vezes |
|
Nesta dica que mostrarei como é possível usar a função mktime() do PHP para adicionar dias a uma data. O truque aqui é construir uma nova data a partir da data atual e somar a quantidade de dias que queremos ao quinto argumento fornecido para a função mktime(). Quando fazemos isso, a própria função de encarrega de montar todo o resto e nos fornecer a nova data. Veja o código completo para o exemplo:
<html>
<head>
<title>Estudos PHP</title>
</head>
<body>
<?php
echo "Hoje é: " . date("d/m/Y") . "<br>";
$proxima_data = mktime(0, 0, 0, date("m"),
date("d") + 20, date("Y"));
echo "Daqui 20 dias será: " . date("d/m/Y",
$proxima_data);
?>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: Hoje é: 10/03/2021 Daqui 20 dias será: 30/03/2021 |
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: 10292 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. |
GoLang ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString()Quantidade de visualizações: 1402 vezes |
|
Em algumas situações nós precisamos obter e retornar o tamanho de uma string, ou seja, a quantidade de caracteres em uma palavra, frase ou texto. Para isso nós podemos duas funções na linguagem Go: len() e RuneCountInString(). O método len() retorna a quantidade de bytes contidos em uma string. Note, porém, que esta função não é recomendada quando estamos lidando com caracteres do conjunto utf8, que requerem dois bytes. Dessa forma, se estivermos certos de que a string não possui acentos ou caracteres especiais, então o método len() é o mais adequado. Veja um trecho de código Golang no qual pedimos para o usuário informar uma palavra ou frase e em seguida nós informamos a quantidade de caracteres contidos nela:
// pacote principal
package main
// vamos importar os módulos necessários
import (
"bufio"
"fmt"
"os"
"strings"
)
// esta é a função principal do programa
func main() {
// variáveis que vamos usar na resolução do problema
var frase string
var tamanho int
// vamos pedir para o usuário informar uma
// palavra ou frase
fmt.Print("Informe uma palavra ou frase: ")
var entrada = bufio.NewReader(os.Stdin)
frase, _ = entrada.ReadString('\n')
frase = strings.TrimSpace(frase)
// vamos obter o tamanho da string
tamanho = len(frase)
// e mostramos o resultado
fmt.Printf("A palavra ou frase contém %d caracteres",
tamanho)
}
Ao executarmos este código Go nós teremos o seguinte resultado: Informe uma palavra ou frase: Gosto de Python A palavra ou frase contém 15 caracteres Se contarmos a quantidade de caracteres na string informada, realmente veremos que o código retornou o resultado esperado. O problema acontece quando informamos uma palavra ou frase com acentos ou caracteres especiais. Experimente e veja que a função len() começa a retornar uma contagem estranha. Quando nossas strings possuem caracteres especiais ou com acentos, a função a ser usada é RuneCountInString(). Veja:
// pacote principal
package main
// vamos importar os módulos necessários
import (
"bufio"
"fmt"
"os"
"unicode/utf8"
"strings"
)
// esta é a função principal do programa
func main() {
// variáveis que vamos usar na resolução do problema
var frase string
var tamanho int
// vamos pedir para o usuário informar uma
// palavra ou frase
fmt.Print("Informe uma palavra ou frase: ")
var entrada = bufio.NewReader(os.Stdin)
frase, _ = entrada.ReadString('\n')
frase = strings.TrimSpace(frase)
// vamos obter o tamanho da string
tamanho = utf8.RuneCountInString(frase)
// e mostramos o resultado
fmt.Printf("A palavra ou frase contém %d caracteres",
tamanho)
}
Ao executarmos este novo código nós teremos o resultado: Informe uma palavra ou frase: Código A palavra ou frase contém 6 caracteres |
C# ::: Windows Forms ::: TextBox |
C# Windows Forms Avançado - Como rolar as linhas de um TextBox para baixo uma de cada vez usando a API do WindowsQuantidade de visualizações: 7628 vezes |
|
Em algumas situações gostaríamos de rolar para baixo o conteúdo de um TextBox de múltiplas linhas uma linha de cada vez. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_LINEDOWN para seu parâmetro wParam. O valor do parâmetro lParam é zero. Veja um trecho de código que rola para baixo o conteúdo de um TextBox uma linha de cada vez. 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_LINEDOWN = 1;
// handle para a caixa de texto
IntPtr handle = textBox1.Handle;
IntPtr wParam = (IntPtr)SB_LINEDOWN;
IntPtr lParam = IntPtr.Zero;
// vamos fazer com que o TextBox role uma linha para baixo
SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam);
}
|
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





