Software 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 |
Você está aqui: C# ::: Windows Forms ::: Formulários e Janelas |
|
Como maximizar um formulário Windows Forms ao clicar em um botão usando a linguagem C#Quantidade de visualizações: 13043 vezes |
|
Em algumas situações gostaríamos de maximizar um formulário Windows Forms baseado em alguma ação do usuário. Isso pode ser feito definindo-se a constante FormWindowState.Maximized para a propriedade WindowState da classe Form. O trecho de código abaixo mostra como maximizar o formulário ao clicarmos em um botão: private void button1_Click(object sender, EventArgs e){ // vamos maximizar o formulário this.WindowState = FormWindowState.Maximized; } |
|
Link para compartilhar na Internet ou com seus amigos: | |
Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o diâmetro, a circunferência e a área de um círculo dado o raio em Python - Python para GeometriaQuantidade de visualizações: 4508 vezes |
O círculo é uma figura geométrica plana e que possui quatro características: seu raio, seu diâmetro, sua circunferência e sua área. Aqui já podemos aproveitar e relembrar a diferença entre o círculo e a circunferência. O círculo é o conjunto de pontos resultantes da união entre uma circunferência e seus pontos internos, ou seja, o círculo é a área cuja delimitação é uma circunferência. É importante observar que alguns autores tratam o círculo como uma circunferência. Assim, para estes autores, calcular a circunferência de um círculo equivale a calcular o perímetro da circunferência. Veja a figura a seguir para relembrar o que é o raio de um círculo: Nesta dica mostrarei como podemos usar Python para calcular o diâmetro, a circunferência e a área de um círculo tendo apenas o raio como informação. Antes, porém, vamos às formulas. Sabendo que r é o raio, temos: \[\text{Diâmetro d} = 2 \times r \] \[\text{Circunferência C} = 2 \times \pi \times r \] \[\text{Área A} = \pi \times r^2 \] Agora vamos ver o código Python que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área: import math as math def main(): # vamos ler o raio do círculo raio = float(input("Informe o raio do círculo: ")) # vamos achar o diâmetro do círculo diametro = 2 * raio # agora calculamos a circunferência circunferencia = 2 * math.pi * raio # finalmente calculamos a área do círculo area = math.pi * math.pow(raio, 2) # vamos mostrar os resultados print("O diâmetro do círculo é:", diametro) print("A circunferência do círculo é:", circunferencia) print("A área do círculo é:", area) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe o raio do círculo: 10 O diâmetro do círculo é: 20.0 A circunferência do círculo é: 62.83185307179586 A área do círculo é: 314.1592653589793 Lembre-se de que a área é em centímetros quadrados, metros quadrados, etc. |
Java ::: Dicas & Truques ::: Threads |
Threads em Java - Como definir as prioridades das threads JavaQuantidade de visualizações: 12016 vezes |
Quando estamos trabalhando com threads em Java, precisamos estar cientes de que cada thread possui uma prioridade de execução. É por meio da prioridade de cada uma que o gerenciador de threads decidirá qual thread deverá ser executada primeiro. Por padrão, todas as threads possuem prioridade NORM_PRIORITY. Esta é uma constante que possui o valor 5 e está declarada na classe Thread. Além disso, cada thread herda automaticamente a prioridade da thread que a criou. As constantes MAX_PRIORITY (prioridade máxima), MIN_PRIORITY (prioridade mínima) e NORM_PRIORITY (prioridade normal) são usadas para definir as prioridades das threads Java. Veja um exemplo no qual temos duas threads. A primeira possui a prioridade máxima enquanto a segunda possui a prioridade mínima: // criamos uma classe que servirá como thread class MinhaThread extends Thread{ private String nome; public MinhaThread(String nome){ this.nome = nome; } public void run(){ for(int i = 1; i <= 20; i++){ System.out.println(nome + ": " + i); } } } public class Estudos{ public static void main(String[] args){ // vamos criar duas threads MinhaThread t1 = new MinhaThread("Thread 1"); t1.setPriority(Thread.MAX_PRIORITY); // prioridade máxima t1.start(); MinhaThread t2 = new MinhaThread("Thread 2"); t2.setPriority(Thread.MIN_PRIORITY); // prioridade mínima t2.start(); } } Execute este exemplo e veja como a segunda thread só é executada quando a primeira finaliza. Remova as linhas que definem a prioridade e note como o tempo de cada thread é novamente fracionado. É importante ter em mente que aqui estamos falando de um ambiente de processador único. Em ambientes de múltiplos processadores o comportamento pode ser diferente do abordado na dica. Não devemos confiar em prioridades de threads quando o objetivo é aguardar a finalização de uma thread e só então permitir o processamento das instruções contidas no método run() de outra thread. Para estes casos o recomendável é usar alguma forma para sinalizar as demais threads de que a thread atual concluiu sua tarefa. |
C ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Como usar protótipos de função em CQuantidade de visualizações: 11820 vezes |
Um protótipo de função é uma declaração que define o nome, tipos de parâmetros e tipos de retorno de uma função. Em geral o protótipo de uma função é exigido quando a definição da função não é feita antes do código que efetua uma chamada a ela. Veja um exemplo:#include <stdio.h> #include <stdlib.h> // uma função que retorna a soma de dois inteiros // fornecidos como argumento int somar(int a, int b){ return (a + b); } int main(int argc, char *argv[]){ // efetua uma chamada à função somar int res = somar(3, 5); // exibe o resultado printf("Soma: %d", res); puts("\n\n"); system("PAUSE"); return 0; } Este código compila e executa normalmente, uma vez que a função somar() foi definida antes da função main(), ou seja, antes da parte do programa que possui uma chamada a ela. Veja agora esta nova versão: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ // efetua uma chamada à função somar int res = somar(3, 5); // exibe o resultado printf("Soma: %d", res); puts("\n\n"); system("PAUSE"); return 0; } // uma função que retorna a soma de dois inteiros // fornecidos como argumento int somar(int a, int b){ return (a + b); } Aqui temos um problema: a função somar() é definida depois do código contendo uma chamada a ela. No Dev-C++ temos o seguinte erro de compilação: `somar` undeclared (first use this function) A solução para este casos é a criação do protótipo da função. Para a função somar() isso pode ser feito da seguinte forma: // protótipo da função somar() int somar(int, int); Note que não há a necessidade de especificar os nomes dos parâmetros da função, apenas seus tipos. Veja ainda que o protótipo da função é terminado com ponto-e-vírgula e sempre colocado após as instruções de #include. Veja o código completo para um exemplo usando protótipos de funções: #include <stdio.h> #include <stdlib.h> // protótipo da função somar() int somar(int, int); int main(int argc, char *argv[]){ // efetua uma chamada à função somar int res = somar(3, 5); // exibe o resultado printf("Soma: %d", res); puts("\n\n"); system("PAUSE"); return 0; } // uma função que retorna a soma de dois inteiros // fornecidos como argumento int somar(int a, int b){ return (a + b); } |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como listar todo o conteúdo de um diretório usando a função listFiles() da classe File do JavaQuantidade de visualizações: 17079 vezes |
Nesta dica mostrarei como podemos usar o método listFiles() da classe File da linguagem Java para listar todo o conteúdo de um diretório. Note que usei os métodos isFile() e isDirectory(), também da classe File, para indicar se o item que está sendo lido é um arquivo ou diretório. Veja o código completo para o exemplo: package arquivodecodigos; import java.io.*; public class Estudos{ public static void main(String[] args){ // nome e caminho do diretório File diretorio = new File("C:\\estudos_c"); // um vetor de arquivos File[] arquivos = diretorio.listFiles(); // foram encontrados arquivos ou diretórios? if(arquivos != null){ // obtemos a quantidade de arquivos int length = arquivos.length; // e percorremos os arquivos individualmente for(int i = 0; i < length; ++i){ File f = arquivos[i]; // é um arquivo? if(f.isFile()){ System.out.println(f.getName()); } else if(f.isDirectory()){ // é um diretório System.out.println("Diretorio: " + f.getName()); } } } } } Ao executar este código Java nós teremos um resultado parecido com: DICA.txt Diretorio: estudos Estudos_C.dev Estudos_C.exe Estudos_C.layout main.c main.o Makefile.win |
C++ ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica usando o operador new do C++Quantidade de visualizações: 12052 vezes |
Em algumas situações precisamos alocar memória dinamicamente. Em C++ isso é feito com o auxílio do operador new. Este operador permite alocar uma determinada quantidade de bytes, alinhados de forma a representar o objeto para o qual queremos reservar memória. Veja um exemplo de código no qual alocamos memória dinâmica para uma variável do tipo int: #include <iostream> using namespace std; int main(int argc, char *argv[]){ // aloca memória para um objeto do tipo int int *ponteiro = new int; // vamos definir o valor para o objeto recém-alocado *ponteiro = 20; // vamos exibir seu valor cout << *ponteiro << endl; // vamos liberar a memória delete ponteiro; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Note que aqui a memória foi alocada e guardada em um ponteiro. Veja também o uso do operador delete para liberar a memória alocada. Isso evita os vazamentos de memória tão frequentes em aplicações que lidam com a memória dinâmica. É claro que este não é o exemplo mais prático. Qual a vantagem de se alocar memória para um int? Declarar uma variável teria sido mais eficiente. A alocação de memória dinâmica é mais útil quando estamos lidando com objetos mais complexos que os tipos básicos. Alguns exemplos envolvem a criação de objetos de classes, matrizes, estruturas de dados, etc. Veja um exemplo no qual temos uma declaração de uma classe chamada Cliente e em seguida alocamos memória para uma instância desta classe: #include <iostream> #include <string> using namespace std; // declaração da classe Cliente class Cliente{ public: Cliente(); string obterNome(); void definirNome(string); private: string nome; }; // implementação dos métodos da classe Cliente::Cliente(){} // construtor vazio // obtém o nome do cliente string Cliente::obterNome(){ return this->nome; } // define o nome do cliente void Cliente::definirNome(string nome){ this->nome = nome; } int main(int argc, char *argv[]){ // aloca memória para um objeto da classe Cliente Cliente *c = new Cliente(); // vamos definir o nome do cliente c->definirNome("Osmar J. Silva"); // vamos exibir o nome do cliente cout << c->obterNome() << endl; // vamos liberar a memória usada delete c; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Nome do cliente: Osmar J. Silva |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
C# - Como adicionar ou subtrair meses de uma data em C# usando a função AddMonths() da classe DateTime |
Códigos Fonte |
Software 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 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 |