Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesCó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 funcionalidades
Tenha 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
Card 1 de 75
O regime de escoamento laminar

O regime laminar na hidrologia refere-se ao tipo de fluxo de água que ocorre em um corpo d'água, como um rio ou um lago, onde o movimento da água é suave e ordenado. Nesse regime, as camadas de água deslizam umas sobre as outras de maneira paralela, sem causar turbulência.

Esse tipo de fluxo é caracterizado por um baixo número de Reynolds, o que significa que a viscosidade da água é predominante em relação às forças inerciais. O regime laminar é comum em águas calmas ou em seções de rios com baixa inclinação e velocidade de fluxo.

O entendimento do regime laminar é importante para a modelagem de transporte de sedimentos, a qualidade da água e a gestão de recursos hídricos, pois influencia a dinâmica do ecossistema aquático e a erosão das margens.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

Flutter ::: Material Library - Biblioteca Material ::: TextField

Como habilitar ou desabilitar um botão ao digitar em um widget TextField do Flutter

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

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

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

Quantidade 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ário

Quantidade 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

E-Books em PDF

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

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


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 Apenas R$ 19,90


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 45 usuários muito felizes estudando em nosso site.