Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima
Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Dicas & Truques ::: Formulários e Janelas

Java Swing - Como minimizar uma janela JFrame ao clicar em um botão JButton

Quantidade de visualizações: 11425 vezes
Nesta dica mostrarei como usar o método setExtendedState() da classe JFrame do Java Swing para minimizar uma janela JFrame no evento click de um JButton.

Veja o código completo para o exemplo:

 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  public Estudos() {
    super("A classe JFrame");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
 
    JButton btn = new JButton("Minimizar");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          setExtendedState(ICONIFIED);
        }
      }
    );
     
    // Adiciona o botão à janela
    c.add(btn);  
 
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}


Link para compartilhar na Internet ou com seus amigos:

C++ ::: Win32 API (Windows API) ::: Aplicativos e Outros

C++ Windows API GUI - Como criar sua primeira aplicação de interface gráfica usando C++ e WinAPI

Quantidade de visualizações: 47087 vezes
Esta dica mostra o código completo para uma aplicação de interface gráfica usando C++ e a Win32 (WinAPI - Windows Programming Interface). Trata-se de uma janela simples, mas com todas as características presentes em todas as janelas das aplicações Windows: uma barra de títulos, o ícone e os botões de maximizar, minimizar e fechar.

Antes de executar o exemplo observe que este código contém o ponto inicial para a criação de qualquer aplicação gráfica em C++/WinAPI, a saber: A função de entrada WinMain, o laço de mensagens Message Loop, a função de callback Window Procedure e as técnicas de registrar e criar a janela.

Neste momento não discutimos os detalhes do código. Em outras dicas você encontrará análises mais aprofundadas de cada parte.

Este código foi escrito e testado no Dev-C++, mas, deve funcionar sem problemas em outros compiladores C++ para Windows. Assim, abra o Dev-C++, vá em File -> New -> Projec. Na aba Basic, selecione Console Application, dê um nome ao projeto e deixe a opção C++ Project marcada. Salve o projeto e inclua o código abaixo no arquivo .cpp principal:

#include <windows.h>

// define o nome da classe de janela
const char nomeJanela[] = "aCodigos";

// esta é a Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM 
  wParam, LPARAM lParam){
    switch(msg){
      case WM_CLOSE:
        DestroyWindow(hwnd);
        break;
      case WM_DESTROY:
        PostQuitMessage(0);
        break;
      default:
        return DefWindowProc(hwnd, msg, wParam, 
          lParam);
    }

  return 0;
}

// função de entrada da aplicação
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE 
    hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
  WNDCLASSEX wc;
  HWND hwnd;
  MSG Msg;

  // vamos registrar a Window Class
  wc.cbSize = sizeof(WNDCLASSEX);
  wc.style = 0;
  wc.lpfnWndProc = WndProc;
  wc.cbClsExtra = 0;
  wc.cbWndExtra = 0;
  wc.hInstance = hInstance;
  wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  wc.hCursor = LoadCursor(NULL, IDC_ARROW);
  wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
  wc.lpszMenuName = NULL;
  wc.lpszClassName = nomeJanela;
  wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

  if(!RegisterClassEx(&wc)){
    MessageBox(NULL, "Erro ao registrar a janela!",
      "Erro!", MB_ICONEXCLAMATION | MB_OK);
    return 0;
  }

  // cria a janela
  hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, nomeJanela,
    "Minha primeira aplicação Win32",
    WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
    350, 200, NULL, NULL, hInstance, NULL);

  if(hwnd == NULL){
    MessageBox(NULL, "Erro ao criar a janela!",
      "Erro!", MB_ICONEXCLAMATION | MB_OK);
    return 0;
  }

  // mostra a janela
  ShowWindow(hwnd, nCmdShow);
  UpdateWindow(hwnd);

  // Este é o laço de mensagens (Message Loop)
  while(GetMessage(&Msg, NULL, 0, 0) > 0){
    TranslateMessage(&Msg);
    DispatchMessage(&Msg);
  }

  return Msg.wParam;
}

Pronto! Só compilar (geralmente F9 no Dev-C++), observar o resultado e estudar o código atentamente.


PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o seno de um número ou ângulo em PHP usando a função sin()

Quantidade de visualizações: 1156 vezes
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula:

\[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \]

Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem PHP. Esta função recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

<?php
  // vamos calcular o seno de três números
  echo "Seno de 0 = " . sin(0);
  echo "<br>Seno de 1 = " . sin(1);
  echo "<br>Seno de 2 = " . sin(2);
?>

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

Seno de 0 = 0
Seno de 1 = 0.8414709848079
Seno de 2 = 0.90929742682568

Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo:




C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

C++ para iniciantes - Como criar um laço while infinito na linguagem C++

Quantidade de visualizações: 9135 vezes
É possível criar um laço while infinito em C++ simplesmente fornecendo o valor true para o teste da condição. Veja:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // um laço while infinito
  int valor = 0;

  while(true){
    cout << valor << "\n";
    valor++;

    if(valor > 10)
      break;
  }

  cout << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Veja que aqui nós usamos a instrução break para interromper a execução do laço. Tenha o cuidado de sempre monitorar os laços infinitos. Se não houver nenhum ponto de parada, seu programa executará indefinidamente até que sua máquina seja desligada ou o programa seja forçosamente terminado.


C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como ordenar os elementos de vetor C++ usando a Ordenação da Bolha (Bubble Sort) - Revisado

Quantidade de visualizações: 15101 vezes
O método ou algorítmo de ordenação da bolha é uma das técnicas mais simples de ordenação. No entanto, este método não é eficiente, visto que o tempo despendido para sua execução é muito elevado se comparado à outros métodos existentes. Geralmente usamos este método quando queremos ordenar 50 elementos ou menos.

O entendimento deste método é fácil. Se estivermos ordenando os valores do menor para o maior, o método da bolha percorre os elementos da matriz, comparando e movendo o menor valor para a primeira posição do vetor (array), tal qual bolhas indo para a superfície. Veja um exemplo completo:

#include <iostream>
 
using namespace std;
 
void bubble_sort(int matriz[], int tam){
  int temp, i, j;
 
  for(i = 0; i < tam; i++){
    for(j = 0; j < tam; j++){
      if(matriz[i] < matriz[j]){
        temp = matriz[i];
        matriz[i] = matriz[j];
        matriz[j] = temp;
      }
    }
  }
}
 
int main(int argc, char *argv[])
{
  int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11};
  int const quant_elem = 9;
 
  // imprime a matriz sem a ordenação
  for(int i = 0; i < quant_elem; i++){
    cout << valores[i] << "  ";
  }
 
  // vamos ordenar a matriz
  bubble_sort(valores, quant_elem);
 
  // imprime a matriz ordenada
  cout << endl;
  for(int i = 0; i < 9; i++){
    cout << valores[i] << "  ";
  }
 
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

4 6 2 8 1 9 3 0 11
0 1 2 3 4 6 8 9 11

Pressione qualquer tecla para continuar...


C# ::: Datas e Horas ::: DateTime

Como usar a estrutura DateTime do C# em seus programas

Quantidade de visualizações: 9117 vezes
A estrutura DateTime representa um momento no tempo, geralmente expressado como uma data e hora do dia. O tipo DateTime representa datas e horas com valores na faixa de meia-noite do dia 1º de janeiro de 0001 Anno Domini (Common Era) até as 11:59:59 da noite do dia 31 de dezembro de 9999 A.D. (C.E.).

Os valores de horas são medidos em unidades de 100 nanosegundos chamados de ticks e uma data em particular é o número de ticks desde a meia-noite do dia 1º de janeiro de 0001 A.D (C.E) no calendário Gregoriano (GregorianCalendar). Por exemplo, um valor de tick de 31241376000000000L representa a data 1º de janeiro de 0100 (sexta-feira) à meia-noite. O valor DateTime é sempre expresso no contexto de um calendário explícito ou padrão.

Considerações sobre versões

Em versões do .NET Framework anteriores à 2.0, a estrutura DateTime contém um campo de 64 bits composto de um campo de 2 bits não usados concatenados com um campo privado Ticks, que é um campo sem sinal de 62 bits que contém o número de ticks que representam a data e hora. O valor do campo Ticks pode ser obtido por meio da propriedade Ticks.

A partir do .NET Framework 2.0, a estrutura DateTime contém um campo de 64 bits composto de um campo privado Kind concatenado com o campo Ticks. O campo Kind é um campo de 2 bits que indica se a estrutura DateTime representa uma hora local, uma hora UTC (Coordinated Universal Time) ou um hora em um fuso horário não especificado. O campo Kind é usado quando estamos efetuando conversões de horas entre fuso horários, mas, não é usado para comparações de datas e horas ou aritmética. O valor do campo Kind pode ser obtido por meio da propriedade Kind.

É importante observar que uma alternativa ao uso da estrutura DateTime para se trabalhar com datas e horas em um fuso horário em particular é a estrutura DateTimeOffset. Esta estrutura guarda as informações de data e hora em um campo DateTime privado e o número de minutos pelos quais a data e hora diferem do horário UTC em um campo Int16 privado. Isso torna possível usarmos um valor DateTimeOffset para refletir as horas em um fuso horário em particular, enquanto um valor DateTime pode, sem causar confusão, refletir somente a hora UTC e do fuso horário local.

Valores DateTime

As descrições de valores de horas no tipo DateTime geralmente são expressas usando o padrão Coordinated Universal Time (UTC), que é o nome reconhecido internacionalmente para o Greenwich Mean Time (GMT). O Coordinated Universal Time é a hora de acordo com as medições em longitude de zero graus, ou seja, o ponto de origem UTC. Horários de verão não são aplicáveis ao UTC.

A hora local é relativa a um determinado fuso horário. Um fuso horário está associado à diferença de fuso horário, que é o deslocamento do fuso horário medido em horas a partir do ponto de origem UTC. Além disso, a hora local é opcionalmente afetada pelo horário de verão, que adiciona ou subtrai uma hora à duração do dia. Consequentemente, a hora local é calculada adicionando-se a diferença de fuso horário ao UTC e ajustando o horário de verão se necessário. A diferença de fuso horário no ponto de origem UTC é zero.

A hora UTC é ideal para cálculos, comparações e armazenamento de datas e horas em arquivos. A hora local é apropriada para a exibição em interfaces do usuário em aplicações desktop. Aplicações que são acessadas em diferentes fuso horários (tais com aplicações web) também precisam fornecer meios para a correta adequação a tais fuso horários.

Veja um trecho de código no qual usamos a propriedade Now da estrutura DateTime para exibir a data e hora local no formato longo:

static void Main(string[] args){
  // Data e hora atual
  DateTime agora = DateTime.Now;

  // exibe o resultado
  System.Console.WriteLine("{0:F}", agora);

  // pausa o programa
  Console.ReadKey();
}

O resultado da execução deste código será algo parecido com:

segunda-feira, 23 de fevereiro de 2008 19:54:46.


Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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