![]() |
|
|
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. |
||
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: 3448 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 ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Um programa que calcule e mostre a tabuada de multiplicação de um número digitado pelo usuário (entre 1 e 10)Quantidade de visualizações: 7109 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que usa o laço for para calcular a tabuada de multiplicação para um número digitado pelo usuário. Este número deve estar entre 1 e 10 (inclusive). Sua saída deve ser parecida com: Informe um valor entre 1 e 10: 8 A tabuada do número 8 é: 8 X 1 = 8 8 X 2 = 16 8 X 3 = 24 8 X 4 = 32 8 X 5 = 40 8 X 6 = 48 8 X 7 = 56 8 X 8 = 64 8 X 9 = 72 8 X 10 = 80 Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos solicitar que o usuário informe um inteiro entre 1 e 10
System.out.print("Informe um valor entre 1 e 10: ");
int numero = Integer.parseInt(entrada.nextLine());
// vamos verificar se o valor está na faixa desejada
if((numero < 1) || (numero > 10)){
System.out.println("O número deve ser entre 1 e 10");
}
else{
// o número é válido....vamos exibir a tabuada
System.out.println("\nA tabuada do número " + numero + " é:\n");
for(int i = 1; i <= 10; i++){
System.out.println(numero + " X " + i + " = " + (numero * i));
}
}
System.out.println("\n");
}
}
|
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como obter uma substring no início de uma string usando a função AnsiLeftStr() do DelphiQuantidade de visualizações: 13180 vezes |
Em algumas situações precisamos obter uma substring no início de uma string. Em Delphi isso pode ser feito por meio da função AnsiLeftStr(). Esta função requer a string a partir da qual a substring será obtida e a quantidade de caracteres que comporâo a substring. O retorno será uma nova string contendo a substring obtida. Veja o exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
frase, substring: string;
begin
frase := 'Programar em Delphi é muito bom';
// vamos obter a substring "Programar"
substring := AnsiLeftStr(frase, 9);
// vamos exibir o resultado
ShowMessage('Resultado: ' + substring);
end;
Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
VB.NET ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como copiar todos os elementos de um vetor para outro em VB.NET usando o método CopyTo() da classe ArrayQuantidade de visualizações: 7836 vezes |
|
Nesta dica eu mostro como podemos usar o método CopyTo() da classe Array do VB.NET para copiar todos os elementos de um array para um outro array. Veja o código completo para o exemplo:
Imports System
Module Program
Sub Main(args As String())
' cria um array de inteiros
Dim valores() As Integer = {1, 2, 3, 4, 5}
' exibe os valores do primeiro array
For Each valor As Integer In valores
Console.WriteLine(valor)
Next
' cria um segundo array e copia os elementos
' do primeiro para o segundo
Dim valores2() As Integer = {6, 7, 8, 9, 10, 15, 20}
valores.CopyTo(valores2, 0)
Console.WriteLine()
' exibe os valores do segundo array
For Each valor As Integer In valores2
Console.WriteLine(valor)
Next
Console.WriteLine("\nPressione 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: 1 2 3 4 5 1 2 3 4 5 15 20 |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como retornar o tamanho de uma string em JavaScript usando a propriedade length do objeto String |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - JavaScript Avançado - Como usar o operador de bits & (E/AND sobre bits) da linguagem JavaScript Java - Java para músicos - Como escrever um MIDI Player em Java (código bem simples e fácil de entender) VisuAlg - Exercícios Resolvidos de VisuAlg - Como calcular e exibir os 50 primeiros números primos em VisuAlg |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





