![]() |
|
|
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 |
||
|
||
|
|
||
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como aplicar cores alternadas às colunas de um TDBGrid do Delphi (efeito zebrinha)Quantidade de visualizações: 10139 vezes |
|
Em algumas situações gostaríamos de aplicar o efeito zebrinha, ou seja, aplicar cores alternadas às colunas de um controle TDBGrid. Esta técnica é muito útil quando temos grids com várias colunas e queremos facilitar a visualização dos dados por parte dos usuários. A forma mais comum de se aplicar cores alternadas às colunas do DBGrid é por meio do evento OnDrawColumnCell. Veja o trecho de código abaixo:
procedure TForm3.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
grid: TDBGrid;
begin
// obtém um referência ao DBGrid
grid := sender as TDBGrid;
// o número da coluna é par?
if Odd(DataCol) then
grid.Canvas.Brush.Color := clWhite
else
grid.Canvas.Brush.Color := clYellow;
// vamos terminar de colorir a célula
grid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Execute este código e verá que a primeira coluna é pintada de branco, a segunda de amarelo, a terceira de branco e assim por diante. Note que neste código eu não tratei a seleção de células, na qual a cor do texto se iguala ao branco do fundo da célula. Veja mais dicas nesta seção para saber como realizar esta tarefa você mesmo. Fique atento ao fato de que este código aplica as cores alternadas às colunas mesmo se estas forem colunas persistentes com cores já definidas por meio do Object Inspector. Esta dica foi escrita e testada no Delphi 2009. |
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: 9525 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. |
GNU Octave ::: Desafios e Lista de Exercícios Resolvidos ::: Equações Lineares |
Exercício Resolvido de Octave - Sistema de Equações Lineares - Como resolver um sistema de equações lineares em OctaveQuantidade de visualizações: 802 vezes |
|
Pergunta/Tarefa: Este exercício de Octave mostra como resolver uma equação linear. 1) Dado o seguinte sistema de equações lineares: ![]() use o GNU Octave para encontrar os valores das incógnitas x, y e z. Sua saída deverá ser parecida com: x = 6 2 7 Para resolver esse sistema nós temos que definir três matrizes para representarmos as equações lineares no formato de matriz: Ax = b onde A, x, e b são matrizes. Dessa forma, para obter o conjunto de soluções, ou seja, as incógnitas, nós temos que escrever as equações lineares na forma: x = A \ b Veja agora o código Octave para a resolução (aqui eu fiz em modo interativo): >> % vamos criar a matriz A [ENTER] >> A = [4 3 2; 3 7 4; 8 9 5]; [ENTER] >> % agora vamos criar a matriz b [ENTER] >> b = [44; 60; 101]; [ENTER] >> % obtemos o conjunto de solucoes [ENTER] >> x = A \ b [ENTER] |
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Como tratar o erro StringIndexOutOfBoundsException em seus programas Java - A exceção StringIndexOutOfBoundsException da linguagem JavaQuantidade de visualizações: 12629 vezes |
|
A exceção StringIndexOutOfBoundsException é uma exceção (erro) que acontece quando fornecemos um índice fora dos limites permitidos para o acesso de caracteres individuais em uma string, geralmente usando o método charAt. Lembre-se de que os índices dos caracteres em uma string Java começam em 0 e vão até o tamanho da string menos 1. Antes de vermos os exemplos, observe a posição da classe pública StringIndexOutOfBoundsException na hierarquia de classes da plataforma Java:
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
java.lang.IndexOutOfBoundsException
java.lang.StringIndexOutOfBoundsException
Esta classe implementa a interface Serializable. Veja um trecho de código no qual fornecemos um índice de caractere inválido para o método charAt da classe String:
public class Estudos{
public static void main(String args[]){
String nome = "Java";
// vamos fornecer um índice inválido
System.out.println(nome.charAt(4));
System.exit(0);
}
}
Compile este código e execute-o. Você verá a seguinte mensagem de erro: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4 at java.lang.String.charAt(Unknown Source) at Estudos.main(Estudos.java:6) Experimente trocar a linha: System.out.println(nome.charAt(4)); por: System.out.println(nome.charAt(3)); Compile novamente e execute. Você verá que a mensagem de erro desapareceu. |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um diretório em C# usando a função Delete() da classe DirectoryInfoQuantidade de visualizações: 2 vezes |
|
O método Delete() da classe DirectoryInfo do C# é muito útil quando precisamos excluir um diretório. Esta função é do tipo void, ou seja, não retorna nada. Veja um código completo demonstrando o seu uso:
using System;
using System.IO;
namespace Estudos {
class Principal {
static void Main(string[] args) {
// vamos criar uma nova instância da classe DirectoryInfo
DirectoryInfo dir = new DirectoryInfo(@"C:\estudos_csharp\imagens");
// vamos tentar excluir o diretório
try {
dir.Delete();
Console.WriteLine("Diretório excluído com sucesso.");
}
catch (Exception e) {
Console.WriteLine("Não foi possível excluir o diretório: {0}", e.ToString());
}
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Diretório excluído com sucesso. Se o diretório a ser excluido não estiver vazio, a chamada ao método System.IO.DirectoryInfo.Delete() poderá gerar o seguinte erro: Não foi possível excluir o diretório: System.IO.IOException: A pasta não está vazia. : 'C:\estudos_csharp\imagens' at System.IO.FileSystem.RemoveDirectoryInternal(String fullPath, Boolean topLevel, Boolean allowDirectoryNotEmpty) at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive) at System.IO.DirectoryInfo.Delete() at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 12 |
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 |





