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:

Python ::: wxPython ::: Janelas, Diálogos, Formulários e Painéis do wxPython

Como definir o ícone para uma janela wx.Frame do wxPython

Quantidade de visualizações: 7833 vezes
Nesta dica mostrarei como usar a função SetIcon() da classe wx.TopLevelWindow para definir o ícone da janela de nossa aplicação wxPython. Observe que, se o ícone não for encontrado, uma mensagem de erro será exibida.

Veja o código completo para o exemplo:

# vamos importar a biblioteca Wx
import wx

# vamos criar uma classe que herda de wxFrame
class MinhaJanela(wx.Frame):
  def __init__(self):
    # chamamos o construtor da super classe
    wx.Frame.__init__(self, None, -1, 
      "Cadastro de Clientes", size=(350, 200))
    
    # Define o ícone para a janela
    self.SetIcon(wx.Icon("icone.ico", wx.BITMAP_TYPE_ICO))

if __name__ == "__main__":
  app = wx.App()
  janela = MinhaJanela()
  janela.Show(True)
  app.MainLoop()



Java ::: Coleções (Collections) ::: ArrayList

Como testar se um valor está contido em uma ArrayList do Java usando a função contains()

Quantidade de visualizações: 20231 vezes
Em algumas situações nós queremos verificar se um determinado valor está contido em um dos elementos da ArrayList. Para isso nós podemos usar o método contains(), que retorna true se o valor existir e false em caso contrário.

Veja um exemplo de seu uso:

package estudos_java;

import java.util.ArrayList;

public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá inteiros
    ArrayList<Integer> valores = new ArrayList<>();
    
    // adiciona itens na lista
    valores.add(34);
    valores.add(12);
    valores.add(8);
    valores.add(23);
    	
    // Verifica se um determinado 
    if(valores.contains(12)){
      System.out.println("O valor foi encontrado.");
    }
    else{
      System.out.println("O valor não foi encontrado.");
    } 

    System.exit(0);
  }
}

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

O valor pesquisado foi encontrado.


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

Como usar a função isdigit() do header ctype.h da linguagem C para verificar se um caractere é um dígito de 0 a 9

Quantidade de visualizações: 16201 vezes
Em algumas situações podemos precisar verificar se um dado caractere é um dígito (número) de 0 a 9. Isso pode ser feito com o auxílio da função isdigit() no header ctype.h. Esta função recebe um caractere e retorna um valor diferente de 0 se o caractere testado for um dígito de 0 a 9. Caso contrário o retorno é 0. Veja um exemplo completo de seu uso:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

int main(int argc, char *argv[]){
  char caractere;

  // vamos ler o caractere informado pelo usuário
  printf("Informe um caractere e tecle ENTER: ");
  scanf("%c", &caractere);

  // vamos verificar se o usuário informou um dígito
  // de 0 a 9
  if(isdigit(caractere))
    printf("Voce informou um digito de 0 a 9");
  else
    printf("Voce NAO informou um digito de 0 a 9");

  puts("\n\n");
  system("PAUSE");
  return 0;
}



Delphi ::: Dicas & Truques ::: Data e Hora

Como obter a quantidade de dias para um determinado ano usando a função DaysInAYear() do Delphi

Quantidade de visualizações: 11967 vezes
Quando estamos trabalhando com datas, geralmente precisamos saber a quantidade de dias que um determinado ano possui, ou seja, alguns anos possuem 365 dias, outros possuem 366. A unit DateUtils possui uma função chamada DaysInAYear() que serve para este propósito. Ela aceita um inteiro representando o ano desejado e retorna um inteiro representando a quantidade de dias que tal ano possui. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  ano, dias_ano: Integer;
begin
  ano := 2010;

  // vamos obter a quantidade de dias para o
  // ano de 2010
  dias_ano := DaysInAYear(ano);

  // exibe o resultado
  ShowMessage('O ano informado contém ' + IntToStr(dias_ano) +
    ' dias');
end;

Este trecho de código nos informará que o ano de 2010 possui 365 dias. Note que o argumento para a função DaysInAYear() deve estar entre 1 e 9999 (inclusive).

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


Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet

Como usar o componente TClientDataSet do Delphi em suas aplicações de banco de dados

Quantidade de visualizações: 16665 vezes
Um objeto da classe TClientDataSet implementa um conjunto de dados independente de banco de dados. Este controle representa um conjunto de dados em memória (in-memory).

Antes de prosseguirmos, veja a posição desta classe na hierarquia de classes do Delphi:

System.TObject
  Classes.TPersistent
    Classes.TComponent
      DB.TDataSet
        DBClient.TCustomClientDataSet
          DBClient.TClientDataSet
Por descendência, a classe TClientDataSet implementa as interfaces Classes.IInterfaceComponentReference, System.IInterface e DB.IProviderSupport.

Um controle TClientDataSet pode ser usado das seguintes formas:

a) Um conjunto de dados baseado em arquivo, único e totalmente funcional direcionado a aplicações compostas de apenas uma camada. Quando usado desta forma, o client dataset representa os dados armazenados em um arquivo dedicado na máquina do usuário.

