-
Conteúdo Similar
-
Por Hacker_Buiu
Coloquei os códigos fontes no GitLab por ser Open Source,sigo essa filosofia Open Source,por isso não coloquei no GitHub.
Visualizador de imagem Delphi
Coloque um OpenPictureDialog no Form e digite o código abaixo no botão:Não se esqueça de adicionar um TImage para ver a imagem.
Código:
if OpenPictureDialog1.Execute then Image1.Picture.LoadFromFile(OpenPictureDialog1.Filename); Editor de Texto
Novo Memo1.Clear; Memo1.SetFocus; ----------------------------------------- Abrir if openDialog1.Execute then begin memo1.Lines.LoadFromFile(OpenDialog1.Filename); memo1.setfocus; end; ----------------------------------------- Botão Salvar if save.execute then begin memo1.Lines.SaveToFile(save.Filename); end; ----------------------------------------- Copiar Memo1.CopytoClipBoard; ----------------------------------------- Colar Memo1.PasteFromClipboard; ; ----------------------------------------- Recortar Memo1.CutToClipBoard ----------------------------------------- Fonte FontDialog1.Font:=Memo1.Font; if FontDialog1.Execute then begin Memo1.Font:= FontDialog1.Font; Memo1.SetFocus; end; Gerador de Senha
var i:integer; const str='1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ@!#$%&*'; max=14; begin Edit1.Text:=''; for i:=1 to max do begin Edit1.Text:=Edit1.Text+str[random(length(str))+1]; end; Cronômetro
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Buttons, ExtCtrls; type { TForm1 } TForm1 = class(TForm) Cronometrar: TBitBtn; Parar: TBitBtn; Edit1: TEdit; Timer1: TTimer; procedure CronometrarClick(Sender: TObject); procedure PararClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); private public end; var Form1: TForm1; HoraInicial:TDateTime; implementation {$R *.lfm} { TForm1 } procedure TForm1.CronometrarClick(Sender: TObject); begin HoraInicial := Now; Timer1.Enabled := True; end; procedure TForm1.PararClick(Sender: TObject); begin HoraInicial := Now; Timer1.Enabled := False; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Edit1.Text := FormatDateTime('hh:mm:ss',Now-HoraInicial); end; end. Criptografador (conceito de criptografia)
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls; type { TForm1 } TForm1 = class(TForm) Button1: TButton; Button2: TButton; edtcriptografado: TEdit; edttexto: TEdit; edtdescriptografado: TEdit; edtkey: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private function criptografar(const key, texto:String):String; function descriptografar(const key, texto:String):String; public end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure TForm1.Button1Click(Sender: TObject); begin edtcriptografado.Text:=criptografar(edtkey.Text,edttexto.Text); end; procedure TForm1.Button2Click(Sender: TObject); begin edtdescriptografado.Text:=descriptografar(edtkey.Text, edtcriptografado.Text); end; function TForm1.criptografar(const key, texto: String): String; var I: Integer; C: Byte; begin Result := ''; for I := 1 to Length(texto) do begin if Length(Key) > 0 then C := Byte(Key[1 + ((I - 1) mod Length(Key))]) xor Byte(texto[I]) else C := Byte(texto[I]); Result := Result + AnsiLowerCase(IntToHex(C, 2)); end; end; function TForm1.descriptografar(const key, texto: String): String; var I: Integer; C: Char; begin Result := ''; for I := 0 to Length(texto) div 2 - 1 do begin C := Chr(StrToIntDef('$' + Copy(texto, (I * 2) + 1, 2), Ord(' '))); if Length(Key) > 0 then C := Chr(Byte(Key[1 + (I mod Length(Key))]) xor Byte(C)); Result := Result + C; end; end; end. Calculadora Empresarial
procedure TForm1.CalcularCicloDoProcessoClick(Sender: TObject); var n1,n2,resultado:real; //declaração de variáveis do tipo real(aceita numero inteiro e com vírgula) begin n1:=StrToFloat(TempoTrabalhadoEmHoras.Text);// converte n1(numero1) para numero flutuante n2:=StrToFloat(NumeroDeProdutosBons.Text);//converte n2(numero2)para numero flutuante resultado:=n1/n2; //Dividi a variável n1(numero1) e n2(numero2 ResultadoDoCicloDoProcesso.Text:=FloatToStr(resultado);//mostra o resultado convertendo numero flutuante(Float) para texto(String) procedure TForm1.CalcularTaxaDeProducaoClick(Sender: TObject); var n1,n2,resultado:real; begin n1:=StrToFloat(TempoTrabalhado.Text); n2:=StrToFloat(NumeroDeProdutosBons.Text); resultado:=n2/n1; ResultadoTaxaDeProducao.Text:=FloatToStr(resultado); procedure TForm1.CalcularTaxaDeProducaoPorRecursoClick(Sender: TObject); var n1,n2,resultado:real; begin n1:=StrToFloat(TaxaDeProducao.Text); n2:=StrToFloat(NumeroDeFuncionarios.Text); resultado:=n1/n2; ResultadoTaxaDeProducaoPorRecurso.Text:=FloatToStr(resultado); procedure TForm1.CalcularGiroDeEstoqueClick(Sender: TObject); var n1,n2,n3,resultado:real; begin n1:=StrToFloat(NumeroDeProdutosBons.Text); n2:=StrToFloat(TotalDeMateriais.Text); n3:=StrToFloat(TotalDeProdutos.Text); resultado:=n1*12/n2/n3; ResultadoDoGiroDoEstoque.Text:=FloatToStr(resultado); procedure TForm1.CalcularFaltaDeQualidadeClick(Sender: TObject); var n1,n2,resultado:real; begin n1:=StrToFloat(NumeroDeProdutosComDefeitos.Text); n2:=StrToFloat(TotalProduzido.Text); resultado:=n1/n2; ResultadoDaFaltaDeQualidade.Text:=FloatToStr(resultado); procedure TForm1.SairClick(Sender: TObject); begin Form1.Close; procedure TForm1.CalcularCPVClick(Sender: TObject); var n1,n2,resultado:real; begin n1:=StrToFloat(NumeroDeProdutosBons.Text); n2:=StrToFloat(ValorUnitario.Text); resultado:=n1*n2; ResultadoCPV.Text:=FloatToStr(resultado); procedure TForm1.CalcularCustoDaFaltaDeQualidadeClick(Sender: TObject); var n1,n2,resultado:real; begin n1:=StrToFloat(NumeroDeProdutosComDefeitos.Text); n2:=StrToFloat(ValorUnitario.Text); resultado:=n1*n2; ResultadoDoCustoDaFaltaDeQualidade.Text:=FloatToStr(resultado); Botão Apagar: TempoTrabalhado.Text:=''; TempoTrabalhadoEmHoras.Text:=''; NumeroDeProdutosBons.Text:=''; resultadoDoCicloDoProcesso.Text:=''; TaxaDeProducao.Text:=''; ResultadoTaxaDeProducao.Text:=''; NumeroDeFuncionarios.Text:=''; ResultadoTaxaDeProducaoPorRecurso.Text:=''; TotalDeMateriais.Text:=''; TotalDeProdutos.Text:=''; ResultadoDoGiroDoEstoque.Text:=''; NumeroDeProdutosComDefeitos.Text:=''; TotalProduzido.Text:=''; ResultadoDaFaltaDeQualidade.Text:=''; ResultadoCPV.Text:=''; ResultadoDoCustoDaFaltaDeQualidade.Text:=''; Form1. close; //Fecha o Form procedure TForm2.CalcularCustoDeCarregarEstoqueClick(Sender: TObject); var n1,n2,n3,resultado:real; begin n1:=StrToFloat(EstoqueDeProducaoEmProcesso.Text); n2:=StrToFloat(ValorUnitario.Text); n3:=StrToFloat(TaxaDeJuros.Text); resultado:=n1*n2*n3; ResultadoDoCustoDeCarregarEstoque.Text:=FloatToStr(resultado); end; procedure TForm2.CalcularCustoFixoClick(Sender: TObject); var n1,n2,resultado:real; begin n1:=StrToFloat(SalarioDoColaborador.Text); n2:=StrToFloat(DespesasGerais.Text); resultado:=n1+n2; ResultadoDoCustoFixo.Text:=FloatToStr(resultado); end; procedure TForm2.CalcularCustoTotalClick(Sender: TObject); var n1,n2,n3,n4,resultado:real; begin n1:=StrToFloat(CPV.Text); n2:=StrToFloat(CustoDaQualidade.Text); n3:=StrToFloat(CustoDoEstoque.Text); n4:=StrToFloat(CustoFixo.Text); resultado:=n1+n2+n3+n4; CustoTotal.Text:=FloatToStr(resultado); end; procedure TForm2.CalcularCustoUnitarioClick(Sender: TObject); var n1,n2,resultado:real; begin n1:=StrToFloat(CustoTotal.Text); n2:=StrToFloat(NumeroDeProdutosBons.Text); resultado:=n1/n2; ResultadoDoCustoUnitario.Text:=FloatToStr(resultado); end; procedure TForm2.SairClick(Sender: TObject); begin Form2.Close;// Fecha o Form2 end; procedure TForm2.ApagarClick(Sender: TObject); begin EstoqueDeProducaoEmProcesso.Text:=''; ValorUnitario.Text:=''; TaxaDeJuros.Text:=''; ResultadoDoCustoDeCarregarEstoque.Text:=''; SalarioDoColaborador.Text:=''; DespesasGerais.Text:=''; ResultadoDoCustoFixo.Text:=''; CPV.Text:=''; CustoDaQualidade.Text:=''; CustodoEstoque.Text:=''; CustoFixo.Text:=''; CustoTotal.Text:=''; NumeroDeProdutosBons.Text:=''; ResultadoDoCustoUnitario.Text:=''; end; Calculadora de décimo terceiro salário
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls; type { TForm1 } TForm1 = class(TForm) Calcular: TButton; Apagar: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Sair: TButton; procedure ApagarClick(Sender: TObject); procedure CalcularClick(Sender: TObject); procedure SairClick(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; implementation { TForm1 } procedure TForm1.CalcularClick(Sender: TObject); var n1,n2,resultado:real;//n1(numero1),n2(numero2),resultado(resultado do calculo) begin n1:=StrToFloat(Edit1.text); n2:=StrToFloat(Edit2.text); resultado:=n1*n2/12; Edit3.text:=FloatToStr(resultado); end; procedure TForm1.SairClick(Sender: TObject); begin Form1.Close; end; procedure TForm1.ApagarClick(Sender: TObject); begin Edit1.text:=''; Edit2.text:=''; Edit3.Text:=''; end; initialization {$I unit1.lrs} end. Calculadora completa com porcentagem
unit UnitCalculadora; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, Menus; type { TForm1 } TForm1 = class(TForm) BtnDivisao: TButton; BtnMultiplicacao: TButton; BtnSete: TButton; BtnOito: TButton; BtnNove: TButton; BtnC: TButton; BtnQuatro: TButton; BtnCinco: TButton; BtnSeis: TButton; BtnDois: TButton; BtnTres: TButton; BtnSubtracao: TButton; BtnAdicao: TButton; BtnUm: TButton; BtnPonto: TButton; BtnIgual: TButton; BtnPorcentagem: TButton; BtnZero: TButton; Edit1: TEdit; Label1: TLabel; MainMenu1: TMainMenu; MenuItem1: TMenuItem; MenuItem2: TMenuItem; Panel1: TPanel; procedure BtnAdicaoClick(Sender: TObject); procedure BtnCClick(Sender: TObject); procedure BtnCincoClick(Sender: TObject); procedure BtnDivisaoClick(Sender: TObject); procedure BtnDoisClick(Sender: TObject); procedure BtnIgualClick(Sender: TObject); procedure BtnMultiplicacaoClick(Sender: TObject); procedure BtnNoveClick(Sender: TObject); procedure BtnOitoClick(Sender: TObject); procedure BtnPorcentagemClick(Sender: TObject); procedure BtnQuatroClick(Sender: TObject); procedure BtnSeisClick(Sender: TObject); procedure BtnSeteClick(Sender: TObject); procedure BtnSubtracaoClick(Sender: TObject); procedure BtnTresClick(Sender: TObject); procedure BtnUmClick(Sender: TObject); procedure BtnPontoClick(Sender: TObject); procedure BtnZeroClick(Sender: TObject); private public end; var Form1: TForm1; valor1, valor2, porcentagem:real; tipoconta:string; implementation {$R *.lfm} { TForm1 } procedure TForm1.BtnAdicaoClick(Sender: TObject); begin tipoconta:='Adição'; valor1:=strtofloat(Edit1.text); Edit1.Text:=''; Label1.Caption:='+'; end; procedure TForm1.BtnCClick(Sender: TObject); begin Edit1.text:=''; valor1:=0; valor2:=0; tipoconta:=''; Label1.Caption:=''; end; procedure TForm1.BtnCincoClick(Sender: TObject); begin Edit1.text:=Edit1.text+'5'; end; procedure TForm1.BtnDivisaoClick(Sender: TObject); begin tipoconta:='Divisão'; valor1:=strtofloat(Edit1.text); Edit1.Text:=''; Label1.Caption:='/'; end; procedure TForm1.BtnDoisClick(Sender: TObject); begin Edit1.text:=Edit1.text+'2'; end; procedure TForm1.BtnIgualClick(Sender: TObject); begin if tipoconta = 'Adição' then begin valor2:=StrToFloat(edit1.text); edit1.text:=FloatToStr(valor1+valor2); end; if tipoconta = 'Subtração' then begin valor2:=StrToFloat(edit1.text); edit1.text:=FloatToStr(valor1-valor2); end; if tipoconta = 'Divisão' then begin valor2:=StrToFloat(edit1.text); edit1.text:=FloatToStr(valor1/valor2); end; if tipoconta= 'Multiplicação' then begin valor2:=StrToFloat(Edit1.Text); Edit1.Text:=FloatToStr(Valor1 * Valor2); end; end; procedure TForm1.BtnMultiplicacaoClick(Sender: TObject); begin tipoconta:='Multiplicação'; valor1:=strtofloat(Edit1.text); Edit1.Text:=''; Label1.Caption:='X'; end; procedure TForm1.BtnNoveClick(Sender: TObject); begin Edit1.text:=Edit1.text+'9'; end; procedure TForm1.BtnOitoClick(Sender: TObject); begin Edit1.text:=Edit1.text+'8'; end; procedure TForm1.BtnPorcentagemClick(Sender: TObject); var resultado:real; begin if tipoconta ='Multiplicação' then begin valor2:=strtofloat(edit1.text); resultado:=valor1*valor2/100; Edit1.text:=FloatToStr(resultado); Label1.Caption:='%'; end; if tipoconta = 'Adição' then begin porcentagem:=strtofloat(edit1.text); porcentagem:=porcentagem/100; porcentagem:=porcentagem*valor1; edit1.text:=floattostr(valor1+porcentagem); end; if tipoconta = 'Subtração' then begin porcentagem:=strtofloat(edit1.text); porcentagem:=porcentagem/100; porcentagem:=porcentagem*valor1; edit1.text:=floattostr(valor1-porcentagem); end; if tipoconta = 'Divisão' then begin porcentagem:=strtofloat(edit1.text); porcentagem:=porcentagem/100; porcentagem:=porcentagem*valor1; edit1.text:=floattostr(valor1/porcentagem); end; end; procedure TForm1.BtnQuatroClick(Sender: TObject); begin Edit1.text:=Edit1.text+'4'; end; procedure TForm1.BtnSeisClick(Sender: TObject); begin Edit1.text:=Edit1.text+'6'; end; procedure TForm1.BtnSeteClick(Sender: TObject); begin Edit1.text:=Edit1.text+'7'; end; procedure TForm1.BtnSubtracaoClick(Sender: TObject); begin tipoconta:='Subtração'; valor1:=strtofloat(Edit1.text); Edit1.Text:=''; Label1.Caption:='-'; end; procedure TForm1.BtnTresClick(Sender: TObject); begin Edit1.text:=Edit1.text+'3'; end; procedure TForm1.BtnUmClick(Sender: TObject); begin Edit1.text:=Edit1.text+'1'; end; procedure TForm1.BtnPontoClick(Sender: TObject); begin Edit1.text:=Edit1.text+'.'; end; procedure TForm1.BtnZeroClick(Sender: TObject); begin Edit1.text:=Edit1.text+'0'; end; end.
-
Por Ted2370
Bom, provavelmente estou cometendo algum erro bobo, mas como sou leigo, vou pedir a ajuda de vocês ^^
A ideia é que a função somar() tenha que ir somando o input adicionado já com o antigo, mas ele fica adicionando e não somando :( alguém poderia apontar o erro?
Já tentei usar o parseFloat e o parseInt, mas acho que não consegui usar de forma correta, talvez seja essa a falha
HTML
<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div> <!--Input dos Numeros--> <input type="number" name="" id="input"> <!--Botão para Soma--> <input type="button" value="OK" onclick="somar()"> <br> <br> <!--Resultado--> <input type="number" name="" id="resultado" readonly='true'> </div> <script src="main.js"></script> </body> </html> JS
const { app, BrowserWindow } = require('electron') function createWindow () { // Cria uma janela de navegação. let win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) // e carregar o index.html do aplicativo. win.loadFile('index.html') } // Função do botao para ir somando a cada numero que colocado no input function somar(){ let input = window.document.getElementById('input').value let resultado = window.document.getElementById('resultado') resultado = resultado.value += input } app.on('ready', createWindow)
-
Por groudon900
Estou com problemas, não sei como resolver, eu uso um código que nem sei o nome exato, enfim o que ele faz por mim? ele passa varias paginas dentro da minha index, sem eu precisar editar o site todo em todas as paginas segue abaixo o código
<?php $pro = 'proteção'; $pag = isset($_GET['pag']) ? $_GET['pag'] : 'home'; $e = explode('/',$pag); $pg = $e[0]; if(file_exists("pags/$pg.php")){ include"pags/$pg.php"; }else{ echo '<div class="alert alert-danger"> <strong>Página Inexistente!</strong> Desculpe, mas está página não existe. </div>'; echo '<div class="alert alert-danger"> <strong>Por Favor!</strong> Selecione uma opção a partir do menu, caso este erro Persista entre em contato com a administração. </div>';} ?> é qual o meu problema?
meu problema é que ao chamar qualquer pagina teria que usar por exemplo( index.php?pag=editarnoticia ) até ai tudo bem!
o problema real é que eu tenho uma tabela e aperto pra editar um usuário com id, tentei fazer todos os tipos de link, até funcionam mais não apresentam nada do ID
por exemplo (index.php?pag=editarnoticia?id=<?php echo $row_usuario['id'] ?>) nem funciona não abre nada, tentei colocar a pagina editarnoticia com o nome de editar_noticia no .httacess então ficaria assim (editarnoticia?id=<?php echo $row_usuario['id'] ?>) até funciona chama a pagina ID mas não apresentar nada em echo referente ao id, não sei mais o que fazer, isso funciona em paginas .php normais
Edit (Resolvido)
Tentei alguns links e um funcionou pra mim
logado?pag=editarnoticia&id=7 segue abaixo funcionando!
se alguém souber como encurtar o link me avisa por favor
-
Por Ted2370
Primeiro, eu sou leigo no assunto e estou tentando aprender sobre funções criando um programa básico!
O problema é que estou tentando fazer uma condição que:
Ao apertar o botão: Abrir Caixa, a ideia é que apareça um alert na tela dizendo que o caixa foi aberto. até aí tudo bem.
Mas queria que, ao pressionar o botão novamente, ele fechasse o caixa.
Pra isso tentei utilizar a própria string do que, quando estivesse escrito 'Caixa Fechado', ele abriria, e quando estivesse 'Caixa Aberto' ele fecharia
o problema é que eu não sei por que o meu js não ta reconhecendo o que está escrito na string, só reconhece que é uma string. (quando tento o mesmo código no node exec, ele funciona) :(
ta aí os Códigos:
<!DOCTYPE html> <html lang="pt-BR"> <head> <link rel="stylesheet" href="estilos.css"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Caixa</title> </head> <body> <div class="lateral" > <h1 class="" name="txtest" id="estado">Caixa Aberto</h1> <input type="number" name="txtinit" id="txtinit" class="txtinit"> <input type="button" value="Abrir Caixa" onclick="abrir()" class="open" id="abrir"> </div> <script src="./main.js"></script> </body> </html> const { app, BrowserWindow } = require('electron') function createWindow() { let win = new BrowserWindow({ width: 1360, height: 720, fullscreen: false, frame: true, webPreferences: { nodeIntegration: false } }) win.loadFile('index.html') win.removeMenu('index.html') } function abrir() { var estate = window.document.getElementById('estado') if (estate == 'Caixa Aberto') { estate = 'Caixa Aberto' window.alert("O caixa foi Aberto!") } else { estate = 'Caixa Fechado' window.alert("O caixa foi Fechado!") } } app.on('ready', createWindow) body{ background: rgba(231, 223, 206, 0.37); } .word{ background: red; } .txtinit{ font-variant-numeric: tabular-nums; height: 20px; width: 200; background: rgba(231, 223, 206, 0.37); } .open{ height: 60px; width: 200px; margin-top: 500px; } .lateral{ text-align: center; background: rgba(0, 0, 0, 0.74); margin-top: 20px; height: 670px; width: 250px; }
-
Por groudon900
Peço ajuda de coração de vocês, eu to batendo bastante cabeça, eu fiz o site todo em URL amigavel, e fui implementar uma galeria que passa de pagina para pagina 2 e assim vai , só que como ela faz um URL com o ID, o site não aceita e não sei o que fazer
código da pagina de galeria
<?php if(isset($_SESSION['msg'])){ unset($_SESSION['msg']); } //Receber o número da página $pagina_atual = filter_input(INPUT_GET,'pagina', FILTER_SANITIZE_NUMBER_INT); $pagina = (!empty($pagina_atual)) ? $pagina_atual : 1; //Setar a quantidade de itens por pagina $qnt_result_pg = 50; //calcular o inicio visualização $inicio = ($qnt_result_pg * $pagina) - $qnt_result_pg; $result_usuarios = "SELECT * FROM galeria LIMIT $inicio, $qnt_result_pg"; $resultado_usuarios = mysqli_query($conn, $result_usuarios); while($row_usuario = mysqli_fetch_assoc($resultado_usuarios)){ ?> <img src ="fotos\<?php echo $row_usuario['foto'] ?>" class="foto2"> <?php } //Paginção - Somar a quantidade de usuários $result_pg = "SELECT COUNT(id) AS num_result FROM noticias"; $resultado_pg = mysqli_query($conn, $result_pg); $row_pg = mysqli_fetch_assoc($resultado_pg); //echo $row_pg['num_result']; //Quantidade de pagina $quantidade_pg = ceil($row_pg['num_result'] / $qnt_result_pg); //Limitar os link antes depois $max_links = 2; echo "<a href='index.php?pagina=1'>Primeira</a> "; for($pag_ant = $pagina - $max_links; $pag_ant <= $pagina - 1; $pag_ant++){ if($pag_ant >= 1){ echo "<a href='index.php?pagina=$pag_ant'>$pag_ant</a> "; } } echo "$pagina "; for($pag_dep = $pagina + 1; $pag_dep <= $pagina + $max_links; $pag_dep++){ if($pag_dep <= $quantidade_pg){ echo "<a href='index.php?pagina=$pag_dep'>$pag_dep</a> "; } } echo "<a href='index.php?pagina=$quantidade_pg'>Ultima</a>"; ?> Agora o código da URL amigável
<?php $pro = 'proteção'; $pag = isset($_GET['pag']) ? $_GET['pag'] : 'home'; $e = explode('/',$pag); $pg = $e[0]; if(file_exists("pags/$pg.php")){ include"pags/$pg.php"; }else{ echo '<div class="alert alert-danger"> <strong>Página Inexistente!</strong> Desculpe, mas está página não existe. </div>'; echo '<div class="alert alert-danger"> <strong>Por Favor!</strong> Selecione uma opção a partir do menu, caso este erro Persista entre em contato com a administração. </div>'; } ?>
onde acho que está o problema
echo "<a href='index.php?pagina=$quantidade_pg'>Ultima</a>";
-