![]() |
|
|
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 |
||
|
||
|
|
||
C# ::: Coleções (Collections) ::: List<T> |
Como pesquisar um elemento em uma lista do C# usando a função Find() e um PredicateQuantidade de visualizações: 15516 vezes |
|
Em algumas situações gostaríamos de pesquisar e retornar o primeiro elemento de uma List<T> que obedece a algum critério de busca. Assim, poderíamos, por exemplo, pesquisar um nome que começa com uma determinada palavra ou um preço de produto maior ou igual a um determinado valor. Para tais situações podemos usar o método Find(). Este método possui a seguinte assinatura: public T Find( Predicate<T> match ) Veja que o método pede um delegate do tipo Predicate<T> que define as condições para a pesquisa do elemento. Se o elemento for encontrado, este é retornado. Caso contrário, o valor padrão para T é retornado (null para referências). Veja um trecho de código no qual eu mostro como usar o método Find() em combinação com um método personalizado que permite usar um delegate anônimo. Desta forma conseguimos fornecer, em tempo de execução, o argumento para o parâmetro match do Predicate:
static void Main(string[] args){
// vamos criar um objeto da classe List<T>
List<string> nomes = new List<string>();
// vamos inserir quatro valores na lista
nomes.Add("Osmar J. Silva");
nomes.Add("Salvador Miranda de Andrade");
nomes.Add("Dyego Fernandes de Souza");
nomes.Add("Marcos de Paula Rocha");
// vamos pesquisar um valor na lista usando um método personalizado
// Neste exemplo vamos retornar o primeiro nome que contenha a palavra
// "Dyego"
string nome = encontrar(nomes, "Dyego");
// vamos verificar se o nome foi encontrado
if(nome != null){
// foi encontrado....vamos retornar o resultado
Console.WriteLine(nome);
}
else{
Console.WriteLine("Nenhum nome encontrado.");
}
// vamos pausar a execução
Console.Write("\n\nPressione qualquer tecla para continuar...");
Console.ReadKey();
}
// método auxiliar que permite encontrar um valor na lista usando
// o método Find() da classe List<T> e um Predicate
static string encontrar(List<string> lista, string texto){
string encontrado = null;
// vamos pesquisar o valor na lista usando seu método Find()
// Aqui o primeiro nome que passar no critério de busca será retornado
encontrado = lista.Find(delegate(string valor){
return valor.Contains(texto);
});
return encontrado;
}
O método Find() executa uma busca linear. Assim, este método é uma operação O(n), onde n é a quantidade de elementos na lista. |
C# ::: Windows Forms ::: ComboBox |
Como retornar o item selecionado em um ComboBox do C# Windows Forms usando a propriedade SelectedItemQuantidade de visualizações: 23556 vezes |
Muitas vezes precisamos obter o elemento selecionado em um ComboBox. Para isso podemos usar a propriedade SelectedItem. Esta propriedade retorna o item selecionado como um Object, o que nos permite efetuar um cast para o tipo que foi inserido. Veja um exemplo do uso deste método em um ComboBox que possui elementos do tipo String:
private void button1_Click(object sender, EventArgs e){
// vamos obter o item selecionado no ComboBox
// chamado "cidades"
object sel = cidades.SelectedItem;
// vamos exibir o resultado
MessageBox.Show("Valor do elemento: " + sel.ToString());
}
Aqui nós usamos o método ToString() da classe Object para obter uma representação textual do objeto sendo retornado. É claro que no caso de um objeto da classe String isso não é necessário. Incluímos apenas para fins didáticos. Neste trecho de código não convertemos o tipo retornado para um outro determinado tipo. Veja esta nova versão:
private void button1_Click(object sender, EventArgs e){
// vamos obter o item selecionado no ComboBox
// chamado "cidades"
string sel = (string)cidades.SelectedItem;
// vamos exibir o resultado
MessageBox.Show("Valor do elemento: " + sel.ToString());
}
Veja que agora nós fizemos uma conversão forçada (cast) de object para string. Se isso não fosse feito, a seguinte mensagem de erro de compilação seria exibida: Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?) |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como criar e usar métodos estáticos em PHPQuantidade de visualizações: 9668 vezes |
Como já vimos em outras dicas desta seção, uma classe possui propriedades (variáveis) e métodos. Veja a seguinte declaração de uma classe Produto:
<?php
// classe Produto com duas variáveis privadas e seus
// correspondentes métodos mutatórios e acessórios
class Produto{
private $nome;
private $preco;
public function setNome($nome){
$this->nome = $nome;
}
public function getNome(){
return $this->nome;
}
public function setPreco($preco){
$this->preco = $preco;
}
public function getPreco(){
return $this->preco;
}
}
?>
Aqui cada instância da classe Produto terá suas próprias variáveis $nome e $preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância. Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma. Métodos estáticos em PHP podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo:
<?php
// classe Pessoa com duas variáveis privadas e um método
// estático
class Pessoa{
private $nome;
private $idade;
// um método estático que permite verificar a validade
// de um número de CPF
public static function isCPFValido($cpf){
// alguma rotina aqui
return true;
}
}
// vamos efetuar uma chamada ao método isCPFValido() sem
// criar uma instância da classe Pessoa
if(Pessoa::isCPFValido("12345")){
echo "CPF Válido";
}
else{
echo "CPF inVálido";
}
?>
Observe como acessamos o método isCPFValido() sem a necessidade da criação de uma instância da classe Pessoa. Note que, se quisermos chamar um método estático a partir de uma instância na qual ele está declarado, devemos usar self em vez de $this (ainda que esta última forma não provoque nenhum efeito colateral) para deixar bem claro que o método chamado pertence à classe e não às suas instâncias. Finalmente note que um método estático não possui acesso à uma instância específica de uma classe por meio da referência $this (o que é compreensível, visto que uma chamada a um método estático não depende da existência de instâncias da classe que o declara). Ao tentarmos acessá-lo, teremos a seguinte mensagem de erro: Fatal error: Using $this when not in object context in ... |
C++ Builder ::: VCL - Visual Component Library ::: TEdit |
Como obter o tamanho do texto de um TEdit usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXTLENGTH usando C++ BuilderQuantidade de visualizações: 6418 vezes |
|
Embora o C++ Builder já nos forneça as ferramentas necessárias para obter a quantidade de caracteres contidos em um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_GETTEXTLENGTH. A função SendMessage() da API do Windows possui a seguinte assinatura: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); Note que precisamos informar o HWND (parâmetro hWnd) para a caixa de texto e a mensagem que será enviada ao controle. Os valores para os parâmetros wParam e lParam devem ser 0 (zero). Veja:
void __fastcall TForm3::Button2Click(TObject *Sender)
{
// vamos obter o tamanho do texto de um TEdit usando a função
// SendMessage() e a mensagem WM_GETTEXTLENGTH
int tam = SendMessage(Edit1->Handle, WM_GETTEXTLENGTH, 0, 0);
// vamos mostrar o resultado
ShowMessage("O Edit contém " + IntToStr(tam) + " caracteres.");
}
Ao executar este exemplo você terá um mensagem com um texto parecido com: O Edit contém 10 caracteres. |
Java ::: Dicas & Truques ::: Data e Hora |
Como construir uma data em Java usando o método set() da classe Calendar - Apostila Java BásicoQuantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como é possível usar o método set() da classe Calendar, do pacote java.util, para construir uma data e hora em Java. Veja o exemplo completo (fique atento à ordem do ano, mês, dia, horas, minutos e segundos):
package arquivodecodigos;
import java.util.Calendar;
public class Estudos{
public static void main(String args[]){
Calendar agora = Calendar.getInstance();
// ano, mês, dia, hora, minuto, segundo
// mês começa a partir de 0
agora.set(2005, 10, 23, 5, 29, 53);
// mostra o resultado
System.out.println(agora.getTime().toString());
}
}
Ao executar este código Java nós teremos o seguinte resultado: Wed Nov 23 05:29:53 BRST 2005 |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
JavaScript - Como calcular o coeficiente angular de uma reta em JavaScript dados dois pontos no plano cartesiano |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





