Você está aqui: C++ ::: Win32 API (Windows API) ::: Edit Control

Como habilitar ou desabilitar um Edit Control

Quantidade de visualizações: 7711 vezes
/*
  Um Edit Control pode ser desabilitado em tempo
  de design definindo-se o valor True para a sua
  propriedade Disabled (Visual C++ 2005).

  Este exemplo mostra como habilitar ou desabilitar o 
  controle em tempo de execução.
  
  Este exemplo assume um Button com o ID IDC_BUTTON1
  e um Edit Control com o ID IDC_EDIT1.
*/

case IDC_BUTTON1: // ID do botão
 
  // desabilita o Edit Control
  EnableWindow(GetDlgItem(hwnd, IDC_EDIT1), FALSE);

  // habilita o Edit Control
  EnableWindow(GetDlgItem(hwnd, IDC_EDIT1), TRUE);

  break;


Link para compartilhar na Internet ou com seus amigos:

C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios

Como renomear arquivos e diretórios em C++ usando a função MoveFile() da API do Windows

Quantidade de visualizações: 8686 vezes
A função MoveFile() da API do Windows pode ser usada quando precisamos renomear um arquivo ou diretório. Veja seu protótipo:

BOOL WINAPI MoveFile(
  LPCTSTR lpExistingFileName,
  LPCTSTR lpNewFileName
);


Note que só precisamos fornecer o nome atual e o novo nome do arquivo ou diretório que queremos renomear. Se houver algum erro ao renomear o arquivo ou diretório, a função MoveFile() retornará o valor 0 (zero). Se a operação for efetuada com sucesso, um valor diferente de 0 (zero) será retornado. É sempre uma boa idéia usar a função GetLastError() para retornar o código do erro em caso de falha.

Veja um trecho de código no qual renomeamos um arquivo:

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

#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[]){
  // nome atual do arquivo
  CHAR nome_atual[] = "C:\\testes.txt";
  // novo nome do arquivo
  CHAR nome_novo[] = "C:\\novo.txt";
  
  // vamos renomear o arquivo
  if(MoveFile(nome_atual, nome_novo)){
    cout << "Arquivo renomeado com sucesso." << endl;                      
  }
  else{
    cout << "Erro ao renomear o arquivo: " << 
      GetLastError() << endl;     
  }
  
  system("PAUSE");
  return EXIT_SUCCESS;
}

Aqui nós estamos alterando o nome do arquivo testes.txt para novo.txt. Os possíveis erros nesta operação são:

a) ERROR_FILE_NOT_FOUND - Ocorre quando o arquivo fornecido como primeiro argumento para a função MoveFile() não existe. O código para este erro é 2 e a mensagem em português é "O sistema não pode encontrar o arquivo especificado (The system cannot find the file specified)".

b) ERROR_ALREADY_EXISTS - Ocorre quando o arquivo fornecido como segundo argumento para a função MoveFile() já existe. O código para este erro é 183 e a mensagem em português é "Não é possível criar um arquivo já existente (Cannot create a file when that file already exists)".

Veja agora um trecho de código no qual renomeamos um diretório:

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

#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[]){
  // nome atual do diretório
  CHAR nome_atual[] = "C:\\imagens";
  // novo nome do diretório
  CHAR nome_novo[] = "C:\\imagens2";
  
  // vamos renomear o diretório
  if(MoveFile(nome_atual, nome_novo)){
    cout << "Diretório renomeado com sucesso." << endl;                      
  }
  else{
    cout << "Erro ao renomear o diretório: " << 
      GetLastError() << endl;     
  }
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



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

Como criar diretórios em C++ usando a função mkdir()

Quantidade de visualizações: 10350 vezes
Em algumas situações nossos códigos C++ precisam criar diretórios. Isso pode ser feito com o auxílio da função mkdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:

int _mkdir(const char *pathname);
Se o diretório for criado com sucesso a função retornará o valor 0. O retorno será -1 se um erro ocorrer. Neste caso a variável global errno será definido como EACCES (diretório não criado; nome informado já existe) ou ENOENT (caminho não encontrado).

Veja um trecho de código C++ no qual criamos um diretório no mesmo diretório do executável.

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

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos criar o diretório
  char diretorio[] = "estudos";

  // vamos testar se houve erro na criação do diretório
  if(mkdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório criado com sucesso" << endl;
  }

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

É possível usar a versão Unicode de mkdir(), ou _mkdir(). O método _wmkdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:

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

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos criar o diretório
  wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos";

  // vamos testar se houve erro na criação do diretório
  if(_wmkdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório criado com sucesso" << endl;
  }

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

Note que agora eu troquei o tipo char por wchar_t e usei o sinalizado L antes da atribuição da string.


C++ ::: C++ para Engenharia ::: Física - Mecânica

Como calcular a Energia Potencial Gravitacional de um corpo dado a sua massa e altura em C++

Quantidade de visualizações: 311 vezes
A Energia Potencial Gravitacional ou Energia Gravitacional é a energia potencial que um objeto massivo tem em relação a outro objeto massivo devido à gravidade. É a energia potencial associada ao campo gravitacional, que é parcialmente convertida em energia cinética quando os objetos caem uns contra os outros. A energia potencial gravitacional aumenta quando dois objetos são separados.

A fórmula para obtenção da Energia Potencial Gravitacional de um corpo em relação à sua massa e distância do chão, ou seja, da superfície terrestre, é:

\[ E_\text{pg} = \text{m} \cdot \text{g} \cdot \text{h} \]

Onde:

Epg ? energia potencial gravitacional (em joule, J).

m ? massa do corpo (em kg).

g ? aceleração da gravidade (m/s2).

h ? altura do objeto em relação ao chão (em metros).

Como podemos ver, a Energia Potencial Gravitacional está diretamente relacionada à distância do corpo em relação à superfície terrestre. Dessa forma, quanto mais distante da terra o objeto estiver, maior a sua energia gravitacional. Isso nós diz também que, um objeto de altura zero possui Energia Potencial Gravitacional nula.

Vamos ver um exemplo agora? Observe o seguinte enunciado:

1) Uma pessoa levanta um tijolo com peso de 2 quilogramas à distância de 1,5 metros do chão. Qual é a Energia Potencial Gravitacional deste corpo?

Como o exercício nos dá a massa do objeto em kg e a distância dele em relação ao chão já está em metros, tudo que temos a fazer é jogar na fórmula. Veja o código C++ completo para o cálculo:

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

#include <iostream>

using namespace std;

// função principal do programa
int main(int argc, char *argv[]){
  // gravidade terrestre em m/s2
  double gravidade = 9.80665;
  // massa do corpo
  double massa = 2; // em kg
  // altura do corpo em relação ao chão
  double altura = 1.5; // em metros
  
  // vamos calcular a energia potencial gravitacional
  double epg = massa * gravidade * altura;
  
  // mostramos o resultado
  cout << "A Energia Potencial Gravitacional é: " << epg << "J";
		
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

A Energia Potencial Gravitacional é: 29.419950J


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: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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