![]() |
|
|
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 Cards de Hidrologia |
||
|
||
|
|
||
C# ::: Windows Forms ::: ListBox |
Como excluir todos os itens selecionados em uma ListBox de múltipla seleção do C# Windows FormsQuantidade de visualizações: 11656 vezes |
|
Em algumas situações precisamos remover todos os itens selecionados em uma ListBox. Nesta dica mostrarei como isso pode ser feito. Comece criando uma ListBox com o nome listBox1 e adicione o código abaixo no evento Click de um botão:
private void button1_Click(object sender, EventArgs e){
// vamos adicionar alguns itens na ListBox
listBox1.Items.Add("Java");
listBox1.Items.Add("C++");
listBox1.Items.Add("Delphi");
listBox1.Items.Add("Python");
listBox1.Items.Add("VB.NET");
// vamos definir a seleção da lista como seleção múltipla
listBox1.SelectionMode = SelectionMode.MultiExtended;
}
Em seguida coloque o trecho de código abaixo no evento Click de um segundo botão:
private void button2_Click(object sender, EventArgs e){
// vamos obter a lista de itens selecionados
ListBox.SelectedObjectCollection selecionados =
new ListBox.SelectedObjectCollection(listBox1);
// vamos excluir todos os itens selecionados
for(int i = selecionados.Count - 1; i >= 0; i--){
listBox1.Items.Remove(selecionados[i]);
}
}
Execute a aplicação e clique no primeiro botão. Isso fará com que alguns itens sejam inseridos na lista e seu modo de seleção seja definido como seleção múltipla. Agora selecione alguns itens e clique no segundo botão. Você verá que os itens selecionados são automaticamente excluídos. O primeiro passo foi obter um objeto da classe ListBox.SelectedObjectCollection contendo apenas os itens selecionados na ListBox. Em seguida nós usamos um laço for para percorrer os itens do objeto ListBox.SelectedObjectCollection e fornecer o índice de cada item selecionado ao método Remove() da coleção de itens da ListBox. Esta coleção é uma instância da classe ListBox.ObjectCollection. Há uma segunda forma de se excluir todos os itens da ListBox sem usar um objeto da classe ListBox.SelectedObjectCollection. Tudo que precisamos fazer é combinar os métodos GetSelected() da classe ListBox e o método RemoveAt() da coleção de itens (objeto da classe ListBox.ObjectCollection):
private void button2_Click(object sender, EventArgs e){
// vamos excluir todos os itens selecionados
for(int i = listBox1.Items.Count - 1; i >= 0; i--){
// o item está selecionado?
if(listBox1.GetSelected(i)){
listBox1.Items.RemoveAt(i);
}
}
}
|
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como remover espaços em excesso de uma string C# usando expressões regularesQuantidade de visualizações: 15127 vezes |
|
Nesta dica mostrarei como podemos usar expressões regulares em C# para remover os espaços em excesso de uma frase ou texto. Esta técnica é bem útil quando estamos trabalhando com dados informados pelos usuários de nossas aplicações. Temos sempre que verificar, não somente o excesso de espaços no meio do texto, quanto espaços no início e no fim das strings informadas. Veja o código completo para o exemplo:
using System;
using System.Text.RegularExpressions;
namespace Estudos {
class Program {
static void Main(string[] args) {
// vamos construir o Regex com o padrão que queremos
Regex regex = new Regex("\\s +", RegexOptions.IgnoreCase |
RegexOptions.Compiled);
// frase com espaços
string frase = " Gosto muito de C# ";
// frase sem espaços
string resultado = (regex.Replace(frase, " ")).Trim();
// mostramos o resultado
Console.WriteLine("Frase com espaços em excesso: {0}", frase);
Console.WriteLine("Espaços em excesso removidos: {0}", resultado);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado:
Frase com espaços em excesso:
Gosto muito de C#
Espaços em excesso removidos:
Gosto muito de C#
|
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHPQuantidade de visualizações: 11258 vezes |
|
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas. As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes: a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
}
// vamos criar um novo objeto desta classe
$b = new Boleto();
?>
Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Cannot instantiate abstract class Boleto in ... A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos). b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato:
<?
// Uma classe Boleto não-abstrata
class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
?>
Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ... Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá. c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
// vamos herdar da classe Boleto
class BoletoBradesco extends Boleto{
}
?>
A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
// vamos herdar da classe Boleto
class BoletoBradesco extends Boleto{
public function imprimir($dados){
echo "Imprimindo o boleto: " . $dados;
}
}
// vamos criar um objeto da classe BoletoBradesco
$b = new BoletoBradesco();
// vamos imprimir o boleto
$b->imprimir("Dados do boleto");
?>
d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato que não deveria conter implementação
public abstract function imprimir($dados){
echo "Isso vai dar um erro daqueles!";
}
}
?>
Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro: Fatal error: Abstract function Boleto::imprimir() cannot contain body in ... Bastará remover a implementação do método que a mensagem de erro desaparecerá. |
HTML5 ::: Canvas Element ::: Linhas |
Computação gráfica usando HTML 5 - Como usar o método lineTo() do objeto Canvas do HTML5 para desenhar retasQuantidade de visualizações: 3499 vezes |
|
O método lineTo() do objeto Canvas do HTML5 nos permite desenhar linhas retas entre um ponto x e um ponto y. Para isso, usamos o método moveTo() para mover a caneta (ou pena) de desenho para um coordenada x, y e a partir deste ponto nós especificamos as coordenadas x, y para a outra extremidade da linha. O trecho de código a seguir desenha uma linha saindo das coordenadas x = 20, y = 20 e chegando até x = 300, y = 150. Veja: contexto.moveTo(20, 20); // move a caneta para x, y contexto.lineTo(300, 150); // coordenadas x, y E aqui estão os códigos HTML e JavaScript para o exemplo completo:
<!doctype html>
<html>
<head>
<title>O objeto Canvas do HTML5</title>
</head>
<body>
<Canvas id="canvas1" width="500" height="350"></Canvas>
<script type="text/javascript">
// obtemos uma referência ao elemento Canvas
var canvas = document.getElementById("canvas1");
// obtemos o contexto de desenho
var contexto = canvas.getContext("2d");
contexto.beginPath(); // inicia ou reseta o caminho anterior
contexto.moveTo(20, 20); // move a caneta para x, y
contexto.lineTo(300, 150); // coordenadas x, y
contexto.stroke(); // finaliza o desenho
</script>
</body>
</html>
Ao abrir esta página HTML nós teremos o seguinte resultado: ![]() |
PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em PHPQuantidade de visualizações: 1689 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 PHP. 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 PHP: <?php $c = 36.056; // medida da hipotenusa $b = 30; // medida do cateto adjascente // agora vamos calcular o comprimento da cateto oposto $a = sqrt(pow($c, 2) - pow($b, 2)); // e mostramos o resultado echo "A medida do cateto oposto é: " . $a; ?> Ao executar este código PHP nós teremos o seguinte resultado: A medida do cateto oposto é: 20.000878380711 Como podemos ver, o resultado retornado com o código PHP confere com os valores da imagem apresentada. |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






