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 janela

Quantidade 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 C

Quantidade 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 Clear

Quantidade 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 lambda

Quantidade 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 JavaScript

Quantidade 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 BackgroundImage

Quantidade 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 Collections

Quantidade 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 Java

Quantidade 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

Carregar Publicações Anteriores


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

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

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á 51 usuários muito felizes estudando em nosso site.