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:

Delphi ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI

Como abrir e fechar um dispositivo de saída MIDI usando Delphi

Quantidade de visualizações: 11819 vezes
Quando queremos executar sons MIDI no Windows, a primeira tarefa a ser realizada é abrir o dispositivo de saída MIDI. Isso é feito com uma chamada à função midiOutOpen() da API do Windows. Veja sua assinatura (em C):

MMRESULT midiOutOpen(
  LPHMIDIOUT lphmo,              
  UINT_PTR   uDeviceID,          
  DWORD_PTR  dwCallback,         
  DWORD_PTR  dwCallbackInstance, 
  DWORD      dwFlags             
);

Esta função está traduzida na unit MMSystem.pas do Delphi da seguinte forma:

function midiOutOpen(lphMidiOut: PHMIDIOUT; uDeviceID: UINT;
  dwCallback, dwInstance, dwFlags: DWORD): MMRESULT; stdcall;

Antes de continuarmos, vamos entender os parâmetros desta função:

lphmo - Este é um ponteiro para um HMIDIOUT (que é simplemente um Integer). Este ponteiro é preenchido com um handle identificando o dispositivo de saída MIDI aberto. Este handle é usado para identificar o dispositivo nas demais chamadas de saída MIDI.

uDeviceID - Identificador do dispositivo de saída MIDI a ser aberto. O valor 0 aqui é seguro, visto que este identifica o primeiro dispositivo na lista de dispositivos de saída. Veja minha dica "Como obter uma lista dos dispositivos de saída MIDI no sistema" para mais informações.

dwCallback - Um ponteiro para uma função de callback, um handle de evento, um identificador de thread ou um handle para uma janela ou thread chamada durante o playback do MIDI para processar mensagens relacionadas ao processo de playback. Se não houver nada a ser processado, podemos definir o valor 0 para este parâmetro. Dê uma olhada na minha dica relacionada à função MidiOutProc().

dwCallbackInstance - Dados de instância do usuário passados para a função de callback. Este parâmetro não é usado em callbacks de janela e thread. É seguro manter seu valor como 0.

dwFlags - Flag de callback para abrir o dispositivo. Por enquanto vamos manter seu valor como CALLBACK_NULL. Veja minhas outras dicas sobre o assunto para aprofundar mais neste parâmetro.

Agora que aprendemos mais sobre os parâmetros da função midiOutOpen(), vamos ver como usá-la para abrir um dispositivo de saída MIDI e tocar a nota DÓ média (aquela no meio da escala de notas possíveis). Veja o código completo para a unit:

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, MMSystem;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    dispositivo: HMIDIOUT; // dispositivo de saída MIDI
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
  erro: Word;
begin
  erro := midiOutOpen(@dispositivo, 0, 0, 0, CALLBACK_NULL);

  // houve erro na abertura do dispositivo de saída MIDI?
  if (erro <> 0) then
    begin
      ShowMessage('Não foi possível abrir o dispositivo MIDI. Erro: ' + IntToStr(erro));
    end
  else
    begin
      ShowMessage('Dispositivo MIDI aberto com sucesso.');

      // vamos tocar uma nota para nos certificarmos de que o dispositivo
      // realmente foi aberto e está funcionando

      // vamos tocar a nota DÓ média e com velocidade máxima
      midiOutShortMsg(dispositivo, rgb($90, 60, 127));
      // vamos deixar a nota soar um pouco
      sleep(1000);
      // vamos silenciar a nota
      midiOutShortMsg(dispositivo, rgb($80, 60, 0));

      // finalmente vamos fechar o dispositivo MIDI
      midiOutClose(dispositivo);
    end;
end;

end.

O primeiro passo foi declarar uma variável do tipo HMIDIOUT:

dispositivo: HMIDIOUT;

Este é o dispositivo de saída que será usado nas demais chamadas MIDI, incluindo a função midiOutClose(), usada para fechar o dispositivo:

midiOutClose(dispositivo);

Na API do Windows está função está declarada da seguinte forma:

MMRESULT midiOutClose(
  HMIDIOUT hmo  
);

Na unit MMSystem.pas do Delphi está função está traduzida da seguinte forma:

function midiOutClose(hMidiOut: HMIDIOUT): MMRESULT; stdcall;

Veja que só precisamos fornecer o nome da variável representando o dispositivo de saída MIDI aberto no momento para que a função se encarregue de fechá-lo.


AutoLISP ::: Dicas & Truques ::: Linha, Linhas, Comando LINE

Como desenhar uma linha no AutoCAD usando AutoLISP - Dois pontos geométricos e o comando LINE

Quantidade de visualizações: 1181 vezes
Nesta dica mostrarei como desenhar linhas no AutoCAD usando AutoLISP e o comando LINE. Para isso nós vamos definir dois pontos geométricos p e q. Para deixar o código simples eu defini os pontos (coordenadas x, y, z) usando listas.

Posteriormente você poderá pedir para o usuário clicar na área de desenho (GA) e obter as coordenadas usando a função getpoint() da AutoLISP.

