![]() |
|
|
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 Ética e Legislação Profissional |
||
|
||
|
|
||
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como trabalhar com strings em Delphi - Como usar strings na linguagem DelphiQuantidade de visualizações: 28897 vezes |
|
Strings estão presentes em praticamente todos os programas que desenvolvemos, não importa a linguagem de programação usada. Sempre que queremos trabalhar com nomes de pessoas, nomes de cidades, palavras, frases e textos, as strings estão lá para nos auxiliar. Assim, para as linguagens de programação, as strings são apenas matrizes de caracteres (letras ou símbolos). Em Delphi podemos declarar e inicializar strings da seguinte forma: procedure TForm1.Button1Click(Sender: TObject); var nome: string; // declara uma variável do tipo string begin nome := 'Osmar J. Silva'; // inicializa a variável ShowMessage(nome); // exibe o conteúdo da string end; Quando declaramos uma string em Delphi usando a palavra-chave string, o compilador automaticamente assume o tipo UnicodeString, com uma capacidade de 2^30 caracteres (mais ou menos 1.073.741.824 caracteres) com uma capacidade variando de 4 bytes até 2GB. Além do tipo string, o Delphi suporta outros tipos que possibilitam também o trabalho com strings e caracteres. Entre eles podemos citar ShortString, AnsiString, WideString entre outros. Quando puder dê mais uma revisada nas minha dicas sobre strings e caracteres para aprender mais. É possível também usar o tipo string para criar strings com tamanhos pré-definidos. Veja:
var
nome: string[5]; // declara uma variável do tipo string
// que guardará apenas 5 caracteres
Aqui temos uma string que não suportará mais que cinco caracteres. Importante notar que, internamente, teremos agora uma string do tipo ShortString e não mais UnicodeString como anteriormente. Se tentarmos atribuir mais que cinco caracteres nesta variável, o restante será truncado: nome := 'Osmar J. Silva'; // inicializa a variável ShowMessage(nome); // mostrará apenas "Osmar" Para finalizar, veja como podemos solicitar ao usuário que informe seu nome e exibí-lo usando a função ShowMessage():
procedure TForm1.Button1Click(Sender: TObject);
var
nome: string; // declara uma variável do tipo string
begin
// vamos solicitar ao usuário que informe seu nome
nome := Dialogs.InputBox('Nome', 'Informe seu nome:', '');
ShowMessage('Seu nome é: ' + nome); // mostrará apenas "Osmar"
end;
Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
CSS ::: Dicas & Truques ::: Cores de Fundo e Imagens de Fundo |
Como definir uma imagem de fundo para um botão HTML usando a propriedade background-image do CSSQuantidade de visualizações: 10179 vezes |
Nesta dica mostrarei como podemos usar a propriedade background-image do CSS para aplicar uma imagem de fundo a elemento <button> do HTML. Vamos ver duas abordagens. Na primeira abordagem usaremos CSS inline. Veja:
<!doctype html>
<html>
<head>
<title>Estudos CSS</title>
</head>
<body>
<button style="background-image: url('fundo.jpg')">
Clique aqui</button>
</body>
</html>
Agora veja a mesma técnica usando um bloco CSS na seção <head> da página HTML e definindo um id para o botão:
<!doctype html>
<html>
<head>
<title>Estudos CSS</title>
<style>
#botao{
background-image: url('fundo.jpg');
}
</style>
</head>
<body>
<button id="botao">Clique aqui</button>
</body>
</html>
|
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como obter e exibir todos os itens selecionados em uma TListBox do Delphi de seleção múltiplaQuantidade de visualizações: 14964 vezes |
Este trecho de código mostra como podemos obter e exibir todos os itens selecionados em uma TListBox de seleção múltipla. Para executá-lo, coloque uma ListBox, um Memo e um Button em um formulário. Altere a propriedade MultiSelect da ListBox para True, adicione alguns itens e execute. Selecione um ou mais itens e clique no botão para visualizar o resultado. Note que usei um TStringList (classe concreta derivada de TStrings) para armazenar os itens selecionados. Veja o código:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
selecionados: TStringList;
begin
// para que este exemplo funcione corretamente, a ListBox
// deverá permitir seleção múltipla
// ListBox1.MultiSelect := True;
selecionados := TStringList.Create;
// vamos obter os itens selecionados na ListBox
if ListBox1.SelCount > 0 then
begin
for i := 0 to ListBox1.Count - 1 do
begin
if ListBox1.Selected[i] then
selecionados.Add(ListBox1.Items[i]);
end;
// vamos exibir os itens selecionados em um TMemo
Memo1.Lines.Clear;
Memo1.Lines.Add('Os itens selecionados são:');
for i := 0 to selecionados.Count - 1 do
Memo1.Lines.Add(selecionados[i]);
end
else
ShowMessage('Nenhum item selecionado.');
// vamos liberar o TStringList
selecionados.Free;
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma matriz identidade usando CQuantidade de visualizações: 2508 vezes |
|
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: ![]() Veja um código C completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
setlocale(LC_ALL,""); // para acentos do português
int n = 3; // ordem da matriz quadrada
int matriz[n][n]; // matriz quadrada
int i, j, linha, coluna;
int identidade = 1;
// vamos pedir para o usuário informar os elementos da matriz
for (i = 0; i < n; i++){
for (j = 0; j < n; j++) {
printf("Elemento na linha %d e coluna %d: ", (i + 1), (j + 1));
scanf("%d", &matriz[i][j]);
}
}
// agora verificamos se a matriz é uma matriz identidade
for(linha = 0; linha < n; linha++){
for(coluna = 0; coluna < n; coluna++){
if(matriz[linha][coluna] != 1 && matriz[coluna][linha] != 0){
identidade = 0;
break;
}
}
}
// agora mostramos a matriz lida
printf("\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", matriz[i][j]);
}
printf("\n");
}
if (identidade){
printf("\nA matriz informada é uma matriz identidade.");
}
else{
printf("\nA matriz informada não é uma matriz identidade.");
}
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
React ::: Elementos de Formulários HTML ::: input type text Element/Object |
Como obter o conteúdo de uma caixa de texto em React usando a função useRef() para acessar os elementos HTMLQuantidade de visualizações: 1167 vezes |
|
Nesta dica mostrarei como podemos usar useRef() para criar uma referência para um elemento HTML <input type="text">. Em seguida nós vamos usar a propriedade current.value para retornar o conteúdo da caixa de texto e atualizar o estado nomeAtualizado, criado a partir da função useState(). Este código, embora simples, é o ponto de partida para aplicações React bem interessantes, pois não fazemos uso do evento onChange das caixas de texto para atualizar o estado da aplicação. Isso, como é fácil de se perceber, economiza os recursos gastos em processamento desnecessário. Veja o código para App.js:
// vamos importar o useState e useRef
import {useState, useRef} from 'react';
// função App() que será exportada
export default function App() {
// vamos criar uma referência para a caixa
// de texto. Veja que esta referência será
// usada na declaração do elemento input type text
const txtNome = useRef(null);
// vamos usar um estado para guardarmos o conteúdo
// da caixa de texto
const [nomeAtualizado, setNomeAtualizado] = useState('');
// aqui nós gerenciamos o evento onClick do botão
const tratarEventoClick = () => {
// vamos obter o conteúdo da caixa de texto
// usando "txtNome.current.value"
setNomeAtualizado(txtNome.current.value);
};
// e retornamos para renderização
return (
<div>
<input type="text"
id="nome" name="nome"
ref={txtNome}/>
<h2>Nome Atualizado: {nomeAtualizado}</h2>
<button onClick={tratarEventoClick}>
Atualizar Estado</button>
</div>
);
}
E aqui está o código para o index.js:
// vamos fazer os imports necessários
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
// definimos a raiz da aplicação React
const root = ReactDOM.createRoot(
document.getElementById('root'));
// e renderizamos a aplicação no navegador
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
Execute a aplicação React, digite um nome na caixa de texto e clique o botão Atualizar Estado. Somente neste momento é que o conteúdo da caixa de texto será transferido para o estado nomeAtualizado e refletido no elemento <h2>. |
Veja mais Dicas e truques de React |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





