![]() |
|
|
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 |
||
|
||
|
|
||
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como usar os argumentos padrões das funções em PythonQuantidade de visualizações: 7951 vezes |
Geralmente quando efetuamos chamadas às funções, nosso código fica responsável por fornecer os valores para os argumentos da função. Em Python é possível termos argumentos padrões, e tais argumentos já podem ter um valor pré-definido. Desta forma, a passagem dos parâmetros se torna opcional. Veja um exemplo:
# função com argumento padrão
def erro(msg = "Houve um erro."):
print msg
# chamada à função fornecendo o argumento
erro("Erro desconhecido.")
# chamada à função sem fornecer o argumento
erro()
Veja mais um exemplo: # função com argumentos padrões def volume(comprimento = 1, largura = 1, altura = 1): return (comprimento * largura * altura) # chamada à função fornecendo um argumento print volume(3) # chamada à função fornecendo dois argumentos print volume(4, 5) # chamada à função fornecendo três argumentos print volume(4, 5, 7) # chamada à função fornecendo nenhum argumento print volume() É importante observar que os argumentos padrões devem estar sempre à direita dos demais argumentos. Falhar em cumprir esta exigência pode causar um erro do tipo: SyntaxError: non-default argument follows default argument |
Java ::: Coleções (Collections) ::: ArrayList |
Como excluir um elemento de uma ArrayList do Java baseado em seu valor - Como usar o método remove() da ArrayList do JavaQuantidade de visualizações: 14721 vezes |
|
Nesta dica mostrarei como remover a primeira ocorrência de um elemento na ArrayList. Para isso nós vamos usar o método remove(), que recebe o valor do elemento a ser excluído. Se o elemento estiver na ArrayList e for excluído com sucesso, o retorno será true. Se o elemento não for encontrado, o retorno será false. Veja o exemplo Java a seguir:
package estudos_java;
import java.util.ArrayList;
public class Estudos {
public static void main(String[] args) {
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<>();
// adiciona itens na lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
nomes.add("Osmar");
nomes.add("Maria");
// Vamos remover o elemento "Osmar"
if (nomes.remove("Osmar")) {
System.out.println("O elemento foi removido com sucesso!");
}
else {
System.out.println("O elemento não foi encontrado!");
}
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: O elemento foi removido com sucesso! |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar a quantidade de dias para um determinado mês e ano em JavaScriptQuantidade de visualizações: 9183 vezes |
|
Sempre que estamos desenvolvendo aplicações de calendário ou outras tarefas envolvendo datas e horas em JavaScript nós precisamos saber quantos dias um determinado mês possui. Nesta dica que mostro como escrever uma função JavaScript chamada diasNoMes() que recebe um mês e um ano e retorna a quantidade de dias que tal mês possui. Veja a página HTML completa para o exemplo:
<!doctype html>
<html>
<head>
<title>Data e hora em JavaScript</title>
</head>
<body>
<script type="text/javascript">
// função que recebe um mês e ano e retorna
// a quantidade de dias no mês informado
function diasNoMes(mes, ano){
return 32 - new Date(ano, mes, 32).getDate();
}
// o mês começa com 0 (Fevereiro = 1)
document.write("O mês informado possui " +
diasNoMes(1, 2023) + " dias");
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: O mês informado possui 28 dias |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como criar colunas persistentes o controle TDBGrid do DelphiQuantidade de visualizações: 12119 vezes |
|
Quando conectamos um TDBGrid a uma fonte de dados TDataSource, automaticamente ocorre a criação de colunas no grid, cada uma correspondendo a um dos campos da tabela para a qual o TDataSet (e suas classes derivadas) está apontando. Estas colunas criadas automaticamente são chamadas de DINÂMICAS, ou contrário das colunas PERSISTENTES. Porém, na maioria das vezes, nós queremos personalizar a aparência das colunas em tempo de design (o que também pode ser feito em tempo de execução). Queremos alinhar ou alterar os títulos, mudar a fonte e cores, etc. Fazemos isso clicando com o botão direito no controle DBGrid e acessando a opção Columns Editor (ou dando duplo clique na propriedade Columns). Isso fará com que a propriedade State do objeto TDBGridColumns do DBGrid seja mudada para csCustomized, o que indica que o Delphi montará as colunas baseado em nossas configurações e não mais automaticamente de acordo com os nomes dos campos da tabela. Siga os seguintes passos para criar colunas persistentes para o controle DBGrid: a) Selecione o DBGrid no formulário; b) Acesse o editor Columns dando duplo-clique na propriedade Columns no Object Inspector; Isso bastará para que o list box de Columns exiba as colunas persistentes já existentes. Quando o editor Columns é mostrado pela primeira vez, esta lista estará vazia porque o grid está em seu estado padrão, contendo apenas colunas dinâmicas. Podemos criar colunas persistentes para todos os campos do dataset de uma só vez, ou podemos criar as colunas persistentes para cada campo individualmente. Siga os passos abaixo para criar colunas persistentes para todos os campos: a) Chame o editor Columns e escolha a opção Add All Fields. Note que se o grid não estiver associado a nenhum data source, a opção Add All Fields estará desabilitada. Associe o grid com o data source que estiver conectado a um dataset ativo antes de escolher a apção Add All Fields. b) Se o grid já possuir colunas persistentes, uma caixa de diálogo perguntará se você quer excluir as colunas existentes ou apenas acrescentar as novas colunas. Se você escolher Yes, todas as colunas persistentes serão removidas e todos os campos do dataset atual serão inseridos como colunas, obedecendo sua ordem no dataset. Neste caso os títulos das colunas serão os nomes dos campos na tabela. Se você escolher No, as colunas persistentes serão mantidas e as novas colunas serão adicionadas. C) Clique o botão Close para aplicar as colunas persistentes no DBGrid e fechar a caixa de diálogo. Siga os passos abaixo para criar colunas persistentes individualmente: a) Escolha o botão Add no editor Columns. A nova columa será selecionada na list box. Esta nova coluna receberá um número sequencial e um nome padrão (por exemplo, 0 - TColumn). Para associar um campo da tabela com esta nova coluna, ajuste sua propriedade FieldName no Object Inspector. b) Para definir o título para a nova coluna, expanda a propriedade Title no Object Inspector e ajuste sua propriedade Caption. c) Feche o editor Columns para aplicar as colunas persistentes no grid e fechar a caixa de diálogo. Se o um DBGrid possui apenas colunas dinâmicas, nós podemos excluí-las em tempo de execução simplesmente mudando o valor da propriedade Columns.State para csCustomized. Veja: procedure TForm3.Button3Click(Sender: TObject); begin // vamos alterar o valor da propriedade State para csCustomized DBGrid1.Columns.State := csCustomized; end; Este trecho de código faz com que as colunas dinâmicas sejam excluídas e colunas persistentes sejam criadas para cada um dos campos do dataset ao qual o grid está ligado. Após isso, novas colunas podem ser adicionadas em tempo de execução usando código parecido com: procedure TForm3.Button3Click(Sender: TObject); begin // vamos alterar o valor da propriedade State para csCustomized DBGrid1.Columns.State := csCustomized; // vamos adicionar uma nova coluna DBGrid1.Columns.Add; end; Esta dica foi escrita e testada no Delphi 2009. |
Delphi ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como obter o índice inicial e final de um vetor usando as funções Low() e High() da unit System do DelphiQuantidade de visualizações: 12322 vezes |
|
Como os índices dos vetores em Delphi, diferente de outras linguagens, nem sempre começam em 0, não podemos deduzir que Length() - 1 retornará o índice final do vetor. Desta forma, podemos usar as funções Low() e High(), ambas presentes na unit System. A função Low() retorna o índice inicial do vetor, enquanto High() retorna o índice final. Veja:
procedure TForm3.Button1Click(Sender: TObject);
var
valores: array[11..20] of Integer;
inicio, fim: Integer;
begin
// vamos obter o índice inicial do vetor
inicio := Low(valores);
// vamos obter o índice final da vetor
fim := High(valores);
// vamos exibir o resultado
ShowMessage('O índice inicial do vetor é: ' + IntToStr(inicio));
ShowMessage('O índice final do vetor é: ' + IntToStr(fim));
ShowMessage('O tamanho do vetor é: ' + IntToStr((fim - inicio) + 1));
end;
Lembre-se desta dica quando precisar percorrer os elementos de um vetor ou uma matriz usando o laço For da linguagem Delphi. |
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 |



