Flutter ::: Material Library - Biblioteca Material ::: TextField |
Como usar a propriedade onChanged da classe TextField do Flutter para detectar mudança em seu conteúdo e exibí-lo como título da janelaQuantidade de visualizações: 1831 vezes |
A propriedade onChanged da classe TextField nos permite detectar quando o conteúdo da caixa de texto sofre alterações (quando o usuário digita mais conteúdo ou deleta o conteúdo já existente. Nesta dica eu mostro como tirar proveito dessa propriedade para atualizar o título da AppBar com o mesmo texto da caixa de texto à medida que o usuário digita. import 'package:flutter/material.dart'; // método principal do Dart, que inicia a aplicação void main() { runApp(MeuApp()); } class MeuApp extends StatelessWidget { // Este widget é a raiz da aplicação Flutter @override Widget build(BuildContext context) { return MaterialApp( title: 'Controle TextField', theme: ThemeData( primarySwatch: Colors.blue, ), home: TelaInicial(), ); } } // Vamos construir a view e retornar para a raiz da aplicação class TelaInicial extends StatefulWidget { TelaInicial({Key key}) : super(key: key); @override _TelaInicialState createState() => _TelaInicialState(); } class _TelaInicialState extends State<TelaInicial> { String tituloJanela = "Título da Janela"; @override Widget build(BuildContext context) { // vamos criar uma caixa de texto chamada nomeTxt final nomeTxt = TextField( decoration: InputDecoration( border: OutlineInputBorder( borderRadius: BorderRadius.circular(10.0)), hintText: 'Digite seu nome' ), // Vamos detectar a mudança de conteúdo do TextField onChanged: (String value) async { // setState() força a atualização da janela setState(() { tituloJanela = value; }); } ); return Scaffold( appBar: AppBar( title: Text(tituloJanela), ), body: Center( child: Container( child: Padding( padding: const EdgeInsets.all(20.0), child: Column( children: <Widget>[ // a caixa de texto TextField vai aqui nomeTxt, ], ), ), ), ), ); } } |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como elevar uma base a um determinado expoente usando a função pow() da linguagem CQuantidade de visualizações: 3310 vezes |
Em algumas situações nós precisamos efetuar cálculos de potenciação em C, ou seja, elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir:![]() Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125. A linguagem C nos fornece a função pow(), presente no header math.h que recebe como argumentos a base e o expoente e nos retorna a potência (como um valor double). Veja um exemplo de seu uso no código abaixo: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int base = 4; int expoente = 5; double potencia = pow(4, 5); printf("A base %d elevada ao expoente %d é igual à potência %f\n\n", base, expoente, potencia); system("PAUSE"); return 0; } Ao executarmos este código C nós teremos o seguinte resultado: A base 4 elevada ao expoente 5 é igual à potência 1024.000000 Note que a função pow() da linguagem C retorna um valor double. |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como excluir todos os itens de uma ListBox do Delphi - Como remover todos os itens da ListBox usando a função ClearQuantidade de visualizações: 14692 vezes |
Em algumas situações nós precisamos excluir todos os itens de uma ListBox. Para tais situações podemos usar o método Clear da classe ListBox. Veja:procedure TForm1.Button2Click(Sender: TObject); begin // vamos excluir todos os itens da ListBox ListBox1.Clear; // poderíamos também usar // ListBox1.Items.Clear; end; Note que podemos também chamar o método Clear diretamente no objeto Items da ListBox, embora a chamada na ao método Clear da lista seja mais comum. É possível também excluir os itens de uma ListBox individualmente chamando a função Delete() no objeto Items. Neste caso nós usamos um laço e percorremos todos os elementos da lista e os excluímos um a um. É importante, para estes casos, lembrarmos de percorrer os itens do último para o primeiro. Caso esta regra não seja obedecida, poderá haver erros de acesso durante a exclusão. Veja o código: procedure TForm1.Button2Click(Sender: TObject); var i: Integer; begin // vamos percorrer todos os itens da ListBox do último // para o primeiro for i := ListBox1.Items.Count - 1 downto 0 do begin // vamos excluir o item no índice correspondente ListBox1.Items.Delete(i); end; end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Pacote java.lang ::: String |
Como verificar se uma string Java contém uma determinada sequencia de caracteres (ou substring) usando o método contains()Quantidade de visualizações: 11788 vezes |
Em algumas situações precisamos verificar se uma sequencia de caracteres ou substring está contida em uma string. Para isso podemos usar o método contains() da classe String. Veja sua assinatura:public boolean contains(CharSequence s) Note que o método recebe um argumento do tipo CharSequence, que é uma interface implementada pelas classes CharBuffer, Segment, String, StringBuffer e StringBuilder. O método retorna true se a sequencia de caracteres for encontrada e false em caso contrário. Veja um trecho de código no qual usamos este método para verificar se uma palavra está contida em uma frase: public class Main { public static void main(String[] args) { // vamos declarar uma string String frase = "Gosto muito de Java e PHP"; // vamos verificar se a string contém a palavra "Java" if(frase.contains("Java")){ System.out.println("A frase contém a substring informada"); } else{ System.out.println("A frase não contém a substring informada"); } } } Este método pode atirar uma exceção do tipo NullPointerException se o argumento fornecido for null. |
Python ::: Dicas & Truques ::: Lista (List) |
Como ordenar uma lista de inteiros em Python de acordo com a soma dos dígitos de seus elementos usando uma função lambdaQuantidade de visualizações: 846 vezes |
Nesta dica mostrarei como podemos usar uma função lambda em Python para ordenar uma lista de inteiros de acordo com a soma dos seus dígitos. Este é um código muito interessante e que permitirá um melhor entendimento de funções lambda em Python. Veja o código completo para o exemplo: # método usado para ordenar a lista de acordo com a soma # de seus dígitos def ordenar(vetor): return sorted(vetor, key=lambda n: sum(int(c) for c in str(n) if c != "-")) # função principal do programa def main(): # vamos criar uma lista de inteiros valores = [21, 10, 8, 32, 70, 41, 40, 11] # vamos exibir a lista original print("Lista na ordem original: {0}".format(valores)) # agora vamos ordenar de acordo com a soma dos dígitos lista_ordenada = ordenar(valores) print("Lista ordenada: {0}".format(lista_ordenada)) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Lista na ordem original: [21, 10, 8, 32, 70, 41, 40, 11] Lista ordenada: [10, 11, 21, 40, 32, 41, 70, 8] |
JavaScript ::: Dicas & Truques ::: Cookies |
Cookies em JavaScript - Como excluir um cookie usando JavaScriptQuantidade de visualizações: 102 vezes |
Nesta dica mostrarei como podemos escrever uma função JavaScript excluirCookie() que recebe o nome do cookie e o remove do navegador. Em alguns browsers pode ser necessário reiniciar para que o cookie seja realmente excluído. Note que coloquei também uma função obterCookie() que permite verificar se o cookie foi realmente excluído. Veja o código JavaScript completo, incluindo o código HTML da página de teste: <html> <head> <title>Estudando JavaScript</title> <script type="text/javascript"> // função que permite excluir um cookie. Pode // ser necessário reiniciar o navegador function excluirCookie(nome){ var exdate = new Date(); exdate.setTime(exdate.getTime() + (-1 * 24 * 3600 * 1000)); document.cookie = nome + "=" + escape("")+ ((-1 == null) ? "" : "; expires=" + exdate); } // função que permite obter um cookie function obterCookie(nome){ if(document.cookie.length > 0){ c_start = document.cookie.indexOf(nome + "="); if(c_start != -1){ c_start = c_start + nome.length + 1; c_end = document.cookie.indexOf(";", c_start); if(c_end == -1){ c_end = document.cookie.length; } return unescape(document.cookie.substring( c_start, c_end)); } } return null; } </script> </head> <body> <script type="text/javascript"> // vamos excluir o cookie excluirCookie('nome_visitante'); // verifica se o cookie "nome_visitante" existe // e obtém seu valor var nome_visitante = obterCookie('nome_visitante'); if(nome_visitante != null){ document.writeln("O cookie nome_visitante existe. " + "Seu valor é: " + nome_visitante); } else{ document.writeln("O cookie nome_visitante não existe"); } </script> </body> </html> Ao executar este código, sabendo que o cookie "nome_visitante" existia anteriormente, nós teremos o seguinte resultado: O cookie nome_visitante não existe |
C# ::: Namespace System.Windows.Forms ::: Formulários e Janelas |
Como definir uma imagem de fundo para um formulário C# Windows Forms usando a propriedade BackgroundImageQuantidade de visualizações: 14264 vezes |
Formulários Windows Forms podem conter uma imagem de fundo. Isso pode ser feito por meio da propriedade BackgroundImage. Em tempo de design, só precisamos clicar no formulário, acessar a janela de propriedades (Properties) e modificar o valor da propriedade BackgroundImage. Quando clicamos no botão ao lado do valor da propriedade, temos acesso à janela Select Resource. Deixe a opção Project resource file marcada e clique o botão Import. Selecione a imagem que você deseja usar e clique o botão OK. Imediatamente a imagem importada será aplicada ao fundo do formulário. É importante observar que esta forma de adicionar a imagem de fundo evita que tenhamos que enviar a imagem juntamente com nossa aplicação. Como a imagem importada fará parte do Resources da aplicação, ela será compilada e fará parte do .exe resultante. É possível também carregar uma imagem e colocá-la como fundo para um formulário em tempo de execução. Veja um trecho de código no qual carregamos uma imagem JPG localizada em uma pasta imagens no mesmo diretório do .exe da aplicação: private void button2_Click(object sender, EventArgs e){ // using System.IO; this.BackgroundImage = new Bitmap(Path.GetDirectoryName( Application.ExecutablePath) + @"\imagens\foto.jpg"); } |
Java ::: Coleções (Collections) ::: Stack |
Como criar uma pilha em Java usando a classe Stack - Java CollectionsQuantidade de visualizações: 13388 vezes |
A classe Stack é usada quando precisamos de uma estrutura de dados LIFO (last-in-first-out). Neste tipo de estrutura temos uma pilha de objetos, na qual o último elemento inserido na pilha é sempre o primeiro a sair. A classe Stack extende a classe Vector com a adição de cinco operações próprias da estrutura de dados pilha. As dicas nesta seção mostram a você como usar cada uma destas operações. Antes, veja a posição da classe Stack na hierarquia de classes Java: java.lang.Object java.util.AbstractCollection<E> java.util.AbstractList<E> java.util.Vector<E> java.util.Stack<E> Esta classe implementa as interfaces: Serializable, Cloneable, Iterable<E>, Collection<E>, List<E> e RandomAccess. Veja um trecho de código que cria uma Stack de inteiros, insere três elementos e usa o método pop() para remover o elemento no topo da pilha: import java.util.*; public class Estudos{ public static void main(String args[]){ // Cria uma Stack Stack<Integer> pilha = new Stack<Integer>(); // adiciona três elementos na pilha pilha.push(34); pilha.push(12); pilha.push(83); // remove o elemento no topo da pilha int topo = pilha.pop(); System.out.println("Elemento removido do " + "topo da pilha: " + topo); } } Ao executar este código Java nós teremos o seguinte resultado: Elemento removido do topo da pilha: 83 |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma variável do tipo string ainda é null ou vazia em VB.NET usando a função IsNullOrEmpty()Quantidade de visualizações: 15518 vezes |
Em algumas situações nós precisamos verificar se uma variável do tipo String ainda é null ou vazia. Para isso nós podemos usar o método IsNullOrEmpty(). Note que null em VB.NET é representado pela palavra-chave Nothing. Veja o código completo para o exemplo: Imports System Module Program Sub Main(args As String()) Dim var1 As String ' ainda não foi inicializada...é null Dim var2 As String = Nothing ' é null Dim var3 As String = "" ' está vazia If String.IsNullOrEmpty(var1) Then Console.WriteLine("A variável var1 ainda é null ou vazia") End If If String.IsNullOrEmpty(var2) Then Console.WriteLine("A variável var2 ainda é null ou vazia") End If If String.IsNullOrEmpty(var3) Then Console.WriteLine("A variável var3 ainda é null ou vazia") End If Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código VB.NET nós teremos o seguinte resultado: A variável var1 ainda é null ou vazia A variável var2 ainda é null ou vazia A variável var3 ainda é null ou vazia |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em JavaQuantidade de visualizações: 2603 vezes |
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código Java completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não: package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos solicitar um número inteiro positivo System.out.print("Informe um número inteiro positivo: "); int numero = Integer.parseInt(entrada.nextLine()); // o número é negativo? if(numero < 0){ System.out.println("Número inválido."); } // é 0 ou 1? else if((numero == 0) || (numero == 1)){ System.out.println("Número válido, mas não é primo. "); } // passou até aqui. Vamos testar se o número é primo else{ boolean primo = true; for (int i = 2; i <= (numero / 2); i++){ // se passar no teste, não é primo if (numero % i == 0) { primo = false; break; } } if(primo){ System.out.println("O número informado é primo"); } else{ System.out.println("O número informado não é primo"); } } } } Ao executar este código Java nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
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 |
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 |