![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de C++ - Como testar se um ano é bissexto em C++ - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 704 vezes |
|
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa C++ que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando C++:
#include <iostream>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas para resolver o problema
int ano;
// vamos solicitar que o usuário informe um ano
cout << "Informe o ano: ";
cin >> ano;
// vamos verificar se o ano informado é bissexto
if(((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)){
cout << "O ano informado é bissexto.";
}
else{
cout << "O ano informado não é bissexto.";
}
cout << "\n" << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Laravel ::: Artigos e Tutorias ::: CRUD - CREATE, READ, UPDATE, DELETE |
Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 2Quantidade de visualizações: 3507 vezes |
|
Na parte 1 deste tutorial sobre CRUD em Laravel usando PHP e MySQL (MariaDB) nós criamos a base de dados MySQL para a nossa aplicação biblioteca, criamos a aplicação Laravel, fizemos a migração e rodamos a migração, o que resultou na criação de uma tabela MySQL chamada livros. Nessa segunda parte nós vamos iniciar criando a rota de redirecionamento das ações do CRUD. Vamos criar também o controller e as primeiras views. Criando a rota de redirecionamento - routes/web.php Vá até o diretório C:\xampp\htdocs\biblioteca\routes e abra o arquivo web.php. Você verá que ele possui o seguinte conteúdo:
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------
| Web Routes
|--------------------------------------
|
| Here is where you can register web routes
| for your application. These routes are loaded
| by the RouteServiceProvider within a group
| which contains the "web" middleware group.
| Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
?>
Vamos alterar o seu conteúdo para a versão abaixo:
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\LivroController;
Route::resource('livros', LivroController::class);
?>
Veja que criamos uma rota para um recurso, que neste caso será o controller LivroController. Passamos o nome livros para esta rota, de forma que a URL http://localhost/biblioteca/public/livros/create abrirá a view para cadastrar um novo livro. Hora de criar o controller e o model - a parte controle e modelo do MVC Com a rota de direcionamento devidamente criada, vamos partir para o controller. Abra uma janela de terminal e digite o comando abaixo: C:\xampp\htdocs\biblioteca>php artisan make:controller LivroController --resource --model=Livro O Artisan nos perguntará se queremos criar o modelo também. Informe "yes" e pressione Enter. A App\Models\Livro model does not exist. Do you want to generate it? (yes/no) [yes]: > yes Se tudo correr bem, você verá a seguinte mensagem: Model created successfully. Controller created successfully. Vá até o diretório C:\xampp\htdocs\biblioteca\app\Http\Controllers e localize o arquivo LivroController.php. Abra-o e note que temos os métodos index(), create(), store(), show(), edit(), update() e destroy(). Cada um destes métodos corresponde a uma ação que podemos executar na tabela de livros. Vamos começar com o método create(). Limpe todo o conteúdo deste controller e deixe apenas o código abaixo:
<?php
namespace App\Http\Controllers;
use App\Models\Livro;
use Illuminate\Http\Request;
class LivroController extends Controller{
// mostra a view para cadastrar um novo livro
public function create(){
return view('livros.create');
}
}
?>
O método create() apenas exibirá a página (view) que nos permitirá cadastrar um novo livro. Porém, antes de criar a primeira view, vá no diretório C:\xampp\htdocs\biblioteca\app\Models, localize e abra o arquivo Livro.php. Vamos modificá-lo para o código abaixo:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Livro extends Model{
use HasFactory;
protected $fillable = [
'titulo', 'autor', 'paginas'
];
}
?>
Veja que informamos, no model Livro, os campos da tabela que serão preenchidos com as nossas informações. Os campos id, created_at e updated_at serão gerenciados pelo Laravel. A view para cadastrar um novo livro Chegou o grande momento. Vamos criar a página que nos permitirá cadastrar os livros. Para manter as coisas simples, escreveremos um view bem simples, sem muita formatação. Mas você poderá deixá-la mais bonita mais tarde. O importante aqui é entender a funcionalidade. Veja o código completo para a view create.blade.php:
<html>
<head>
<meta charset="utf-8">
<title>Biblioteca</title>
</head>
<body>
<h1>Novo Livro</h1>
@if($status = Session::get('mensagem'))
<h2>{{ $status }}</h2>
@endif
@if($errors->any())
<h2>Houve alguns erros ao processar o formulário</h2>
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
<form action="{{ route('livros.store') }}" method="post">
@csrf
<table width="200" border="0" cellspacing="3"
cellpadding="3">
<tr>
<td>Título:</td>
<td><input type="text" name="titulo" id="titulo"
placeholder="Título"></td>
</tr>
<tr>
<td>Autor:</td>
<td><input type="text" name="autor" id="autor"
placeholder="Autor"></td>
</tr>
<tr>
<td>Páginas</td>
<td><input type="text" size="10" name="paginas"
id="paginas" placeholder="Quant. Páginas"></td>
</tr>
<tr>
<td> </td>
<td><button type="submit">Gravar</button></td>
</tr>
</table>
</form>
</body>
</html>
Aqui nós criamos um formulário com a action apontando para {{route('livros.store')}}, e a forma de envio é POST. Temos também três elementos HTML do tipo input text, cada um com a propriedade name contendo o mesmo nome do campo na tabela livros. Salve esta view no diretório C:\xampp\htdocs\biblioteca\resources\views\livros. Agora abra o seu navegador no endereço http://localhost/biblioteca/public/livros/create e teremos o seguinte resultado: ![]() Agora só precisamos obter as informações do formulário e salvá-las no banco de dados. Gravando o novo livro na tabela do banco de dados Vamos ver agora como obter os dados do formulário, passá-los para o controller, instanciar o model e finalmente persistir no banco de dados MySQL. Você viu que os dados do form são enviados para o método store() do controller livros. Assim, abra o LivroController.php e adicione o código abaixo:
<?php
namespace App\Http\Controllers;
use App\Models\Livro;
use Illuminate\Http\Request;
class LivroController extends Controller{
// mostra a view para cadastrar um novo livro
public function create(){
return view('livros.create');
}
// recebe as informações do formulário e as grava
// no banco de dados
public function store(Request $request){
// valida o formulário
$request->validate([
'titulo' => 'required',
'autor' => 'required',
'paginas' => 'required']);
// obtém os valores do form
Livro::create($request->all());
// direciona para página cadastro novamente,
// com uma mensagem de sucesso
return redirect()->route('livros.create')
->with('mensagem', 'Livro salvo com sucesso.');
}
}
?>
Pronto! A parte CREATE do CRUD já está completa. Experimente cadastrar um novo livro e veja o resultado na tabela do banco de dados. Observe que temos também a validação dos dados do formulário (mensagens indicando quais campos não foram preenchidos) e também uma mensagem de sucesso indicando que os dados foram gravados com sucesso. Na parte 3 deste tutorial veremos como listar os livros cadastrados e a opção de excluir e editar os livros. Até lá. Leia a parte 3 aqui: Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 3 |
Java ::: Pacote java.awt ::: Graphics |
Como desenhar texto na superfície de uma JLabel do Java Swing usando o método drawString() da classe GraphicsQuantidade de visualizações: 12350 vezes |
A classe Graphics possui um método chamado drawString() que é usado para desenhar uma string na superfície de um componente. Veja a assinatura deste método:public abstract void drawString(String str, int x,int y) Como podemos ver, só precisamos fornecer a string a ser desenhada, a coordenada x e a coordenada y. Estas coordenadas são obtidas a partir do canto superior esquerdo do componente no qual desenharemos. O trecho de código abaixo mostra como desenhar a string "Arquivo de Códigos" em um JLabel:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando em um JLabel");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria um JLabel
label = new JLabel();
c.add(label, BorderLayout.CENTER);
// Cria um botão
JButton btn = new
JButton("Desenhar uma string");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
// Desenha uma string no JLabel
Graphics graphics = label.getGraphics();
graphics.drawString("Arquivo de Códigos",
20, 50);
}
}
);
// Adiciona o botão à janela
c.add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli) |
Como obter a quantidade de colunas de uma tabela - Como usar a função mysqli_field_count() para contar os campos de uma tabela - RevisadoQuantidade de visualizações: 11392 vezes |
|
Em algumas situações nós precisamos obter a quantidade de campos retornados como resultado de uma consulta SQL DML SELECT a uma determinada tabela do banco de dados. Para isso nós podemos usar o atributo field_count e a função mysqli_field_count(). A função mysqli_field_count() é usada no modo procedural, enquanto field_count é usada no modo orientado a objetos. Vamos começar com mysqli_field_count(). Veja o exemplo a seguir:
<?
// vamos efetuar a conexão com o banco
$con = new mysqli("localhost", "root",
"osmar1234", "estudos");
// conexão efetuada com sucesso?
if($con->connect_errno){
echo "Não foi possível efetuar a conexão: " .
$mysqli->connect_error;
exit(); // vamos sair daqui
}
// obtém a quantidade de colunas de uma determinada tabela
$query = "SELECT * FROM produtos";
$result = mysqli_query($con, $query);
echo "Esta tabela (retornada) possui " .
mysqli_field_count($con) . " colunas";
// vamos fechar a conexão
mysqli_close($con);
?>
Ao executarmos este código nós teremos um resultado parecido com: Esta tabela (retornada) possui 4 colunas Veja agora o mesmo exemplo usando a abordagem de programação orientada a objetos:
<?
// vamos efetuar a conexão com o banco
$con = new mysqli("localhost", "root",
"osmar1234", "estudos");
// conexão efetuada com sucesso?
if($con->connect_errno){
echo "Não foi possível efetuar a conexão: " .
$con->connect_error;
exit(); // vamos sair daqui
}
// obtém a quantidade de colunas de uma determinada tabela
$con->query("SELECT * FROM produtos");
echo "Esta tabela possui " . $con->field_count .
" colunas";
// vamos fechar a conexão
$con->close();
?>
Esta dica foi revisada e atualizada para o PHP 8. |
C# ::: Windows Forms ::: CheckBox |
Como testar se uma CheckBox do C# Windows Forms está marcada ou desmarcadaQuantidade de visualizações: 22721 vezes |
|
Em algumas situações precisamos verificar se uma CheckBox do C# Windows Forms está marcada ou desmarcada. Para isso só precisamos acessar sua propriedade Checked. Esta propriedade retorna um valor true se a CheckBox estiver marcada e false em caso contrário. Veja o trecho de código abaixo (estou assumindo que você colocou um Button e uma CheckBox no seu formulário):
private void button1_Click(object sender, EventArgs e){
// vamos verificar se a CheckBox está marcada ou desmarcada
if(checkBox1.Checked)
MessageBox.Show("A CheckBox está marcada");
else
MessageBox.Show("A CheckBox está desmarcada");
}
Se você quiser inverter o teste, ou seja, verificar primeiro se a CheckBox está desmarcada, poderá fazer algo assim:
private void button1_Click(object sender, EventArgs e){
// vamos verificar se a CheckBox está marcada ou desmarcada
if(!checkBox1.Checked)
MessageBox.Show("A CheckBox está desmarcada");
else
MessageBox.Show("A CheckBox está marcada");
}
|
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 |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





