![]() |
|
|
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. |
||
Firebird ::: Dicas & Truques ::: Tipos de Dados |
Como usar os tipos de dados DATE, TIME e TIMESTAMP do FirebirdQuantidade de visualizações: 31007 vezes |
|
No dialeto 3 (SQL DIALECT 3), o tipo de dados DATE do Firebird armazena apenas a data sozinha, ou seja, sem as horas. Esta forma de guardar apenas a data resulta em uma ocupação de 4 bytes (32 bits) na memória. A data armazenada pode variar de 01/01/0001 até 31/12/9999. No dialeto 1, (SQL DIALECT 1), o tipo DATE é o equivalente ao tipo TIMESTAMP do dialeto 3 (o tipo TIMESTAMP passou a existir somente a partir do dialeto 3). Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo DATE: CREATE TABLE ALUNOS ( ID INTEGER NOT NULL, NOME VARCHAR(40) NOT NULL, NASCIMENTO DATE NOT NULL ); Aqui o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e NASCIMENTO é do tipo DATE. Veja agora um comando DML INSERT INTO que insere um novo registro nesta tabela. Fique atento à forma como o valor da data é informado: INSERT INTO ALUNOS VALUES(1, 'OSMAR J. SILVA', '1981-11-28'); Veja que a data, assim como o valor para o campo NOME, foi informada entre aspas simples e seguindo o formato YYYY-MM-DD, ou seja, o ano, mês e dia separados por hifens. Para obter os dados inseridos pela query anterior, podemos usar o seguinte comando DML SELECT FROM: SELECT * FROM ALUNOS; Esta query resulta na exibição dos seguintes dados: ID NOME NASCIMENTO 1 OSMAR J. SILVA 28/11/1981 O tipo de dados TIME, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar as horas, sem a data. Este tipo ocupa 4 bytes (32 bits) de memória e pode conter valores na faixa de 00:00 até 23:59:59.9999. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIME: CREATE TABLE COMPROMISSOS ( ID INTEGER NOT NULL, DESCRICAO VARCHAR(80) NOT NULL, DATA DATE NOT NULL, HORA TIME NOT NULL ); Veja que esta tabela possui 4 campos: ID do tipo INTEGER, DESCRICAO do tipo VARCHAR(80), DATA do tipo DATE e HORA do tipo TIME. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela: INSERT INTO COMPROMISSOS VALUES(10, 'ALMOÇO COM A ESPOSA', '2010-12-10', '19:00:00'); Note que, assim como fazemos com campos do tipo DATE, os valores para campos do tipo TIME também devem ser informados entre aspas simples. Veja um comando DML SELECT FROM que lista o registro inserido na query anterior: SELECT * FROM COMPROMISSOS; Esta query produz o seguinte resultado: ID DESCRICAO DATA HORA 10 ALMOÇO COM A ESPOSA 10/12/2010 19:00:00 O tipo TIMESTAMP, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar a data e hora juntas. Este tipo ocupa 8 bytes (64 bits) de memória e é equivalente ao tipo DATE do dialeto 1. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIMESTAMP: CREATE TABLE COMPROMISSOS ( ID INTEGER NOT NULL, DESCRICAO VARCHAR(80) NOT NULL, DATA_HORA TIMESTAMP NOT NULL ); Veja que esta tabela possui três campos: ID é do tipo INTEGER, DESCRICAO é do tipo VARCHAR(80) e DATA_HORA é do tipo TIMESTAMP. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela: INSERT INTO COMPROMISSOS VALUES(20, 'ALMOÇO COM A ESPOSA', '2010-10-23 19:00:00'); Note que os valores para campos do tipo TIMESTAMP também devem ser informados entre aspas simples. Para finalizar, Veja um comando DML SELECT FROM que lista o registro inserido na query anterior: SELECT * FROM COMPROMISSOS; Esta query produz o seguinte resultado: ID DESCRICAO DATA_HORA 20 ALMOÇO COM A ESPOSA 23/10/2010 19:00:00 |
Delphi ::: Imagens, Gráficos e Cores ::: TCanvas (Classe TCanvas) |
Computação gráfica em Delphi - Como desenhar linhas usando o método LineTo() da classe TCanvas do DelphiQuantidade de visualizações: 16913 vezes |
|
Podemos desenhar linhas em Delphi usando o método LineTo() da classe TCanvas. Este método desenha uma linha partindo da posição inicial da caneta (PenPos), ou seja, as coordenadas x e y iniciais, até as coordenadas finais que fornecemos ao método durante a realização do desenho. Veja um exemplo no qual desenhamos uma linha horizontal no formulário: procedure TForm2.Button1Click(Sender: TObject); var areaDesenho: TCanvas; begin // este trecho de código mostra como desenhar uma // linha horizontal no formulário // vamos obter o canvas do formulário areaDesenho := Form2.Canvas; // vamos mover a caneta para as coordenadas x = 30; y = 100 areaDesenho.MoveTo(30, 100); // vamos desenhar uma linha no formulário partindo // das coordenadas anteriores até as coordenadas // x = 300; y = 100 areaDesenho.LineTo(300, 100); end; Note que, na maioria dos casos, este código é escrito de forma mais compacta:
procedure TForm2.Button1Click(Sender: TObject);
begin
// este trecho de código mostra como desenhar uma
// linha horizontal no formulário
// vamos obter o canvas do formulário
with Form2.Canvas do
begin
// vamos mover a caneta para as coordenadas x = 30; y = 100
MoveTo(30, 100);
// vamos desenhar uma linha no formulário partindo
// das coordenadas anteriores até as coordenadas
// x = 300; y = 100
LineTo(300, 100);
end;
end;
É importante observar que a nova posição da caneta (propriedade PenPos) é definida ao final da chamada ao método LineTo(). Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Java Swing - Como minimizar uma janela JFrame ao clicar em um botão JButtonQuantidade de visualizações: 12373 vezes |
|
Nesta dica mostrarei como usar o método setExtendedState() da classe JFrame do Java Swing para minimizar uma janela JFrame no evento click de um JButton. Veja o código completo para o exemplo:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("A classe JFrame");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
JButton btn = new JButton("Minimizar");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
setExtendedState(ICONIFIED);
}
}
);
// Adiciona o botão à janela
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: DataFrame |
Como acessar uma linha específica em um DataFrame do Pandas da linguagem Python usando o método iloc()Quantidade de visualizações: 11816 vezes |
|
Em várias situações nós precisamos investigar o conteúdo de uma determinada linha, ou seja, um registro específico contido em um DataFrame do Pandas. Para isso podemos usar o método iloc() do objeto DataFrame. Este método recebe um valor inteiro representando o índice da linha a ser retornada. É possível também fornecer uma list contendo vários índices, e até mesmo intervalos, mas isso é assunto para outras dicas. O retorno do método é uma Series ou um DataFrame, dependendo dos parâmetros usados. Vamos ver um exemplo? Analise o código a seguir:
# importamos a biblioteca Pandas
import pandas as pd
def main():
# vamos carregar os dados do arquivo .csv
dados = pd.read_csv("emprestimos.csv",
delimiter=";")
# vamos mostrar o DataFrame resultante
print(dados)
# agora vamos mostrar o conteúdo da terceira linha
linha = dados.iloc[2]
# mostramos o conteúdo da terceira linha
print("\nConteúdo da terceira linha:\n")
print(linha)
if __name__== "__main__":
main()
Ao executarmos este código nós teremos o seguinte resultado:
id nome idade sexo renda valor parc pont ap
0 1 HELENA508 39 F 6500 8000 6 87 S
1 2 JESSICA631 65 F 3000 500 48 2 N
2 3 FELIPE768 39 M 10200 20000 24 40 S
3 4 AMANDA515 90 F 800 1500 30 87 N
4 5 LAURA312 61 F 1800 15000 50 8 N
5 6 CARLOS291 84 M 970 11000 6 59 N
6 7 CARLOS859 64 F 970 500 12 1 N
Conteúdo da terceira linha:
id 3
nome FELIPE768
idade 39
sexo M
renda 10200
valor 20000
parc 24
pont 40
ap S
Name: 2, dtype: object
Veja que o conteúdo da linha é exibido na vertical. Se quisermos exibí-lo na horizontal, basta passarmos o índice da linha como uma list. Veja: # agora vamos mostrar o conteúdo da terceira linha linha = dados.iloc[[2]] Agora o resultado será: Conteúdo da terceira linha: id nome idade sexo renda valor parc pont ap 2 3 FELIPE768 39 M 10200 20000 24 40 S Para testarmos se o retorno do método iloc() foi mesmo uma Series, basta usarmos a função type() do Python:
# vamos checar o retorno do método iloc()
linha = dados.iloc[[2]]
print("Tipo do retorno:", type(linha))
Este código exibirá um resultado parecido com: Tipo do retorno: <class 'pandas.core.frame.DataFrame'> |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Como criar um Jogo da Velha em Java - Jogo completo com código fonte comentado - Versão console Revit C# - Como criar eixos no Revit via programação usando a função Create() da classe Grid da Revit C# API PHP - Como inserir um determinado número de zeros antes de um número em PHP usando a função sprintf() |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




