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.

Delphi ::: Dicas & Truques ::: Imagens e Processamento de Imagens

Como carregar uma imagem JPG, convertê-la em Bitmap e desenhá-la no formulário usando Delphi

Quantidade de visualizações: 19074 vezes
Em algumas situações nós precisamos carregar uma imagem JPG, convertê-la em Bitmap e desenhá-la em nosso formulário. Nesta dica eu mostro como isso pode ser feito. Vamos começar lendo a imagem JPG a partir do diretório da aplicação:

procedure TForm3.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
  jpg: TJPEGImage;
begin
  // uses Jpeg; // não esqueça

  // vamos criar o bitmap
  bmp := TBitmap.Create;
  // vamos criar o JPG
  jpg := TJPEGImage.Create;

  try
    // vamos carregar a imagem JPG
    jpg.LoadFromFile('foto.jpg');
    // vamos convertê-la para Bitmap
    bmp.Assign(jpg);
    // vamos desenhar o bitmap no formulário
    // começando nas coordenadas x = 0; y = 0 a partir
    // do canto superior esquerdo da área cliente do formulário
    Form3.Canvas.Draw(0, 0, bmp);
  finally
    Jpg.Free;
    Bmp.Free;
  end;
end;

Veja que a técnica consiste em carregar a imagem JPG e convertê-la em Bitmap usando o método Assign() da classe TBitmap. Em seguida só precisamos usar o método Draw() do Canvas do formulário para desenhar a imagem já convertida.

Caso você precise carregar a imagem JPG em tempo de execução, basta colocar um TOpenPictureDialog no formulário e alterar o código do evento Click do botão para:

procedure TForm3.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
  jpg: TJPEGImage;
begin
  // uses Jpeg; // não esqueça

  if OpenPictureDialog1.Execute then
    begin
      // vamos criar o bitmap
      bmp := TBitmap.Create;
      // vamos criar o JPG
      jpg := TJPEGImage.Create;

      try
        // vamos carregar a imagem JPG
        jpg.LoadFromFile(OpenPictureDialog1.FileName);
        // vamos convertê-la para Bitmap
        bmp.Assign(jpg);
        // vamos desenhar o bitmap no formulário
        // começando nas coordenadas x = 0; y = 0 a partir
        // do canto superior esquerdo da área cliente do formulário
        Form3.Canvas.Draw(0, 0, bmp);
      finally
        Jpg.Free;
        Bmp.Free;
      end;
    end;
end;


Vamos complicar um pouco mais? Que tal uma função que carrega a imagem JPG, faz a conversão para Bitmap e retorna o Bitmap para o chamador? Veja:

function jpg2bitmap(const imagem: String): TBitmap;
var
  bmp: TBitmap;
  jpg: TJPEGImage;
begin
  // uses Jpeg; // não esqueça
  // vamos criar o bitmap
  bmp := TBitmap.Create;
  // vamos criar o JPG
  jpg := TJPEGImage.Create;

  try
    // vamos carregar a imagem JPG
    jpg.LoadFromFile(imagem);
    // vamos convertê-la para Bitmap
    bmp.Assign(jpg);
  except
    bmp := nil;
  end;

  // vamos retornar o bitmap resultante
  Jpg.Free;
  Result := bmp;
end;

procedure TForm3.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  // vamos obter o Bitmap a partir da função personalizada
  bmp := jpg2bitmap('foto2.jpg');

  // a imagem Bitmap foi obtida com sucesso?
  if bmp <> nil then
    begin
      // vamos desenhar o bitmap no formulário
      // começando nas coordenadas x = 0; y = 0 a partir
      // do canto superior esquerdo da área cliente do formulário
      Form3.Canvas.Draw(0, 0, bmp);
      bmp.Free;
    end
  else
    ShowMessage('Não foi possível obter o Bitmap');
end;

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


C++ ::: Fundamentos da Linguagem ::: Passos Iniciais

Apostila C++ para iniciantes - Como usar a macro EXIT_SUCCESS em C++

