Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Flutter ::: Material Library - Biblioteca Material ::: TextField |
Como habilitar ou desabilitar um botão ao digitar em um widget TextField do FlutterQuantidade de visualizações: 4011 vezes |
|
Nesta dica eu mostro como podemos habilitar ou desabilitar um botão ElevatedButton dependendo do conteúdo de um TextField. Para isso nós vamos usar a propriedade onChanged da classe TextField para desabilitar o botão quando a caixa de texto estiver vazia e habilitá-lo em caso contrário. O truque aqui é passar um valor null para a propriedade onPressed do ElevatedButton. Só isso já basta para que o botão fique desabilitado. Veja o código completo para o exemplo:
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> {
bool btnDesabilitado = true; // vamos desabilitar o botão
@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
if(value.isEmpty) { // o campo de texto não está vazio
setState(() {
btnDesabilitado = true; // desabilita o botão
});
}
else{
setState(() {
btnDesabilitado = false; // habilita o botão
});
}
}
);
final btnNome = ElevatedButton(
onPressed: btnDesabilitado ? null : (){},
child: Text('Clique Aqui'),
);
return Scaffold(
appBar: AppBar(
title: Text("O Widget TextField"),
),
body: Center(
child: Container(
child: Padding(
padding: const EdgeInsets.all(20.0),
child: Column(
children: <Widget>[
// a caixa de texto TextField vai aqui
nomeTxt,
// o botão vai aqui
btnNome,
],
),
),
),
),
);
}
}
|
C ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de um determinado caractere em uma string usando a linguagem CQuantidade de visualizações: 11701 vezes |
|
Em algumas situações precisamos obter a quantidade de vezes que um caractere ocorre dentro de uma string. Para isso podemos usar a função personalizada char_count(). Esta função recebe a string e o caractere que desejamos pesquisar e retorna um inteiro contendo a quantidade de vezes que o caractere foi encontrado. Veja o código (usando apenas ANSI-C):
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// função personalizada que permite contar as
// ocorrências de um caractere em uma string
int char_count(const char *str, char caractere){
int i, quant = 0;
// vamos percorrer todos os caracteres da string
for(i = 0; str[i]; i++){
if(str[i] == caractere){ // localizamos
quant++;
}
}
return quant;
}
int main(int argc, char *argv[]){
char frase[] = "Gosto muito de Java, JavaScript e Python";
printf("Ocorrencias encontradas: %d",
char_count(frase, 'a'));
puts("\n\n");
system("PAUSE");
return 0;
}
Ao executarmos este código nós teremos o seguinte resultado: Ocorrencias encontradas: 4 |
C ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila C para iniciantes - Como usar o laço for em CQuantidade de visualizações: 39283 vezes |
O laço for é usado quando queremos executar um bloco de instruções um determinado número de vezes. Este laço é composto de três partes:
for(inicialização; teste; incremento/decremento){
bloco de instruções
}
Na parte inicialização nós definimos o valor inicial da variável de controle. Na parte teste nós usamos o valor da variável de controle para testar a continuidade ou interrupção do laço. Finalmente, na parte incremento/decremento nós alteramos o valor da variável de controle para cima ou para baixo. Veja um exemplo:
int main(int argc, char *argv[])
{
int i;
for(i = 1; i <= 10; i++){
printf("%d ", i);
}
printf("\n\n");
system("PAUSE");
return 0;
}
O incremento/decremento da variável de controle não precisa ser necessariamente em 1. Podemos usar qualquer expressão. Veja um trecho de código que exibe os números pares de 0 à 10:
int main(int argc, char *argv[])
{
int i;
for(i = 0; i <= 10; i += 2){
printf("%d ", i);
}
printf("\n\n");
system("PAUSE");
return 0;
}
Observe que "i += 2" é o mesmo que "i = i + 2". Com exceção da parte de testes, podemos inserir múltiplas expressões nas demais partes de um laço for. Veja:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i, x;
for(i = 0, x = 2; i <= 10; printf("%d ", i * x), i++);
printf("\n\n");
system("PAUSE");
return 0;
}
Este último código é um pouco exótico, mas muito fácil de ser encontrado por aí. |
PHP ::: Dicas & Truques ::: Gráficos e Cores |
Como obter o tipo de uma imagem usando a função getimagesize() do PHPQuantidade de visualizações: 10533 vezes |
Muitas vezes precisamos saber o tipo de uma imagem antes de processá-la. Nestes casos podemos usar a função getimagesize() da linguagem PHP e obter o tipo da imagem no terceiro valor retornado. Este valor é um número inteiro correspondente a algumas das constantes IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, etc. Veja um exemplo:
<?php
// nome e local da imagem
$imagem = "/home/xxxx/xxxx/public_html/imagem.jpg";
// vamos obter o tipo da imagem...ele estará no terceiro
// elemento da lista
list($largura, $altura, $tipo) = getimagesize($imagem);
// testamos o tipo de imagem
if($tipo == IMAGETYPE_JPEG)
echo "O tipo da imagem é JPG ou JPEG";
else if($tipo == IMAGETYPE_GIF)
echo "O tipo da imagem é GIF";
else if($tipo == IMAGETYPE_PNG)
echo "O tipo da imagem é PNG";
else
echo "O tipo da imagem não está entre os tipos testados";
?>
Ao executar este código você terá um resultado parecido com: O tipo da imagem é JPG ou JPEG |
Java ::: Coleções (Collections) ::: HashSet |
Java HashSet - Como usar o método add() para adicionar novos elementos a um HashSet da linguagem JavaQuantidade de visualizações: 5649 vezes |
Novos elementos podem ser adicionados a um HashSet por meio do método add(), definido originalmente na interface Collection<E> e sobrescrevendo a versão herdada de AbstractCollection<E>. Este método possui a seguinte assinatura:public boolean add(E e)
package estudos;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Estudos{
public static void main(String[] args) {
// vamos criar uma instância da classe HashSet
Set<Integer> conjunto = new HashSet<>();
// vamos tentar inserir três inteiros neste conjunto
if(conjunto.add(5)){
System.out.println("Elemento inserido com sucesso.");
}
else{
System.out.println("O elemento não foi inserido.");
}
if(conjunto.add(7)){
System.out.println("Elemento inserido com sucesso.");
}
else{
System.out.println("O elemento não foi inserido.");
}
if(conjunto.add(5)){
System.out.println("Elemento inserido com sucesso.");
}
else{
System.out.println("O elemento não foi inserido.");
}
// vamos exibir os elementos inseridos com sucesso
Iterator iterator = conjunto.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
Ao executar este código teremos o seguinte resultado: Elemento inserido com sucesso. Elemento inserido com sucesso. O elemento não foi inserido. 5 7 |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
JavaScript - Como testar se um ponto está dentro de um círculo em JavaScript - Desenvolvimento de Games com JavaScript Java - Como usar a classe Character da linguagem Java para tratar caracteres individuais em seus programas |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





