![]() |
|
|
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 Access Controls (Controles de Acesso a Dados) ::: TClientDataSet |
Como usar o método FindField para pesquisar um campo no TClientDataSet do Delphi e retornar um objeto da classe TFieldQuantidade de visualizações: 14743 vezes |
O método FindField pode ser usado quando queremos pesquisar um campo no TClientDataSet e retornar um objeto da classe TField. Este método possui a seguinte assinatura:function FindField(const FieldName: string): TField; Veja um trecho de código no qual eu mostro como encontrar um campo chamado "autor" em um ClientDataSet e retornar seu valor no registro atual:
procedure TForm3.Button3Click(Sender: TObject);
var
campo: TField;
begin
// vamos obter o campo com o nome "autor" no ClientDataSet
campo := ClientDataSet1.FindField('autor');
// este campo existe no dataset?
if campo <> nil then
ShowMessage('O campo existe e seu valor no registro atual é: ' +
campo.AsString)
else // o campo não existe no dataset
ShowMessage('O campo não existe no dataset');
end;
Se o campo existir no dataset, veremos uma mensagem parecida com: "O campo existe e seu valor no registro atual é: M. D. Deitel". Em geral usamos o método FindField para determinar se um determinado componente field existe no dataset. O argumento para o método é o nome do campo que queremos pesquisar. Este nome pode ser o nome de um campo simples, o nome de um sub-campo de um objeto field que tenha sido qualificado pelo nome do campo pai ou o nome de um campo agregado. O comportamento do método FindField é o mesmo do método FieldByName. A diferença é que FindField retorna o valor nil se o campo não existir, enquanto FieldByName lança uma exceção do tipo EDatabaseError com a mensagem "Field not found". Esta dica foi escrita e testada no Delphi 2009. |
Python ::: wxPython ::: Controles Visuais Básicos do wxPython |
Como usar a classe wx.Button para criar botões em suas aplicações wxPythonQuantidade de visualizações: 7614 vezes |
Botões são os controles mais frequentes em interfaces do usuário (GUI) e o wxPython nos fornece a classe wx.Button, usada para criar botões padrões. Veja a posição desta classe na hierarquia wxPython:
wxObject
wxEvtHandler
wxWindow
wxControl
wxButton
Botões são geralmente colocados em caixas de diálogo e painéis. Vamos começar entendendo o construtor da classe wx.Button: wx.Button(parent, id, label, pos, size=wxDefaultSize, style=0, validator, name="button") Este construtor segue a mesma ordem e estilo do construtor C++. Veja: wxButton(wxWindow* parent, wxWindowID id, const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = "button") Como podemos observar, vários parâmetros possuem valores padrões e, portanto, podem ser omitidos no momento da criação do componente. Veja um exemplo de como criar um wx.Button: # Cria um botão e o adiciona no painel btn = wx.Button(panel, label="Clique Aqui", pos=(10, 10), size=(100, 25)) panel é uma referência a um wx.Panel, ou seja, o painel de conteúdo no qual o botão será anexado. Fornecer um componente pai do tipo painel (ou qualquer outro componente visível) é necessário para que o componente também seja visível na janela. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de Java - Um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguidaQuantidade de visualizações: 1231 vezes |
|
Pergunta/Tarefa: Escreva um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguida o método deverá dividir o resultado, ou seja, o produto, por 2, e, finalmente, retornar o resto de uma divisão inteira desse resultado pelo número 7. Sua saída deverá ser parecida com: Informe o primeiro valor inteiro: 18 Informe o segundo valor inteiro: 19 O resultado é: 3 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos{
public static void main(String args[]){
// vamos usar a classe Scanner para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar dois números inteiros
System.out.print("Informe o primeiro valor inteiro: ");
int a = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo valor inteiro: ");
int b = Integer.parseInt(entrada.nextLine());
// vamos obter o resultado de uma chamada à função calcular()
int resultado = calcular(a, b);
System.out.println("O resultado é: " + resultado);
}
public static int calcular(int a, int b){
// primeiro multiplicamos as duas variáveis
int produto = a * b;
// agora dividimos o produto por 2
int temp = produto / 2;
// agora obtemos o módulo do resultado por 7
int resultado = temp % 7;
// e retornamos o valor calculado
return resultado;
}
}
|
LISP ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar uma substring de uma string em LISP usando a função subseq()Quantidade de visualizações: 917 vezes |
|
Nesta dica mostrarei como podemos extrair uma parte de uma palavra, frase ou texto, ou seja, vamos obter uma substring a partir de uma string. Na linguagem LISP isso pode ser feito por meio da função subseq(). Esta função aceita 3 argumentos. O primeiro argumento é a string a partir da qual a substring será extraída. O segundo argumento é o índice inicial da substring, começando sempre em 0. O terceiro argumento marca o índice final da substring (um índice a mais que o último caractere desejado). Se o terceiro argumento for omitido, todo o restante da string será incluído na substring. Veja o código LISP completo para o exemplo no qual pedimos para o usuário informar uma frase e extraímos dessa frase os 5 primeiros caracteres: ; variáveis que vamos usar no programa (let ((frase)(substring)) ; Vamos pedir para o usuário informar ; uma frase (princ "Informe uma frase: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável frase (setq frase (read-line)) ; vamos mostrar a frase informada ; o símbolo ~% provoca uma quebra de linha (format t "A frase informada foi: ~S~%" frase) ; agora vamos obter os 5 primeiros caracteres (setq substring (subseq frase 0 5)) ; e mostramos a substring (format t "A substring obtida foi: ~S" substring) ) Ao executar este código LISP nós teremos o seguinte resultado: A frase informada foi: "Estudar LISP é bom demais" A substring obtida foi: "Estud" |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador abstract em suas classes e métodos Java - Programação Orientada a Objetos em Java - Java POOQuantidade de visualizações: 18860 vezes |
O modificador abstract pode ser aplicado a classes e métodos. Seu uso com variáveis pode causar o erro abaixo:
abstract String nome;
Estudos.java:2: modifier abstract not
allowed here
abstract String nome;
^
1 error
Classes abstratas não podem ser instanciadas, ou seja, não podemos chamar seu construtor. Veja um exemplo:
public class Estudos{
public static void main(String args[]){
Cliente cliente = new Cliente();
System.exit(0);
}
}
abstract class Cliente{
public Cliente(){
}
}
Ao tentarmos compilar esta classe teremos o seguinte erro:
Estudos.java:3: Cliente is abstract; cannot be
instantiated
Cliente cliente = new Cliente();
^
1 error
A função principal de classes abstratas é forçar a implementação para as sub-classes. Desta forma, seus métodos são declarados com o modificador abstract e sem corpo. Veja:
abstract class Cliente{
abstract void obterNome();
}
Sempre que suas classes contiverem um ou mais métodos abstratos, você deverá declará-la abstrata. Não seguir esta regra provocará o seguinte erro:
class Cliente{
abstract void obterNome();
}
Estudos.java:9: Cliente is not abstract and does
not override abstract method obterNome() in Cliente
class Cliente{
^
1 error
As situações que fazem com que uma classe deva ser declarada abstract são:
Para finalizar, abstract é o oposto de final. Uma classe final não pode ter sub-classes. Uma classe abstract precisa ter sub-classes. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
GNU Octave - Como calcular o coeficiente angular de uma reta em GNU Octave dados dois pontos no plano cartesiano |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





