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 Ética e Legislação Profissional
Card 1 de 8
Noções de licitação pública

Modalidades da licitação:

Convite é a modalidade dirigida para interessados do ramo do objeto da licitação e é adequado para contratações de menor valor. Na Lei n.º 14.133/2021, essa modalidade foi extinta.

Leilão é a modalidade para a venda de bens móveis que não servem mais para a administração pública, a venda de produtos legalmente apreendidos ou penhorados e para a alienação de imóveis da administração pública.

Concurso é a modalidade indicada para a escolha de um trabalho técnico, artístico ou científico.

Pregão é a modalidade de licitação para aquisição de bens e serviços comuns. No artigo 1º, parágrafo único, da Lei n.º 10.520/2002, consta que bens e serviços comuns são "aqueles cujos padrões de desempenho e qualidade possam ser objetivamente definidos pelo edital, por meio de especificações usuais no mercado". Isso significa que são bens e serviços que não têm características técnicas especiais, sendo facilmente encontrados no mercado. O pregão também foi previsto na nova lei de licitações, no artigo 28, i.

Concorrência é a modalidade indicada para contratações de grandes valores, em que o interessado precisa comprovar a qualificação exigida no edital.

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:

LISP ::: Dicas & Truques ::: Passos Iniciais

O que é Lisp e como escrever seu primeiro programa nessa linguagem de programação

Quantidade de visualizações: 1965 vezes
O que é Common Lisp?

A linguagem de programação ANSI Common Lisp, ou simplesmente Common Lisp, é uma implementação específica da linguagem de programação Lisp multi-paradigma que suporta programação funcional e procedural.

Sua especificação foi criada por Guy L. Steele nos anos 1980 a partir da linguagem Lisp com o intuito de combinar aspectos de diversos dialetos Lisp anteriores, incluindo Scheme. Foi proposto inicialmente o nome de "Standard Lisp" para a linguagem, mas em virtude de um dialeto Lisp já existir com este nome, se buscou um nome similar, resultando no nome "Common Lisp".

Em 1994 foi publicada no padrão ANSI Information Technology - Programming Language - Common Lisp, registro X3.226-1994 (R1999). É bem maior e semanticamente mais complexa que Scheme uma vez que foi projetada para ser uma linguagem comercial e ser compatível com os diversos dialetos Lisp dos quais derivou.

Como baixar, instalar e testar a Common Lisp no Windows?

Embora exista uma quantidade enorme de compiladores Lisp disponíveis atualmente, minha pesquisa recaiu sobre o Steel Bank Common Lisp (SBCL), que pode ser baixado no endereço http://www.sbcl.org. No meu Windows 10 eu baixei o instalador sbcl-2.2.3-x86-64-windows-binary.msi, com o tamanho de 11.7Mb.

Finalizada a instalação, vamos testar nossa distribuição do Bank Common Lisp (SBCL). Para isso, abra um janela de terminal e navegue até o diretório de instalação do SBCL:

C:\Users\Osmar>cd C:\Program Files\Steel Bank Common Lisp

Se você vir um arquivo sbcl.exe dentro deste diretório nós já temos a indicação de que tudo correu bem. Tudo que temos a fazer é chamar este arquivo na linha de comando:

C:\Program Files\Steel Bank Common Lisp>sbcL

Você verá as seguintes informações na sua tela:

This is SBCL 2.2.3, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information.
*

Note que o cursor já está esperando comandos, uma vez que estamos no modo interativo. Assim, digite o seguinte comando:

* (+ 5 (* 2 4))

Pressione Enter. Se você vir o valor 13, então é sinal de que o SBCL está funcionando 100% e já podemos prosseguir.

Para sair do modo interativo do SBCL, digite:

* (quit)

Como escrever um programa em Common List e carregá-lo no SBCL

Agora vamos ver como podemos escrever um programa Common Lisp, salvá-lo em arquivo e carregá-lo a partir do compilador Steel Bank Common Lisp (SBCL). Para isso, abra o seu editor de códigos favorito e digite a seguinte listagem:

; Este programa talvez seja um dos mais básicos
; que podem ser escritos em Common Lisp
(defun Primeiro()
  ; Vamos mostrar uma mensagem de boas-vindas
  (write-line "Bem-vindo(a) à Common Lisp")
)

; Efetua uma chamada automática ao programa
(Primeiro)

Para executar este programa, basta chamar o SBCL pela linha de comando, da seguinte forma:

C:\Program Files\Steel Bank Common Lisp>sbcl --script C:\estudos_common_lisp\Primeiro.lsp

Se o seu código estiver correto, sem nenhum erro de sintáxe, você verá o seguinte texto:

Bem-vindo(a) à Common Lisp

Pronto! Agora é só aproveitar as nossas dicas, truques e exercícios resolvidos de Common Lisp para aprender ainda mais. Bons estudos.


Revit C# ::: Dicas & Truques ::: Revit C# Windows Forms

Como criar um formulário Windows Forms a partir do Revit C#

Quantidade de visualizações: 1328 vezes
Nesta dica mostrarei os passos necessários para se criar uma aplicação Revit C# contendo uma formulário Windows Forms. O objetivo é demonstrar como o usuário pode interagir com os elementos do formulário para acessar e manipular objetos do Revit a partir de códigos C#.

Antes de continuarmos, veja a janela Windows Forms que criamos logo abaixo:



Veja que temos um formulário contendo 6 Labels e 6 TextBox contendo as coordenadas inicias e finais de uma linha geométrica usada para criar um novo eixo na área de desenho do Revit. Ao informar as coordenadas e clicar o botão Desenhar Eixo, um novo objeto da classe Grid da Revit API é criado e desenhado no documento atual.

Este código é muito útil para iniciantes em programação Revit C# porque mostra como acessar o documento ativo usando ActiveUIDocument e em seguida passar este objeto para uma outra classe C#. De posse deste objeto nós podemos realizar várias tarefas, entre elas criar uma nova linha geométrica usando Line.CreateBound() e, em seguida, criar um novo Grid usando Grid.Create().

Veja o código completo para uma macro chamada Estudos do tipo Aplicativo. Se tiver dificuldades para executar, chama a gente nos contatos na parte superior do site que teremos prazer em ajudá-lo.

Eis a listagem do código C#:

using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace Estudos {
  [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.
    TransactionMode.Manual)]
  [Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")]
  public partial class ThisApplication {
    private void Module_Startup(object sender, EventArgs e) {
      JanelaPrincipal janela = new JanelaPrincipal();
      janela.uidoc = this.ActiveUIDocument;
      janela.ShowDialog();
    }

    private void Module_Shutdown(object sender, EventArgs e) {
      // para fazer alguma limpeza de memória ou algo assim
    }

    #region Revit Macros generated code
    private void InternalStartup() {
    this.Startup += new System.EventHandler(Module_Startup);
    this.Shutdown += new System.EventHandler(Module_Shutdown);
    }
    #endregion
  }
  
  // classe para representar o formulário
  public class JanelaPrincipal : System.Windows.Forms.Form {
    public UIDocument uidoc;
    public System.Windows.Forms.TextBox txtX0;
    public System.Windows.Forms.TextBox txtY0;    
    public System.Windows.Forms.TextBox txtZ0;
    public System.Windows.Forms.TextBox txtX1;
    public System.Windows.Forms.TextBox txtY1;    
    public System.Windows.Forms.TextBox txtZ1;
    
    // construtor da classe
    public JanelaPrincipal() {
      this.Text = "Meu Formulário Revit C# Windows Forms"; // título da janela 
      this.Width = 390; // largura da janela
      this.Height = 240; // altura da janela
      // define a posição atual da janela
      this.StartPosition = FormStartPosition.CenterScreen;
      
      // vamos criar quatro labels e quatro caixas de texto
      Label label1 = new Label();
      label1.Text = "X Inicial:";
      label1.Location = new System.Drawing.Point(20, 20);
      label1.Height = 15;
      label1.Width = 80;

      Label label2 = new Label();
      label2.Text = "Y Inicial:";
      label2.Location = new System.Drawing.Point(120, 20);
      label2.Height = 15;
      label2.Width = 80;
      
      Label label3 = new Label();
      label3.Text = "Z Inicial:";
      label3.Location = new System.Drawing.Point(220, 20);
      label3.Height = 15;
      label3.Width = 80;
      
      txtX0 = new System.Windows.Forms.TextBox();   
      txtX0.Location = new System.Drawing.Point(20, 40);
      txtX0.Width = 80;
      txtX0.Height = 15;
      
      txtY0 = new System.Windows.Forms.TextBox();   
      txtY0.Location = new System.Drawing.Point(120, 40);
      txtY0.Width = 80;
      txtY0.Height = 15;
      
      txtZ0 = new System.Windows.Forms.TextBox();   
      txtZ0.Location = new System.Drawing.Point(220, 40);
      txtZ0.Width = 80;
      txtZ0.Height = 15;
      
      Label label4 = new Label();
      label4.Text = "X Final:";
      label4.Location = new System.Drawing.Point(20, 80);
      label4.Height = 15;
      label4.Width = 80;

      Label label5 = new Label();
      label5.Text = "Y Final:";
      label5.Location = new System.Drawing.Point(120, 80);
      label5.Height = 15;
      label5.Width = 80;
      
      Label label6 = new Label();
      label6.Text = "Z Final:";
      label6.Location = new System.Drawing.Point(220, 80);
      label6.Height = 15;
      label6.Width = 80;
      
      txtX1 = new System.Windows.Forms.TextBox();   
      txtX1.Location = new System.Drawing.Point(20, 97);
      txtX1.Width = 80;
      txtX1.Height = 15;
      
      txtY1 = new System.Windows.Forms.TextBox();   
      txtY1.Location = new System.Drawing.Point(120, 97);
      txtY1.Width = 80;
      txtY1.Height = 15;
      
      txtZ1 = new System.Windows.Forms.TextBox();   
      txtZ1.Location = new System.Drawing.Point(220, 97);
      txtZ1.Width = 80;
      txtZ1.Height = 15;
      
      // botão que desenha o eixo nas coordenadas indicadas      
      Button button1 = new Button();
      button1.Text = "Desenhar Eixo";
      button1.Location = new System.Drawing.Point(95, 160);
      button1.Width = 150;
      button1.Click += new System.EventHandler(DesenharEixo);
                
      // botão que fecha a janela      
      Button button2 = new Button();
      button2.Text = "Fechar";
      button2.Location = new System.Drawing.Point(265, 160);
      button2.Width = 80;
      button2.Click += new System.EventHandler(FecharJanela);
      
      // adiciona os controles à janela
      this.Controls.Add(label1);
      this.Controls.Add(label2);
      this.Controls.Add(label3);
      this.Controls.Add(label4);
      this.Controls.Add(label5);
      this.Controls.Add(label6);
      this.Controls.Add(txtX0);
      this.Controls.Add(txtY0);
      this.Controls.Add(txtZ0);
      this.Controls.Add(txtX1);
      this.Controls.Add(txtY1);
      this.Controls.Add(txtZ1);
      this.Controls.Add(button1);
      this.Controls.Add(button2);
    }
    
    // função usada para desenhar um novo eixo no documento atual
    private void DesenharEixo(object sender, System.EventArgs e) {
      // primeiro obtemos uma referência ao documento atual
      Document doc = uidoc.Document;
			
      // criamos a linha geométrica para posicionar o eixo 	
      XYZ inicio = new XYZ(Double.Parse(txtX0.Text), Double.Parse(txtY0.Text),
        Double.Parse(txtZ0.Text));
      XYZ final = new XYZ(Double.Parse(txtX1.Text), Double.Parse(txtY1.Text),
        Double.Parse(txtZ1.Text));
     
      // construímos a linha
      Line linhaGeometrica = Line.CreateBound(inicio, final);

      // iniciamos uma nova transação
      using(Transaction t= new Transaction(doc)) {
	t.Start("Criar um novo Grid");
	Grid grid = Grid.Create(doc, linhaGeometrica);
	t.Commit();
      }
    }
    
    // função usada para fechar a janela
    private void FecharJanela(object sender, System.EventArgs e) {
      this.Close();  
    }
  }
}

