![]() |
|
Código-Fonte Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesTenha 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 |
|
Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Flutter ::: Material Library - Biblioteca Material ::: TextField |
Como habilitar ou desabilitar um botão ao digitar em um widget TextField do FlutterQuantidade de visualizações: 4040 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,
],
),
),
),
),
);
}
}
|
Python ::: Flask Micro Framework ::: Rotas e Roteamento |
Como criar rotas em suas aplicações Flask usando o decorador @app.route() - Tutorial Flask para iniciantesQuantidade de visualizações: 2201 vezes |
|
Aplicações web modernas usam uma técnica chamada roteamento nomeado, ou, na linguagem do pessoal do SEO, URLs amigáveis. Isso quer dizer que, em vez de termos URLS do tipo /livro.php?id_livro=39 nós temos /livro/39. Neste modelo de roteamento, livro é o nome de uma função Python que será chamada quando o usuário acessar este endereço, e 39 será o argumento passado para o método. Em Flask, as URLs são associadas às funções Python por meio do decorador @app.route(). Veja uma aplicação Flask completa que possui um método index() que é chamado quando o usuário acessa a raiz da aplicação:
# vamos importar a biblioteca Flask
from flask import Flask
# função principal do programa
def main():
# vamos criar a aplicação Flask
app = Flask(__name__)
# definimos a rota para a função index()
@app.route("/")
def index():
return "Este é o método index()"
# e iniciamos a aplicação web na porta 5000
app.run(port=5000, debug=True)
if __name__== "__main__":
main()
Note que a nossa aplicação Flask estará disponível na porta 5000. Assim, ao acessar o endereço http://127.0.0.1:5000 nós teremos o seguinte resultado: Este é o método index() Veja agora como criar uma URL /listar_usuarios e associá-la a uma função listar_usuarios():
# vamos importar a biblioteca Flask
from flask import Flask
# função principal do programa
def main():
# vamos criar a aplicação Flask
app = Flask(__name__)
# definimos a rota para a função index()
@app.route("/")
def index():
return "Este é o método index()"
# definimos a rota para a função listar_usuarios()
@app.route("/listar_usuarios")
def listar_usuarios():
return "Este é o método para listar os usuários"
# e iniciamos a aplicação web na porta 5000
app.run(port=5000, debug=True)
if __name__== "__main__":
main()
Agora, experimente acessar o endereço http://127.0.0.1:5000/listar_usuarios e veja o resultado. Se tudo estiver correto, você verá o seguinte resultado: Este é o método para listar os usuários Em mais dicas desta seção você verá como criar URLs com parâmetros e passá-los para suas funções Python. |
PHP ::: Fundamentos da Linguagem ::: Tipos de Dados |
PHP do básico ao profissional - Como usar o tipo de dados integer do PHPQuantidade de visualizações: 9373 vezes |
|
Integers (inteiros) são números inteiros, tais como 1, 12, 50, etc. A faixa de valores aceitáveis varia de acordo com os detalhes da plataforma na qual o PHP está sendo executado. Mas, geralmente, a faixa vai de -2.147.483.648 até +2.147.483.647. Especificamente, esta faixa é equivalente à faixa do tipo de dados long de seu compilador C. Infelizmente, o C padrão não define qual faixa o tipo long deve ter. Assim, em alguns sistemas poderemos ter uma faixa de inteiros diferente do afirmado acima. Literais integer podem ser escritos em decimal, octal ou hexadecimal. Valores decimais são representados por uma sequencia de dígitos não precedidos de zeros. A sequencia pode começar com um sinal de positivo (+) ou negativo (-). Se não houver sinal, assume-se que o valor é positivo. Exemplos de inteiros decimal incluem: 1998 -641 +33 Números octais consistem de um 0 (zero) e uma sequencia de dígitos de 0 à 7. Assim como os números decimais, números octais podem ser prefixados com um sinal de positivo ou negativo. Veja alguns exemplos de números octais e seus equivalentes decimais: 0755 // decimal 493 +010 // decimal 8 Valores hexadecimais começam com 0x, seguido por uma sequencia de dígitos (0-9) ou letras (A-F). As letras podem estar em maiúsculas ou minúsculas mas geralmente são escritas em maiúsculas. Números hexadecimais também podem incluir um sinal de positivo ou negativo. Veja alguns exemplos: 0xFF // decimal 255 0x10 // decimal 16 -0xDAD1 // decimal -56017 Se tentarmos armazenar um número inteiro que é grande demais para ser armazenado como inteiro, ou que não seja um número inteiro, ele será automaticamente convertido em um número de ponto-flutuante (contendo casas decimais). Podemos testar se uma variável é do tipo integer usando as funções is_int() ou is_integer(). Veja:
<?
$valor = 10;
if(is_int($valor)){
echo 'A variável $valor é do tipo integer';
}
?>
|
Java ::: Dicas & Truques ::: Mouse e Teclado |
Como ligar ou desligar a tecla Caps Lock do seu teclado usando JavaQuantidade de visualizações: 18749 vezes |
|
Nesta dica mostrarei como ligar ou desligar a tecla Caps Lock (tudo maiúsculo) do seu teclado usando o método setLockingKeyState() da classe Toolkit, do pacote java.awt. Note que passei o valor true para ligar o Caps Lock e false para desligar. Veja o código completo para o exemplo:
import java.awt.Toolkit;
import java.awt.event.*;
public class Estudos{
public static void main(String[] args){
Toolkit tk = Toolkit.getDefaultToolkit();
// Liga a tecla Caps Lock
tk.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, true);
// Para desligar basta usar:
// tk.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, false);
System.exit(0);
}
}
Esta dica foi testada no Java 8 e Windows 10. |
C# ::: Namespace System.Drawing ::: Graphics |
C# Windows Forms - Como passar um objeto da classe Graphics como argumento para um método e usá-lo para desenhar na superfície do formulárioQuantidade de visualizações: 6639 vezes |
Em algumas situações gostaríamos de escrever um método que recebe um objeto da classe Graphics como argumento e usar este objeto para alguma tarefa, por exemplo, desenhar na superfície do formulário. Nesta dica eu mostro como isso é possível. Comece escrevendo o seguinte método:
// um método que recebe um objeto da classe Graphics
private void desenhar(ref Graphics g){
// vamos desenhar uma linha horizontal de 300 pixels na
// cor preta e espessura de 1 pixel
g.DrawLine(new Pen(Color.Black, 1), new Point(20, 80),
new Point(320, 80));
// vamos liberar o objeto Graphics
g.Dispose();
}
Note que, na definição do parâmetro do método nós usamos a palavra-chave ref. Isso foi necessário porque queremos que o objeto Graphics seja passado por referência, uma vez que o estamos liberando dentro do corpo do método com uma chamada ao método Dispose(). Veja agora como obter o objeto Graphics relacionado ao formulário atual e passá-lo ao método desenhar():
private void button1_Click_1(object sender, EventArgs e){
// vamos obter o objeto Graphics relacionado ao formulário atual
Graphics graphics = this.CreateGraphics();
// vamos passar o objeto Graphics para o método desenhar
desenhar(ref graphics);
}
|
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
|
C++ Builder - Como obter a quantidade de caracteres em um TEdit usando a função GetTextLen() do C++ Builder |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





