Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Você está aqui: Cards de Engenharia Civil - Construção Civil
Card 1 de 28
Fases de uma obra

A Planta de Localização (escala usual 1:200) identifica a posição da obra no terreno. Serve para implantar o projeto.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

Firebird ::: Dicas & Truques ::: Tipos de Dados

Como usar os tipos CHAR e VARCHAR do Firebird

Quantidade de visualizações: 16468 vezes
O Firebird fornece dois tipos de dados básicos para armazenar informação em texto ou caracteres: CHAR e VARCHAR (O tipo BLOB também permite armazenar caracteres por meio de seu sub-tipo text).

CHAR e VARCHAR são tipos de dados que podem armazenar quaisquer informações do tipo texto. Números que não serão envolvidos em cálculos, tais como CEPs, números de ruas, etc, são geralmente armazenados em campos do tipo CHAR ou VARCHAR. O comprimento de um campo do tipo CHAR ou VARCHAR é informado entre parênteses, e pode ser um valor inteiro que vai de 1 até 32.767. Esta largura de caracteres é extremamente útil quando precisamos armazenar dados de tamanho fixo ou pré-definido, tais como códigos de CEPs para um determinado país.

Comparado com a maioria dos outros bancos de dados, o Firebird armazena somente as informações significantes. Se um campo é definido como CHAR(100), mas contém apenas 10 caracteres, os bytes definidos adicionalmente não são usados. Isso acontece porque o Firebird armazena os tipos CHAR e VARCHAR de forma igual, e não preenche o espaço não usado com caracteres vazios. Tanto CHAR quanto VARCHAR são guardados na memória em sua forma declarada, mas, o registro é comprimido antes da armazenagem.

Além disso, tenha em mente que os campos do tipo VARCHAR exigem mais espaço de armazenamento que os campos do tipo CHAR. Isso ocorre porque, ao armazenar um VARCHAR, o Firebird adiciona dois bytes que serão usados para guardar o real tamanho do campo (o tamanho declarado).

Desta forma, um CHAR ocupará menos espaço de armazenamento. Contudo, quando fazemos um SELECT envolvendo campos do tipo VARCHAR, o Firebird removerá os dois bytes adicionados anteriomente e retornará o valor armazenado. Quando um SELECT é efetuado com campos do tipo CHAR, o Firebird retorna o valor e os espaços em branco.

Em termos práticos podemos considerar esta regra: somente use CHAR se você for armazenar strings com poucos caracteres. A exceção a esta regra acontece quando estamos trabalhando com tabelas intermediárias exigidas para a exportação de dados para arquivos de tamanhos fixos. Neste caso os campos CHAR de tamanho fixo trarão uma enorme vantagem.

Esta forma eficiente de armazenamento do Firebird pode trazer algumas confusão, principalmente quando estamos importando dados, uma vez que bases de dados Paradox e dBase guardam também os espaços em branco. Assim, depois de importar um arquivo dBase de 10Mb para o Firebird, o resultado será algo em torno de 3-6Mb, ainda que todos os dados tenham sido importados corretamente.

Observe também que campos CHAR indexados não devem ter mais que 80 caracteres de comprimento (Firebird 2.5).

Quando estamos criando campos do tipo CHAR, este tipo de dados pode ser definido como CHAR ou CHARACTER. Já o tipo VARCHAR pode ser definido como VARCHAR, CHARACTER VARYING ou CHAR VARYING.

Veja um comando DDL CREATE TABLE usado para criar uma tabela do Firebird contendo campos do tipo CHAR e VARCHAR:

CREATE TABLE PESSOAS(
  ID     INTEGER NOT NULL,
  NOME   VARCHAR(40) NOT NULL,
  SEXO   CHAR(1) NOT NULL
);

Aqui o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e SEXO é do tipo CHAR(1). Veja agora um comando DML INSERT INTO que mostra como inserir um novo registro nesta tabela:

INSERT INTO PESSOAS VALUES(12, 'OSMAR J. SILVA', 'M');


É importante notar que, se um campo for do tipo CHAR(1) e, na query INSERT ou UPDATE nós fornecermos dois ou mais caracteres, o Firebird se recusará a gravar ou atualizar o registro, exibindo a seguinte mensagem de erro:

Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
string right truncation.


Python ::: Dicas & Truques ::: Strings e Caracteres

Como substituir partes de uma palavra, frase ou texto em Python usando a função replace() do objeto String

Quantidade de visualizações: 2080 vezes
Em várias ocasiões nós precisamos efetuar a substituição de substrings em uma string. Para isso nós podemos usar o método replace() da linguagem Python. Esta função possui a seguinte assinatura:

string.replace(oldvalue, newvalue, count)

onde oldvalue é trecho da string a ser substituído, newvalue é o valor que substituirá o valor antigo e count é a quantidade de substituições. Na ausência do terceiro argumento, TODAS as ocorrências da substring pesquisada serão substituídas.

Veja um exemplo no qual substituímos todas as ocorrências de "Java" por "Python" em uma frase:

def main():
  # frase original
  original = "Gosto de Java porque Java é fácil"
  print("Frase original:", original)

  # vamos substituir "Java" por "Python"
  nova_frase = original.replace("Java", "Python")
  print("Após a substituição:", nova_frase)

if __name__== "__main__":
  main()

Ao executarmos este código Python nós teremos o seguinte resultado:

Frase original: Gosto de Java porque Java é fácil
Após a substituição: Gosto de Python porque Python é fácil


C# ::: Windows Forms ::: DataGridView

Como ocultar ou exibir os títulos das colunas de um DataGridView do C# Windows Forms usando a propriedade ColumnHeadersVisible

Quantidade de visualizações: 8270 vezes
Os títulos das colunas de um DataGridView podem ser ocultados definindo-se o valor false para a propriedade ColumnHeadersVisible. Veja:

dataGridView1.ColumnHeadersVisible = false;

Para exibir os títulos das colunas novamente só precisamos fornecer o valor true. Veja:

dataGridView1.ColumnHeadersVisible = true;



Java ::: Classes e Componentes ::: JMenuBar, JMenu, JMenuItem e Afins

Java Swing - Como usar objetos da classe JCheckBoxMenuItem como itens de menu de suas aplicações Java Swing

Quantidade de visualizações: 9248 vezes
Neste exemplo mostrarei como usar objetos da classe JCheckBoxMenuItem como itens de um menu. Tais itens podem ser usados quando o usuário puder marcar uma ou mais opções, em um grupo relacionado de opções.

Veja o resultado na imagem abaixo:



E agora o código completo para o exemplo:

 
package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  JCheckBoxMenuItem cores[];
  Color valCores[] = {Color.red, Color.white,
    Color.green};  
  String nomeCores[] = {"Vermelho", "Branco",
    "Verde"};
 
  public Estudos(){
    super("Menus");
 
    // Cria a barra de menus
    JMenuBar barra = new JMenuBar();
    setJMenuBar(barra);
 
    // Cria um menu
    JMenu formatar = new JMenu("Formatar");
     
    // Cria o menu de cor de fundo
    JMenu item1 = new JMenu("Cor de Fundo");
    
    // Adiciona o segundo JMenu ao primeiro
    formatar.add(item1);
 
    cores = new JCheckBoxMenuItem[valCores.length];
 
    Gerenciador gerenciador = new Gerenciador();
  
    for(int i = 0; i < valCores.length; i++){
      cores[i] = new JCheckBoxMenuItem(nomeCores[i]);
      item1.add(cores[i]);
      cores[i].addItemListener(gerenciador);
    } 
 
    // Adiciona o menu à barra de menus
    barra.add(formatar);
 
    setSize(300, 150);
    setVisible(true);    
  }
 
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
 
  private class Gerenciador implements ItemListener{
    public void itemStateChanged(ItemEvent e){
      String marcadas = "As checkbox marcadas são:\n\n";     
  
      for(int i = 0; i < cores.length; i++){
        if(cores[i].isSelected()){
          marcadas += nomeCores[i] + "\n";
        }
      }
 
      JOptionPane.showMessageDialog(null, marcadas); 
    }
  }
}



Java ::: Dicas & Truques ::: Mouse e Teclado

Como retornar as coordenadas do mouse durante um evento mouseClicked em uma janela JFrame do Java Swing

Quantidade de visualizações: 11147 vezes
Nesta dica eu mostro como podemos obter as coordenadas do mouse no momento que o usuário clica em uma janela JFrame de nossas aplicações Java Swing. Note que exibimos as coordenadas x e y do mouse na barra de títulos da janela JFrame.

Saber como retornar as coordenadas do mouse durante um evento é uma das técnicas úteis para o desenvolvimento de jogos e aplicativos gráficos em Java.

Veja o código completo para o exemplo:

package arquivodecodigos;

/*
  Este exemplo mostra como obter as coordenadas
  do mouse durante um evento.
*/
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  public Estudos() {
    super("Eventos do Mouse e Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
     
    this.addMouseListener(
      new MouseAdapter(){
        @Override
        public void mouseClicked(MouseEvent e){
          setTitle("X = " + e.getX() + "; Y = " + e.getY());
        }
      }
    );    
 
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

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.


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