Quantidade de visualizações: 9942 vezes
A macro EXIT_SUCCESS, disponível na biblioteca cstdlib da linguagem C++, pode ser usada como argumento para a função exit() para sinalizar que o programa finalizou sua execução sem erros.

Os dois trechos de código abaixo são semelhantes:

1) Usando EXIT_SUCCESS para sinalizar que o programa foi finalizado com sucesso:

#include <cstdlib>

using namespace std;

int main(int argc, char *argv[])
{
  // programa foi finalizado com sucesso
  return EXIT_SUCCESS;
}

2) Usando o valor 0 para sinalizar que o programa foi finalizado com sucesso:

#include <cstdlib>

using namespace std;

int main(int argc, char *argv[])
{
  // programa foi finalizado com sucesso
  return 0;
}



C ::: Dicas & Truques ::: Matemática e Estatística

Como usar a função modf() da linguagem C para separar um valor de ponto flutuante em suas partes inteira e fracionária

Quantidade de visualizações: 10654 vezes
Em algumas situações precisamos obter as partes inteira e fracionária de um valor de ponto flutuante. Para isso podemos usar a função modf(). Veja sua assinatura:

double modf(double x, double * intpart);

O parâmetro x é o valor de ponto flutuante cujas partes queremos separar e intpart é uma variável do tipo double que receberá a parte inteira do valor. O retorno da função é o valor fracionário.

Vamos ver um exemplo? Veja como podemos quebrar o valor 34,27 em suas partes inteira e fracionária:

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

int main(int argc, char *argv[])
{
  double valor = 34.27;
  
  // vamos separar o valor em suas partes inteira e fracionária
  double inteira = 0.0, fracionaria = 0.0;
  fracionaria = modf(valor, &inteira);
  
  // vamos exibir o resultado
  printf("Parte inteira: %f\n", inteira);
  printf("Parte fracionaria: %f\n", fracionaria);
  
  printf("\n\n");
  system("pause");
  return 0;
}

Ao executarmos este código teremos o seguinte resultado:

Parte inteira: 34.000000
Parte fracionária: 0.270000


Java ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators)

Como usar o operador de bits & (E/AND sobre bits) em Java - Java Avançado - Manipulação de bits em Java

Quantidade de visualizações: 7074 vezes
Esta dica de Java é muito útil para quem está se preparando para entrevistas de código ou desafios de programação. A manipulação de bits é fator importante para testar as habilidades de candidatos a vagas de programador, pois ela demonstra um conhecimento muito aprofundado de lógica de programação e também de rotinas de baixo nível.

O operador de bits & (E/AND sobre bits) da linguagem Java é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0.

Vamos analisar os seguintes valores binários:

a) 0101 (5 decimal)
b) 0100 (4 decimal)

Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado:

0101
0100
----
0100


Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em Java agora. Observe o seguinte trecho de código:

public class Main {
  public static void main(String[] args) {
    int a = 5;
    int b = 4;
    int c = a & b;
     
    // exibe o resultado (em inteiro e em bytes)
    System.out.println("a = " + obterBits(a) + " (" + a + ")");
    System.out.println("b = " + obterBits(b) + " (" + b + ")");
    System.out.println("a & b = " + obterBits(c) + " (" + c + ")");
  }
  
  // método auxiliar que converte um inteiro em sua representação em bits
  public static String obterBits(int valor){
    int mascara = 1 << 31;
    StringBuffer buffer = new StringBuffer(35);
    
    for(int i = 1; i <= 32; i++){
      if((valor & mascara) == 0){
    	buffer.append('0');
      }
      else{
    	buffer.append('1');
      }
      
      valor <<= 1;
      
      if(i % 8 == 0){
        buffer.append(' ');
      }
    }
    
    return buffer.toString();
  }
}


Ao executar este código teremos o seguinte resultado:

a = 00000000 00000000 00000000 00000101 (5)
b = 00000000 00000000 00000000 00000100 (4)
a & b = 00000000 00000000 00000000 00000100 (4)


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

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