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.

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:

Python ::: Tkinter GUI Toolkit ::: Entry

Como setar o foco em uma caixa de texto Entry do Tkinter usando a função focus_set()

Quantidade de visualizações: 1854 vezes
Em várias situações durante o processo de programação em Tkinter nós precisamos, via programação, trocar o foco de uma caixa de texto para outra. Isso pode ser feito com o auxílio da função focus_set().

No código abaixo nós temos uma janela Tkinter com duas caixas de texto Entry e um botão Button. Experimente digitar conteúdo nas duas caixas de texto e depois clicar no botão. Você verá que o foco é colocado novamente na primeira caixa de texto.

Veja o código Python completo:

# vamos importar o módulo Tkinter
from tkinter import *
from tkinter.ttk import *

# variáveis globais
caixa_texto_1 = None

# método principal
def main():
  # acessamos a variável global
  global caixa_texto_1
  
  # vamos criar o frame principal da aplicação Tkinter
  janela = Tk()

  # agora definimos o tamanho da janela
  janela.geometry("600x400")

  # criamos uma caixa de texto Entry de linha única
  caixa_texto_1 = Entry(janela, width=40)
  caixa_texto_1.grid(column=0, row=0, sticky=W, padx=15, pady=10)

  # criamos uma segunda caixa de texto Entry de linha única
  caixa_texto_2 = Entry(janela, width=40)
  caixa_texto_2.grid(column=0, row=1, sticky=W, padx=15, pady=0)

  # vamos criar um botão Button
  btn = Button(janela, text="Definir Foco", width=20, command=definir_foco)
  btn.grid(column=0, row=2, sticky=W, padx=15, pady=10)

  # entramos no loop da aplicação
  janela.mainloop()  

# função para definir o foco na primeira caixa de texto
def definir_foco():
  # definimos o foco na primeira caixa de texto Entry
  caixa_texto_1.focus_set()

if __name__== "__main__":
  main()



Delphi ::: Dicas & Truques ::: Bilbiotecas Estáticas (obj) e Dinâmicas (DLLs)

Como criar DLLs usando Delphi? É possível criar DLLs para o Windows usando Delphi?

Quantidade de visualizações: 13795 vezes
As DLLs (Dynamic Link Libraries - Bibliotecas de Vínculo Dinâmico) são arquivos compilados bem similares aos arquivos .exe que estamos acostumados a criar em Delphi. Uma DLL contém rotinas, recursos ou ambos. Mas, não pode ser executada por si só, ou seja, se dermos duplo-clique em uma DLL nada acontecerá.

Isso acontece porque uma DLL é desenvolvida para ser usada juntamente como outros aplicativos e/ou outras DLLs. No ambiente Windows encontramos muitas DLLs. Na verdade, o Windows e sua Win32 API é uma coleção de DLLs. Se olharmos nos diretórios System ou System32 encontraremos várias delas, incluindo kernel32.dll, gdi32.dll, user32.dll, shell32.dll, comctl32.dll, entre outras.

Mas, para que servem as DLLs? É possível desenvolver aplicações Windows sem usá-las? Vamos às respostas.

As DLLs existem com o propósito de compartilhar código entre aplicações. Isso quer dizer que uma mesma DLL pode estar sendo usada por vários programas ao mesmo tempo. E isso é verdade no ambiente Windows. Todos os programas de interface gráfica escritos em Delphi, C, C++, etc e que usam os componentes gráficos do Windows estão de alguma forma fazendo uso de códigos disponíveis em DLLs do sistema. Sem o aproveitamente de tais códigos os executáveis ficariam enormes, visto que cada um teria que implementar as rotinas de desenho e diretivas de criação de janelas. Ao aproveitar as funcionalidades disponíveis nas DLLs do sistema esta tarefa se torna muito mais fácil.

Mas, além de usar DLLs de terceiros com códigos já prontos e devidamente testados, você também pode criar suas próprias DLLs. O motivo disso é que você pode querer compartilhar algumas de suas rotinas entre os vários aplicativos que você desenvolve. A maior vantagem disso é que, ao atualizar ou corrigir o código em uma DLL você estará certo de que todas as aplicações que fazem uso desta DLL automaticamente perceberão e tirarão proveito da atualização.

Entre as vantagens do uso de DLLs podemos citar:

a) Podemos compartilhar rotinas e códigos entre várias aplicativos;

b) Ao mantermos boa parte de nossos códigos em DLLs nós conseguimos economizar memória e espaço em disco;

c) Outros desenvolvedores poderão usar nossas rotinas e lógica mesmo sem ter acesso aos nossos códigos-fontes;

d) Podemos usar códigos escritos em outras linguagens em nossos programas Delphi. Isso quer dizer que uma DLL escrita em C/C++ poderá ser usada em um programa Delphi sem qualquer problema. A prova disso é que as DLLs do Windows são escritas em C/C++.

Hora de criar sua primeira DLL em Delphi. Consulte outras dicas nesta seção para aprender a fazê-lo.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


C# ::: Coleções (Collections) ::: List<T>

Como retornar a quantidade de elementos que podem ser armazenados na List do C# sem redimensioná-la

Quantidade de visualizações: 7846 vezes
O objeto List do C# possui uma propriedade Capacity que nos retorna a quantidade de elementos que podem ser inseridos na lista antes que ela tenha que redimensionar o seu array interno. Quando o tamanho da lista excede essa capacidade, automaticamente o array interno é redimensionado de forma a acomodar esses novos itens.

Nessa dica eu mostro como podemos retornar o valor dessa propriedade. Veja:

using System;
using System.Collections.Generic;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      List<int> valores = new List<int>();

      // insere valores na lista
      valores.Add(4);
      valores.Add(2);
      valores.Add(87);
      valores.Add(23);
      valores.Add(100);

      // obtém a capacidade da lista
      // NOTA: Capacity é o número de elementos que a lista
      // pode armazenar antes de ser preciso redimensioná-la.
      int capac = valores.Capacity;
      Console.WriteLine("A capacidade da lista é de "
         + capac + " elementos.");

      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

A capacidade da lista é de 8 elementos.


Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows)

Como criar chaves no registro do Windows usando o método CreateKey() da classe TRegistry do Delphi

Quantidade de visualizações: 15739 vezes
Em algumas situações gostariámos de criar novas chaves e/ou sub-chaves no registro do Windows. Isso pode ser feito por meio do método CreateKey() da classe TRegistry. Este método recebe uma string especificando o nome da chave a ser criada e retorna um valor Boolean indicando se a chave foi criada com sucesso.

Veja um trecho de código no qual criamos uma chave chamada "Arquivo de Códigos" dentro da chave raiz HKEY_CURRENT_USER:

procedure TForm3.Button4Click(Sender: TObject);
var
  chave: String;
  reg: TRegistry;
begin
  // uses Registry

  // vamos definir o nome da chave a ser criada
  chave := 'Arquivo de Códigos';

  // vamos criar uma instância da classe TRegistry
  reg := TRegistry.Create;

  // a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas
  // vamos reafirmar isso
  reg.RootKey := HKEY_CURRENT_USER;

  // vamos criar a chave informada
  if reg.CreateKey(chave) then
    begin
      ShowMessage('A chave foi criada com sucesso.');
    end
  else
    begin
      ShowMessage('Não foi possível criar a chave informada.');
    end;
    
  // vamos liberar o registro 
  reg.Free;
end;


Alguns aplicativos, por exemplo os da Adobe, Macromedia, Microsoft, etc, guardar informações relacionadas aos seus aplicativos na sub-chave SOFTWARE dentro da chave HKEY_LOCAL_MACHINE. Assim, vamos criar uma chave para um aplicativo fictício. Vamos chamar nossa chave de "Simulador Nota Fiscal Eletrônica 1.0". Note que, se esta chave já existir no registro nada acontecerá:

procedure TForm3.Button4Click(Sender: TObject);
var
  chave: String;
  reg: TRegistry;
begin
  // uses Registry

  // vamos definir o nome da chave a ser criada
  chave := 'Simulador Nota Fiscal Eletrônica 1.0';

  // vamos criar uma instância da classe TRegistry
  reg := TRegistry.Create;

  // vamos criar uma chave dentro de HKEY_LOCAL_MACHINE\SOFTWARE
  reg.RootKey := HKEY_LOCAL_MACHINE;

  // vamos criar a chave informada
  if reg.CreateKey('\SOFTWARE\' + chave) then
    begin
      ShowMessage('A chave foi criada com sucesso.');
    end
  else
    begin
      ShowMessage('Não foi possível criar a chave informada.');
    end;
    
  // vamos liberar o registro 
  reg.Free;
end;


Execute este código e logo em seguida abra uma janela de terminal e digite regedit.exe. vá na seção
HKEY_LOCAL_MACHINE\SOFTWARE e veja se a chave "Simulador Nota Fiscal Eletrônica 1.0" foi realmente criada.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


C# ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string em um array de char em C# usando a função ToCharArray()

Quantidade de visualizações: 10542 vezes
Nesta dica mostrarei como podemos usar a função ToCharArray() da classe String da linguagem C# para converter todos os caracteres de uma palavra, frase ou texto em um vetor de chars. Em seguida nós usaremos o método Reverse() da classe Array para inverter a ordem dos elementos do vetor. Finalmente nós passamos este vetor para o construtor da classe String para obter a string original novamente, só que desta vez, com a ordem de suas letras invertidas.

Veja o código C# completo para o exemplo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string frase = "Gosto de C#";
      Console.WriteLine("Frase original: " + frase);

      // obtém um array de caracteres a partir da string
      char[] letras = frase.ToCharArray();
      Array.Reverse(letras); // inverte o array

      // transforma em string novamente
      string resultado = new String(letras);
      Console.WriteLine("Frase invertida: " + resultado);

      Console.WriteLine();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

Frase original: Gosto de C#
Frase invertida: #C ed otsoG


Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

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 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 Apenas R$ 19,90


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