![]() |
|
|
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 |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Threads |
Como usar uma thread Java para animar o título de uma janela JFrame do Java SwingQuantidade de visualizações: 12153 vezes |
|
Nesta dica mostro como podemos usar uma thread para substituir um timer em uma aplicação Swing. Ao executar este código você verá que o texto da barra de títulos da aplicação pisca continuamente enquanto o aplicativo estiver sendo executado. Veja a listagem para o exemplo:
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("Uso de threads em aplicações Swing");
// vamos criar a thread que fará o título da janela
// piscar continuamente
// vamos criar duas threads
MinhaThread t1 = new MinhaThread(this);
t1.start();
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// classe que usaremos como thread
class MinhaThread extends Thread{
private JFrame janela;
private String titulo;
public MinhaThread(JFrame janela){
this.janela = janela;
this.titulo = janela.getTitle();
}
public void run(){
try{
while(true){
if(janela.getTitle().equals(""))
janela.setTitle(titulo);
else
janela.setTitle("");
Thread.sleep(300);
}
}
catch(InterruptedException ex){
// precisa fazer nada aqui
}
}
}
Um detalhe interessante é que, ao ser colocada para dormir, a thread usada no exemplo permite que as demais threads da aplicação continuem suas execuções normalmente. Isso permite que a janela seja movida, redimensionada, minimizada, etc. Lembre-se sempre de usar o método Thread.yield() caso a thread criada estiver executando alguma ação demorada. Isso evitará que a janela do programa pareça congelada. |
GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em GNU OctaveQuantidade de visualizações: 1425 vezes |
|
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem GNU Octave. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[a^2 = c^2 - b^2\] Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem GNU Octave (script GNU Octave):
c = 36.056 # medida da hipotenusa
b = 30 # medida do cateto adjascente
# agora vamos calcular o comprimento da cateto oposto
a = sqrt(power(c, 2) - power(b, 2))
# e mostramos o resultado
fprintf("A medida do cateto oposto é: %f\n", a);
Ao executar este código GNU Octave nós teremos o seguinte resultado: A medida do cateto oposto é: 20.000878 Como podemos ver, o resultado retornado com o código GNU Octave confere com os valores da imagem apresentada. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar todo o conteúdo de uma string para letras maiúsculas em C# usando a função ToUpper() da classe StringQuantidade de visualizações: 10561 vezes |
|
Em algumas situações nós precisamos converter todas as letras de uma palavra, frase ou texto para letras maiúsculas. Isso pode ser feito por meio do método ToUpper() da classe String da linguagem C#. Veja o exemplo a seguir:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string texto = "Gosto de programar em C#";
Console.WriteLine("Sem converter para letras maiúsculas: " +
texto);
// converte tudo para letras maiúsculas
texto = texto.ToUpper();
Console.WriteLine("Após a conversão para letras maiúsculas: " +
texto);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Sem converter para letras maiúsculas: Gosto de programar em C# Após a conversão para letras maiúsculas: GOSTO DE PROGRAMAR EM C# |
PHP ::: Fundamentos da Linguagem ::: Tipos de Dados |
PHP do básico ao profissional - Como usar o tipo de dados integer do PHPQuantidade de visualizações: 9524 vezes |
|
Integers (inteiros) são números inteiros, tais como 1, 12, 50, etc. A faixa de valores aceitáveis varia de acordo com os detalhes da plataforma na qual o PHP está sendo executado. Mas, geralmente, a faixa vai de -2.147.483.648 até +2.147.483.647. Especificamente, esta faixa é equivalente à faixa do tipo de dados long de seu compilador C. Infelizmente, o C padrão não define qual faixa o tipo long deve ter. Assim, em alguns sistemas poderemos ter uma faixa de inteiros diferente do afirmado acima. Literais integer podem ser escritos em decimal, octal ou hexadecimal. Valores decimais são representados por uma sequencia de dígitos não precedidos de zeros. A sequencia pode começar com um sinal de positivo (+) ou negativo (-). Se não houver sinal, assume-se que o valor é positivo. Exemplos de inteiros decimal incluem: 1998 -641 +33 Números octais consistem de um 0 (zero) e uma sequencia de dígitos de 0 à 7. Assim como os números decimais, números octais podem ser prefixados com um sinal de positivo ou negativo. Veja alguns exemplos de números octais e seus equivalentes decimais: 0755 // decimal 493 +010 // decimal 8 Valores hexadecimais começam com 0x, seguido por uma sequencia de dígitos (0-9) ou letras (A-F). As letras podem estar em maiúsculas ou minúsculas mas geralmente são escritas em maiúsculas. Números hexadecimais também podem incluir um sinal de positivo ou negativo. Veja alguns exemplos: 0xFF // decimal 255 0x10 // decimal 16 -0xDAD1 // decimal -56017 Se tentarmos armazenar um número inteiro que é grande demais para ser armazenado como inteiro, ou que não seja um número inteiro, ele será automaticamente convertido em um número de ponto-flutuante (contendo casas decimais). Podemos testar se uma variável é do tipo integer usando as funções is_int() ou is_integer(). Veja:
<?
$valor = 10;
if(is_int($valor)){
echo 'A variável $valor é do tipo integer';
}
?>
|
Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Como escrever em um arquivo texto usando as funções Write() e WriteLn() do DelphiQuantidade de visualizações: 29269 vezes |
|
Não há como fugir. Cedo ou tarde precisaremos escrever em um arquivo texto usando Delphi. E esta dica foi escrita com o propósito de facilitar esta tarefa. O primeiro passo para se escrever em um arquivo texto usando Delphi é declarar uma variável do tipo TextFile. Em seguida usamos a procedure AssignFile() para associar a variável TextFile ao arquivo em disco. Como queremos escrever conteúdo novo no arquivo, a função Rewrite() pode ser usada. Esta função cria o arquivo em disco se este ainda não existir. Se o mesmo existir, ele é excluído e a função cria outro com o mesmo nome. E, para escrever conteúdo no arquivo texto, usamos as funções Write() e WriteLn(). A primeira escreve no arquivo enquanto a segunda escreve no arquivo e adiciona o marcador de quebra de linha. Veja o exemplo para um melhor entendimento:
procedure TForm1.Button1Click(Sender: TObject);
var
arquivo: TextFile;
begin
// vamos fazer uma ligação entre a variável arquivo e o
// arquivo que queremos manipular
AssignFile(arquivo, 'C:\arquivo de codigos\dados.txt');
// vamos abrir o arquivo ou criar um novo
Rewrite(arquivo);
// vamos escrever no arquivo agora
WriteLn(arquivo, 'Sou a primeira linha.');
Write(arquivo, 'Sou a segunda linha.');
WriteLn(arquivo, ' E lá vem...');
WriteLn(arquivo, 'A terceira linha');
// hora de fechar o arquivo
CloseFile(arquivo);
// fim
ShowMessage('Operação realizada com sucesso.');
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
|
Android Java - Como detectar um clique em um botão do Android usando o evento onClick no XML de layout VB.NET - Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesiano |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






