![]() |
|
|
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. |
||
Delphi ::: VCL - Visual Component Library ::: TStringGrid |
Como usar o evento OnDrawCell para controlar o desenho das células em um TStringGrid do DelphiQuantidade de visualizações: 16725 vezes |
O evento OnDrawCell, definido originalmente na classe TCustomDrawGrid, é disparado quando uma determinada célula do TStringGrid precisa ser desenhada. Este evento possui a seguinte assinatura:property OnDrawCell: TDrawCellEvent; O tipo Grids.TDrawCellEvent apresenta, no Delphi 2009, a seguinte lista de parâmetros: TDrawCellEvent = procedure(Sender: TObject; ACol, ARow: Longint; Rect: TRect; State: TGridDrawState) of object; Vamos ver cada um destes parâmetros separadamente: Sender - Representa a grid na qual a célula está sendo desenhada; ACol, ARow - Índices da coluna e linha na qual a célula está sendo desenhada; Rect - Localização da célula na área de desenho (canvas); State - Um objeto Grids.TGridDrawState que indica se a célula possui o foco (gdFocused), está selecionada (gdSelected) e se a mesma é uma célula fixa (gdFixed). Células fixas permanecem vísiveis quando as barras de rolagem são acionadas. Veja um trecho de código no qual usamos o evento OnDrawCell para colorir de amarelo o fundo de uma determinada célula do TStringGrid:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
conteudo: String;
begin
// vamos obter o conteúdo da célula
conteudo := StringGrid1.Cells[ACol, ARow];
// vamos colorir a célula na segunda linha e terceira
// coluna com o fundo amarelo
if (ACol = 2) and (ARow = 1) then
begin
StringGrid1.Canvas.Brush.Color := clYellow;
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextRect(Rect, Rect.Left, Rect.Top,
conteudo);
end;
end;
Para este exemplo deixei o valor da propriedade DefaultDrawing do TStringGrid como true. Isso faz com que o fundo da célula seja pintado antes que o evento DrawCell seja chamado e o efeito 3D das células fixas seja exibido ou o retângulo de foco ao redor da célula que possui o foco no momento seja desenhado após o evento. Experimente executar o exemplo com o valor false para a propriedade DefaultDrawing para ver o resultado. Veja agora um trecho de código no qual definimos a cor vermelha para o texto das células cujo valor inteiro seja menor que 10:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
conteudo: String;
begin
// vamos obter o conteúdo da célula
conteudo := StringGrid1.Cells[ACol, ARow];
// vamos definir a cor vermelha para o texto das células
// contendo valores menores que 10
if (conteudo <> '') and (StrToInt(conteudo) < 10) then
begin
StringGrid1.Canvas.Font.Color := clRed;
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextRect(Rect, Rect.Left, Rect.Top,
conteudo);
end;
end;
Tenha cuidado para que o valor da célula possa ser convertido para inteiro por meio do uso da função StrToInt(). Caso a conversão não for possível, uma exceção do tipo EConvertError será lançada. |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como remover espaços no início e no fim de uma string PHP usando a função trim()Quantidade de visualizações: 5 vezes |
|
The trim() function removes whitespaces and other predefined characters from both sides of a string. A função trim() do PHP é muito útil quando precisamos excluir os espaços antes e depois de uma palavra, frase ou texto. Veja um exemplo de seu uso: <?php // uma frase contendo espaços no início e // no final $frase = " PHP? Eu gosto de PHP. "; // vamos remover os espaços no início e no fim $frase = trim($frase); // e mostramos o resultado echo "A frase é: " . $frase; ?> Além dos espaços, a função trim() do PHP remove também os seguintes caracteres: "\0" (NULL), "\t" (Tabulação), "\n" (Nova linha), "\x0B" (Tabulação vertical), "\r" (Retorno para nova linha). |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em DelphiQuantidade de visualizações: 1971 vezes |
|
Nesta dica mostrarei como podemos tirar proveito do Teorema de Pitágoras para obter a medida do cateto adjascente quando temos as medidas da hipotenusa e do cateto oposto. Este teorema diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos", o que torna a nossa tarefa, na linguagem Delphi, muito fácil. 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: \[b^2 = c^2 - a^2\] Veja que agora o quadrado do cateto adjascente é igual ao quadrado da hipotenusa menos o quadrado do cateto oposto. 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 Delphi:
procedure TForm2.Button1Click(Sender: TObject);
var
a, b, c: Real;
begin
c := 36.056; // medida da hipotenusa
a := 20; // medida do cateto oposto
// agora vamos calcular a medida da cateto adjascente
b := sqrt(sqr(c) - sqr(a));
// e mostramos o resultado
Edit1.Text := 'A medida do cateto adjascente é: ' +
FloatToStr(b);
end;
Note que este cálculo foi feito a partir do evento Click de um botão Button1 e o resultado foi exibido na propriedade Text de uma caixa de texto Edit1. Ao executar este código Delphi nós teremos o seguinte resultado: A medida do cateto adjascente é: 30,0005855942847 Como podemos ver, o resultado retornado com o código Delphi confere com os valores da imagem apresentada. |
C# ::: Coleções (Collections) ::: List<T> |
Como remover um elemento em uma determinada posição de uma List<T> do C# usando a função RemoveAt()Quantidade de visualizações: 10163 vezes |
Em algumas situações gostaríamos de remover um elemento em uma determinada posição da List<T>. Para isso podemos usar o método RemoveAt(). Veja sua assinatura:public void RemoveAt( int index ) Note que só precisamos fornecer o índice do elemento a ser removido. Veja um exemplo:
static void Main(string[] args){
// vamos criar um objeto da classe List<T>
List<int> valores = new List<int>();
// vamos inserir quatro valores na lista
valores.Add(5);
valores.Add(2);
valores.Add(6);
valores.Add(9);
// vamos usar o laço foreach para percorrer os elementos na lista
Console.WriteLine("Elementos na lista:");
foreach(int v in valores){
Console.WriteLine(v);
}
// vamos remover o terceiro elemento (com índice 2)
valores.RemoveAt(2);
// vamos usar o laço foreach para percorrer os elementos na lista novamente
Console.WriteLine("Elementos na lista:");
foreach(int v in valores){
Console.WriteLine(v);
}
// vamos pausar a execução
Console.ReadKey();
}
Ao executarmos este código teremos o seguinte resultado: Elementos na lista: 5 2 6 9 Elementos na lista: 5 2 9 Este método pode lançar uma exceção do tipo ArgumentOutOfRangeException se o índice fornecido for menor que 0 ou igual ou superior à quantidade de itens na lista. |
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como calcular a transposta de uma matriz em Java - Java para Geometria Analítica e Álgebra Linear Java - Como converter Metros Quadrados em Quilômetros Quadrados em Java - Java para Física e Engenharia |
Você também poderá gostar das dicas e truques de programação abaixo |
|
VB.NET - Como usar o laço While em VB.NET Python - Datas e horas em Python - Como obter a hora como um decimal no intervalo 00-12 (formato 12 horas) |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