Não se esqueça de adicionar referências a System.Windows.Forms e System.Drawing. Basta, dentro do SharpDevelop, ir no menu Projeto -> Adicionar Referência.


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

Como substituir todos os espaços em uma string pelo caractere de underline em C# usando o método Replace() da classe String

Quantidade de visualizações: 8774 vezes
Nesta dica de C# eu trago um trecho de código que mostra como substituir todos os espaços em uma string pelo caractere de sublinhado (underline). Para a realização desta tarefa nós vamos usar o método Replace() da classe String da linguagem C#.

Veja o código completo para o exemplo:

using System;

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

      // substitui os espaços por underline
      frase = frase.Replace(" ", "_");
      Console.WriteLine("Depois da substituição: " + frase);

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

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

Frase original: Gosto muito de C#
Depois da substituição: Gosto_muito_de_C#


Laravel ::: Artigos e Tutorias ::: CRUD - CREATE, READ, UPDATE, DELETE

Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 1

Quantidade de visualizações: 7591 vezes
Uma das maiores dificuldades de quem está aprendendo a desenvolver aplicações em Laravel é encontrar livros e tutoriais realmente direcionados para os iniciantes. A documentação do framework Laravel é muito consistente e apurada, mas não nos oferece um caminho progressivo para desenvolver do zero uma aplicação que vai de encontro ao anseio daqueles que querem desenvolver códigos Laravel com conexão à banco de dados, principalmente com o MySQL (ou MariaDB).

Nesta série de tutoriais eu mostrarei como criar um CRUD completo em Laravel e MySQL, usando o XAMPP (PHP, MySQL e Apache Web Server). CRUD é uma abreviação para CREATE, READ, UPDADE e DELETE, ou seja, as quatro operações que comumente usamos em cadastros de clientes, produtos, etc.

Então, sem mais atrasos, vamos colocar a mão na massa. Comece verificando se você já tem o Laravel instalado. Caso não tenha, aqui mesmo no site você encontrará instruções para fazer a instalação. Certifique-se também de que o seu XAMPP esteja instalado e funcionando corretamente.

Criando a aplicação Laravel

Para começar, vamos criar a aplicação. Daremos a ela o nome de biblioteca e faremos o cadastro de alguns livros. Abra uma janela de prompt e dispare os comandos abaixo:

C:\Users\Osmar>cd C:\xampp\htdocs
C:\xampp\htdocs>composer create-project --prefer-dist laravel/laravel biblioteca

Aguarde um pouco até que a aplicação seja criada e as dependências sejam instaladas. Vá pegar um cafezinho e, quando voltar, verifique se tudo correu bem e vamos progredir.

Hora de criar a base de dados no MySQL

Depois de criada a aplicação Laravel, vamos até o banco MySQL criar a nossa base de dados. Daremos a ela o nome de biblioteca. Você pode criar a base de dados usando o phpMyAdmin, a linha de comando ou sua ferramenta GUI favorita. O passo seguinte é configurar os parâmetros de conexão essa base de dados. Para isso, abra o arquivo .env na raiz do projeto e localize as linhas abaixo (caso não saiba como abrir o arquivo .env, use a opção File -> Open File do Visual Code da Microsoft):

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Encontrou as linhas mencionadas? Agora altere-as para as definições abaixo:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=biblioteca
DB_USERNAME=root
DB_PASSWORD=osmar1234

É claro que os parâmetros de conexão Laravel + MySQL podem variar do meu exemplo para o seu.

Vamos criar a migração (migration) - Mais café, por favor

Com a base de dados MySQL já criada, vamos criar agora uma tabela chamada livros. Em uma janela de terminal, dispare os comandos abaixo:

C:\xampp\htdocs>cd C:\xampp\htdocs\biblioteca

C:\xampp\htdocs\biblioteca>php artisan make:migration criar_tabela_livros --create=livros
Created Migration: 2021_01_29_141019_criar_tabela_livros

Se tudo correu bem, abra o diretório C:\xampp\htdocs\biblioteca\database\migrations e verá um arquivo chamado 2021_01_29_141019_criar_tabela_livros.php. Abra-o e teremos o seguinte conteúdo:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CriarTabelaLivros extends Migration
{
  /**
   * Run the migrations.
   *
   * @return void
  */
  public function up()
  {
    Schema::create('livros', function (Blueprint $table) {
      $table->id();
      $table->timestamps();
    });
  }

  /**
   * Reverse the migrations.
   *
   * @return void
  */
  public function down()
  {
    Schema::dropIfExists('livros');
  }
}
?>

Note que temos uma classe chamada CriarTabelaLivros que extende Migration e, dentro dessa classe, foram criados dois métodos: up(), que permite criar a tabela livros e down(), que permite excluí-la.

Vamos alterar o método up() para a seguinte versão:

public function up()
{
  Schema::create('livros', function (Blueprint $table) {
    $table->increments('id');
    $table->string('titulo');
    $table->string('autor');
    $table->integer('paginas');
    $table->timestamps();
  });
}


Veja que nossa tabela livros será composta de quatro campos: id (chave primária auto-incremento), titulo (varchar), autor (varchar) e paginas (int). O Laravel incluirá dois outros campos: created_at e updated_at para podemos registrar data e hora da criação e alteração dos registros individuais.

Vamos fazer a migração agora?

Agora que já temos a base de dados MySQL criada, configuramos os parâmetros de conexão no arquivo .env e criamos o arquivo de migração, o passo seguinte é rodar a migração. Para isso abra uma janela de terminal e digite o comando a seguir:

C:\xampp\htdocs\biblioteca>php artisan migrate
Migrating: 2021_01_29_141019_criar_tabela_livros
Migrated: 2021_01_29_141019_criar_tabela_livros (63.66ms)

Se olharmos na base de dados agora, veremos que a tabela livros foi devidamente criada. Confira os campos atentamente e faça as alterações que julgar necessárias.

Na parte 2 deste tutorial de CRUD usando Laravel + MySQL, veremos como criar a rota de direcionamento das ações CRUD, o controlador (controller), o model (model) e as views (visões). Até lá e bons estudos.

Leia a parte 2 aqui: Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 2


Delphi ::: VCL - Visual Component Library ::: TListBox

Como excluir todos os itens de uma ListBox do Delphi - Como remover todos os itens da ListBox usando a função Clear

Quantidade de visualizações: 15038 vezes
Em algumas situações nós precisamos excluir todos os itens de uma ListBox. Para tais situações podemos usar o método Clear da classe ListBox. Veja:

procedure TForm1.Button2Click(Sender: TObject);
begin
  // vamos excluir todos os itens da ListBox
  ListBox1.Clear;
  

  // poderíamos também usar
  // ListBox1.Items.Clear;
end;

Note que podemos também chamar o método Clear diretamente no objeto Items da ListBox, embora a chamada na ao método Clear da lista seja mais comum.

É possível também excluir os itens de uma ListBox individualmente chamando a função Delete() no objeto Items. Neste caso nós usamos um laço e percorremos todos os elementos da lista e os excluímos um a um. É importante, para estes casos, lembrarmos de percorrer os itens do último para o primeiro. Caso esta regra não seja obedecida, poderá haver erros de acesso durante a exclusão. Veja o código:

procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
begin
  // vamos percorrer todos os itens da ListBox do último
  // para o primeiro
  for i := ListBox1.Items.Count - 1 downto 0 do
    begin
      // vamos excluir o item no índice correspondente
      ListBox1.Items.Delete(i);
    end;
end;

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


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

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á 50 usuários muito felizes estudando em nosso site.