-
Posts
435 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Eduardo de Quadros postou
-
Fiz os arquivos HTML, CSS, JS, PHP, PNG, JPG e MP4 e enviei para o gerenciador de arquivos do meu website no Hostinger, que é o servidor de hospedagem. Nos celulares, os vídeos do youtube e do facebook carregam. Os vídeos do meu website carregam nos computadores e nas smarttvs. Minha namorada disse que não adianta levar a uma assistência técnica de celulares e nem comprar outro celular. Meu celular é um iPhone 7 Plus com iOS 12.1.3.
-
PHP Por que está dando "Erro ao tentar inserir dados!"?
Eduardo de Quadros respondeu ao tópico de Eduardo de Quadros em Web e banco de dados
Problema resolvido! É só remover o CREATE TABLE IF NOT EXISTS. -
PHP Por que está dando "Erro ao tentar inserir dados!"?
Eduardo de Quadros postou um tópico em Web e banco de dados
Meu HTML: <!DOCTYPE html> <html lang="pt"> <head> <meta charset="UTF-8"> <title>Eduardo de Quadros - Formulário de Conserto de Bugs no meu Website</title> <link type="img/x-icon" rel="icon" href="../assets/img/icon.ico"> <link type="text/css" rel="stylesheet" href="../assets/style.css"> <script type="text/javascript" src="../assets/script.js"></script> </head> <body> <header> <div class="logo"><img src="../assets/img/logo.png"></div> </header> <br> <form method="post" action="form_bugs.php"> <label>Onde no meu website está o bug que você quer consertar? <textarea required cols="30" rows="8" name="onde"></textarea></label><br><br> <label>Como está atualmente? <textarea required cols="30" rows="8" name="atual"></textarea></label> <br><br> <label>Como você quer que fique? <textarea required cols="30" rows="8" name="novo"></textarea></label><br><br> <input type="submit" value="Enviar"> </form> </body> </html> Meu PHP: <!DOCTYPE html> <html lang="pt"> <head> <meta charset="UTF-8"> <title>Eduardo de Quadros - Formulário de Conserto de Bugs no meu Website</title> <link type="img/x-icon" rel="icon" href="../assets/img/icon.ico"> <link type="text/css" rel="stylesheet" href="../assets/style.css"> <script type="text/javascript" src="../assets/script.js"></script> </head> <body> <header> <div class="logo"><img src="../assets/img/logo.png"></div> </header> <br> <?php $onde = $_POST["onde"]; $atual = $_POST["atual"]; $novo = $_POST["novo"]; $conn = mysqli_connect("localhost", "u312802638_edumq", "MelhorPior345", "u312802638_edumq"); if(!$conn) die("Erro ao tentar conectar com o banco de dados!"); else{ $sql = "CREATE TABLE IF NOT EXISTS bugs(id INTEGER NOT NULL AUTO_INCREMENT, onde LONGTEXT, atual LONGTEXT,"; $sql .= " novo LONGTEXT, PRIMARY KEY (id)); "; $sql .= "INSERT INTO bugs(id, onde, atual, novo) VALUES (DEFAULT, '$onde', '$atual', '$novo');"; $query = mysqli_query($conn, $sql); if(!$query) die("Erro ao tentar inserir dados!"); else die("Dados inseridos com sucesso!"); } mysqli_close($conn); ?> </body> </html> -
P1: Para uma sessão de comunicação entre um par de processos, qual processo é o cliente e qual é o servidor? R: O processo que inicia a comunicação é o cliente. O processo que aguarda ser contactado é o servidor. P2: Para uma sessão de comunicação entre um par de processos, qual processo é o cliente e qual é o servidor? O que é um processo “Cliente”. No que ele difere do processo “Servidor”? A resposta é igual ou diferente nas duas perguntas?
-
Onde encontro para baixar todas as versões do Windows 10 em ISO?
Eduardo de Quadros respondeu ao tópico de Eduardo de Quadros em Windows 10
Quero usar no Oracle Virtal Machine VirtualBox as seguintes versões: Original de julho de 2015; 1511; 1607; 1703; 1709; 1803; 1809. -
Baixar as imagens ISO de instalação de todas as edições do Windows 10 October 2018 pra computador que são: Home Home Single Language Education Pro Enterprise É para eu ser professor no YouTube com todos os vídeos e playlists com a privacidade não listada que o link estará à venda no meu produto na Hotmart.
-
C# Se eu faço um programa em C# em Windows, como se converte pra Linux?
Eduardo de Quadros postou um tópico em C/C#/C++
Se eu faço em Windows, ele funciona em Windows. -
VisualG Letra mínima no VisualG ao filmar a tela inteira e publicar no YouTube
Eduardo de Quadros postou um tópico em Programas
Letra mínima tem o mesmo significado que letra muito pequena. Estou filmando com a Apowersoft Free Online Screen Recorder, a tela inteira do meu notebook (1366x768) e quando publico no YouTube, a letra do VisualG fica mínima e quase tudo nos vídeos é ilegível, mesmo com a qualidade 720p. -
Dispositivos de entrada de áudio no hardware do meu notebook!
Eduardo de Quadros postou um tópico em Notebooks
Eu tenho um fone de ouvido que conecto por bluetooth e quando escuto som alto do meu notebook por ele não escuto outras coisas. O que eu quero sobre dispositivos de entrada de áudio? Sempre fica conectado e habilitado o microfone. Mas quando conecto o fone de ouvido é desabilitado automaticamente os sons do sistema que sempre fica conectado e quando desconecto o fone é automaticamente habilitado os sons do sistema. Isso não acontece atualmente mas é meu sonho. -
Meu parametros.component.html: <div class="card"> <div class="card-header"> <h1>Parâmetro da Requisição</h1> </div> <div class="card-body"> <div class="btn group no-padding"> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" (click)="novoParametroModal.show(); cleanParametro();"> Novo Parâmetro </button> </div> <table datatable ([dtOptions])="dtOptions" ([dtTrigger])="dtTrigger" class="table table-bordered table-striped"> <thead> <th class="celula">Ações</th> <th class="celulaA">ID</th> <th class="celulaA">Ativo</th> <th class="celulaA">Descrição do Parâmetro</th> </thead> <tbody> <tr *ngFor="let parametro of parametros; let i = index"> <td class="celula"> <i class="fa fa-pencil" id="op1" style="cursor: pointer; color: green" title="Editar" (click)="editarParametroModal.show();"></i> <i class="fa fa-trash" id="op" style="cursor: pointer; color: red" title="Excluir" (click)="deleteParametroModal.show();"></i> </td> <td class="celulaA"> {{parametro.id}} </td> <td class="celulaA"> {{parametro.ativo}} </td> <td class="celulaA"> {{parametro.desc_parametro}} </td> </tr> <!--<tr *ngIf="Parametro?.length == 0">--> <!--<td colspan="3" class="no-data-available">No data!</td>--> <!--</tr>--> </tbody> </table> </div> </div> <!--MODAL criar parametro--> <div bsModal #novoParametroModal="bs-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-primary" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">Cadastrar novo Parâmetro:</h4> <button type="button" class="close" (click)="novoParametroModal.hide()" aria-label="Fechar"> <span aria-hidden="true">×</span> </button> </div> <form (ngSubmit)="onSubmit();"> <div id="placeholderDiv" class="col-sm-12"> <input class="form-control" type="text" style="width: 100%" placeholder="Descrição do Novo Parâmetro" [(ngModel)]="parametro.desc_parametro" ([ngModelOptions])="{standalone: true}" required #desc_parametro="ngModel" name="desc_parametro"/><br/> <input class="form-control" type="number" style="width: 100%" placeholder="Ano Vigente do Novo Parâmetro" [(ngModel)]="parametro.ano_vigente" ([ngModelOptions])="{standalone: true}" required #ano_vigente="ngModel" name="ano_vigente" minlength="4" maxlength="4"/><br/> <input class="form-control" type="number" style="width: 100%" placeholder="Semestre Vigente do Novo Parâmetro" [(ngModel)]="parametro.semestre_vigente" ([ngModelOptions])="{standalone: true}" required #semestre_vigente="ngModel" name="semestre_vigente" min="1" max="2"/><br/> <div class="col-sm-6 row"><label><input id="formCriar" class="form-control" type="checkbox" [(ngModel)]="parametro.ativo" ([ngModelOptions])="{standalone: true}" required #ativo="ngModel" name="ativo"/>Parâmetro Ativo</label></div><br/> </div> <div class="modal-footer"> <button type="button" class="btn btn-secundary" (click)="novoParametroModal.hide();"> Cancelar </button> <button type="submit" class="btn btn-primary" (click)="novoParametroModal.hide();"> Salvar </button> </div> </form> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!--MODAL editar parametro--> <div bsModal #editarParametroModal="bs-modal" class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" [config]="{backdrop: 'static', keyboard: false}"> <div class="modal-dialog modal-primary" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">Editar Parâmetro:</h4> <button type="button" class="close" (click)="editarParametroModal.hide(); rerender();" aria-label="Fechar"> <span aria-hidden="true">×</span> </button> </div> <form (ngSubmit)="onSubmit()"> <div id="placeholderDiv4" class="col-sm-12"><br/> <input class="form-control" type="text" style="width: 100%" placeholder="Nova Descrição do Parâmetro" [(ngModel)]="parametro.desc_parametro" required #desc_parametro="ngModel" name="desc_parametro"/><br/> <input class="form-control" type="number" style="width: 100%" placeholder="Novo Ano Vigente do Parâmetro" [(ngModel)]="parametro.ano_vigente" ([ngModelOptions])="{standalone: true}" required #ano_vigente="ngModel" name="ano_vigente" minlength="4" maxlength="4"/><br/> <input class="form-control" type="number" style="width: 100%" placeholder="Novo Semestre Vigente do Novo Parâmetro" [(ngModel)]="parametro.semestre_vigente" ([ngModelOptions])="{standalone: true}" required #semestre_vigente="ngModel" name="semestre_vigente" min="1" max="2"/><br/> <div class="col-sm-6 row"><label><input id="formCriar" class="form-control" type="checkbox" [(ngModel)]="parametro.ativo" ([ngModelOptions])="{standalone: true}" required #ativo="ngModel" name="ativo"/>Parâmetro Ativo</label></div><br/> </div> <div class="modal-footer"> <button type="button" class="btn btn-secundary" (click)="editarParametroModal.hide();"> Cancelar </button> <button type="submit" class="btn btn-primary" (click)="editarParametroModal.hide();"> Salvar </button> </div> </form> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!--MODAL deletar parametro--> <div bsModal #deleteParametroModal="bs-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-danger" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">Excluir registro</h4> <button type="button" class="close" (click)="deleteParametroModal.hide()" aria-label="Fechar"> <span aria-hidden="true">×</span> </button> </div> <form> <div id="placeholderDiv2" class="col-sm-12"> <p>Tem certeza que deseja excluir o Parâmetro {{params.desc_Parametro}}?</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secundary" (click)="deleteParametroModal.hide()"> Cancelar </button> <button type="button" class="btn btn-danger" (click)="delete()">Excluir </button> </div> </form> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> Meu parametros.component.ts: import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core'; import {ModalDirective} from 'ngx-bootstrap'; import {Parametros} from '../../model/parametros'; import {ParametrosService} from '../../services/parametros.service'; import { ToastsManager } from 'ng2-toastr'; import {DataTableDirective} from 'angular-datatables'; import {Subject} from 'rxjs/Subject'; @Component({ selector: 'app-parametro', templateUrl: './parametros.component.html', styleUrls: ['./parametros.component.scss'], providers: [ParametrosService] }) export class ParametrosComponent implements OnInit { @ViewChild('novoParametroModal') novoParametroModal: ModalDirective; @ViewChild('deleteParametroModal') deleteParametroModal: ModalDirective; @ViewChild('editarParametroModal') editarParametroModal: ModalDirective; @ViewChild(DataTableDirective) dtElement: DataTableDirective; dtOptions: DataTables.Settings = {}; dtTrigger: Subject<any> = new Subject(); public parametro = new Parametros(); public parametros = new Array<Parametros>(); constructor(private parametroService: ParametrosService, public toastr: ToastsManager, vcr: ViewContainerRef) { this.toastr.setRootViewContainerRef(vcr); } public validation_messages = { id: [], desc_parametro: [], ativo: [], ano_vigente: [], semestre_vigente: [] }; rerender(): void { this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => { dtInstance.destroy(); this.getParametro(); }); } onSubmit() { if (this.parametro.id === null) { console.log(this.parametro); this.parametroService.create(this.parametro).subscribe( data => { const response = (data as Parametros); this.rerender(); this.toastr.success('Dados Salvos com Sucesso!', 'Sucesso!'); }, error => { if (error.parametro === 422) { this.toastr.error('Estão faltando dados, verfique os campos e tente novamente!', 'Oops!'); this.validation_messages = error.error.validation_messages; this.validation_messages.id = (<any>Object).values(this.validation_messages.id); this.validation_messages.desc_parametro = (<any>Object).values(this.validation_messages.desc_parametro); this.validation_messages.ativo = (<any>Object).values(this.validation_messages.ativo); this.validation_messages.ano_vigente = (<any>Object).values(this.validation_messages.ano_vigente); this.validation_messages.semestre_vigente = (<any>Object).values(this.validation_messages.semestre_vigente); return; } else { this.toastr.error('Um erro ocorreu, contate o Administrador!', 'Oops!'); } } ); } else { this.parametroService.update(this.parametro).subscribe( data => { const response = (data as any); for (const i in this.parametro) { if (this.parametros[i].id === response.id) { this.parametros[i] = response; } } this.rerender(); this.toastr.success('Dados Salvos com Sucesso!', 'Sucesso!'); this.cleanParametro(); }, error => { if (error.parametro === 422) { console.log(error); return; } else { this.toastr.error('Um erro ocorreu, contate o Administrador!', 'Oops!'); } } ); } } // solicitação de confirmação para a exclusão deleteConfirm(parametro) { this.parametro = parametro; this.deleteParametroModal.show(); } // exclusão de registro delete() { for (const i in this.parametros) { if (this.parametros[i] === this.parametro) { this.parametroService.delete(this.parametro).subscribe( data => { this.parametros.splice(Number(i), 1); this.toastr.success('Registro Excluído com Sucesso!', 'Sucesso!'); this.rerender(); }, error => { this.toastr.error('Esse parametro está vinculado a uma requisição, e não pode ser deletado!', 'Oops!'); console.log(error); } ); break; } } this.deleteParametroModal.hide(); } // limpar objeto selecionado cleanParametro(): void { this.parametro = { id: null, desc_parametro: null, ativo: false, ano_vigente: null, semestre_vigente: null }; }; // pegar os registros getParametro(): void { this.parametroService.getParametro().subscribe(data => { const response = (data as any); this.parametros = response; console.log(response); this.dtTrigger.next(); }, error => { this.toastr.error('Um erro ocorreu, contate o Administrador!', 'Oops!'); console.log(error); } ); } ngOnInit() { this.getParametro(); this.dtOptions = <DataTables.Settings>{ pagingType: 'full_numbers', pageLength: 10, order: [0, 'desc'], language: { url: 'assets/language/pt-br.json' } }; } } Está pegando muito bem os dados do banco PostgreSQL na tabela do front-end, mas meu problema é que não abre o modal para criar, editar ou excluir os parâmetros.
-
É para eu fazer uma aula como professor do YouTube. Algoritmo "OrdenacaoVetorInsercao" // Olá! Seja bem-vindo ao seu curso de Lógica de Programação! Eu sou // Eduardo de Quadros e essa é a vigésima primeira aula, Ordenação do // Vetor por Inserção. Var V: Vetor[1..12] de Inteiro i, j, elemento_chave: Inteiro Inicio Para i <- 1 ate 12 faca Escreva("Informe o ", i, "º elemento do vetor: ") Leia(V[i]) FimPara EscrevaL("") EscrevaL("Vetor original:") EscrevaL("") Para i <- 1 ate 12 faca Escreva(V[i]:4) FimPara EscrevaL("") EscrevaL("") EscrevaL("Vetor ordenado:") EscrevaL("") Para j <- 2 ate 12 faca elemento_chave <- V[j] i <- j - 1 Enquanto (V[i] > elemento_chave) e (i >= 1) faca V[i + 1] <- V[i] i <- i - 1 FimEnquanto V[i] <- elemento_chave FimPara Para i <- 1 ate 12 faca Escreva(V[i]:4) FimPara FimAlgoritmo
-
Java Como se corrige esse erro de compilação do Java?
Eduardo de Quadros postou um tópico em Java/Android SDK
Eu tenho um trabalho de Redes de Computadores para eu apresentar amanhã, dia 09. É para eu fazer um programa em Java que usa sockets com TCP. Olha meu erro: Exception in thread "main" java.net.UnknownHostException: meuhost at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.<init>(Socket.java:434) at java.net.Socket.<init>(Socket.java:211) at trabalhoredes.Main.main(Main.java:30) C:\Users\Eduardo\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1 FALHA NA CONSTRUÇÃO (tempo total: 11 segundos) Olha meu código: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package trabalhoredes; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.util.Scanner; import java.net.Socket; import java.net.ServerSocket; /** * * @author Eduardo */ public class Main { /** * @param args the command line arguments * @throws java.lang.Exception */ public static void main(String[] args) throws Exception { boolean permite10, permite12, permite14, permite16, permite18; int idadeAnos, tempoMaxUsoEletronicos; String frase = ""; Scanner le = new Scanner(System.in); Socket socketCliente = new Socket("meuhost", 9753); ServerSocket socketRecepcao = new ServerSocket(9753); DataOutputStream paraServidor = new DataOutputStream(socketCliente.getOutputStream()); BufferedReader doServidor; doServidor = new BufferedReader(new InputStreamReader(socketCliente.getInputStream())); do{ System.out.print("Qual é a idade máxima do seu filho em anos? "); idadeAnos = le.nextInt(); } while(idadeAnos < 0); if(idadeAnos < 2) tempoMaxUsoEletronicos = 2; else if(idadeAnos < 4) tempoMaxUsoEletronicos = 4; else{ tempoMaxUsoEletronicos = idadeAnos; if(tempoMaxUsoEletronicos % 2 == 1) tempoMaxUsoEletronicos++; if(tempoMaxUsoEletronicos % 4 == 2) tempoMaxUsoEletronicos += 2; } frase += "Então seu filho pode usar eletrônicos no máximo "; frase += tempoMaxUsoEletronicos; frase += " horas semanais, podendo:\n\nOuvir músicas infantis de "; frase += "personagens fictícios dublados"; if(idadeAnos >= 2){ frase += "\nOuvir músicas infantis de personagens reais interpretados"; frase += "\nOuvir músicas de jogos eletrônicos\nOuvir músicas livres não"; frase += " infantis\nOuvir músicas de suspense, drama e terror apenas com melodia"; frase += "\nAssistir filmes e séries livres de personagens fictícios "; frase += "dublados"; if(idadeAnos >= 4){ frase += "\nAssistir filmes e séries livres de personagens reais interpretados"; frase += "\nJogar jogos eletrônicos sem violência\nLer livros\nEstudar idiomas online"; if(idadeAnos >= 6){ System.out.println("Você permite que seu filho use mídias não" + "recomendadas para menores de 10 anos?"); permite10 = le.nextBoolean(); if(permite10 || idadeAnos >= 10){ frase += "\nUsar redes sociais\nLer artigos, wikis e enciclopédias\n"; frase += "Ouvir músicas Funk Normal\nJogar jogos eletrônicos com "; frase += "violência normalmente leve\nAssistir filmes e séries indicadas "; frase += "para no mínimo 10 anos"; if(idadeAnos >= 8){ System.out.println("Você permite que seu filho use mídias não" + "recomendadas para menores de 12 anos?"); permite12 = le.nextBoolean(); if(permite12 || idadeAnos >= 12){ frase += "\nOuvir músicas Funk Carioca\nOuvir músicas de"; frase += " suspense e drama com canção\nJogar jogos "; frase += "eletrônicos com violência relativamente leve"; frase += "\nAssistir filmes e séries indicadas para no "; frase += "mínimo 12 anos"; if(idadeAnos >= 10){ System.out.println("Você permite que seu filho use mídias não" + "recomendadas para menores de 14 anos?"); permite14 = le.nextBoolean(); if(permite14 || idadeAnos >= 14){ frase += "\nOuvir músicas Heavy Metal\nOuvir "; frase += "músicas de terror com canção\nJogar jogos "; frase += "eletrônicos com violência moderada"; frase += "\nAssistir filmes e séries indicadas para "; frase += "no mínimo 14 anos"; if(idadeAnos >= 12){ System.out.println("Você permite que seu filho use mídias não" + "recomendadas para menores de 16 anos?"); permite16 = le.nextBoolean(); if(permite16 || idadeAnos >= 16){ frase += "\nOuvir músicas Pouco Explícitas\n"; frase += "Jogar jogos eletrônicos com "; frase += "violência intensa\nAssistir filmes "; frase += "e séries indicadas para no mínimo "; frase += "14 anos"; if(idadeAnos >= 14){ System.out.println("Você permite que seu filho use " + "mídias não recomendadas para menores de 18 anos?"); permite18 = le.nextBoolean(); if(permite18 || idadeAnos >= 18){ frase += "\nAssistir vídeos pornô"; frase += "\nOuvir músicas Muito Explícitas\n"; frase += "Jogar jogos eletrônicos com "; frase += "violência extrema\nAssistir filmes "; frase += "e séries indicadas para no mínimo "; frase += "18 anos"; } } } } } } } } } } } } paraServidor.writeBytes(frase); socketCliente.close(); } } -
Javascript Como se corrige o erro do console do DevTools do Firefox com Angular?
Eduardo de Quadros postou um tópico em Web e banco de dados
Meu erro no console quando clico na aba Parâmetros da _nav: ERROR Error: "[object Object]" resolvePromisewebpack-internal:///../../../../zone.js/dist/zone.js:824:31 resolvePromisewebpack-internal:///../../../../zone.js/dist/zone.js:795:17 scheduleResolveOrRejectwebpack-internal:///../../../../zone.js/dist/zone.js:873:17 invokeTaskwebpack-internal:///../../../../zone.js/dist/zone.js:425:17 onInvokeTaskwebpack-internal:///../../../core/esm5/core.js:4816:24 invokeTaskwebpack-internal:///../../../../zone.js/dist/zone.js:424:17 runTaskwebpack-internal:///../../../../zone.js/dist/zone.js:192:28 drainMicroTaskQueuewebpack-internal:///../../../../zone.js/dist/zone.js:602:25 invokeTaskwebpack-internal:///../../../../zone.js/dist/zone.js:503:21 invokeTaskwebpack-internal:///../../../../zone.js/dist/zone.js:1540:9 globalZoneAwareCallbackwebpack-internal:///../../../../zone.js/dist/zone.js:1566:17 core.js:1350 defaultErrorLogger core.js:1350 ErrorHandler.prototype.handleError core.js:1411 next core.js:5376:134 EventEmitter.prototype.subscribe/schedulerFn< core.js:4223:34 SafeSubscriber.prototype.__tryOrUnsub Subscriber.js:239 SafeSubscriber.prototype.next Subscriber.js:186 Subscriber.prototype._next Subscriber.js:127 Subscriber.prototype.next Subscriber.js:91 Subject.prototype.next Subject.js:56 EventEmitter.prototype.emit core.js:4203:22 onHandleError/< core.js:4651:48 ZoneDelegate.prototype.invoke zone.js:392 Zone.prototype.run zone.js:142 NgZone.prototype.runOutsideAngular core.js:4577:47 onHandleError core.js:4651 ZoneDelegate.prototype.handleError zone.js:396 Zone.prototype.runGuarded zone.js:158 _loop_1 zone.js:702 api.microtaskDrainDone zone.js:711 drainMicroTaskQueue zone.js:610 ZoneTask.invokeTask zone.js:503 invokeTask zone.js:1540 globalZoneAwareCallback zone.js:1566 /home/eduardomqs/estagio/scl/src/app/app.settings.ts: export class AppSettings { public static BASE_URL= 'http://crs.unochapeco.edu.br/crs-api/public'; public static BASE_API= 'http://crs.unochapeco.edu.br/crs-api/public'; public static BASE_URL_SERVER = '/zend/scl'; } /home/eduardomqs/estagio/scl/src/app/app.routing.ts: import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; // Import Containers import { FullLayoutComponent, SimpleLayoutComponent } from './containers'; export const routes: Routes = [ { path: '', redirectTo: 'dashboard', pathMatch: 'full', }, { path: '', component: FullLayoutComponent, data: { title: 'Home' }, children: [ { path: 'dashboard', loadChildren: './views/dashboard/dashboard.module#DashboardModule' }, { path: 'components', loadChildren: './views/components/components.module#ComponentsModule' }, { path: 'icons', loadChildren: './views/icons/icons.module#IconsModule' }, { path: 'widgets', loadChildren: './views/widgets/widgets.module#WidgetsModule' }, { path: 'charts', loadChildren: './views/chartjs/chartjs.module#ChartJSModule' }, { path: 'itens-por-laboratorio', loadChildren: './views/itens-por-laboratorio/itens-por-laboratorio.module#ItensPorLaboratorioModule' }, { path: 'parametros', loadChildren: './views/parametros/parametros.module#ParametrosModule' }, { path: 'requisicao', loadChildren: './views/requisicao/requisicao.module#RequisicaoModule' }, ] }, { path: 'pages', component: SimpleLayoutComponent, data: { title: 'Pages' }, children: [ { path: '', loadChildren: './views/pages/pages.module#PagesModule', } ] } ]; @NgModule({ imports: [ RouterModule.forRoot(routes) ], exports: [ RouterModule ] }) export class AppRoutingModule {} /home/eduardomqs/estagio/scl/src/app/app.module.ts: import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { LocationStrategy, HashLocationStrategy } from '@angular/common'; import { AppComponent } from './app.component'; // Import containers import { FullLayoutComponent, SimpleLayoutComponent } from './containers'; const APP_CONTAINERS = [ FullLayoutComponent, SimpleLayoutComponent ] // Import components import { AppAsideComponent, AppBreadcrumbsComponent, AppFooterComponent, AppHeaderComponent, AppSidebarComponent, AppSidebarFooterComponent, AppSidebarFormComponent, AppSidebarHeaderComponent, AppSidebarMinimizerComponent, APP_SIDEBAR_NAV } from './components'; const APP_COMPONENTS = [ AppAsideComponent, AppBreadcrumbsComponent, AppFooterComponent, AppHeaderComponent, AppSidebarComponent, AppSidebarFooterComponent, AppSidebarFormComponent, AppSidebarHeaderComponent, AppSidebarMinimizerComponent, APP_SIDEBAR_NAV ] // Import directives import { AsideToggleDirective, NAV_DROPDOWN_DIRECTIVES, ReplaceDirective, SIDEBAR_TOGGLE_DIRECTIVES } from './directives'; const APP_DIRECTIVES = [ AsideToggleDirective, NAV_DROPDOWN_DIRECTIVES, ReplaceDirective, SIDEBAR_TOGGLE_DIRECTIVES ] // Import routing module import { AppRoutingModule } from './app.routing'; // Import 3rd party components import { BsDropdownModule } from 'ngx-bootstrap/dropdown'; import { TabsModule } from 'ngx-bootstrap/tabs'; import { ChartsModule } from 'ng2-charts/ng2-charts'; import { ModalModule } from "ngx-bootstrap"; import { ToastModule } from 'ng2-toastr/ng2-toastr'; import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; import { DataTablesModule } from "angular-datatables"; import { Ng2TableModule } from "ngx-datatable"; @NgModule({ imports: [ ToastModule.forRoot(), BrowserModule, AppRoutingModule, BsDropdownModule.forRoot(), TabsModule.forRoot(), ChartsModule, ModalModule, BrowserAnimationsModule, DataTablesModule, Ng2TableModule, ModalModule.forRoot() ], declarations: [ AppComponent, ...APP_CONTAINERS, ...APP_COMPONENTS, ...APP_DIRECTIVES ], providers: [{ provide: LocationStrategy, useClass: HashLocationStrategy }], bootstrap: [ AppComponent ] }) export class AppModule { } /home/eduardomqs/estagio/scl/src/app/_nav.ts: export const navigation = [ { name: 'Dashboard', url: '/dashboard', icon: 'icon-speedometer', badge: { variant: 'info', text: 'Novo' } }, { title: true, name: 'Laboratórios' }, { name: 'Itens Por Laboratório', url: '/itens-por-laboratorio', icon: 'icon-puzzle', }, { title: true, name: 'Acesso' }, { name: 'Parâmetros', url: '/parametros', icon: 'icon-puzzle' }, { name: 'Requisição', url: '/requisicao', icon: 'icon-puzzle' }, { name: 'CRS', url: 'http://crs.unochapeco.edu.br/site', icon: 'icon-cloud-download', class: 'mt-auto', variant: 'primary' } ]; /home/eduardomqs/estagio/scl/src/app/views/parametros/parametros-routing.module.ts: import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import {ParametrosComponent} from "./parametros.component"; const routes: Routes = [ { path: '', data: {title: 'Parâmetros'}, children: [ { path: '', component: ParametrosComponent, data: {title: 'Parâmetros'} } ] } ]; @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] }) export class ParametrosRoutingModule { } /home/eduardomqs/estagio/scl/src/app/views/parametros/parametros.module.ts: import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { ParametrosRoutingModule } from './parametros-routing.module'; import { ParametrosComponent } from './parametros.component'; import {ModalModule} from "ngx-bootstrap"; import {FormsModule} from "@angular/forms"; @NgModule({ imports: [ CommonModule, ParametrosRoutingModule, ModalModule.forRoot(), FormsModule ], declarations: [ParametrosComponent] }) export class ParametrosModule { } /home/eduardomqs/estagio/scl/src/app/views/parametros/parametros.component.ts: import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core'; import {ModalDirective} from 'ngx-bootstrap'; import {Parametros} from '../../model/parametros'; import {ParametrosService} from '../../services/parametros.service'; import { ToastsManager } from 'ng2-toastr'; import {DataTableDirective} from 'angular-datatables'; import {Subject} from 'rxjs/Subject'; @Component({ selector: 'app-parametro', templateUrl: './parametros.component.html', styleUrls: ['./parametros.component.scss'], providers: [ParametrosService] }) export class ParametrosComponent implements OnInit { @ViewChild('novoParametroModal') novoParametroModal: ModalDirective; @ViewChild('deleteParametroModal') deleteParametroModal: ModalDirective; @ViewChild('editarParametroModal') editarParametroModal: ModalDirective; @ViewChild(DataTableDirective) dtElement: DataTableDirective; dtOptions: DataTables.Settings = {}; dtTrigger: Subject<any> = new Subject(); public parametro = new Parametros(); constructor(private parametroService: ParametrosService, public toastr: ToastsManager, vcr: ViewContainerRef) { this.toastr.setRootViewContainerRef(vcr); } public validation_messages = { id: [], desc_parametro: [] }; rerender(): void { this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => { dtInstance.destroy(); this.getParametro(); }); } onSubmit() { if (this.parametro.id === null) { this.parametroService.create(this.parametro).subscribe( data => { const response = (data as Parametros); this.rerender(); this.toastr.success('Dados Salvos com Sucesso!', 'Sucesso!'); }, error => { if (error.parametro === 422) { this.toastr.error('Estão faltando dados, verfique os campos e tente novamente!', 'Oops!'); this.validation_messages = error.error.validation_messages; this.validation_messages.id = (<any>Object).values(this.validation_messages.id); this.validation_messages.desc_parametro = (<any>Object).values(this.validation_messages.desc_parametro); return; } else { this.toastr.error('Um erro ocorreu, contate o Administrador!', 'Oops!'); } } ); } else { this.parametroService.update(this.parametro).subscribe( data => { const response = (data as Parametros); for (const i in this.parametro) { if (this.parametro[i].id === response.id) { this.parametro[i] = response; } } this.rerender(); this.toastr.success('Dados Salvos com Sucesso!', 'Sucesso!'); this.cleanParametro(); }, error => { if (error.parametro === 422) { console.log(error); return; } else { this.toastr.error('Um erro ocorreu, contate o Administrador!', 'Oops!'); } } ); } } // solicitação de confirmação para a exclusão deleteConfirm(parametro) { this.parametro = parametro; this.deleteParametroModal.show(); } // exclusão de registro delete() { for (const i in this.parametro) { if (this.parametro[i] === this.parametro) { this.parametroService.delete(this.parametro).subscribe( data => { this.toastr.success('Registro Excluído com Sucesso!', 'Sucesso!'); this.rerender(); }, error => { this.toastr.error('Esse parametro está vinculado a uma requisição, e não pode ser deletado!', 'Oops!'); console.log(error); } ); break; } } this.deleteParametroModal.hide(); } // atualizar dado update(parametro) { this.parametro = parametro; this.editarParametroModal.show(); } // limpar objeto selecionado cleanParametro(): void { this.parametro = { id: null, desc_parametro: null, ativo: false, ano_vigente: 2018, semestre_vigente: 2 }; }; // pegar os registros getParametro(): void { this.parametroService.getParametro().subscribe(data => { const response = (data as any); this.parametro = response; this.dtTrigger.next(); }, error => { this.toastr.error('Um erro ocorreu, contate o Administrador!', 'Oops!'); console.log(error); } ); } ngOnInit() { this.getParametro(); this.dtOptions = <DataTables.Settings>{ pagingType: 'full_numbers', pageLength: 10, order: [0, 'desc'], language: { url: 'assets/language/pt-br.json' } }; } } /home/eduardomqs/estagio/scl/src/app/views/parametros/parametros.component.spec.ts: import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ParametrosComponent } from './parametros.component'; describe('ParametrosComponent', () => { let component: ParametrosComponent; let fixture: ComponentFixture<ParametrosComponent>; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ ParametrosComponent ] }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(ParametrosComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); }); /home/eduardomqs/estagio/scl/src/app/views/parametros/parametros.component.scss: .no-padding{ padding-left: 0px; } th,td { text-align: center; } tr { width: 100%; } .celula { width: 10%; } .celulaA { width: 30%; } #op { font-size: 18px; margin-left: 10px; margin-right: 10px; } #placeholderDiv{ margin-top: 20px; margin-bottom: 20px; } .ng-valid[required], .ng-valid.required { border-left: 5px solid #42A948; /* green */ } .ng-invalid:not(form) { border-left: 5px solid #a94442; /* red */ } /home/eduardomqs/estagio/scl/src/app/views/parametros/parametros.component.html: <div class="card"> <div class="card-header"> <h1>Parametro da Requisição</h1> </div> <div class="card-body"> <div class="btn group no-padding"> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" (click)="novoParametroModal.show(); cleanParametro();"> Novo Parâmetro </button> </div> <table datatable[dtOptions]="dtOptions" datatable[dtTrigger]="dtTrigger" class="table table-bordered table-striped"> <thead> <tr> <th class="celula">Ações</th> <th class="celulaA">ID</th> <th class="celulaA">Ativo</th> <th class="celulaA">Descrição do Parâmetro</th> </tr> </thead> <tbody> <tr *ngFor="let parametro of Parametro; let i = index"> <td class="celula"> <i class="fa fa-pencil" id="op" style="cursor: pointer; color: green" title="Editar" (click)="update(parametro)"></i> <i class="fa fa-trash" id="op" style="cursor: pointer; color: red" title="Excluir" (click)="deleteConfirm(parametro)"></i> </td> <td class="celulaA"> {{parametro.desc_Parametro}} </td> </tr> <!--<tr *ngIf="Parametro?.length == 0">--> <!--<td colspan="3" class="no-data-available">No data!</td>--> <!--</tr>--> </tbody> </table> </div> </div> <!--MODAL criar parametro--> <div bsModal #novoParametroModal="bs-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-primary" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">Cadastrar novo Parâmetro:</h4> <button type="button" class="close" (click)="novoParametroModal.hide()" aria-label="Fechar"> <span aria-hidden="true">×</span> </button> </div> <form (ngSubmit)="onSubmit()"> <div id="placeholderDiv" class="col-sm-12"> <input id="formCriar" class="form-control" type="text" style="width: 100%" placeholder="Novo Parametro" [(ngModel)]="parametro.desc_parametro" ([ngModelOptions])="{standalone: true}" required #desc_parametro="ngModel" name="desc_parametro"> <div *ngIf="desc_parametro.errors && desc_parametro.touched" class="alert alert-danger"> <div *ngIf="desc_parametro.errors.required"> Um Parâmetro é necessário. </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secundary" (click)="novoParametroModal.hide();"> Cancelar </button> <button type="submit" class="btn btn-primary" (click)="novoParametroModal.hide();"> Salvar </button> </div> </form> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!--MODAL editar parametro--> <div bsModal #editarParametroModal="bs-modal" class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" [config]="{backdrop: 'static', keyboard: false}"> <div class="modal-dialog modal-primary" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">Editar Parâmetro:</h4> <button type="button" class="close" (click)="editarParametroModal.hide(); rerender();" aria-label="Fechar"> <span aria-hidden="true">×</span> </button> </div> <form (ngSubmit)="onSubmit()"> <div id="placeholderDiv" class="col-sm-12"> <input [(ngModel)]="parametro.desc_Parametro" class="form-control" name="desc_Parametro" id="desc_Parametro" type="text" value="{{parametro.desc_Parametro}}" required #desc_Parametro="ngModel" name="ngModel"> <div *ngIf="desc_Parametro.errors && desc_Parametro.touched" class="alert alert-danger"> <div *ngIf="desc_Parametro.errors.required"> Um Parâmetro é necessário. </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secundary" (click)="editarParametroModal.hide(); rerender();"> Cancelar </button> <button type="submit" class="btn btn-primary" (click)="editarParametroModal.hide()"> Salvar </button> </div> </form> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <!--MODAL deletar parametro--> <div bsModal #deleteParametroModal="bs-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-danger" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">Excluir registro</h4> <button type="button" class="close" (click)="deleteParametroModal.hide()" aria-label="Fechar"> <span aria-hidden="true">×</span> </button> </div> <form> <div id="placeholderDiv" class="col-sm-12"> <p>Tem certeza que deseja excluir o Parâmetro {{parametro.desc_Parametro}}?</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secundary" (click)="deleteParametroModal.hide()"> Cancelar </button> <button type="button" class="btn btn-danger" (click)="delete()">Excluir </button> </div> </form> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> Nesse HTML também nos modais criar e editar é pra definir a descrição do parâmetro e se está ativo. /home/eduardomqs/estagio/scl/src/app/services/service.ts: import { HttpHeaders } from '@angular/common/http'; export class Service { protected headers = {headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer 93b254ef3932952d11f8987c57f94caa28615b2d' })}; } /home/eduardomqs/estagio/scl/src/app/services/parametros.service.ts: import { Injectable } from "@angular/core"; import { HttpClient } from "@angular/common/http"; import { Parametros } from "../model/parametros"; import { Service } from "./service"; @Injectable() export class ParametrosService extends Service { constructor(private http: HttpClient ) { super(); } private baseUrl = 'http://localhost:3000/scl-parametros'; getParametro() { return this.http.get(this.baseUrl, this.headers); } create(parametro: Parametros) { return this.http.post(this.baseUrl, parametro, this.headers); } update(parametro: Parametros) { return this.http.put(this.baseUrl + '/' + parametro.id, parametro, this.headers); } delete(parametro: Parametros) { return this.http.delete(this.baseUrl + '/' + parametro.id, this.headers); } } /home/eduardomqs/estagio/scl/src/app/services/parametros.service.spec.ts: import { TestBed, inject } from '@angular/core/testing'; import { ParametrosService } from './parametros.service'; describe('ParametrosService', () => { beforeEach(() => { TestBed.configureTestingModule({ providers: [ParametrosService] }); }); it('should be created', inject([ParametrosService], (service: ParametrosService) => { expect(service).toBeTruthy(); })); }); /home/eduardomqs/estagio/scl/src/app/model/parametros.ts: export class Parametros{ id: number; desc_parametro: string; ativo: boolean; ano_vigente: number; semestre_vigente: number; } É minha atividade de estágio. -
Diferença entre Microsoft Excel e LibreOffice
Eduardo de Quadros respondeu ao tópico de Eduardo de Quadros em Programas
O produto do LibreOffice nesse tópico é o Calc. -
Diferença entre Microsoft Excel e LibreOffice
Eduardo de Quadros respondeu ao tópico de Eduardo de Quadros em Programas
No LibreOffice Writer é possível escrever documentos em papel A2, o que é impossível no Microsoft Word. -
O que muda entre esses dois programas na parte de funções e operadores matemáticos?
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais