![]() |
|
|
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 Concreto Armado |
||
|
||
|
|
||
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como navegar (percorrer) pelas células do TDBGrid do Delphi usando a tecla EnterQuantidade de visualizações: 12957 vezes |
|
Há situações nas quais queremos que os usuários de nossas aplicações Delphi sejam capazes de pressionar a tecla Enter para passar (ou saltar) pelas células dos controles DBGrid. A navegação padrão é com a tecla Tab e/ou as teclas de direção. Nesta dica eu mostro como isso pode ser feito. Suponha que você tem um componente TDBGrid com o nome "DBGrid1". Vá ao seu evento OnKeyPress e modifique-o para o código abaixo:
procedure TForm3.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
// o usuário pressionou a tecla Enter?
if Key = #13 then
begin
// ainda não estamos na última coluna
if DBGrid1.Columns.Grid.SelectedIndex < DBGrid1.Columns.Count - 1 then
// vamos passar para a próxima célula
DBGrid1.Columns[DBGrid1.Columns.Grid.SelectedIndex + 1].Field.FocusControl
else begin
// vamos passar para o próximo registro da tabela
DBGrid1.DataSource.DataSet.Next;
DBGrid1.Columns[0].Field.FocusControl;
end;
end;
end;
Execute a aplicação e experimente o efeito. É claro que a navegação com a tecla Enter só funciona em uma direção (tal qual a tecla Tab). Para voltar para as células anteriores você ainda terá que acionar as teclas de direção. Note o uso do método Next da classe TDataSet para forçarmos o foco a ir para a próxima linha do TDBGrid. Esta dica foi escrita e testada no Delphi 2009. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador final em classes, variáveis e métodos Java - Programação Orientada a Objetos em JavaQuantidade de visualizações: 14168 vezes |
O modificador final pode ser usado com classes, variáveis e métodos. É claro que o significado varia dependendo do uso. Por exemplo, ao marcarmos uma variável com o modificador final, estamos na verdade criando uma constante, ou seja, uma variável cujo conteúdo não pode ser alterado durante a execução do programa. Veja:
public class Estudos{
static final int VALOR = 45;
public static void main(String args[]){
// vamos tentar alterar o valor da
// constante
VALOR = 10;
}
}
Ao tentarmos compilar este programa teremos a seguinte mensagem de erro:
Estudos.java:7: cannot assign a value to
final variable VALOR
VALOR = 10;
^
1 error
Tenha em mente, porém, que quando uma variável marcada como final é uma referência a um objeto, é a referência que não poderá ser alterada. As propriedades do objeto para a qual ela aponta poderão sofrer alterações, exceto se estes também estiverem marcados como final. Quando aplicado a classes, o modificador final garante que a classe não poderá ser extendida, ou seja, não é possível criar uma classe derivada a partir de uma classe marcada como final. Veja:
// superclasse
final class Pessoa{
public String nome;
}
// subclasse
class Aluno extends Pessoa{
public String matricula;
}
public class Estudos{
public static void main(String args[]){
// Cria um objeto da classe Aluno
Aluno a = new Aluno();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:7: cannot inherit from
final Pessoa
class Aluno extends Pessoa{
^
1 error
Um método marcado como final não pode ser sobrescrito. Veja um exemplo:
// superclasse
class Pessoa{
protected String nome;
public final String getNome(){
return this.nome;
}
}
// subclasse
class Aluno extends Pessoa{
// estamos sobrescrevendo o método
// herdado da superclasse
public final String getNome(){
return "Aluno: " + this.nome;
}
}
public class Estudos{
public static void main(String args[]){
// Cria um objeto da classe Aluno
Aluno a = new Aluno();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:14: getNome() in Aluno cannot
override getNome() in Pessoa; overriden method is final
public final String getNome(){
^
1 error
Resumindo: variáveis marcadas com final não poder sofrer alterações. Classes marcadas como final não podem ter classes derivadas. Métodos marcados como final não podem ser sobrescritos. |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de C# - Peça para o usuário informar o valor do primeiro elemento e gere os valores dos demais elementos com o dobro doQuantidade de visualizações: 684 vezes |
|
Pergunta/Tarefa: Escreva um programa C# que cria um vetor de 5 posições de inteiros. Peça para o usuário informar o valor do primeiro elemento e gere os valores dos demais elementos com o dobro do elemento anterior. Assim, se o usuário informar o valor 3 para o primeiro elemento, o valor do segundo elemento será 6, o valor do terceiro elemento será 12, e assim por diante. Sua saída deverá ser parecida com: Informe o valor do primeiro elemento: 5 Os elementos do vetor são: 5 10 20 40 80 Veja a resolução comentada deste exercício em C#:
using System;
namespace Estudos {
class Principal {
// função principal do programa C#
static void Main(string[] args) {
// vamos declarar e construir um vetor de inteiros
// de 5 elementos
int[] valores = new int[5];
// agora vamos pedir para o usuário informar o
// valor do primeiro elemento
Console.Write("Informe o valor do primeiro elemento: ");
valores[0] = Int32.Parse(Console.ReadLine());
// agora vamos gerar os valores dos próximos elementos
for (int i = 1; i < valores.Length; i++) {
// recebe o elemento anterior multiplicado por 2
valores[i] = valores[i - 1] * 2;
}
// e agora mostramos o vetor gerado
Console.WriteLine("\nOs elementos do vetor são:\n");
for (int i = 0; i < valores.Length; i++) {
Console.Write(valores[i] + " ");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
|
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como obter a quantidade de elementos em um vetor (array ou matriz de uma dimensão) em PHPQuantidade de visualizações: 8487 vezes |
|
Em várias situações de programação em PHP nós precisamos contar, ou seja, obter a quantidade de elementos em um vetor, também chamado de array ou matriz unidimensional (de uma dimensão). Para isso nós podemos usar as funções count() ou sizeof(). Veja um exemplo completo de seu uso: <html> <head> <title>Estudos PHP</title> </head> <body> <?php $pessoas[0] = "Osmar J. Silva"; $pessoas[1] = "Salvador M. Andrade"; $pessoas[2] = "Dyego Fernandes de Sousa"; echo "O vetor possui " . sizeof($pessoas) . " elementos."; ?> </body> </html> Ao executar este código nós teremos o seguinte resultado: O vetor possui 3 elementos. |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como trabalhar com strings em RubyQuantidade de visualizações: 8785 vezes |
|
Strings em Ruby são usadas para representar palavras, frases e textos e são bem parecidas com strings em outras linguagens dinâmicas, tais como Perl, Python e PHP. Além disso, strings em Ruby são dinâmicas, mutáveis e flexíveis. Podemos declarar e definir uma variável do tipo string em Ruby da seguinte forma: nome = "Osmar J. Silva" puts nome Em ruby, strings são objetos da classe String. Isso quer dizer que podemos efetuar chamadas à uma grande variedade de métodos desta classe a partir de qualquer variável do tipo string. Veja um exemplo: nome = "Osmar" puts nome.length Este exemplo exibirá a quantidade de caracteres contidos na string nome. Strings em Ruby podem estar contidas em aspas duplas ou aspas simples: nome = "Osmar J Silva" puts(nome) nome = 'Osmar J Silva' puts(nome) A diferença é que, quando usamos aspas duplas, podemos codificar dados binários dentro da string, assim como usar "\n" para provocar quebras de linha. Quando usamos aspas simples, podemos usar apenas "\'" para exibir uma aspa simples e "\\" para exibir uma barra invertida. |
Desafios, Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





