![]() |
|||||
|
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um arquivo em Java usando a função renameTo() da classe FileQuantidade de visualizações: 189 vezes |
Nesta dica eu mostro como podemos tirar proveito do método renameTo() da classe File do Java para renomear arquivos. Lembre-se de que a classe File está no pacote java.io. Além disso, não coloquei try...catch no exemplo. Faça isso caso você deseje usar este código em aplicações reais. Veja o código completo: package arquivodecodigos; import java.io.File; public class Estudos{ public static void main(String[] args){ // arquivo com o nome antigo File arquivo1 = new File("c:\\java\\Conectar.java"); // arquivo com o novo nome File arquivo2 = new File("c:\\java\\Conectar2.java"); boolean ok = arquivo1.renameTo(arquivo2); if(ok){ System.out.println("Arquivo renomeado com sucesso."); } else{ System.out.println("Nao foi possivel renomear o arquivo."); } } } Se o arquivo puder se renomeado com sucesso você verá a mensagem: Arquivo renomeado com sucesso. |
Python ::: Dicas & Truques ::: Lista (List) |
Curso completo de Python - Como obter a quantidade de itens em uma lista PythonQuantidade de visualizações: 8826 vezes |
Nesta dica mostrarei como podemos usar a função len() da linguagem Python para obtermos a quantidade de itens em um objeto List. Não deixe de ver outros exemplos de List nesta mesma seção. Veja o código Python completo para o exemplo: def main(): # cria uma lista de nomes nomes = ['Carlos', 'Ricardo', 'Osmar'] # obtém a quantidade de elementos na lista print("A lista contém %d itens" % len(nomes)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: A lista contém 3 itens |
C# ::: Dicas & Truques ::: Mouse e Teclado |
C# Windows Forms - Como tratar eventos do mouse em suas aplicações C# Windows FormsQuantidade de visualizações: 16599 vezes |
Aplicações de interface gráfica (GUI) em C# fazem uso extensivo do mouse e qualquer classe que herde de System.Windows.Forms.Control pode receber e tratar seus eventos. Os eventos do mouse mais comuns são pressionamento (click), liberação, movimento, etc. E cada um possui suas particularidades. Sempre que um evento do mouse ocorre, as informações sobre tal evento são fornecidas ao método de tratamento de evento por meio de um objeto da classe MouseEventArgs (alguns eventos usam EventArgs) e o delegate usado para criar os gerenciadores de eventos do mouse é MouseEventHandler. Veja, por exemplo, o tratador de evento para o evento MouseClick de um Button: private void button1_MouseClick(object sender, MouseEventArgs e){ MessageBox.Show("Sou um Button e acabei de ser clicado!"); } A classe MouseEventArgs é muito útil, pois é ela que nos permite obter informações sobre qual botão foi pressionado, as coordenadas x e y do evento, se um duplo-clique ocorreu, etc. Veja um trecho de código no qual verificamos qual botão do mouse foi pressionado durante um evento MouseUp em um formulário: private void Form1_MouseUp(object sender, MouseEventArgs e){ if(e.Button == MouseButtons.Left){ MessageBox.Show("Fui clicado com o botão esquerdo!"); } else if(e.Button == MouseButtons.Right){ MessageBox.Show("Fui clicado com o botão direito!"); } else if (e.Button == MouseButtons.Middle){ MessageBox.Show("Fui clicado com o botão do meio!"); } else{ MessageBox.Show("O que está acontecendo?"); } } Veja os eventos do mouse que possuem um objeto da classe EventArgs: a) MouseEnter - Ocorre quando o cursor do mouse entra na área de um controle. b) MouseLeave - Ocorre quando o cursor do mouse deixa a área de um controle. c) Click - Ocorre quando clicamos na área de um controle. Note que um click do mouse envolve pressionar e liberar o botão do mouse. Veja os eventos do mouse que possuem um objeto da classe MouseEventArgs: a) MouseDown - Ocorre quando o botão do mouse é pressionado dentro da área de um controle. b) MouseHover - Ocorre quando o cursor do mouse pára sobre a área de um controle (sem clique, pressionamento ou movimento). c) MouseMove - Ocorre quando movimentamos o mouse na área de um controle. d) MouseUp - Ocorre quando o botão do mouse é liberado sobre a área de um controle. e) MouseClick - Ocorre quando clicamos na área de um controle. Note que um click do mouse envolve pressionar e liberar o botão do mouse. Há algumas diferenças significativas entre os eventos Click e MouseClick. Não deixe de consultar as outras dicas desta seção para aprofundar seus conhecimentos. |
Python ::: Tkinter GUI Toolkit ::: Formulários e Janelas |
Como definir a cor de fundo de uma janela do Tkinter do Python usando a função config()Quantidade de visualizações: 3358 vezes |
A cor de fundo de uma janela do Tkinter do Python pode ser definida por meio de uma chamada à função config() da classe Tk com o valor de uma cor para o parâmetro bg. Veja uma aplicação Tkinter completa no qual definimos o título da janela e, em seguida, sua cor de fundo: # vamos importar o módulo Tkinter import tkinter as tk # método principal def main(): # vamos criar a janela principal da aplicação janela = tk.Tk() # vamos definir o título da janela janela.title("Sistema de Biblioteca") # vamos definir a cor de fundo da janela janela.config(bg='#F2B33D') # entramos no loop de eventos janela.mainloop() if __name__== "__main__": main() |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como pesquisar valores em arrays do PHP usando a função array_search()Quantidade de visualizações: 24202 vezes |
A função array_search() do PHP é muito útil quando precisamos pesquisar um determinado valor em um vetor e retornar o seu índice. É importante observar que esta função retorna o índice do elemento se ele for encontrado no array e, em caso contrário, retorna o valor FALSE. Veja um exemplo completo de seu uso: <?php $pessoas[0] = "Carlos"; $pessoas[1] = "Juliana"; $pessoas[2] = "Igor"; $pessoas[3] = "Marcelo"; $pessoas[4] = "Amélia"; $indice = array_search("Igor", $pessoas); if($indice){ echo "O valor foi encontrado no índice " . $indice; } else{ echo "O valor pesquisado não foi encontrado."; } ?> Ao executar este código PHP nós teremos o seguinte resultado: O valor foi encontrado no índice 2. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como resolver o problema da Subsequência de Soma Máxima em Java usando o Algorítmo de KadaneQuantidade de visualizações: 628 vezes |
Pergunta/Tarefa: O problema do Subvetor Contíguo de Soma Máxima, ou Subarray ou Subsequência de Soma Máxima é um dos algorítmos mais populares na programação dinâmica. Este problema envolve encontrar um subvetor, ou seja, um sub-array contíguo de maior soma possível. Por contíguo entendemos que os elementos da subsequência deverão estar consecutivos no vetor original. O Algorítmo de Kadane, inventado por Jay Kadane em 1977, é um dos favoritos para a resolução deste problema, e deverá ser aplicado na resolução deste exercício. Dado o vetor [-2, 1, -3, 4, -1, 2, 1, -5, 4], encontre a soma máxima da subsequência contígua. Não é exigido mostrar os elementos da sub-sequência, apenas o valor da soma máxima. Sua saída deverá ser parecida com: A soma maxima é: 6 Veja a resolução comentada deste exercício usando Java: package estudos; public class Estudos { public static void main(String[] args) { // vamos criar um array com 9 elementos int valores[] = {-2, 1, -3, 4, -1, 2, 1, -5, 4}; // agora usamos o algoritmo de Kadane para encontrar // a maior soma consecutiva int soma_maxima = kadane(valores); System.out.println("A soma maxima é: " + soma_maxima); } // método que recebe um array e usa o algoritmo de Kadane // para retornar a maior soma consecutiva public static int kadane(int vetor[]){ // ajustamos max_atual para 0 e max_total para -1 int max_atual = 0, max_total = -1; // um laço for que percorre todos os elementos do // vetor, do primeiro até o último for(int i = 0; i < vetor.length; i++){ // max_atual recebe ele mesmo mais o valor // do elemento no índice i max_atual = max_atual + vetor[i]; // se max_atual for negativo nós o ajustamos // para zero novamente if(max_atual < 0){ max_atual = 0; } // se max_atual for maior que max_total então // max_total recebe o valor de max_atual if(max_atual > max_total){ max_total = max_atual; } } // e retornamos a soma máxima return max_total; } } |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como obter e exibir todos os itens selecionados em uma TListBox do Delphi de seleção múltiplaQuantidade de visualizações: 14430 vezes |
Este trecho de código mostra como podemos obter e exibir todos os itens selecionados em uma TListBox de seleção múltipla. Para executá-lo, coloque uma ListBox, um Memo e um Button em um formulário. Altere a propriedade MultiSelect da ListBox para True, adicione alguns itens e execute. Selecione um ou mais itens e clique no botão para visualizar o resultado. Note que usei um TStringList (classe concreta derivada de TStrings) para armazenar os itens selecionados. Veja o código:procedure TForm1.Button1Click(Sender: TObject); var i: Integer; selecionados: TStringList; begin // para que este exemplo funcione corretamente, a ListBox // deverá permitir seleção múltipla // ListBox1.MultiSelect := True; selecionados := TStringList.Create; // vamos obter os itens selecionados na ListBox if ListBox1.SelCount > 0 then begin for i := 0 to ListBox1.Count - 1 do begin if ListBox1.Selected[i] then selecionados.Add(ListBox1.Items[i]); end; // vamos exibir os itens selecionados em um TMemo Memo1.Lines.Clear; Memo1.Lines.Add('Os itens selecionados são:'); for i := 0 to selecionados.Count - 1 do Memo1.Lines.Add(selecionados[i]); end else ShowMessage('Nenhum item selecionado.'); // vamos liberar o TStringList selecionados.Free; end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
AngularJS ::: Angular / AngularJS + JavaScript ::: Controllers AngularJS |
Como adicionar funções (ou métodos) ao seu controller AngularJSQuantidade de visualizações: 2064 vezes |
Nesta dica mostrarei como adicionar comportamento ao seu controller AngularJS, ou seja, adicionar funções ou métodos para acessar e/ou modificar as variáveis contidas no escopo. Para este exemplo criaremos um controller chamado "VolumeTV". Este controller terá uma variável chamada "volume" e dois botões para aumentar ou diminuir o volume. Note que, tanto a variável quanto as duas funções são colocadas no $scope para facilitar o acesso destes a partir da view. Veja o exemplo completo, sem usar AngularJS CLI nem TypeScript, somente JavaScript e HTML: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Cadastro de Alunos AngularJS</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"> </script> </head> <body> <script type="text/javascript"> // vamos criar uma nova aplicação var app = angular.module('MinhaApp', []); // vamos criar o controller VolumeTV app.controller('VolumeTV', function ($scope){ // define o volume inicial $scope.volume = 5; // função para aumentar o volume $scope.aumentarVolume = function(){ $scope.volume++; }; // função para diminuir o volume $scope.diminuirVolume = function(){ $scope.volume--; }; }); </script> <div ng-app="MinhaApp" ng-controller="VolumeTV"> <h1>Volume atual: {{volume}}</h1> <button ng-click="aumentarVolume()">Aumentar Volume</button> <button ng-click="diminuirVolume()">Diminuir Volume</button> </div> </body> </html> |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como converter todo o conteúdo de uma string para letras maiúsculas em Delphi usando a função AnsiUpperCase()Quantidade de visualizações: 17276 vezes |
Algumas vezes precisamos converter todo o conteúdo de uma string para letras maiúsculas. Em Delphi isso pode ser feito com o auxílio da função AnsiUpperCase(). Esta função recebe uma string e retorna outra string com todos os caracteres maiúsculos. Veja o exemplo:procedure TForm1.Button1Click(Sender: TObject); var nome: string; begin nome := 'Osmar'; // vamos converter a string para letras maiúsculas nome := AnsiUpperCase(nome); // exibe o resultado ShowMessage(nome); end; Note que esta função suporta caracteres de mais de um byte e com acentuações. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
PHP ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário PHP - Como calcular o Dígito Verificador do Nosso Número (Módulo 11) - Boleto Caixa EconômicaQuantidade de visualizações: 2872 vezes |
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Nosso Número para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). O Nosso Número é o número de identificação do título no Banco. Este número deve ser único nos seus sistemas, pois, sua combinação com o código do cedente o torno único também no sistema bancário. Além disso, é o Nosso Número que permite ao Banco e a empresa identificar os dados da cobrança que deram origem ao bloqueto. Na Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro), o Nosso Número é composto de 17 posições, sendo as 02 posições iniciais para identificar a Carteira e as 15 posições restantes são para livre utilização pelo Cedente. Seu formato é XYNNNNNNNNNNNNNNN-D, onde: a) X = Modalidade/Carteira de Cobrança (1-Registrada/2-Sem Registro); b) Y = Emissão do bloqueto (4-Cedente); c) NNNNNNNNNNNNNNN = Nosso Número (15 posições livres do Cedente); d) D = Dígito Verificador do Nosso Número calculado através do Modulo 11, conforme código que mostrarei a seguir. Nos boletos e arquivos de remessa da Caixa, o Dígito Verificador do Nosso Número admite 0 (zero), diferentemente do DV Geral do Código de Barras (que também mostro como calcular em dicas dessa seção). O cálculo que mostrarei a seguir é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código apresentado. Dito isso, veja o código PHP completo para uma função que recebe o Nosso Número e retorna seu dígito verificador: <?php // função que recebe o nosso número // e retorna o seu dígito verificador function dvNossoNumero($nossoNumero){ // o nosso número possui mais que 17 dígitos? if(strlen($nossoNumero) > 17){ die("O Nosso Número não pode ter mais que 17 dígitos."); } // agora vamos definir os índices de multiplicação $indices = "29876543298765432"; // e aqui a soma da multiplicação coluna por coluna $soma = 0; // fazemos a multiplicação coluna por coluna agora for($i = 0; $i < strlen($nossoNumero); $i++){ $soma = $soma + ((int)($nossoNumero[$i])) * ((int)($indices[$i])); } // obtemos o resto da divisão da soma por onze $resto = $soma % 11; // subtraímos onze pelo resto da divisão $digito = 11 - $resto; // atenção: Se o resultado da subtração for // maior que 9 (nove), o dígito será 0 (zero) if($digito > 9){ $digito = 0; } return $digito; } // vamos calcular o Dígito Verificador do // Nosso Número $carteira = "1"; // $emissao = "4"; // cedente $nossoNumero = "19"; // preenche com zeros até completar 15 posições $nossoNumero = sprintf("%015d", $nossoNumero); $nossoNumeroCompleto = $carteira . $emissao . $nossoNumero; $digito = dvNossoNumero($nossoNumeroCompleto); echo "O dígito verificador para o nosso número " . $nossoNumeroCompleto . " é: " . $digito; ?> Ao executar este código PHP nós teremos o seguinte resultado: O dígito verificador para o nosso número 14000000000028288 é: 5 |
Nossas 20 dicas & truques de programação mais populares |
C - Como inverter (reverter) o conteúdo de uma string em C usando uma função str_reverse() personalizada Java - Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valores |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Como retornar a quantidade de mapeamentos (chave-valor) em um HashMap do Java usando o método size() C - Como escrever uma função strtoupper() em C para transformar uma palavra inteira em letras maiúsculas |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |