![]() |
|
|
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 - Construção Civil |
||
|
||
|
|
||
PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila PHP para iniciantes - Como criar um laço while infinito em PHPQuantidade de visualizações: 10533 vezes |
Um laço while() infinito pode ser criado em PHP simplesmente fornecendo o valor true para a condição do laço. Neste caso é preciso que você forneça uma forma de parar o laço, ou o script continuará executando até atingir seu tempo tempo máximo de execução, e um erro será exibido na página. Veja um trecho de código exemplificando o uso de um laço while infinito:
<?
$valor = 5;
while(true){
echo $valor . "<br>";
$valor++;
if($valor > 10)
break; // pára o laço
}
?>
|
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em PHP - Como usar construtores em suas classes PHPQuantidade de visualizações: 12109 vezes |
|
Muitas vezes precisamos inicializar propriedades de um objeto de uma classe no momento em que este é criado. Para isso podemos usar um método construtor. Um método construtor, que em PHP é definido usando-se __construct() é chamado no exato momento em que efetuamos uma chamada a new. Veja um exemplo no qual exibimos uma mensagem alertando que um objeto de uma classe acaba de ser criado:
<?
class Pessoa{
public function __construct(){
echo "Fui criada";
}
}
$pessoa = new Pessoa;
?>
Execute este código e veja o resultado. Note que um construtor deve, em raríssimas ocasiões, ser marcado com o modificador public. Além disso, um construtor só se torna realmente útil quando o usamos para inicializar as propriedades do objeto recém-criado. Veja:
<?
class Pessoa{
public $nome;
public function __construct($nome){
$this->nome = $nome;
}
}
$pessoa = new Pessoa("Osmar J. Silva");
echo $pessoa->nome;
?>
Aqui nós fornecemos o valor para a propriedade $nome na mesma instrução que cria a instância da classe. |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar os milisegundos da data atual desde a meia-noite de 01/01/1970 em JavaScript usando as funções valueOf() e getTime() do objeto DateQuantidade de visualizações: 7215 vezes |
Os métodos valueOf() e getTime() do objeto Date podem ser usados quando precisamos obter os milisegundos da data atual desde a meia-noite do dia 1º de janeiro de 1970. Veja um exemplo:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos obter a data e hora atual
var agora = new Date();
// vamos exibir a data e hora atual
document.write("A data e atual é: " + agora);
// milisegundos desde a meia-noite de 1º de janeiro de 1970
// usando valueOf()
document.write("<br>Milisegundos desde a meia-noite de 01/01/1970: " +
agora.valueOf());
// usando getTime()
document.write("<br>Milisegundos desde a meia-noite de 01/01/1970: " +
agora.getTime());
</script>
</body>
</html>
Ao executar este códigos teremos um resultado parecido com: A data e atual é: Sun Mar 27 2011 20:28:04 GMT-0300 (Hora oficial do Brasil) Milisegundos desde a meia-noite de 01/01/1970: 1301268484174 Milisegundos desde a meia-noite de 01/01/1970: 1301268484174 Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6. |
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: 9633 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 ... |
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter strings em valores TDateTime usando as funções StrToDate() e StrToDateDef() do DelphiQuantidade de visualizações: 18920 vezes |
A função StrToDate() da unit SysUtils é usada quando queremos converter strings em valores TDateTime. No Delphi 2009 esta função possui duas assinaturas:function StrToDate(const S: string): TDateTime; overload; function StrToDate(const S: string; const FormatSettings: TFormatSettings): TDateTime; overload; A primeira versão de StrToDate() recebe uma string contendo uma data e retorna um objeto TDateTime. Veja o seguinte trecho de código:
procedure TForm1.Button1Click(Sender: TObject);
var
data: string;
data2: TDateTime;
begin
// vamos converter a data 22/02/2005
data := '22/02/2005';
// a conversão acontece aqui. Note que, caso a conversão
// não seja possível, uma exceção do tipo EConvertError será
// disparada (lançada)
try
data2 := StrToDate(data);
ShowMessage(DateTimeToStr(data2));
except
on e: EConvertError do
ShowMessage('Não foi possível efetuar a conversão: ' +
e.Message);
end;
end;
Note que a função StrToDate() lançará uma exceção do tipo EConvertError se a string não possuir uma data válida. Os valores de strings representando datas válidas incluem mês/dia/ano, dia/mês/ano e ano/mês/dia. A ordem de dia, mês e ano é determinada pela variáve global ShortDateFormat. Se fornecermos valores apenas para o dia e o mês a função incluirá o ano atual. Não podemos esquecer a barra de separação de datas. Se seu aplicativo foi desenvolvido para rodar em outras localidades, obtenha o separador de datas por meio da variável global DateSeparator. A primeira versão da função StrToDate() não é segura em relação a threads (thread-safe) devido ao uso de informações de localização contidas em variáveis globais, ou seja, se uma thread modificar os valores de tais variáveis, código sendo executado em outras threads sofrerão as consequencias. Para evitar isso podemos usar a segunda versão de StrToDate(), que usa um objeto FormatSettings para guardar as informações de localização. Veja um exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
data: string;
data2: TDateTime;
formato: TFormatSettings;
begin
// vamos converter a data 22/02/2005
data := '22/02/2005';
// a conversão acontece aqui. Note que, caso a conversão
// não seja possível, uma exceção do tipo EConvertError será
// disparada (lançada)
try
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, formato);
data2 := StrToDate(data, formato);
ShowMessage(DateTimeToStr(data2));
except
on e: EConvertError do
ShowMessage('Não foi possível efetuar a conversão: ' +
e.Message);
end;
end;
A função StrToDateDef() é similar à função StrToDate(). A diferença é que, se a string possuir uma data inválida, a função StrToDateDef() retorna uma data padrão, ou seja, não haverá nenhuma exceção atirada. Veja: procedure TForm1.Button1Click(Sender: TObject); var data: string; data2: TDateTime; begin // vamos converter a data 2s2/02/2005 (inválida) data := '2s2/02/2005'; // a conversão acontece aqui. Note que, caso a conversão // não seja possível, a data atual será retornada data2 := StrToDateDef(data, Now); ShowMessage(DateTimeToStr(data2)); 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





