Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa 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 Firebird

Quantidade 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 Delphi

Quantidade 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 JButton

Quantidade 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

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 15 usuários muito felizes estudando em nosso site.