b) Um buffer em memória local dos registros de um outro conjunto de dados. O outro conjunto de dados (a fonte dos dados) pode residir no mesmo formulário ou data module que o client dataset (por exemplo, quando o client dataset fornece navegação e edição para os dados de um conjunto de dados unidirecional). O conjunto de dados fonte pode também residir em um sistema separado quando o client dataset apoia a parte cliente de uma aplicação de bancos de dados de múltiplas camadas.

A forma mais comum de se usar um controle TClientDataSet é acessando a aba Data Acccess da Tool Palette (Paleta de Ferramentas) e arrastando-o para o seu formulário. Em seguida ajustamos algumas de suas propriedades em tempo de design e pronto. Veja o passo-a-passo para configurar um TClientDataSet para representar uma tabela no banco de dados MySQL (outras dicas minhas mostram como efetuar a conexão com outros bancos de dados):

1) Certifique-se de que o banco de dados MySQL está devidamente configurado e funcionando. Inicie-o, anote o nome de usuário e senha e vamos começar.

2) Vá até a aba de componentes dbExpress e arraste um componente TSQLConnection para o formulário. Este é o componente responsável pela conexão com o banco de dados. Selecione o componente no formulário de forma a acessar suas propriedades no Object Inspector. Em seguida siga atentamente as observações a seguir:

a) Vá na propriedade ConnectioName e selecione MySQLConnection. Automaticamente a propriedade Driver é definida como MySQL. A propriedade LibrayName será definida como dbxmys.dll. O mesmo acontece com a propriedade VendorLib, que é definida como libmysql.dll. dbxmys.dll é fornecida com o Delphi enquanto libmysql.dll vem com a instalação do MySQL e deverá estar em C:\Windows\System para que sua aplicação seja executada com sucesso.

b) O simples fato de definirmos o valor MySQL para a propriedade ConnectionName faz com que os parâmetros de conexão sejam criados com os valores padrões e guardados na propriedade Params. O próximo passo é alterar estes valores de forma a refletir a realidade do banco de dados que vamos usar. Vá em Params e acione o editor Value List Editor. Em HostName você deverá informar o nome ou IP do servidor MySQL. Se estiver rodando localmente use apenas "localhost". Em Database informe o nome da base de dados, por exemplo, "estoque". Em User_Name informe o usuário do banco de dados. Geralmente é "root". Em Password informe a senha do banco de dados. Pressione OK.

c) Vá na propriedade LoginPrompt e altere seu valor para False. Isso evita que a tela de login seja exibida quando tentarmos efetuar a conexão. Agora vá na propriedade Connected e altere seu valor para True. Se correr tudo bem você já estará conectado ao banco de dados MySQL.

3) Agora coloque um componente TSQLDataSet no formulário e defina sua propriedade SQLConnection para o componente TSQLConnection que representa a conexão com o banco de dados. Em seguida defina o valor "ctTable" para a propriedade CommandType. Na propriedade CommandText você deverá informar o nome da tabela que será representada por este TSQLDataSet. Finalmente ajuste a propriedade Active para True.

4) O próximo passo é colocar no formulário um componente TDataSetProvider (na aba Data Access). Este componente é responsável por fazer a conexão com o conjunto de dados (dataset), extrair os dados do SQLDataSet e gerar os comandos de atualização SQL adequados. Assim, informe o valor "SQLDataSet1" para a sua propriedade DataSet.

5) Finalmente chegamos ao componente TClientDataSet. Vá na aba Data Acccess e arraste um TClientDataSet para o formulário. Em seguida informe o valor "DataSetProvider1" para sua propriedade ProviderName. Ajuste sua propriedade Active para True.

6) Hora de exibir e manipular os dados. Vá na aba Data Access e arraste um controle TDataSource para o formulário. Aponte sua propriedade DataSet para "ClientDataSet1". Agora vá na aba Data Controls e arraste um TDBGrid para o formulário. Ajuste sua propriedade DataSource para "DataSource1". Se tudo correu bem, você já verá os registros da tabela serem exibidos no DBGrid.

7) Hora de executar a aplicação. Pressione F9 e vamos ao resultado. Experimente navegar e editar os registros no DBGrid. A aplicação permitirá que você faça isso. No entanto, ao fechar a aplicação e abrí-la novamente você perceberá que as alterações não foram refletidas no banco de dados. Para que isso aconteça, coloque o código abaixo no evento Click de um botão:

procedure TForm3.Button1Click(Sender: TObject);
begin
  if (ClientDataSet1.ChangeCount > 0) then
    ClientDataSet1.ApplyUpdates(-1);
end;

Pronto. Execute a aplicação novamente e faça modificações nos dados exibidos no DBGrid (é preciso sair da linha de edição para que os dados sejam atualizados no DBGrid). Clique no botão para atualizar os dados na tabela do banco de dados. Feche a aplicação a abra-a novamente. Note que agora os dados foram atualizados com sucesso.

Esta dica foi escrita e testada no 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 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á 14 usuários muito felizes estudando em nosso site.