Veja o código AutoLISP completo para o exemplo:

; Este programa é usado para desenhar uma
; linha a partir de dois pontos definidos no
; código. Opcionalmente você poderá pedir
; para o usuário informar as coordenadas dos
; dois pontos usando a função getpoint()
(defun desenhar-linha()
  ; vamos definir as coordenadas do
  ; primeiro ponto
  (setq p (list 300 250 0)) 
  
  ; vamos definir as coordenadas do
  ; segundo ponto
  (setq q (list 1900 650 0))

  ; Agora chamamos o comando LINE passando os
  ; dois pontos geométricos
  (command "LINE" p q "")
)

Dica: Para carregar seu código AutoLISP no AutoCAD, digite (LOAD "C:\\codigos_autolisp\\desenho.lsp"), com duas barras invertidas na separação dos diretórios e nome do arquivo, na janela de comandos e depois chame a função desejada digitando (DESENHAR-LINHA), por exemplo. Opcionalmente você pode ir até o menu Manage e escolher a opção Load Application. Em seguida selecione o arquivo desejado e clique o botão Load.


jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico

jQuery para iniciantes - Como obter valores de elementos de formulários HTML usando a função val() do jQuery

Quantidade de visualizações: 8979 vezes
Nesta dica eu mostro como podemos usar o método val() da biblioteca jQuery para obter o conteúdo dos elementos de formulários HTML.

Veja, por exemplo, como obter o conteúdo de uma caixa de texto com o id "nome":

<script type="text/javascript">
<!--
  function obterTexto(){
    var texto = $('#nome').val();
    window.alert(texto);
  }
//-->
</script>

Lembre-se de que este método atuará apenas no primeiro da possível série de elementos retornados sob uma determinada condição.

O retorno val() do jQuery é uma string.


Delphi ::: VCL - Visual Component Library ::: TEdit

Como obter a quantidade de caracteres no texto de um TEdit do Delphi usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXTLENGTH

Quantidade de visualizações: 11598 vezes
Em algumas ocasiões gostaríamos de obter o tamanho do texto de um TEdit usando apenas as funções da API do Windows. Para isso podemos usar a função SendMessage() em combinação com a mensagem WM_GETTEXTLENGTH.

A função SendMessage() da API do Windows possui a seguinte assinatura em C/C++:

LRESULT SendMessage(          
  HWND hWnd,
  UINT Msg,
  WPARAM wParam,
  LPARAM lParam
);

No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal:

// Protótipo
{$EXTERNALSYM SendMessage}
function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; 
  lParam: LPARAM): LRESULT; stdcall;

// Implementação
function SendMessage; external user32 name 'SendMessageW';

Quando usamos a mensagem WM_GETTEXTLENGTH para obter a quantidade de caracteres no texto de um TEdit, o retorno da função SendMessage() é um valor inteiro contendo a quantidade de caracteres na caixa de texto. Os parâmetros wParam e lParam não são usados, ou seja, podemos fornecer o valor 0 para os mesmos. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  tamanho: Integer;
begin
  // vamos obter a quantidade de caracteres na caixa de texto
  tamanho := SendMessage(Edit1.Handle, WM_GETTEXTLENGTH, 0, 0);

  // vamos exibir o resultado
  ShowMessage('O edit contém ' + IntToStr(tamanho) + ' caracteres.');
end;

Ao executar este exemplo teremos uma mensagem com um conteúdo parecido com:

O edit contém 10 caracteres.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Lendo a idade de um nadador e classificando sua categoria como infantil, juvenil, adolescente, adulto ou sênior

Quantidade de visualizações: 4663 vezes
Pergunta/Tarefa:

Escreva um programa Java que solicita a idade de um nadador e classifica sua categoria de acordo com as seguintes regras:

a) De 5 a 7 anos - Infantil;
b) De 8 a 10 anos - Juvenil;
c) De 11 a 15 anos - Adolescente;
d) De 16 a 30 anos - Adulto;
e) Acima de 30 anos - Sênior.

Sua saída deverá ser parecida com:

Informe sua idade: 19
Sua categoria é Adulto
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

package estudos;

import java.util.Scanner;

public class Exercicio {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar a idade do nadador
    System.out.print("Informe sua idade: ");
    int idade = Integer.parseInt(entrada.nextLine());
     
    // vamos verificar a categoria do nadador
    if((idade >= 5) && (idade <= 7)){
      System.out.println("Sua categoria é Infantil");  
    }
    else if((idade >= 8) && (idade <= 10)){
      System.out.println("Sua categoria é Juvenil");  
    }
    else if((idade >= 11) && (idade <= 15)){
      System.out.println("Sua categoria é Adolescente");  
    }
    else if((idade >= 16) && (idade <= 30)){
      System.out.println("Sua categoria é Adulto");  
    }
    else if(idade > 30){
      System.out.println("Sua categoria é Sênior");  
    }
    else{
      System.out.println("Não pertence a nenhuma categoria.");  
    }
    
    System.out.println("\n");
  }
}



Mais Desafios de Programação e 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.


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