C++ ::: Win32 API (Windows API) ::: Passos Iniciais

Como usar a função WinMain das aplicações C++ GUI usando a Windows API

Quantidade de visualizações: 10016 vezes
Cada programa de interface gráfica escrito em C++ e usando a Windows API possui como ponto de entrada de execução, a função WinMain(). Esta função é a equivalente do main() em aplicações console. Veja sua assinatura:

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE 
   hPrevInstance, LPSTR lpCmdLine, int nCmdShow)


É possível usar esta função sem a macro WINAPI, ou seja:

int WinMain(HINSTANCE hInstance, HINSTANCE 
   hPrevInstance, LPSTR lpCmdLine, int nCmdShow)


O primeiro passo a observar é que esta função deve retornar um valor inteiro quando finalizar. Isso serve para informar ao sistema operacional se algum erro ocorreu durante a tentativa de sua execução.

Vejamos agora uma explicação detalhada de seus parâmetros:

HINSTANCE hInstance - É um handle para o módulo executável do programa (o arquivo .exe na memória).

HINSTANCE hPrevInstance - Sempre NULL para programas Win32.

LPSTR lpCmdLine - Os argumentos da linha de comando como uma única string. Não inclui o nome do programa.

int nCmdShow - Um valor inteiro que pode ser passado para a função ShowWindow().

hInstance é usado para tarefas tais como carregar recursos ou outras que são realizadas em um módulo. Um módulo é um EXE ou DLL carregada em seu programa.

hPrevInstance era usado como um handle para uma instância executada anteriormente no Win16. Este cenário não mais ocorre. Em Win32 podemos ignorar por completo este parâmetro.


PHP ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular a equação reduzida da reta em PHP dados dois pontos pertencentes à reta

Quantidade de visualizações: 1124 vezes
Nesta dica de PHP veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito.

Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem.

Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta:



Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código PHP completo para esta tarefa:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  // para executar abra uma janela de comando
  // cmd e dispare o comando abaixo:
  // C:\xampp\php>php c:\estudos_php\estudos.php
   
  // para ler a entrada do usuário
  $entrada = fopen("php://stdin","r");
  
  // vamos ler as coordenadas do primeiro ponto
  echo "Coordenada x do primeiro ponto: ";
  $x1 = fgets($entrada);
  echo "Coordenada y do primeiro ponto: ";
  $y1 = fgets($entrada);
    
  // vamos ler as coordenadas do segundo ponto
  echo "Coordenada x do segundo ponto: ";
  $x2 = fgets($entrada);
  echo "Coordenada y do segundo ponto: ";
  $y2 = fgets($entrada);
  
  $sinal = "+";
  // vamos calcular o coeficiente angular da reta
  $m = ($y2 - $y1) / ($x2 - $x1);
  // vamos calcular o coeficiente linear
  $n = $y1 - ($m * $x1);
 
  // coeficiente linear menor que zero? O sinal será negativo
  if ($n < 0){
    $sinal = "-";
    $n = $n * -1;
  }
  
  // mostra a equação reduzida da reta
  echo "Equação reduzida: y = " . $m . "x" 
    . " " . $sinal . " " . $n;
?>

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

Coordenada x do primeiro ponto: 5
Coordenada y do primeiro ponto: 5
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 2
Equação reduzida: y = -0,75x + 8,75

Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

>> y = (-0.75 * 3) + 8.75
y = 6.5000

temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem.


C ::: Dicas & Truques ::: Arquivos e Diretórios

Como contar as linhas de um arquivo usando a função fgetc() da linguagem C

Quantidade de visualizações: 21212 vezes
Em algumas situações precisamos obter a quantidade de linhas em um arquivo em C. Nesta dica eu mostro como isso pode ser feito usando-se a função fgetc(), no header stdio.h. Note que aqui estamos assumindo que o arquivo texto não possui uma quebra de linha após a última linha de texto.

Veja o código comentado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

int main(int argc, char *argv[])
{
  // nome e local do arquivo que será aberto para
  // obtermos a quantidade de linhas
  FILE *arquivo = fopen("c:\\testes.txt", "r");
  int caractere, existe_linhas = 0;
  int quant_linhas = 0;
  
  while((caractere = fgetc(arquivo)) != EOF){
    existe_linhas = 1; // há conteúdo no arquivo
    
    if(caractere == '\n'){ // é uma quebra de linha?
      // vamos incrementar a quantidade de linhas
      quant_linhas++;             
    } 
  }

  // se não houver uma quebra de linha na última linha
  // a contagem será sempre um a menos. Assim, é melhor
  // incrementar quant_linhas mais uma vez
  if(existe_linhas)
    quant_linhas++;

  // vamos exibir o resultado
  printf("O arquivo possui %d linhas.", quant_linhas);
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



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

Como usar um laço for para pesquisar valores nos itens de uma ListBox do Delphi

Quantidade de visualizações: 12989 vezes
Nesta dica mostro como é possível pesquisar valores nos itens de uma ListBox. Note que, se o valor pesquisado for encontrado, nós o selecionamos na lista e informamos seu índice. Se não for encontrado nós ajustamos uma variável Boolean e avisamos do não sucesso da operação. Finalmente note que este código faz diferenciação de letras maiúsculas e minúsculas, ou seja, Osmar será diferente de OSMAR. Veja o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  pesquisa: string;
  encontrou: Boolean;
begin
  // vamos solicitar o texto a ser pesquisado na ListBox
  pesquisa := InputBox('Pesquisar', 'Informe o texto', '');
  encontrou := false;

  // vamos usar um laço for para percorrer todos os itens
  // da ListBox
  for i := 0 to ListBox1.Count - 1 do
    begin
      if ListBox1.Items[i] = pesquisa then
        begin
          encontrou := true;
          // vamos selecionar o item encontrado
          ListBox1.ItemIndex := i;
          ShowMessage('O texto pesquisado foi encontrado ' +
            'no índice ' + IntToStr(ListBox1.ItemIndex));
        end;
    end;

    // não foi encontrado?
    if not encontrou then
      begin
        ShowMessage('O texto pesquisado não foi encontrado.');
      end;
end;

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


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.


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